現在、ユーザーのページへのURLは次のとおりです。
website.com/user/bob
しかし、私はこれを次のように変更することを検討しています:
website.com/bob
/user/
部分なし。ユーザーページは私のサイトで最も頻繁にアクセスされるページの1つであるため、アクセスがより簡単で簡単になります。
ただし、いくつか質問があります。
.htaccess
または他の方法で行われますか?ありがとう。
/ user/bobスタイルを使用してください。これは/ bobを使用しない非常に良い理由があるためです。
具体的には、ユーザー名と衝突する可能性があるため、Webサイトに他のパスを含めることはできません。たとえば、誰かが自分自身に「images」という名前を付けると、/ imagesフォルダーが機能しなくなります。または、名前が「John Smith」であるが、ユーザー「js」になりたい人が、JavaScriptを配置する/ jsフォルダーと衝突しています。
はい、ルーティング構成では確かにこれを許可できます。そのため、/ images/foo.jpgが機能し、イメージディレクトリ内のイメージ "foo.jpg"を提供しますが、/ imagesは、imagesという名前のユーザーを取得します。それは基本的に技術設計の観点からは本当に混乱するでしょう。
私はこれが頻繁に起こることはないことを知っていますが、一般的には、場合によっては失敗する可能性があることを知っているスキームを持つことは、単に悪いパス設計です。
/ userの非友好的な命名が気に入らない場合は、/ homeのような何か他のものを試してください。
名前の前にユーザー/メンバーを配置すると、ユーザーの感情に影響します。ユーザーがFacebook、Quora、TwitterなどのWebサイトへの貢献者であると想像してください。これらのポータルのユーザーは単なるユーザーではありません。彼らも貢献者です。
したがって、パーソナライズされた感触を与えると、そのWebサイトに対するユーザーの愛情が高まります。 FacebookがURLをパーソナライズする方法が好き
Urlのuser/
部分は、ユーザープロファイルを他のアクセス可能なリソースまたはエンティティから分離することにより、名前空間識別子として機能します。アプリにもグループがあるとします。次に、名前空間識別子(たとえば、/user/ana
および/group/ana
)によって、ユーザーAnaをグループAnaと区別できます。
Wordユーザーが何らかの理由で回避する必要がある場合は、profile/
、gamer/
、member/
などの代替手段を検討できます。
SEOに関しては、user/
をURLに保持すると、キーワードが1つ追加されるだけでなく、URLが検索エンジンによって適切に分類される可能性が高くなるため、有益です。
これは個人的な意見タイプの質問のように聞こえますが、いくつかの潜在的な設計/開発の欠陥があります。
これがSEOに利益をもたらすとは思えません-実際、親パスセグメント(主観的)がないため、このURLを「ユーザープロファイル」として関連付けることが難しくなる可能性がありますか?しかし、とにかく、ユーザープロファイルページがサイトにとって非常に重要(SEOにとって)であることを想像するのは難しいでしょうか。
あなたのサイトについてこれ以上何も知らずに、私はあなたのURLを単に/user/bob
ではなく/bob
のままにしておきます。 URLを単純に/<username>
に減らすと、潜在的に開発上の問題が発生する可能性があります(サイトの実装方法によって異なります)。
about
、contact
、またはlogin
を呼び出した場合はどうなりますか?ユーザーを混乱させることとは別に、これらのタイプの名前の衝突(エラーが発生しやすい)を防ぐために、許可されていないユーザー名の長いリストを実装する必要があります。そして、これは、可能なユーザー名の名前空間を自然に減らします。 /user/<username>
では、すべてがユーザー名です。 /user/about
のようなものは依然として混乱を招くかもしれませんが、サイトを破壊することはありません。これは私のコード内で行われますか(私のroutesファイル)、または.htaccessまたは他の方法で行われますか?
まあ、それはあなたのサイトの実装方法に依存します。確かに、URLを/user/<username>
から/<username>
に変更すると、これはnot.htaccess
でできることです。 .htaccess
には、/<something>
がユーザープロファイルまたは/about
、/contact
、/login
などの他のサイトページにマップするかどうかを判断する方法がないためです。 。
どちらにしても結構です。
両方。コードルーティングは、ユーザーエクスペリエンス(読み込み時間など)に適しています。静的なページは最も検索可能なインデックスの種類のページであるため、サーバールーティングはSEOに適しています。
Website.com/bobのアプローチでは、ユーザーがサブページの名前であるユーザー名を選択できないことを確認する必要があります(たとえば、サイトwebsite.com/homeがある場合、ユーザーが名前「home」を選択できないようにします)など)これは、後で新しいページを追加するオプションを保持する場合に特に重要になります。
DPSが指摘したように、facebookには、に姓と名を追加することでプレフィックスを含まないNiceの方法があります。その間に、それぞれドットなしのページ名を選択する限り、すべての衝突を回避します。