サイトマップの作成と送信
このページでは、サイトマップの作り方、Google で利用できるようにする方法について説明します。 サイトマップの詳細については、こちらをご覧ください。
- どのサイトマップ形式を使用するかを決めます。
- 自動または手動でサイトマップを作成します。
- サイトマップを Google で利用できるようにします。
サイトマップ形式
サイトマップの作り方、Sitemap.xml などサイトマップの形式、Search Console や robots.txt を利用した Google への送信方法について説明しています。
すべての形式で標準のサイトマップ プロトコルを使用してください。現在、Google ではサイトマップに含まれる <priority>
タグを使用していません。
どの形式についても、1 つのサイトマップに対してサイズに関する上限(圧縮していない状態で 50 MB)と URL の件数に関する上限(50,000 件)が設けられています。ファイルサイズがこれより大きい場合、または URL の件数がこれより多い場合は、URL のリストを複数のサイトマップに分割する必要があります。または、サイトマップ インデックス ファイル(サイトマップのリストを参照するファイル)を作成して、そのインデックス ファイルのみを Google に送信することもできます。複数のサイトマップやサイトマップ インデックス ファイルを Google に送信できます。
XML
次の例は、1 つの URL の場所を指定するごく基本的な XML サイトマップです。
<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url> <loc>https://www.example.com/foo.html</loc> <lastmod>2022-06-04</lastmod> </url> </urlset>
sitemaps.org でさらに複雑なサンプルとドキュメントの全文をご覧いただけます。
代替言語ページを指定するサイトマップとニュース、画像、動画ファイルのサイトマップのサンプルを紹介しています。
RSS、mRSS、Atom 1.0
RSS フィードや Atom フィードを使用するブログの場合、そのフィードの URL をサイトマップとして送信できます。 フィードを自動的に作成する機能はほとんどのブログサービスにありますが、フィードでは最近の URL に関する情報のみが提供されることに注意が必要です。
- Google では、RSS 2.0 と Atom 1.0 のフィードを受け入れています。
- mRSS(media RSS)フィードを使用して、サイト内の動画コンテンツの詳細情報を Google に提供することもできます。
テキスト
ウェブページの URL のみを指定したサイトマップについては、1 行につき 1 つの URL を記載したシンプルなテキスト ファイルを Google に送信できます。たとえば、次のような URL です。
https://www.example.com/file1.html https://www.example.com/file2.html
テキスト ファイルのサイトマップに関するガイドライン:
- UTF-8 エンコードを使用してファイルをエンコードします。
- URL 以外をサイトマップ ファイルに含めないでください。
- テキスト ファイルの名前は、
.txt
拡張子が付いていれば、どのような名前も付けられます(例: sitemap.txt)。
その他のメディアタイプを対象とするサイトマップ拡張機能
Google では、以下のメディアタイプに対して拡張されたサイトマップ構文をサポートしています。この拡張機能を使用して、サイト上の動画ファイル、画像など、解析が困難なコンテンツについて記述し、インデックス登録を改善します。
一般的なサイトマップに関するガイドライン
-
一貫性のある完全修飾 URL(絶対パス)を使用します。Google は記載されている URL のみをクロールします。
たとえばサイトが
https://www.example.com/
にある場合は、URL をhttps://example.com/
(www
なし)や./mypage.html
(相対 URL)として指定しないでください。 - サイトの任意の場所にサイトマップを配置できますが、サイトマップは親ディレクトリの子孫にのみ影響します。そのため、サイトのルート上に配置されたサイトマップは、サイト上のすべてのファイルに影響を及ぼす可能性があります。サイトマップはサイトのルート上に配置することをおすすめします。
- サイトマップにセッション ID とその他のユーザーによって異なる URL の識別子を配置しないでください。これにより、URL が重複してクロールされることを低減できます。
- URL の代替言語バージョンを Google に通知する場合は、hreflang アノテーションを使用します。
- サイトマップ ファイルは UTF-8 エンコードで作成し、適切に URL をエスケープする必要があります。
- サイズの大きなサイトマップは分割して、複数の小さなサイトマップにします。各サイトマップには最大 50,000 件の URL を含めることができ、ファイルサイズの上限は圧縮されていない状態で 50 MB です。サイトマップ インデックス ファイルに個別のサイトマップをすべて記載し、このファイルのみを Google に送信すれば、個別のサイトマップを送信する必要はありません。
-
サイトマップには正規 URL のみを記載します。ページに複数のバージョンがある場合は、検索結果に表示させたい URL のみをサイトマップに記載します。サイトのバージョンが複数ある場合は(www ありと www なしなど)、優先するサイトを決定してそのサイトにサイトマップを配置し、
rel=canonical
リンク要素を追加するか、もう一方のサイトへのリダイレクトを追加して正規 URL を Google に明示します。 - ページのモバイル版とデスクトップ版の URL が異なる場合は、サイトマップでいずれかの URL にのみリンクすることをおすすめします。ただし、両方の URL にリンクする場合は、URL にアノテーションを付けて、デスクトップ版とモバイル版を示します。
- 動画、画像、ニュースなどのその他のメディアタイプにリンクする場合は、サイトマップ拡張機能を使用します。
- さまざまな言語や地域用の代替ページがある場合は、サイトマップまたは HTML タグで hreflang を使用して代替 URL を指定できます。
-
英数字以外の文字とラテン文字以外の文字。サイトマップ ファイルは UTF-8 でエンコードする必要があります(ファイルを保存すると、通常は UTF-8 でエンコードされます)。すべての XML ファイルについて、URL などのデータ値では、以下の表に示す文字にエンティティのエスケープ コードを使用する必要があります。サイトマップに使用できるのは ASCII 文字のみです。拡張 ASCII 文字、特定の制御コード、
*
や{}
などの特殊文字を含めることはできません。サイトマップの URL にこれらの文字が含まれていると、サイトマップを追加する際にエラーが発生します。文字 記号 エスケープ コード アンパサンド &
&
一重引用符 '
'
二重引用符 "
"
不等記号(より大) >
>
不等記号(より小) <
<
すべての URL(サイトマップの URL を含む)について、ホストするウェブサーバーが読み取れる形式でエンコードし、エスケープ処理を行う必要があります。ただし、スクリプト、ツール、ログファイルなどを使用して URL を生成した場合、通常は手動で入力した URL 以外は適切にエンコードされます。サイトマップを送信し、Google で一部の URL を見つけることができないとする内容のエラーが表示された場合は、URL が URI の RFC-3986 基準、IRI の RFC-3987 基準、XML 規格に準拠していることを確認してください。
次の URL は非 ASCII 文字(
ü
)とエンティティのエスケープが必要な文字(&
)を使用している例です。https://www.example.com/ümlat.html&q=name
同じ URL を ISO-8859 でエンコードし、エンティティをエスケープした場合、次のようになります。
https://www.example.com/%FCmlat.html&q=name
同じ URL を UTF-8 でエンコードし、エンティティをエスケープした場合、次のようになります。
https://www.example.com/%C3%BCmlat.html&q=name
- サイトマップは、重要であると判断したページを Google に推奨するためのファイルです。サイトマップに含まれるすべての URL のクロールを Google が確約するものではありません。
-
Google は、
<priority>
と<changefreq>
の値を無視します。 -
Google は、
<lastmod>
値が一貫して正確であることを(ページの最終更新との比較などにより)検証できる場合に、この値を使用します。 - サイトマップ内の URL の位置は重要ではありません。Google は、URL のクロールをサイトマップに記載された順序で行う訳ではありません。
サイトマップを作成する方法
サイトマップを作成することにより、どの URL を検索結果に表示したいか検索エンジンに指示できます。これらが正規 URL です。同じコンテンツを指す URL が複数ある場合は、その中から正規 URL にするものを 1 つ選択し、それをサイトマップに含めます。同じコンテンツを指す他の URL は原則含めません。
サイトマップに含める URL を決定したら、サイトの構造とサイズに応じて、次のいずれかの方法でサイトマップを作成します。
- サイトマップを CMS に自動作成させる。
- サイトマップを手動で作成する(含める URL の数が数十に満たない場合)。
- サイトマップを自動で作成する(含める URL の数が数十を超える場合)。
サイトマップを CMS に自動作成させる
WordPress、Wix、Blogger などの CMS を使用している場合は、CMS によって検索エンジンが利用できるサイトマップがすでに用意されている可能性があります。ご使用の CMS によるサイトマップの自動作成方法や、CMS がサイトマップをデフォルトのままでは自動作成しない場合に自分で作成する方法について、情報を検索してみることをおすすめします(例: Wix の場合、「wix サイトマップ」を検索)。
CMS を使用していない場合は、サイトマップを自分で作成する必要があります。
サイトマップを手動で作成する
URL 数が数十程度のように少ない場合は、サイトマップを手動で作成することも有効です。その場合は、メモ帳(Windows)や nano(Linux、MacOS)といったテキスト エディタを開き、サイトマップ形式セクションの構文の説明を参考に作成します。ファイル名は、URL に使用できる文字であれば自由に指定できます。
ページ数の多い大きなサイトマップを手動で作成することもできますが、かなり面倒な作業と運用を伴います。
ツールを使用してサイトマップを自動生成する
配布されているサイトマップ作成ツール、または独自のツールでサイトマップを自動で作成することができます。検索すると、さまざまなサイトマップ生成ツールが見つかります(例: 「サイトマップを生成」)。ただし、お使いのウェブサイトのソフトウェアで自動作成することをおすすめします。たとえば、ウェブサイトのデータベースからサイトの URL を抽出し、それをウェブサーバーの画面やファイルにエクスポートできます。具体的なソリューションについては、開発者やサーバー管理者にご相談ください。コード作成のヒントが必要な場合は、サードパーティのサイトマップ生成ツールのアーカイブをご確認ください。
サイトマップのサイズ要件に注意してください。詳しくは、大きなサイトマップの管理に関する説明をご覧ください。
Google にサイトマップを送信する
Google では、サイトをクロールするたびにサイトマップを確認することはありません。サイトマップの確認は最初に通知されたときのみであり、その後は変更が Google に通知された場合にのみ確認します。サイトマップが新規作成された場合、または更新された場合にのみ、Google にサイトマップについて通知してください。未変更のサイトマップについて、送信や通知を複数回行わないようにしてください。
サイトマップ内のページを更新した場合は、<lastmod>
フィールドで更新日をマークしてください。他の XML ファイルにも類似のフィールド(Atom XML の <updated>
など)があります。
この日付の計算方法もご覧いただけます。
サイトマップを Google が利用できるようにする方法がいくつかあります。
- サイトマップ レポートを使用して Search Console でサイトマップを送信する。これにより、Googlebot がいつサイトマップにアクセスしたかを確認でき、発生する可能性のある処理エラーも確認できます。
- Search Console API を使用してプログラムによってサイトマップを送信する。
-
ping ツールを使用する。ブラウザで GET リクエストを送信するか、このアドレスにコマンドラインを送信して、サイトマップの完全な URL を指定します。サイトマップ ファイルにアクセスできることを確認します。
https://www.google.com/ping?sitemap=FULL_URL_OF_SITEMAP
例:
https://www.google.com/ping?sitemap=https://example.com/sitemap.xml
-
robots.txt ファイルの任意の場所に次の行を挿入して、サイトマップへのパスを指定します。Google は次に robots.txt ファイルをクロールする際に、その変更を検出します。
Sitemap: https://example.com/my_sitemap.xml
- サイトマップに Atom / RSS を使用しており、Google だけでなく他の検索エンジンにも変更をブロードキャストしたい場合は、WebSub を使用します。
サイトマップの送信は Google に情報を提示するだけであり、Google がサイトマップをダウンロードする、またはサイトマップをサイトの URL のクロールに使用することが保証されるわけではありません。
サイトマップのトラブルシューティング
サイトマップのトラブルシューティング ガイドをご覧ください。