sitemap.xmlとrobots.txtの記述例
sitemap.xmlとrobots.txtの記述例(注釈付き)| We.Inc
コピーして使えるsitemap.xml、サイトマップインデックス、robots.txtの例を1行ずつ解説。50,000 URLと500 KiBの上限、ワイルドカードのルール、簡易サイトマップ作成ツールも用意しています。
sitemap.xmlとrobots.txtの記述例
sitemap.xmlは、クロールしてほしいURLを一覧にしたファイルです。各URLはlocと任意のlastmodを持つurl要素に記述し、1ファイルあたり最大50,000 URLまたは50 MBまでです。サイトのルートに置くrobots.txtは、User-agent、Disallow、Allowの各行でクローラーにスキップすべきパスを伝え、サイトマップの場所を示すこともできます。
主な上限とルール
- サイトマップのファイルサイズ
- 非圧縮で最大50 MB
- サイトマップ内のURL形式
- 完全なURL。例:https://example.com/page
- robots.txtの配置場所
- ホストのルート。例:https://example.com/robots.txt
- Googleが読み取るrobots.txtのサイズ
- 500 KiB
- Googleがrobots.txtでサポートするフィールド
- user-agent, allow, disallow, sitemap
生成ツールはファイルを出力してくれますが、各行がなぜ必要なのか、2つのルールが矛盾したときにどうなるのかはほとんど説明してくれません。以下の例にはすべて注釈を付けています。また作成ツールを使えば、ページの一覧を貼り付けるだけで、特殊文字をエスケープ済みの有効なサイトマップに変換できます。
- 作成ツールに完全なURLを1行に1つずつ貼り付け、必要ならlastmodの日付を選びます。
- 生成されたXMLを、サイトのルートにあるsitemap.xmlという名前のファイルにコピーします。
- 自分の構成に最も近いrobots.txtの例を選び、パスを編集します。
- robots.txtにSitemap行を追加し、Search Consoleでサイトマップを送信します。
- 200を返す正規URLだけを記載しましょう。リダイレクト、404、noindexのページをサイトマップに含めると、矛盾したシグナルを送ることになります。
- lastmodには、メインコンテンツが実際に変更された日付を設定しましょう。Googleがこれを使うのは、常に正確である場合だけです。
- Googleはchangefreqとpriorityを無視するので、省略して構いません。
- robots.txtでページをブロックしても、検索結果からは削除されません。ページを検索結果に出したくない場合は、クロールを許可したうえでnoindexのrobotsメタタグを追加しましょう。
よくある質問
sitemap.xmlはどこに置けばよいですか?
同じホスト内ならどこでも機能しますが、通常はルートに置きます。sitemaps.orgのプロトコルでは、サイトマップは原則として自身のフォルダー以下にあるURLしか対象にできないためです。サイトマップの場所は、robots.txtのSitemap行か、Search Consoleでの送信によって検索エンジンに伝えます。
50,000を超えるURLを記載するにはどうすればよいですか?
複数のサイトマップファイルに分割し、それらのファイルをサイトマップインデックスにまとめます。インデックスではurlsetとurlの代わりにsitemapindexとsitemapの要素を使い、最大50,000個のサイトマップを参照できます。
Googleはrobots.txtのCrawl-delayやNoindexに対応していますか?
いいえ。Googleが読み取るのはuser-agent、allow、disallow、sitemapだけです。他のクローラーはCrawl-delayに従う場合がありますが、Googlebotは無視します。noindexはメタタグかX-Robots-Tagヘッダーで指定する必要があります。
AllowとDisallowの両方がURLに一致した場合はどうなりますか?
Googleは最も具体的なルール、つまり一致するパスが最も長いルールを採用します。一致するルールの具体性が同じ場合は、制限の緩いほう、つまりAllowが採用されます。
サイトマップのURLでは文字をエスケープする必要がありますか?
はい。サイトマップはXMLなので、アンパサンドは&と書き、その他の予約文字もそれぞれのエンティティで記述する必要があります。またファイルはUTF-8でエンコードしなければなりません。
それぞれのファイルの役割
- サイトマップは招待状のようなものです。クロールする価値のあるページと、その最終更新日を伝えます。特に新しいサイト、大規模なサイト、内部リンクがほとんど届かないページで効果を発揮します。
- robots.txtはクロールの指示であり、セキュリティのためのツールではありません。誰でも読めるうえ、行儀の悪いボットは無視するため、非公開の領域を隠す手段として頼ってはいけません。そうした領域はログインで保護しましょう。
ルールの照合方法
- クローラーは、User-agent行が自分に最も具体的に一致するグループを選び、それ以外は無視します。専用のグループがあるGooglebotは、User-agent: *の下のルールを読みません。
- パスは大文字と小文字を区別し、先頭から照合されます。アスタリスクは任意の文字列を表し、ドル記号はURLの末尾を示します。そのためDisallow: /*.pdf$はすべてのPDFをブロックします。
サイトマップの例
基本的なsitemap.xml
XML宣言、プロトコルの名前空間を持つurlset、そしてページごとに1つのurlで構成されます。lastmodはW3Cの日付形式を使います。
大規模サイト向けのサイトマップインデックス
子サイトマップを参照します。各子サイトマップにも同じ50,000 URLと50 MBの上限が適用されます。
robots.txtの例
すべてを許可し、サイトマップの場所を示す
空のDisallowは何もブロックしないという意味です。ほとんどの中小企業サイトにはこのファイルが適しています。
オンラインショップ:カート、アカウント、絞り込みの組み合わせを除外
商品ページとカテゴリーページは公開したまま、重複を際限なく生み出すURLパターンをブロックします。
ステージングサイト全体をブロック
テスト用コピーへの準拠クローラーのアクセスを止めます。このファイルは丁寧にお願いするだけなので、パスワードも設定しましょう。
ファイル形式に使うワイルドカード
ドル記号はURLがそこで終わることを意味します。そのため/guide.pdfはブロックされますが、/guide.pdf.htmlはブロックされません。
どのルールが優先されるか
サンプルルールに対するGoogleの照合結果
- Allow: /p と Disallow: /
- 許可
- Allow: /folder と Disallow: /folder
- 許可
- 長さが同じ場合は制限の緩いほうが優先
- Disallow: /*.php$
- 許可
- URLが.phpで終わっていない
- Disallow: /fish
- 許可
- パスは大文字と小文字を区別する
簡易サイトマップ作成ツール
完全なURLを1行に1つずつ貼り付けると、特殊文字をエスケープした有効なurlsetが作成されます。
URL(1行に1つ)
すべてに適用するlastmod(任意)
{n}件のURLを含めました。
{n}件のURLを含めました。
httpまたはhttpsの完全なURLではない{n}行をスキップしました。
XMLをコピー
無料で始める · クレジットカード不要
関連: ガイド|Webマーケティングと集客を学ぶ
製品
ご利用いただける方
機能
リソース
会社情報
サイトマップを見る