フィードバックを送信
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
Google 検索における URL 構造のベスト プラクティス
Google 検索によりサイトが効率的にクロールされるように、以下の要件を満たすクロール可能な URL 構造を使用してください。URL が以下の基準を満たしていない場合、Google 検索によるサイトのクロール効率が低下する可能性があります(クロール頻度が極端に高くなったり、まったくクロールされなかったりなど)。
クロール可能な URL 構造の要件
Google 検索は、IETF STD 66 で定義された URL をサポートしています。この規定で予約文字 として定義されている文字には、パーセント エンコーディング を行う必要があります。
コンテンツを変更する際に URL フラグメントを使用しない
Google 検索は通常、URL フラグメントをサポートしていないため、ページのコンテンツを変更する際にフラグメント を使用しないでください。以下に、URL フラグメントの例を示します。
https://example.com/#/potatoes
JavaScript でコンテンツを変更する場合は、代わりに History API を使用 してください。
URL パラメータには一般的なエンコードを使用する
URL パラメータを指定するときは、次のような一般的なエンコードを使用します。Key-Value ペアを区切るには等号(=
)を使用し、パラメータを追加するにはアンパサンド(&
)を使用します。1 つの Key-Value ペア内で同じキーに複数の値を指定する場合は、カンマ(,
)など、IETF STD 66 に抵触しない任意の文字を使えます。
推奨
非推奨
Key-Value ペアを区切るのに等号(=
)を使用し、パラメータを追加するのにアンパサンド(&
)を使用します。
https://example.com/category?category=dresses&sort=low-to-high&sid=789
Key-Value ペアを区切るのにコロン(:
)を使用し、パラメータを追加するのにかっこ([ ]
)を使用します。
https://example.com/category?[category:dresses][sort:price-low-to-high][sid:789]
同じキーに複数の値を指定する場合はカンマ(,
)を使用します。Key-Value ペアを区切るには等号(=
)を、パラメータを追加するにはアンパサンド(&
)を使用します。
https://example.com/category?category=dresses&color=purple,pink,salmon&sort=low-to-high&sid=789
Key-Value ペアを区切るには単一のカンマ(,
)を使用し、パラメータを追加するには二重カンマ(,,
)を使用します。
https://example.com/category?category,dresses,,sort,lowtohigh,,sid,789
URL 構造をわかりやすくする
Google 検索(およびユーザー)がサイトをより正しく理解できるように、可能な限りシンプルな URL 構造を作成して、以下のベスト プラクティスを適用することをおすすめします。
ベスト プラクティス
わかりやすい URL を使用する
可能であれば、長い ID 番号ではなく意味のある単語を URL に使用します。
推奨(シンプルでわかりやすい単語)
非推奨(意味のない長い ID 番号)
https://example.com/wiki/Aviation
https://example.com/index.php?topic=42&area=3a5ebc944f41daa6f849f730f1
オーディエンスの言語を使用する
オーディエンスの言語にある単語(必要に応じて文字変換を取り入れながら)を URL に使用します。たとえば、オーディエンスがドイツ語で検索している場合は、URL にドイツ語の単語を使用してください。
https://example.com/lebensmittel/pfefferminz
あるいは、オーディエンスが日本語で検索している場合は、URL に日本語の単語を使用してください。
https://example.com/ペパーミント
必要に応じて UTF-8 エンコードを使用する
サイト内のページにリンクする 場合は、必要に応じてリンクの href
属性に UTF-8 エンコードを使用してください。予約されていない ASCII 文字はエンコードされない形式のまま残る可能性があります。また、ASCII に含まれない文字は、UTF-8 でエンコードする必要があります。次に例を示します。
推奨(UTF-8 エンコード)
非推奨(ASCII 以外の文字)
https://example.com/%D9%86%D8%B9%D9%86%D8%A7%D8%B9/%D8%A8%D9%82%D8%A7%D9%84%D8%A9
https://example.com/نعناع
https://example.com/%E6%9D%82%E8%B4%A7/%E8%96%84%E8%8D%B7
https://example.com/杂货/薄荷
https://example.com/gem%C3%BCse
https://example.com/gemüse
https://example.com/%F0%9F%A6%99%E2%9C%A8
https://example.com/🦙✨
単語を区切るのにハイフンを使用する
可能な限り、URL 内の単語は区切ることをおすすめします。具体的には、URL 内の単語を区切るにはアンダースコア(_
)ではなくハイフン(-
)を使うようおすすめします。それにより、ユーザーや検索エンジンが URL のコンセプトを理解しやすくなるからです。過去の経緯から、アンダースコアの使用はおすすめしません。このスタイルはすでに、まとめて扱うべきコンセプトを示す際によく使用されているからです(たとえば、さまざまなプログラミング言語で format_date
などの関数名を付ける場合など)。
推奨
非推奨
単語を区切るのにハイフン(-
)を使用します。
https://example.com/summer- clothing/filter?color- profile=dark- grey
単語を区切るのにアンダースコア(_
)を使用します。
https://example.com/summer_ clothing/filter?color_ profile=dark_ grey
URL 内の単語をつなげます。
https://example.com/greendress
パラメータの使用はできるだけ少なくする
可能な限り、不要なパラメータ(コンテンツに影響を与えないパラメータ)を削除して URL を短くします。
URL は大文字と小文字が区別されることに注意する
IETF STD 66 に準拠する他の HTTP クライアントと同様に、Google 検索の URL 処理は大文字と小文字を区別します(たとえば、Google は /APPLE
と /apple
をそれぞれ独自のコンテンツを持つ別々の URL として扱います)。ウェブサーバーで URL の大文字と小文字が同じように扱われる場合、すべてをどちらかに変換すると、URL が同じページを参照していることを Google が判別しやすくなります。
複数の地域を対象とするサイトの場合
複数の地域を対象とするサイトでは、サイトの地域ターゲティングが簡単になるような URL 構造の使用を検討してください。URL 構造に関する他の例については、地域ごとの URL を使用する をご覧ください。
推奨(国別のドメインを使用する):
https://example.de
推奨(gTLD とともに国別のサブディレクトリを使用する):
https://example.com/de/
URL に関する一般的な問題を回避する
過度に複雑な URL(特に、複数のパラメータを含む URL など)は、サイト上の同一または類似のコンテンツを表す多数の URL が不必要に作成される原因となることがあります。その結果、クロールの際に問題が発生し、Googlebot が必要以上に帯域幅を消費したり、Google 検索がサイトのコンテンツをインデックスに登録しきれない状態を招いたりする可能性があります。
URL が不必要に多い場合、次のような原因が考えられます。
一般的な問題
アイテムセットに対する複合条件でのフィルタリング
同じアイテムセットや検索結果をさまざまなビューで表示できる多くのサイトでは、定義済みの条件(たとえば「ビーチに面したホテルのリストを表示する」)を使用してアイテムセットをフィルタリングできるようにしています。複数のフィルタを加算的に組み合わせることが可能な場合(たとえば「ビーチに面しており、なおかつフィットネス センターのあるホテルのリストを表示する」)、サイトの URL(データビュー)の数は急増します。Googlebot が各ホテルのページにアクセスするには少数のリストがあれば十分で、内容に大差ないホテルのリストを大量に作成しても無駄になるだけです。次に例を示します。
「割り引き価格」のホテル:
https://example.com/hotel-search-results.jsp?Ne=292&N=461
「割り引き価格」で「ビーチに面した」ホテル:
https://example.com/hotel-search-results.jsp?Ne=292&N=461+4294967240
「割り引き価格」で「フィットネス センターがある」、「ビーチに面した」ホテル:
https://example.com/hotel-search-results.jsp?Ne=292&N=461+4294967240+4294967270
不必要なパラメータ
URL に不必要なパラメータがあると、次のような URL が大量に生成される可能性があります。
参照パラメータ:
https://example.com/search/noheaders?click=6EE2BF1AF6A3D705D5561B7C3564D9C2&clickPage=OPD+Product+Page&cat=79
https://example.com/discuss/showthread.php?referrerid=249406&threadid=535913
https://example.com/products/products.asp?N=200063&Ne=500955&ref=foo%2Cbar&Cn=Accessories
ショッピングの並べ替えパラメータ:
https://example.com/results?search_type=search_videos&search_query=tpb&search_sort=relevance&search_category=25
セッション ID:
https://example.com/search/noheaders?sessionid=6EE2BF1AF6A3D705D5561B7C3564D9C2 可能な限り、URL でセッション ID は使用せず、代わりに Cookie を使用してください。
robots.txt file を使用して、問題のある URL への Googlebot のアクセスをブロックできます。
カレンダーの問題
動的に生成されるカレンダーは、開始日や終了日の制限を設けずに、未来や過去の日付のリンクを生成することがあります。次に例を示します。
https://example.com/calendar.php?d=13&m=8&y=2011
サイトに無限のカレンダーがある場合、動的に作成される未来のカレンダー ページへのリンクに nofollow
属性を追加します。
破損した相対リンク
親ディレクトリへの相対リンク を間違ったページに配置すると、存在しないページに対してサーバーが適切な HTTP ステータス コードを返さない場合、無限のスペースが作成される可能性があります。たとえば、https://example.com/category/community/070413/html/FAQ.htm
に <a href="../../category/stuff">...</a>
のような親ディレクトリへの相対リンクが配置されると、https://example.com/category/community/category/stuff
などの偽造 URL が生成される可能性があります。修正するには、リンクに(親ディレクトリへの相対ではなく)ルート相対 URL を使用してください。
クロール関連の URL 構造の問題を修正する
Google 検索がこのような問題のある URL をクロールしていることに気づいた場合、以下の対応をおすすめします。
フィードバックを送信
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンス により使用許諾されます。コードサンプルは Apache 2.0 ライセンス により使用許諾されます。詳しくは、Google Developers サイトのポリシー をご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-06-24 UTC。
ご意見をお聞かせください
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["必要な情報がない","missingTheInformationINeed","thumb-down"],["複雑すぎる / 手順が多すぎる","tooComplicatedTooManySteps","thumb-down"],["最新ではない","outOfDate","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["サンプル / コードに問題がある","samplesCodeIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2025-06-24 UTC。"],[[["Create simple, readable URLs with descriptive words, using hyphens to separate words for better clarity for users and search engines."],["Utilize UTF-8 encoding for non-ASCII characters like umlauts, emojis, and characters from other languages instead of directly using them in the URL."],["Avoid using URL fragments, long ID numbers, and underscores in URLs, as they can negatively impact search engine understanding."],["Implement a logical URL structure, potentially using subdirectories for geotargeting, and resolve issues like redundant parameters to enhance crawling efficiency."],["For URL parameters, adhere to common encoding practices by using `=` for key-value pairs, `&` for additional parameters, and `,` for multiple values within a key."]]],["Google's URL best practices recommend using simple, descriptive words, preferably in the audience's language, and utilizing UTF-8 encoding for non-ASCII characters. Hyphens should separate words, and key-value pairs should use \"=\" and \"&\", with commas for multiple values. Avoid long ID numbers, fragments, and underscores. Complex URLs, excessive parameters, session IDs, and dynamic calendars can create indexing problems; address these by simplifying the URL structure, using robots.txt to block problem URLs, and avoiding session IDs.\n"]]