web-dev-qa-db-ja.com

ユーザーのプロファイルページのURLは/ user / bobですか、それとも/ bobですか?

現在、ユーザーのページへのURLは次のとおりです。

website.com/user/bob

しかし、私はこれを次のように変更することを検討しています:

website.com/bob

/user/部分なし。ユーザーページは私のサイトで最も頻繁にアクセスされるページの1つであるため、アクセスがより簡単で簡単になります。

ただし、いくつか質問があります。

  1. これは私がすべきことですか? SEOフレンドリーですか?
  2. これはコード(ルートファイル)内で行われますか、それとも.htaccessまたは他の方法で行われますか?

ありがとう。

4
user896541

/ user/bobスタイルを使用してください。これは/ bobを使用しない非常に良い理由があるためです。

具体的には、ユーザー名と衝突する可能性があるため、Webサイトに他のパスを含めることはできません。たとえば、誰かが自分自身に「images」という名前を付けると、/ imagesフォルダーが機能しなくなります。または、名前が「John Smith」であるが、ユーザー「js」になりたい人が、JavaScriptを配置する/ jsフォルダーと衝突しています。

はい、ルーティング構成では確かにこれを許可できます。そのため、/ images/foo.jpgが機能し、イメージディレクトリ内のイメージ "foo.jpg"を提供しますが、/ imagesは、imagesという名前のユーザーを取得します。それは基本的に技術設計の観点からは本当に混乱するでしょう。

私はこれが頻繁に起こることはないことを知っていますが、一般的には、場合によっては失敗する可能性があることを知っているスキームを持つことは、単に悪いパス設計です。

/ userの非友好的な命名が気に入らない場合は、/ homeのような何か他のものを試してください。

8
Tim Holt

Xの心理学 は、ユーザーの行動と感情を理解するために大きな役割を果たします。

名前の前にユーザー/メンバーを配置すると、ユーザーの感情に影響します。ユーザーがFacebook、Quora、TwitterなどのWebサイトへの貢献者であると想像してください。これらのポータルのユーザーは単なるユーザーではありません。彼らも貢献者です。

したがって、パーソナライズされた感触を与えると、そのWebサイトに対するユーザーの愛情が高まります。 FacebookがURLをパーソナライズする方法が好き

https://www.facebook.com/dipak.suryavanshi

5
DPS

Urlのuser/部分は、ユーザープロファイルを他のアクセス可能なリソースまたはエンティティから分離することにより、名前空間識別子として機能します。アプリにもグループがあるとします。次に、名前空間識別子(たとえば、/user/anaおよび/group/ana)によって、ユーザーAnaをグループAnaと区別できます。

Wordユーザーが何らかの理由で回避する必要がある場合は、profile/gamer/member/などの代替手段を検討できます。

SEOに関しては、user/をURLに保持すると、キーワードが1つ追加されるだけでなく、URLが検索エンジンによって適切に分類される可能性が高くなるため、有益です。

4
Raiyan

これは個人的な意見タイプの質問のように聞こえますが、いくつかの潜在的な設計/開発の欠陥があります。

これがSEOに利益をもたらすとは思えません-実際、親パスセグメント(主観的)がないため、このURLを「ユーザープロファイル」として関連付けることが難しくなる可能性がありますか?しかし、とにかく、ユーザープロファイルページがサイトにとって非常に重要(SEOにとって)であることを想像するのは難しいでしょうか。

あなたのサイトについてこれ以上何も知らずに、私はあなたのURLを単に/user/bobではなく/bobのままにしておきます。 URLを単純に/<username>に減らすと、潜在的に開発上の問題が発生する可能性があります(サイトの実装方法によって異なります)。

  • これにより、URLのルーティングが難しくなる可能性があります(現在の方法によって異なります)。 下記の注を参照してください。
  • ユーザーがユーザー名aboutcontact、またはloginを呼び出した場合はどうなりますか?ユーザーを混乱させることとは別に、これらのタイプの名前の衝突(エラーが発生しやすい)を防ぐために、許可されていないユーザー名の長いリストを実装する必要があります。そして、これは、可能なユーザー名の名前空間を自然に減らします。 /user/<username>では、すべてがユーザー名です。 /user/aboutのようなものは依然として混乱を招くかもしれませんが、サイトを破壊することはありません。

これは私のコード内で行われますか(私のroutesファイル)、または.htaccessまたは他の方法で行われますか?

まあ、それはあなたのサイトの実装方法に依存します。確かに、URLを/user/<username>から/<username>に変更すると、これはnot.htaccessでできることです。 .htaccessには、/<something>がユーザープロファイルまたは/about/contact/loginなどの他のサイトページにマップするかどうかを判断する方法がないためです。 。

3
MrWhite
  1. これは私がすべきことですか? SEOフレンドリーですか?

どちらにしても結構です。

  1. これは私のコード内で行われますか(私のroutesファイル)、または.htaccessまたは他の方法で行われますか?

両方。コードルーティングは、ユーザーエクスペリエンス(読み込み時間など)に適しています。静的なページは最も検索可能なインデックスの種類のページであるため、サーバールーティングはSEOに適しています。

0
Quentin Engles

Website.com/bobのアプローチでは、ユーザーがサブページの名前であるユーザー名を選択できないことを確認する必要があります(たとえば、サイトwebsite.com/homeがある場合、ユーザーが名前「home」を選択できないようにします)など)これは、後で新しいページを追加するオプションを保持する場合に特に重要になります。

DPSが指摘したように、facebookには、に姓と名を追加することでプレフィックスを含まないNiceの方法があります。その間に、それぞれドットなしのページ名を選択する限り、すべての衝突を回避します。

0
Jan