6

人間が読めるURLについての移行された質問で、私は自分自身に私の小さな趣味の馬を詳しく説明することを許可しました。

私のようなURLに遭遇したときhttp://www.example.com/product/123/subpage/456.html、これは意味のある階層URLを作成する試みであると常に思いますが、完全に階層的ではありません。つまり、一度に1つのレベルを切り取ることができるはずです。上記では、URLにはこの原則に関する2つの違反があります。

  1. /product/1232つのレベルとして表される1つの情報です。より正確に/product:123(または任意の区切り文字)として表されます
  2. /subpageそれ自体はエンティティではない可能性が非常に高いです(つまり、 「何もない」のように1レベル上に上がることはできません)。456.htmlhttp://www.example.com/product/123/subpage

したがって、私は次の方が正しいと思います。

http://www.example.com/product:123/456.html

ここでは、いつでも一度に1レベル上に移動できます。

  • http://www.example.com/product:123/456.html —サブページ
  • http://www.example.com/product:123—製品ページ
  • http://www.example.com/- ルート

同じ哲学に従うと、次のことが理にかなっています[そして製品リストへの追加のリンクを提供します]:

http://www.example.com/products/123/456.html

どこ:

  • http://www.example.com/products/123/456.html—サブページ
  • http://www.example.com/products/123—製品ページ
  • http://www.example.com/products—製品のリスト
  • http://www.example.com/- ルート

このアプローチの主な動機は、すべての「パス要素」(で区切られる/)が自己完結型1である場合、URLの最後の要素を削除するだけで、常に「親」に移動できることです。これは、親ディレクトリに移動したいときにファイルエクスプローラーで(時々)行うことです。同じロジックの行に従って、ユーザー(または検索エンジン/クローラー)も同じことを行うことができます。かなり賢いと思います。

一方(そしてこれは質問の重要な部分です):ユーザーが自分で切断したURLにアクセスしようとするのを防ぐことはできませんが、検索エンジンが同じことをする可能性があると誤って主張(そして敬意を表する)していますか? ?つまり、検索エンジン(または実際にはGoogle)がアクセスを試みないことを期待するのは合理的http://www.example.com/product/123/subpageですか(上記のポイント2)?(または、私は本当にここで人間工学のみを考慮に入れていますか?)

これは個人的な好みについての質問ではありません。これは、クローラー/インデクサーに何が期待できるか、およびURLを設計するときに人間以外のURL操作をどの程度考慮すべきかについての技術的な質問です。

また、の構造的な「深さ」http://www.example.com/product/123/subpage/456.htmlは4で、http://www.example.com/products/123/456.html3だけです。この深さが検索エンジンのランキングに影響を与えるという噂があります。少なくとも、そう言われました。(SEOが私が最もよく知っていることではないことは今や明らかです。)これは(まだ?)本当ですか:階層の深さ(ディレクトリの数)は検索ランキングに影響しますか?

それで、私の「予感」は技術的に健全ですか、それとも他のことに時間を費やす必要がありますか?


例:(ほぼ)正しく行うGoodol'SO
はこれをほぼ正しく行います。適切な例:プロファイル、例http://stackoverflow.com/users/52162::

  • http://stackoverflow.com/users/52162—単一プロファイル
  • http://stackoverflow.com/users—ユーザーのリスト
  • http://stackoverflow.com/- 根

ただし、プロファイルの正規URLは実際http://stackoverflow.com/users/52162/jensgramには冗長に見えます(2つの階層レベルで表される同じエンドポイント)。代替:(http://stackoverflow.com/users/52162-jensgramまたは一貫して使用される他の区切り文字)。


1)「より深い」要素に依存しない完全な情報を伝達します。

4

1 に答える 1

4

この種の階層URL「http://www.example.com/product:123/456.html」は「http://www.example.com/product/123/subpage」と同じくらい役に立たない。あなたのURL、彼らはあなたのデータベースからの識別子を気にしません、彼らは意味のあるパスを望んでいます。これが、StackOverflowが質問のタイトルをURLに入れる理由です:「http://stackoverflow.com/questions/4017365/human-readable-urls-preferably-hierarchical-too」。

Googleは、「http://www.example.com/?product=123&page=456」のような通常のクエリを置き換えることを推奨していません。これは、すべてのサイトが独自のスキームを開発する場合、クローラーは重要な場合、各部分が何を意味するのかわからないためです。か否か。Googleは、重要な引数を見つけて重要でないものを無視するための高度なメカニズムを発明しました。つまり、インデックスに登録されるページが増え、重複が少なくなります。しかし、Web開発者が独自のスキームを発明すると、これらのアルゴリズムは失敗することがよくあります。

ユーザーとクローラーの両方を気にする場合は、代わりに次のようなURLを使用する必要があります。

また、検索エンジンは、URLにキーワードが含まれるページに高い評価を与えます。

于 2010-10-25T18:03:26.993 に答える