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

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

  1. サイトのどのページを Google でクロールできるようにする必要があるかを判断し、各ページの正規バージョンを決定します。
  2. どのサイトマップ形式を使用するかを決定します。サイトマップは手動で作成することも、サードパーティ ツールのいずれかを使って生成することもできます。
  3. サイトマップを Google が使用できるようにするには、サイトマップを robots.txt ファイルに追加するか、Search Console に直接送信します。

サイトマップ形式

Google では、以下で説明する複数のサイトマップ形式をサポートしています。すべての形式で標準のサイトマップ プロトコルを使用してください。現在、Google では <priority> 属性をサイトマップで使用していません。

どの形式についても、1 つのサイトマップに対してサイズに関する上限(圧縮していない状態で 50 MB)、URL の件数に関する上限(50,000 件)が設けられています。ファイルサイズがこれより大きい場合、または 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>http://www.example.com/foo.html</loc>
<lastmod>2018-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 に送信できます。次に例を示します。

http://www.example.com/file1.html
http://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)として指定しないでください。
  • サイトの任意の場所にサイトマップを配置できますが、サイトマップは親ディレクトリの子孫にのみ影響します。そのため、サイトのルート上に配置されたサイトマップは、サイト上のすべてのファイルに影響を及ぼす可能性があります。サイトマップはサイトのルート上に配置することをおすすめします。
  • サイトマップで URL 内のセッション ID を使用しないようにして、URL が重複してクロールされることを低減します。
  • URL の代替言語バージョンを Google に通知する場合は、hreflang アノテーションを使用します。
  • サイトマップ ファイルは UTF-8 エンコードで作成し、適切に URL をエスケープする必要があります
  • サイズの大きなサイトマップは分割して、複数の小さなサイトマップにします。各サイトマップには最大 50,000 件の URL を含めることができ、ファイルサイズの上限は圧縮されていない状態で 50 MB です。サイトマップ インデックス ファイルを使用して個別のサイトマップをすべて記載し、このファイルのみを Google に送信します。個別のサイトマップを送信する必要はありません。
  • サイトマップには正規 URL のみを記載します。ページのバージョンが 2 つある場合は、検索結果に表示させたい URL のみをサイトマップに記載します。サイトのバージョンが 2 つある場合は(www ありと www なしなど)、優先するサイトを決定してそのサイトにサイトマップを配置し、rel=canonical リンク要素を追加するか、もう一方のサイトへのリダイレクトを追加します。
  • ページのモバイル版とデスクトップ版の URL が異なる場合は、サイトマップでいずれかの URL にのみリンクすることをおすすめします。ただし、両方の URL にリンクしたい場合は、URL にアノテーションを付けて、デスクトップ版とモバイル版を示します。
  • 動画、画像、ニュースなどのその他のメディアタイプにリンクする場合は、サイトマップ拡張機能を使用します。
  • さまざまな言語や地域用の代替ページがある場合は、サイトマップまたは HTML タグで hreflang を使用して代替 URL を指定できます。
  • 英数字以外の文字とラテン文字以外の文字。サイトマップ ファイルは UTF-8 でエンコードする必要があります(ファイルを保存すると、通常は UTF-8 でエンコードされます)。すべての XML ファイルについて、URL などのデータ値では、以下の表に示す文字にエンティティのエスケープ コードを使用する必要があります。サイトマップに使用できるのは ASCII 文字のみです。上付きの ASCII 文字、特定の制御コード、*{} などの特殊文字を含めることはできません。サイトマップの URL にこれらの文字が含まれていると、サイトマップを追加する際にエラーが発生します。
    文字 エスケープ コード
    アンパサンド & &amp;
    一重引用符 ' &apos;
    二重引用符 " &quot;
    不等記号(より大) > &gt;
    不等記号(より小) < &lt;
    すべての URL(サイトマップの URL を含む)について、ホストするウェブサーバーが読み取れる形式でエンコードし、エスケープ処理を行う必要があります。ただし、スクリプト、ツール、ログファイルなどを使用して URL を生成した場合、通常は手動で入力したデータ以外は適切にエンコードされます。サイトマップを送信し、Google で一部の URL を見つけることができないとする内容のエラーが表示された場合は、URL が URI の RFC-3986 基準、IRI の RFC-3987 基準、XML 規格に準拠していることを確認してください。

    次に、ASCII 以外の文字(ü)とエンティティのエスケープを必要とする文字(&)を使用する URL の例を示します。
    http://www.example.com/ümlat.html&q=name
    同じ URL について、次の例では ISO-8859-1 エンコードを使用するサーバーでホストされており、ISO-8859-1 でエンコードし URL をエスケープしています。
    http://www.example.com/%FCmlat.html&q=name
    同じ URL について、次の例では UTF-8 エンコードを使用するサーバーでホストされており、UTF-8 でエンコードし URL をエスケープしています。
    http://www.example.com/%C3%BCmlat.html&q=name
    同じ URL について、次の例ではエンティティをエスケープしています。
    http://www.example.com/%C3%BCmlat.html&amp;q=name
  • サイトマップは、重要であると判断したページを Google に推奨するためのファイルです。サイトマップに含まれるすべての URL のクロールを Google が確約するものではありません。
  • Google は、<priority><changefreq> の値を無視します。
  • Google は、<lastmod> 値が一貫して正確であることを(ページの最終更新との比較などにより)検証できる場合に、この値を使用します。
  • サイトマップ内の URL の位置は重要ではありません。Google では、サイトマップに表示される順序通りに URL をクロールする訳ではありません。

サイトマップを Google で利用できるようにする(サイトマップを Google に送信する)

Google では、サイトがクロールされるたびにサイトマップを確認することはありません。サイトマップの確認は最初に通知されたときのみであり、その後は変更が Google に通知された場合にのみ確認します。サイトマップが新規作成された場合、または更新された場合にのみ、Google にサイトマップについて通知する必要があります。未変更のサイトマップについて、送信や通知を複数回行わないようにしてください。

サイトマップを Google で利用できるようにする方法がいくつかあります。

  • Search Console のサイトマップ レポートを使用してサイトマップを Google に送信します。
  • robots.txt ファイルの任意の場所に次の行を挿入して、サイトマップへのパスを指定します。
    Sitemap: http://example.com/sitemap_location.xml
  • 「ping」サービスを使用して Google にサイトマップのクロールをリクエストします。次のような HTTP GET リクエストを送信します。
    http://www.google.com/ping?sitemap=<complete_url_of_sitemap>
    例:
    http://www.google.com/ping?sitemap=https://example.com/sitemap.xml

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

サイトマップのトラブルシューティング ガイドをご覧ください。