サイトマップの作成と送信

このページでは、サイトマップの作り方、Google で利用できるようにする方法について説明します。サイトマップを初めて作成する場合は、まずサイトマップについてをご覧ください。

Google は、サイトマップ プロトコルで定義されているサイトマップ形式をサポートしています。それぞれの形式には、長所と短所があります。お客様のサイトと設定に最も適したものを選択してください(Google はどの形式にも対応しています)。次の表は、各サイトマップ形式を比較したものです。

サイトマップ形式の比較
XML サイトマップ

XML サイトマップは、最も用途の広い形式です。簡単に拡張でき、ページのローカライズ バージョンを示すだけでなく、画像動画ニュース コンテンツに関するデータを追加するためにも使用できます。

長所:
  • 拡張しやすくさまざまな目的に利用できる。
  • URL に関するほとんどの情報を提供できる。
  • ほとんどのコンテンツ管理システム(CMS)で自動的にサイトマップが生成される。また、CMS ユーザー向けのサイトマップ プラグインがたくさん用意されている。
短所:
  • 扱いが面倒な場合がある。
  • 大規模なサイトや URL が頻繁に変更されるサイトでは、マッピングの管理が複雑になる場合がある。
RSS、mRSS、Atom 1.0

RSS、mRSS、Atom 1.0 形式のサイトマップは、構造は XML サイトマップと似ていますが、CMS によって自動的に作成されるためたいていは提供するのに手間がかかりません。

長所:
  • ほとんどの CMS で、RSS と Atom 向けフィードが自動的に生成される。
  • 動画に関する Google 向け情報を提供するために使用できる。
短所:
テキスト サイトマップ

最もシンプルな形式のサイトマップで、登録できるのは、HTML などのインデックス登録可能なページの URL のみです。

長所:

  • 特に大規模なサイトの場合、正規ページの指定や維持管理が簡単にできる。

短所:

  • HTML などのインデックス登録可能なテキスト コンテンツに限定されている。

サイトマップに関するおすすめの方法

サイトマップに関するおすすめの方法は、サイトマップ プロトコルで定義されています。 最も見落とされやすい注意点は、サイズ制限、サイトマップの配置場所、サイトマップに含まれる URL に関連したものです。

サイトマップのサイズに関する制限: どの形式についても、1 つのサイトマップに対してサイズに関する上限(圧縮していない状態で 50 MB)と URL の件数に関する上限(50,000 件)が設けられています。ファイルサイズがこれより大きい場合、または URL の件数がこれより多い場合は、サイトマップを複数に分割する必要があります。または、サイトマップ インデックス ファイルを作成して、そのインデックス ファイルのみを Google に送信することもできます。サイトマップやサイトマップ インデックス ファイルは、Google に複数送信できます。複数に分けると、Search Console で個々のサイトマップの検索パフォーマンスをトラッキングする場合に便利です。

サイトマップ ファイルのエンコードと配置場所: サイトマップ ファイルは UTF-8 でエンコードされている必要があります。サイトマップはサイトの任意の場所に配置できますが、Search Console でサイトマップを送信しない限り、サイトマップによって伝えらえるのは親ディレクトリから下の階層のみです。つまり、サイトのルートにサイトマップを配置すれば、サイト上のすべてのファイルが認識されるため、サイトマップはサイトのルートに配置することをおすすめします。

参照 URL のプロパティ: サイトマップでは、完全修飾された絶対 URL を使用してください。Google は、記載されている URL の正確なクロールを試みます。たとえば、サイトが https://www.example.com/ にある場合、/mypage.html(相対 URL)などのように URL を指定しないでください。完全な絶対 URL(https://www.example.com/mypage.html)で指定してください。

Google の検索結果に表示したい URL をサイトマップに含めます。Google は通常、検索結果に正規 URL を表示しますが、これはサイトマップで任意に指定できます。ページのモバイル版と PC 版の URL が異なる場合は、サイトマップでいずれかの URL にのみリンクすることをおすすめします。 両方の URL にリンクする場合は、PC 版とモバイル版を示したアノテーションを URL に付けるようにします。

おすすめの方法の詳細については、サイトマップ プロトコルをご覧ください。

XML サイトマップ

XML 形式のサイトマップは、サポートされている形式の中で最も用途が広いものです。Google がサポートしているサイトマップ拡張機能を使用すると、ページのローカライズ バージョンだけでなく、画像動画ニュース コンテンツに関する情報を追加することもできます。

次の例は、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 でさらに複雑なサンプルとドキュメントの全文をご覧いただけます。

XML サイトマップに関するその他の注意事項

  • 他の XML ファイルと同様に、すべてのタグ値をエスケープする必要があります。
  • Google は、<priority><changefreq> の値を無視します。
  • Google は、<lastmod> 値が一貫して正確であることを(ページの最終更新との比較などにより)検証できる場合に、この値を使用します。

RSS、mRSS、Atom 1.0

CMS で RSS フィードや Atom フィードが生成される場合、そのフィードの URL をサイトマップとして送信できます。ほとんどの CMS でフィードが作成されますが、このフィードで提供されるのは最近の URL に関する情報のみです。

RSS、mRSS、Atom 1.0 に関するその他の注意事項

  • Google では、RSS 2.0 と Atom 1.0 のフィードを受け入れています。
  • mRSS(media RSS)フィードを使用して、サイト内の動画コンテンツの詳細情報を Google に提供することもできます。
  • 他の XML ファイルと同様に、すべてのタグ値をエスケープする必要があります。

テキスト サイトマップ

サイトマップにウェブページの URL のみを指定する場合は、1 行につき 1 つの URL を記載した一般的なテキスト ファイル形式で Google に送信できます。たとえば、サイトに 2 つのページがある場合は、https://www.example.com/sitemap.txt にあるテキスト サイトマップに対して次のようにページを追加できます。

https://www.example.com/file1.html
https://www.example.com/file2.html

テキスト ファイル サイトマップに関するその他の注意事項

  • URL 以外をサイトマップ ファイルに含めないでください。
  • テキスト ファイルの名前は、.txt 拡張子が付いていれば、どのような名前でもかまいません(例: sitemap.txt)。

サイトマップを作成する方法

サイトマップを作成することにより、どの URL を検索結果に表示したいか検索エンジンに指示できます。これらが正規 URL です。同じコンテンツを指す URL が複数ある場合は、その中から正規 URL にするものを 1 つ選択し、それをサイトマップに含めます。同じコンテンツを指す他の URL は原則含めません。

サイトマップに含める URL を決定したら、サイトの構造とサイズに応じて、次のいずれかの方法でサイトマップを作成します。

サイトマップを CMS で自動作成する

WordPress、Wix、Blogger などの CMS を使用している場合は、CMS によって検索エンジンが利用できるサイトマップがすでに用意されている可能性があります。ご使用の CMS によるサイトマップの自動作成方法や、CMS がサイトマップをデフォルトのままでは自動作成しない場合に自分で作成する方法について、情報を検索してみることをおすすめします。Wix であれば、「wix サイトマップ」、Blogger であれば、「Blogger RSS」などと検索します。

サイトマップを手動で作成する

URL 数が数十程度のように少ない場合は、サイトマップを手動で作成することも有効です。 その場合は、メモ帳(Windows)nano(Linux、MacOS)といったテキスト エディタを開き、サイトマップ形式セクションの構文の説明を参考に作成します。ファイル名は、URL に使用できる文字であれば自由に指定できます。

ページ数の多い大きなサイトマップを手動で作成することもできますが、かなり面倒な作業と運用を伴います。

ツールを使用してサイトマップを自動生成する

配布されているサイトマップ作成ツール、または独自のツールでサイトマップを自動で作成することができます。検索すると、さまざまなサイトマップ生成ツールが見つかります(例: 「サイトマップを生成」)。 ただし、お使いのウェブサイトのソフトウェアで自動作成することをおすすめします。たとえば、ウェブサイトのデータベースからサイトの URL を抽出し、それをウェブサーバーの画面やファイルにエクスポートできます。具体的なソリューションについては、開発者やサーバー管理者にご相談ください。コード作成のヒントが必要な場合は、サードパーティのサイトマップ生成ツールのアーカイブをご確認ください。

サイトマップ内の URL の順序を気にする必要はありません。Google 側に影響はありません。サイトマップのサイズ要件には注意してください。サイトマップが大きくなりすぎた場合は、複数のサイトマップに小さく分割する必要があります。詳しくは、大きなサイトマップの管理に関する説明をご覧ください。

Google にサイトマップを送信する

サイトマップを送信することは、Google にサイトマップの存在を知らせるだけにすぎません。Google がサイトマップをダウンロードする保証も、サイトマップを使用してサイトの URL をクロールする保証もありません。ただし、サイトマップを Google が利用できるようにする方法はいくつかあります。

  • サイトマップ レポートを使用して Search Console でサイトマップを送信する。 これにより、Googlebot がいつサイトマップにアクセスしたかや、発生する可能性のある処理エラーを確認できます。
  • Search Console API を使用して、プログラムでサイトマップを送信する
  • robots.txt ファイルの任意の場所に次の行を挿入して、サイトマップへのパスを指定します。Google は次に robots.txt ファイルをクロールする際に、その変更を検出します。
    Sitemap: https://example.com/my_sitemap.xml
  • Atom か RSS を使用していて、Google だけでなく他の検索エンジンにも変更をブロードキャストしたい場合は、WebSub を使用します。

複数サイトのサイトマップをクロス送信する方法

ウェブサイトが複数ある場合、すべての確認済みサイトの URL を指定したサイトマップを 1 つまたは複数作成し、それらのサイトマップを 1 つの場所に保存することで、サイトマップの送信作業を簡略化できます。次のいずれかの方法を選択できます。

  • ドメインが異なるサイトも含め、複数のウェブサイトの URL を指定したサイトマップを 1 つ作成する。たとえば、https://host1.example.com/sitemap.xml にあるサイトマップで、以下の URL を指定します。
    • https://host1.example.com
    • https://host2.example.com
    • https://host3.example.com
    • https://host1.example1.com
    • https://host1.example.ch
  • サイトごとにサイトマップを 1 つ作成し、すべてのサイトマップを 1 つの場所に置く。
    • https://host1.example.com/host1-example-sitemap.xml
    • https://host1.example.com/host2-example-sitemap.xml
    • https://host1.example.com/host3-example-sitemap.xml
    • https://host1.example.com/host1-example1-sitemap.xml
    • https://host1.example.com/host1-example-ch-sitemap.xml

1 つの場所にあるクロスサイト サイトマップを送信するには、Search Console または robots.txt を使用します。

Search Console でのサイトマップのクロス送信

  1. サイトマップに追加するすべてのサイトの所有権確認が完了していることを確認します。
  2. 対象とするすべてのサイトの URL を指定したサイトマップを作成します(必要に応じて複数のサイトマップを作成します)。希望する場合には、サイトマップをサイトマップ インデックス ファイルに含め、今後そのサイトマップ インデックスで管理を行うこともできます。
  3. Google Search Console を使用してサイトマップまたはサイトマップ インデックス ファイルを送信します。

robots.txt でのサイトマップのクロス送信

  1. 個々のサイトにつき 1 つまたは複数のサイトマップを作成します。各サイトマップ ファイルでは、その特定のサイトの URL のみを指定するようにします。
  2. 自分が管理している 1 つのサイト(例: https://sitemaps.example.com)にすべてのサイトマップをアップロードします。
  3. 個々のサイトにおいて、robots.txt ファイルがその特定のサイトのサイトマップを参照するようにします。たとえば、https://example.com/ のサイトマップを作成し、https://sitemaps.example.com/sitemap-example-com.xml でサイトマップをホストしている場合は、robots.txt ファイル https://example.com/robots.txt でサイトマップを参照します。
    # robots.txt file of https://example.com/
    sitemap: https://sitemaps.example.com/sitemap-example-com.xml

サイトマップのトラブルシューティング

Google Search Console を使って、サイトマップのトラブルシューティングができます。お困りの場合は、サイトマップのトラブルシューティング ガイドをご覧ください。