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

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

サイトマップを作成、送信する

  1. サイトのどのページを Google にクロールさせる必要があるかを判断し、各ページの正規 URL を決めます。
  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 しか含めない場合は、URL を 1 行に 1 件ずつ指定した簡単なテキスト ファイルを Google に送信できます。例:

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

テキスト ファイルのサイトマップに関するガイドライン:

  • UTF-8 エンコードを使用してファイルをエンコードします。
  • テキスト ファイルに URL のリスト以外を含めないようにします。
  • テキスト ファイルの名前は、.txt 拡張子が付いていればどのような名前でも構いません(例: sitemap.txt)。
Google サイト

Google サイトを使用してサイトを作成し、確認済みの場合、サイトマップは自動的に生成されます。このサイトマップは変更できませんが、サイトマップのレポートデータを確認したい場合、これを Google に送信することができます。1 つのサブディレクトリに含まれるページが 1,000 件を超える場合、サイトマップは正しく表示されないおそれがあります。

  • Google サイトでホストされるサイトの場合、サイトマップ URL は http://sites.google.com/site/yoursitename/system/feeds/sitemap です。
  • Google Apps を使用して作成したサイトの場合、サイトマップ URL は http://sites.google.com/yourdomain/yoursitename/system/feeds/sitemap です。

メディアタイプ別のサイトマップ拡張機能

Google では、以下のメディアタイプに対して拡張されたサイトマップ構文をサポートしています。この拡張機能を使用して、サイト上の動画ファイル、画像など、解析しにくいコンテンツについて記述して、インデックス登録を改善します。

一般的なサイトマップに関するガイドライン

  • 一貫性のある完全修飾 URL を使用します。Google は記載されているとおりに URL をクロールします。たとえばサイトが https://www.example.com/ にある場合、URL を /http://example.com/www がない)や ./mypage.html(相対 URL)のような形式では指定しないでください。
  • セッション ID は URL から除外してサイトマップに指定し、URL が重複してクロールされないようにします。
  • hreflang アノテーションを使用して、URL の代替言語バージョンを Google に知らせてください
  • サイトマップ ファイルは UTF-8 エンコードで作成し、適切に URL をエスケープする必要があります。
  • 大きいサイトマップは分割して小さいサイトマップにし、Google がサイトマップを頻繁にリクエストする場合に、サーバーが過負荷にならないようにします。サイトマップ ファイルで指定する URL は 50,000 件以下、ファイルサイズは圧縮されていない状態で 50 MB 以下にする必要があります。サイトマップ インデックス ファイルを使用して個々のサイトマップをすべて記載し、このファイルだけを Google に送信します。個々のサイトマップを送信する必要はありません。
  • おすすめの正規化方法を使用して、ドメインの www を含めた URL と含めない URL の両方でサイトにアクセスできるかどうかを Google に伝えます。優先ドメインのサイトマップのみ送信する必要があります。
  • 動画、画像、ニュースなどの追加のメディアタイプにリンクするために、サイトマップ拡張機能を使用します。
  • ページのモバイル版とデスクトップ版の URL が異なる場合は、いずれかの URL にのみリンクすることをおすすめします。ただし、両方の URL にリンクする必要があると考える場合は、URL にアノテーションを付けて、デスクトップ版とモバイル版を示します。
  • さまざまな言語や地域用の代替ページがある場合は、サイトマップまたは 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 規格に準拠していることを確認してください。

    次の URL は非 ASCII 文字(ü)とエンティティのエスケープが必要な文字(&)を使用している例です。
    http://www.example.com/ümlat.html&q=name
    ISO-8859-1 エンコードを使用するサーバーでホストされている場合は、次のように ISO-8859-1 エンコードで URL をエスケープします。
    http://www.example.com/%FCmlat.html&q=name
    UTF-8 エンコードを使用するサーバーでホストされている場合は、次のように UTF-8 エンコードで URL をエスケープします。
    http://www.example.com/%C3%BCmlat.html&amp;q=name
    次のようにエンティティをエスケープします。
    http://www.example.co.jp/%C3%BCmlat.html&amp;q=name

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

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

  • Search Console サイトマップ ツールを使ってサイトマップを Google に送信する
  • robots.txt ファイルに行を挿入して、サイトマップへのパスを指定する(以下の例を参照)
    Sitemap: http://example.com/sitemap_location.xml
  • 「ping」機能を使用して、サイトマップのクロールを依頼します。次のような HTTP GET リクエストを送信してください。
      http://www.google.com/ping?sitemap=<complete_url_of_sitemap>
    例:
      http://www.google.com/ping?sitemap=https://example.com/sitemap.xml

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

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

この情報は役に立ちましたか?
改善できる点がありましたらお聞かせください。