0

多くのニュース サイトで一般的に行われているのは、URL に ID とスラッグの両方を含めることです。ID は実際の記事を検索するために使用され、スラッグは SEO の目的で含まれています。このようにして、以前のブックマークを無駄にすることなく、記事のタイトルの変更に合わせてスラッグを変更できます。

URL で MongoDB ObjectId を使用すると、非常に長い URL (http://www.mysite.com/article-504119a051e2726c9aa28ea1/my-article-title.html) が作成されるため、面倒です。より良い解決策はありますか??

4

1 に答える 1

2

ユースケースにより適した選択肢がある場合は、MongoDB のデフォルトの ObjectIDを使用する必要はありません。たとえば、_idタイムスタンプやインクリメント カウンターなどの短い値を使用してカスタム フィールドを定義できます (参照:自動インクリメント ID フィールドの作成方法)。ユースケースが記事を公開していて、毎分数百の記事がない場合は_id、ランダムな値と連結された UNIX タイムスタンプで妥当な一意性が得られる可能性があります。

スラッグが一意である場合 (またはこの制限を受け入れることができる場合)、スラッグ_idをさらに短い URL の として使用できる可能性があります。sの注意点_idは、変更できないことです。そのため、個別にインデックス化されたslugフィールドを使用すると、柔軟性が向上します。

SEO にスラッグを使用するという目標を考えると、別のスラッグが提供された場合に、現在の「正規の URL」(正しいスラッグ フィールドを使用) への 302 リダイレクトが行われるように、多少の工夫を加える必要があるでしょう。そうしないidと、URL の一部のみがチェックされると、重複したコンテンツに対して潜在的な SEO ペナルティが発生する可能性があります。

于 2012-09-03T03:25:03.940 に答える