検索
検索をクリア
検索終了
Google アプリ
メインメニュー

シンプルな URL 構造を維持する

サイトの URL 構造はできる限りシンプルにします。論理的かつ人間が理解できる方法で(可能な場合は ID ではなく意味のある単語を使用して)URL を構成できるよう、コンテンツを分類します。たとえば、航空機(aviation)に関する情報を探している場合、http://en.wikipedia.org/wiki/Aviation のような URL であれば、見ただけで必要な情報であるかどうかを判断できます。http://www.example.com/index.php?id_sezione=360&sid=3a5ebc944f41daa6f849f730f1 のような URL 自体は、ユーザーの関心を引くことはほとんどありません。

URL では区切り記号を使うと効果的です。http://www.example.com/green-dress.html という URL の方が、http://www.example.com/greendress.html という URL よりずっとわかりやすくなります。URL にはアンダースコア(_)ではなくハイフン(-)を使用することをおすすめします。

特に複数のパラメータを含む URL など、過度に複雑な URL は、サイト上の同じまたは同様のコンテンツを表す多数の URL を不必要に作成し、クロールの際に問題が生じることがあります。その結果、Googlebot で必要以上に帯域幅を消費したり、サイトのすべてのコンテンツをインデックスに登録できないことがあります。

この問題の主な原因

URL が不必要に多い場合、次のような原因が考えられます:

  • アイテム セットのフィルタが追加される。多くのサイトでは、同じアイテム セットや検索結果を異なる方法で表示でき、ユーザーは規定の条件を使用して結果を絞り込むことができます(たとえば、ビーチに面したホテルのみを表示するなど)。フィルタを追加して組み合わせる場合(たとえばフィットネス センターがあるビーチに面したホテルのみを表示する)、サイトの URL(データの表示)の数は急増します。Googlebot が各ホテルのページにアクセスするには少数のリストがあれば十分なため、内容がわずかに異なるホテルのリストを大量に作成すると冗長になります。たとえば以下のようになります。
    • 「割り引き価格」のホテル:
      http://www.example.com/hotel-search-results.jsp?Ne=292&N=461
    • 「割り引き価格」でビーチに面したホテル:
      http://www.example.com/hotel-search-results.jsp?Ne=292&N=461+4294967240
    • 「割り引き価格」でフィットネス センターがあるビーチに面したホテル:
      http://www.example.com/hotel-search-results.jsp?Ne=292&N=461+4294967240+4294967270

  • ドキュメントが動的に生成される。カウンター、タイムスタンプ、広告などによって小さな変更が生じます。

  • 問題のあるパラメータが URL に含まれている。たとえばセッション ID により膨大な数の重複が発生し、多数の URL が生成されます。

  • パラメータが並べ替えられる。 一部の大規模なショッピング サイトでは、同じアイテムを複数の方法で並べ替えできるため、多数の URL が生成されます。たとえば次のような場合です:
    http://www.example.com/results?search_type=search_videos&search_query=tpb&search_sort=relevance
       &search_category=25
  • 参照パラメータなどの不必要なパラメータが URL に含まれている。 たとえば次のような場合です:
    http://www.example.com/search/noheaders?click=6EE2BF1AF6A3D705D5561B7C3564D9C2&clickPage=
       OPD+Product+Page&cat=79
    http://www.example.com/discuss/showthread.php?referrerid=249406&threadid=535913
    http://www.example.com/products/products.asp?N=200063&Ne=500955&ref=foo%2Cbar&Cn=Accessories.

  • カレンダーに問題がある。 動的に生成されるカレンダーでは、開始日や終了日の制限がない場合、将来または過去の日付のリンクが生成されることがあります。たとえば次のような場合です:
    http://www.example.com/calendar.php?d=13&m=8&y=2011
    http://www.example.com/calendar/cgi?2008&month=jan

  • 相対リンクが壊れている。 相対リンクが壊れていると、無限のスペースが生じることがあります。多くの場合、パスの要素の繰り返しによって生じます。たとえば次のような場合です:
    http://www.example.com/index.shtml/discuss/category/school/061121/html/interview/
      category/health/070223/html/category/business/070302/html/category/community/070413/html/FAQ.htm
この問題の解決方法

URL の構造による問題を避けるには、次の方法をおすすめします:

  • robots.txt ファイルを使って、問題のある URL への Googlebot のアクセスをブロックすることができます。一般的には、検索結果を生成する URL などの動的な URL や、カレンダーなど無限のスペースを生成する URL へのアクセスをブロックします。robots.txt ファイルで正規表現を使用すると、多くの URL を簡単にブロックできます。

  • 可能な限り、URL でセッション ID を使うことは避け、代わりに Cookie を使用します。詳しくはウェブマスター向けガイドライン(品質に関するガイドライン)をご覧ください。

  • 可能な限り、不必要なパラメータを削除して URL を短くします。

  • サイトに無限のカレンダーがある場合、動的に作成される将来のカレンダー ページへのリンクに nofollow 属性を追加します。

  • サイトに壊れた相対リンクがないかどうか確認します。
この記事は役に立ちましたか?
改善できる点がありましたらお聞かせください。