サイトマップ
サイトマップとは、通常XML形式のファイルで、サイト内のURLと、最終更新日などのメタデータを検索エンジンに伝えるものです。クローラーがページをより効率的に見つけられるようにしますが、インデックス登録を保証するものではありません。
サイトマップは、検索エンジンにサイトのURL一覧とそのメタデータを伝えるファイルであり、クローラーがページを見つけるのに役立ちます。
サイトマップにURLを掲載しても、インデックス登録が保証されることはありません。あくまでクロールを支援するためのヒントです。
1つのサイトマップファイルに含められるURLは最大50,000件で、圧縮前のサイズは50MB(52,428,800 bytes)を超えられません。また、UTF-8でエンコードされている必要があります。
サイトがこれらの制限を超える場合は、サイトマップを複数のファイルに分割し、サイトマップインデックスファイルでまとめます。
Search Consoleまたはrobots.txtのSitemapディレクティブを通じて送信します。従来のpingエンドポイントは2023年に廃止されました。
概要
サイトマップは通常XML形式のファイルで、検索エンジンに対して、サイト内で表示させたいURLと、それぞれのURLの最終更新日などのメタデータを伝えます。検索エンジンはこのファイルを読み取り、サイトをより効率的にクロールします。特に、ページ同士の内部リンクが十分でない場合に、新しいページや階層の深いページを見つけるのに有効です。ただし、Googleはサイトマップ内のすべての項目が必ずクロールされ、インデックス登録されるとは明言していません。そのため、サイトマップはインデックス登録の約束ではなく、発見のためのヒントとして理解すべきです。
Googleによると、サイトマップはサイトが大規模な場合(おおむね500ページ超)、新しくて外部リンク外部リンクが少ない場合、または動画や画像などのリッチメディアを多く含む場合に最も効果を発揮します。標準仕様の推奨どおり、サイトマップには各ページURLの正規版を記載する必要があります。
形式と制限
Google は 3 種類のサイトマップ形式をサポートしています。XML サイトマップは最も汎用性が高く、画像、動画、ニュース、多言語ページにも拡張できます。また、RSS、mRSS、Atom 1.0、または 1 行につき 1 つの URL を記載するプレーンテキスト形式も使用できます。
この標準では、次の制限が定められています。
URL 数: サイトマップファイル 1 つあたり最大 50,000 件
ファイルサイズ: 非圧縮で最大 50MB(52,428,800 バイト)
エンコーディング: UTF-8。すべての値はエンティティエスケープする必要があります(例:
&は& になります))loc の長さ: URL はプロトコル(http など)で始まる必要があり、2,048 文字を超えることはできません
XML サイトマップの基本構造は、<urlset>をルートとし、各項目に対して 1 つの<url>エントリを置き、URL を保持する必須の<loc>タグを含みます。<lastmod>タグは任意ですが、その値が正確で一貫している場合は推奨されます。一方、Google はこのタグを無視します<changefreq>と<priority>の値。
<?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>これらの上限を超える大規模サイトでは、サイトマップを複数のファイルに分割し、それらをまとめるためにサイトマップインデックスファイルを作成します。インデックスファイルも、50,000件のエントリおよび50MBという同じ最大値の対象です。
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>https://www.example.com/sitemap-1.xml</loc>
<lastmod>2022-06-04</lastmod>
</sitemap>
<sitemap>
<loc>https://www.example.com/sitemap-2.xml</loc>
</sitemap>
</sitemapindex>送信方法
サイトマップを作成したら、検索エンジンに認識させる主な方法は2つあります。
Search Console: サイトマップのURLを Sitemaps レポートに直接送信し、処理状況とエラーを確認します。
robots.txt: 追加する
Sitemapディレクティブを、絶対URLで指定してください。そうすれば、そのファイルを読むあらゆる検索エンジンがその場所を見つけられます。Sitemap: https://www.example.com/sitemap.xml
かつて使用されていたHTTP pingエンドポイント(https://www.google.com/ping?sitemap=...)は、2023年6月にGoogleによって廃止予定が告知され、その告知から6か月後に動作を停止しました。Googleは、認証なしのサイトマップ送信の多くがスパムであり有用ではなかったため、現在はSearch Consoleとrobots.txtによる送信のみが推奨されていると説明しています。
権威ある根拠
上記の制限と形式は、sitemaps.orgが公開しているサイトマッププロトコル0.9標準およびGoogleの公式Search Centralドキュメントに由来します。sitemaps.orgのプロトコルでは、サイトマップファイルに含められるURLは50,000件以下でなければならず、非圧縮時のサイズは50MB(52,428,800バイト)を超えてはならないと規定されており、Googleのドキュメントでも同じ数値が示されています。ping廃止は、2023年6月にGoogle Search Centralブログの「Sitemaps ping endpoint is going away」というタイトルの投稿で正式に発表されました。実装チェックリスト
実装チェックリスト
Include only the canonicalURL のみをインデックス対象として含め、リダイレクト、noindex、またはブロックされている URL は除外してください。
ファイルは UTF-8 で保存し、特殊文字は entity エスケープしてください。
URL 数が 50,000 件または 50MB に近づいたら、ファイルを分割し、サイトマップインデックスでまとめてください。
Populate
<lastmod>は、値が信頼できる場合にのみ正確に設定し、それ以外の場合は省略してください。robots.txt に
Sitemap:ディレクティブを追加し、Search Console からも送信してください。ping エンドポイントに依存している既存のコードやプラグインは削除するか、無視してください。
Search Console のサイトマップ レポートで、読み取りステータスとエラーを定期的に確認します。