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

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

  1. どのサイトマップ形式を使用するかを決めます。
  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 に送信できます。たとえば、次のような URL です。

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 規格に準拠していることを確認してください。

    次の 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&q=name

    次のようにエンティティをエスケープします。

    http://www.example.com/%C3%BCmlat.html&amp;q=name
  • サイトマップは、重要であると判断したページを Google に推奨するためのファイルです。サイトマップに含まれるすべての URL のクロールを Google が確約するものではありません。
  • Google は、<priority><changefreq> の値を無視します。
  • Google は、<lastmod> 値が一貫して正確であることを(ページの最終更新との比較などにより)検証できる場合に、この値を使用します
  • サイトマップ内の URL の位置は重要ではありません。Google は、URL のクロールをサイトマップに記載された順序で行う訳ではありません。

サイトマップを作成する

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

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

サイトマップを CMS に自動作成させる

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

その他のサイト環境の場合は、サイトマップを自分で作成する必要があります。

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

含める URL の数が数十に満たない場合は、サイトマップを手動で作成することもできます。 その場合は、メモ帳(Windows)nano(Linux、MacOS)といったテキスト エディタを開き、サイトマップ形式セクションの構文の説明を参考に作成します。

大きなサイトマップを手動で作成することもできますが、かなり面倒な作業を伴います。

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

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

なお、サイトマップのサイズは 50 MB 以下にする必要があります。 詳しくは、大きなサイトマップの管理に関する説明をご覧ください。

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

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

サイトマップ内のページを更新した場合は、<lastmod> フィールドでマークしてください。他の XML ファイルにも類似のフィールド(Atom XML の <updated> など)があります。 この日付の計算方法もご覧いただけます。

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

  • サイトマップ レポートを使用してサイトマップを送信する
  • ping ツールを使用する。ブラウザで GET リクエストを送信するか、このアドレスにコマンドラインを送信して、サイトマップの完全な URL を指定します。サイトマップ ファイルにアクセスできることを確認します。
    https://www.google.com/ping?sitemap=FULL_URL_OF_SITEMAP

    例:

    https://www.google.com/ping?sitemap=https://example.com/sitemap.xml
  • robots.txt ファイルの任意の場所に次の行を挿入して、サイトマップへのパスを指定します。Google は次に robots.txt ファイルをクロールする際に、その変更を検出します。
    Sitemap: https://example.com/my_sitemap.xml
  • サイトマップに Atom / RSS を使用しており、Google だけでなく他の検索エンジンにも変更をブロードキャストしたい場合は、WebSub を使用する。

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

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