ブログ

XMLサイトマップとは何か?

XMLサイトマップとは何か?

XMLサイトマップとは、webサイトを構成する各ページのURLや最終更新日、クロールの優先順位などの情報を含んだXML形式のファイルです。このファイルを提出することで、Googleなどの検索エンジンがあなたのコンテンツをより早く発見して、クロールやインデックスを素早く行えるようになります。

XMLサイトマップとは何か?HTMLサイトマップの違い

このXMLサイトマップとは別に、HTMLサイトマップというものが存在します。単に「サイトマップ」と表現するとどちらのサイトマップを表しているのか分からないので、まずはこの2つをしっかり区別する必要があります(この記事では特に指定しない限り、XMLサイトマップを指すものとします)。

XMLサイトマップはwebサイトの情報を検索エンジンに伝えるもので、HTMLサイトマップはwebサイトの情報をユーザーに伝えるものです。

なので、HTMLサイトマップはwebサイト上で開くことができます。一部のwebサイトに「サイトマップ」と書かれたアンカーテキストがあって、そこをクリックするとサイト内の各ページのリストが表示されますよね。それがHTMLサイトマップです。HTMLサイトマップがあると、webサイト内のどこに行けば良いかわからないユーザーに道案内ができて、ユーザーエクスペリエンスの向上が見込めます。

一方、XMLサイトマップは検索エンジン側にwebサイトの情報を提供するものなので、ユーザー側に中を見せる必要がありません。Webサイト上にサイトマップを載せるのではなくて、検索エンジン側にXMLファイルを提出することでサイト情報を伝えます。

なぜXMLサイトマップの作成はSEO対策として重要なのか?

XMLサイトマップの作成・提出はSEO対策の一環として非常に重要です。その理由は、これを提出することで、Googleなど検索エンジンのクローラーが適切にサイト内をクロールしてくれるようになるからです。

開設し始めたばかりの新しいwebサイトでは、XMLサイトマップの提出が特に重要です。通常クローラーは、ページに貼られた内部・外部リンクを介して別のページに移動・クロールします。でも、新しいページは他のどのサイトからも被リンクをもらっていないので、クローラーがそのサイトをクロールすることができません。

この時、あなたがXMLサイトマップを作成してGoogleやBingなどに提出することで、検索エンジン側も新しいサイトができたことを認識し、この情報を頼りにクローラーを飛ばすことができるようになります。

一方で、すでに検索エンジン側に認識されたwebサイトでもXMLサイトマップは重要です。新しいブログ記事を更新した時など、サイトマップを再提出することでクローラーが新ページにやってくるまでの期間を短縮できます。また、XMLサイトマップでページの優先順位を設定できるので、特定のページへクロールを促すこともできます。

XMLサイトマップの作り方

WordPressでwebサイトを作っているなら、XMLサイトマップはプラグインを使って一発解決も可能です。その方法は後述するとして、まずはプラグインなしの場合を想定して、通常のXMLサイトマップの作り方から説明しましょう。

例として、XMLサイトマップのサンプルを下に示します。

<?xml version="1.0" encoding="UTF-8"?>

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

   <url>

      <loc>http://www.example.com/</loc>

      <lastmod>2005-01-01</lastmod>

      <changefreq>monthly</changefreq>

      <priority>0.8</priority>

   </url>

   <url>

      <loc>http://www.example.com/catalog?item=12&amp;desc=vacation_hawaii</loc>

      <changefreq>weekly</changefreq>

   </url>

   <url>

      <loc>http://www.example.com/catalog?item=73&amp;desc=vacation_new_zealand</loc>

      <lastmod>2004-12-23</lastmod>

      <changefreq>weekly</changefreq>

   </url>

   <url>

      <loc>http://www.example.com/catalog?item=74&amp;desc=vacation_newfoundland</loc>

      <lastmod>2004-12-23T18:00:15+00:00</lastmod>

      <priority>0.3</priority>

   </url>

   <url>

      <loc>http://www.example.com/catalog?item=83&amp;desc=vacation_usa</loc>

      <lastmod>2004-11-23</lastmod>

   </url>

</urlset>

引用:https://www.sitemaps.org/ja/protocol.html

この例のように先頭でUTF-8エンコードを宣言して、専用のXMLタグを使いながらファイルを作成していきます。

サイトマップ作成に必要なXMLタグの定義

サイトマップ作成時に使用できるXMLタグは以下の6種類あります。

記述必須

  • <urlset>:ファイルの全体を囲むタグで、現在のプロトコル標準を参照します。
  • <URL>:各URLエントリの親となるタグで、その他のタグをこのタグ内に含めます。
  • <loc>:ページのURLを記述します。

オプション

  • <lastmod>:ファイルの最終更新日を記述します。
  • <changefreq>:ページの更新頻度を記述します。
  • <priority>:Webサイト内の他のURLと比較した、そのURLの優先度を0.0〜1.0までの数値で指定します(デフォルトは0.5)。

これらのタグを使いながら、オリジナルのXMLサイトマップを作ってみてください。最初から最後まで自作する必要はなく、今はsitemap.xml Editorのような便利な作成ツールも利用できます。

ただ、サイトマップ作成には2つだけ守らなければならないルールがあります。それは…

  1. データを圧縮しない状態で50MB以下にすること
  2. 登録URLを50,000件以下にすること

個人で運営しているブログであればほぼ無視しても良い条件ですが、企業のサイトなどでデータやURL数が大きくなってしまう場合は、サイトマップを複数作成してURLのリストを分割する必要があります。

こうしてサイトマップが完成したら、XMLファイル形式でデータを保存してファイルをサーバー内にアップロードします。この操作はFTPソフトと呼ばれるソフトを使って行われるのですが、レンタルサーバーがX serverならFTPソフトがサーバーに内蔵されているので楽チンです。ファイル管理画面から◯◯◯.com/public_htmlを開いて、ここにファイルをアップロードして完了です!

Yoast SEOを使ってXMLサイトマップを作成

一方、WordPressでYoast SEOを使用している場合は、Yoast SEOがXMLサイトマップを自動生成してくれます。

WordPressの管理画面を開いて「SEO >> 一般 >> 機能」を選びます。下にスクロールするとXMLサイトマップという項目がありますので、ここをオンにします。たったこれだけで、あとはYoast SEOが自動でXMLサイトマップを作成・更新してくれます。

上の画像の赤く囲ってある部分をクリック、またはサイトのドメイン名に続いて/sitemap_index.xmlと入力すると、Yoast SEOが作成したサイトマップを確認できます。

このようにYoast SEOは複数のサイトマップを作成してコンテンツを分類していますが、検索エンジンに提出するときにはメインのサイトマップだけを送信すればOKです。

Yoast SEO以外のSEO用プラグイン (All in One SEO Packなど)にも、同じような機能が備わっているものがあると思います。サイトマップ更新の手間を考えると、WordPressユーザーならこうしたプラグイン を利用しない手はありません。

プラグイン・Google XML sitemapsを使ってサイトマップを作成

残念ながらYoast SEOのようなSEO対策用プラグインが入っていない or 使いたくない場合でも、Google XML sitemapsというプラグインを使えば、同じようにサイトマップを自動で作成してくれます。

プラグイン を有効化した後、ダッシュボードから「設定 >> XML-Sitemap」を選ぶと、Googleに提出するXMLサイトマップの細かい設定ができます。

まずは「基本的な設定」から。ここはデフォルトのままでOKです。

続いて、もしWordPressサイトに含まれないけれどXMLサイトマップに含めたいページがある場合、ここでそのページの詳細を設定します。

3つめは「投稿の優先順位」。設定した条件をもとに、プラグイン が自動でコンテンツの優先順位を設定してくれます。あとで個別に優先順位を設定するので、ここは「自動的に計算しない」を選びましょう。

4番目は「Sitemapコンテンツ」。最低限、ホームページと投稿、固定ページはサイトマップに含めましょう。カテゴリーページやタグページは人によって意見の分かれるところ。他のブログの意見も参考にして、あなた自身のサイトに適した設定にしましょう。

5番目は、XMLサイトマップから除外するページやカテゴリーを設定する場所です。特別な事情がなければ放置でOKです。

もうすぐ終わりです。6番目のセクションでは、予想されるサイトの更新頻度を設定します。あなたのページの更新頻度に合わせて設定を行いましょう。

そして最後に「優先順位の設定」。各項目を0.1〜1.0の範囲で設定できますが、この数値はあくまでwebサイト内での相対的な優先順位なので、すべての項目で1.0に設定しても意味がありません。詳しくは後述するので、そちらもご参照ください。

各種設定を終えたら、「設定を更新」ボタンをクリックするのを忘れずに。プラグイン が作成したXMLサイトマップは、ドメイン名の後ろに/sitemap.xmlを追加すると確認できます。

<2020/12/14追記>最近SEO専門家の間で絶賛中のSEOプラグイン・Rank Mathでも、自動でXMLサイトマップを作ってくれる機能が備わっています。このプラグインの詳しい使い方は、上のリンク記事をご参照ください。

XMLサイトマップを検索エンジンに提出・登録する方法

あなたのサイトの内外から適切にリンクが貼られている限り、サイトマップなしでもいずれは検索エンジンが新しいページを見つけてくれるはずです。でも、できるだけ早く新ページをクロール・インデックスしてもらうためにも、XMLサイトマップを検索エンジンに提出・登録しておくことを強くお勧めします。

Googleにサイトマップを提出

Googleへのサイトマップの提出は、Google Search Consoleを通じて行います。

Google Search Consoleを開いて、メニューから「サイトマップ」をクリックします。すると下の画面のようにURL入力画面になるので、ここにサイトマップが存在するURLを入力して送信すれば完了です(Yoast SEOの場合は/sitemap_index.xml、Google XML sitemapの場合は/sitemap.xmlを入力)。

しばらく時間が経つとGoogleがサイト内のクロールを完了し、その結果(サイトマップの最終読み込み日時、検出されたURL数など)がSearch Console上で確認できるようになります。

Bingにサイトマップを提出

同様に、Bingにもサイトマップを提出しておきましょう。

BingのWebマスターツールにログインして、「新しいサイトを追加」のところにあなたのサイトのURLを入力・送信します。

ログインに成功すると、今度は「サイトマップを追加」の入力ボックスが現れるので、ここにXMLサイトマップのURLを追加・送信します。

次は、Bingがあなたのサイトの所有権を聞いてきます。画面に表示されたメタタグをコピーして、WordPress管理画面のheader部分にペーストすれば設定完了です。

ここに表示されるコードをコピーして…
WordPress管理画面のここに貼り付けます。

ここまで終わったら、Bing側に戻って正しくサイトマップの設定ができていることを確認しておきましょう。

XMLサイトマップについてよくある疑問

最後に、XMLサイトマップについてよくある疑問のいくつかにお答えして、この記事を終わりにしたいと思います。

1.XMLサイトマップは検索結果上位表示に役立つ?

XMLサイトマップの有無は、検索結果の上位表示とは直接関係がありません。サイトマップを提出したら検索ランキングが改善する…という甘い期待は捨てましょう。

付け加えると、サイトマップを提出したからといって、検索エンジンが必ずページをクロール・インデックスするという保証もありません。コンテンツの質が低ければGoogleはインデックスしませんし、検索結果に表示されることもありません。

XMLサイトマップは、あなたが検索エンジン側にサイトの構造を提供するために作成・提出するものです。それを受け取って実際にクロール・インデックスするかどうかを決めるは、あなたではなく検索エンジンです。

2.ファイル内のpriorityを全部1.0に設定したら、通常より早くクロールされる?

これは2つの意味で正しくありません。1つはページのクロールを決定するのは検索エンジン側であること、もう1つはpriorityの数値はサイト内のコンテンツ同士を比較してつけるものだからです。

例えば、サイトマップ内のすべてのURLに対してpriority 1.0をつけたとしましょう。こうすると、サイト内のすべてのページが同じpriorityで等しくなるため、priorityを設定せず0.5のままにしておくのと何ら変わりがなくなってしまいます。

2つのページにpriorityを1.0と0.2と設定した場合、両ページの間でクロール数に差が出る可能性はもちろんあります。ただ、その場合でもページをクロールするかどうかの決定権は検索エンジンにあるのです。

3.途中でXMLファイル名が変わった場合、クロールに悪影響はある?

結論を先に言うと、途中でファイル名が変わっても全く影響ありません。これについては、GoogleのJohn Muellerが過去のEnglish Google Webmaster Central Office-Hours Hangoutで明言しています。

こうした状況は、途中でSEO対策用プラグインを変更したときに起こり得ます。僕も以前Google XML sitemapを使っていたのを、ある時Yoast SEOに変更したのを境にファイル名が変更になってしまいました。そのままずっと放置状態ですが、Google Search Consoleを見る限り、Googleが新サイトマップを見つけてくれて、通常通り解析してくれているようです。

大堀 僚介(Ohori Ryosuke)

AWAI認定コピーライター
SEO contents institute認定コピーライター

何事も“超一流の専門家から学ぶ”をポリシーとしており、コピーライティング業界で世界最高の権威である全米コピーライター協会(AWAI)でライティングの基礎を習得後、SEOコピーライティングのパイオニアHeather-Lloyd Martin、コンテンツマーケティングの世界的第一人者Brian ClarkにWebコピーライティングを学ぶ。

さらにAWAIでビジネス用Webサイト作成スキルを習得、知識ゼロの状態から自社サイトSuper Clear Contentsを立ち上げる。その経験とインターネット業界の動向をふまえて、個人事業主や副業サラリーマンに向けて最新のビジネス用Webサイト構築方法を提供している。

>> Facebookのプロフィールページへ

大堀 僚介

全米コピーライター協会(AWAI)認定コピーライター SEO content institute認定SEOライター 何事も“超一流の専門家から学ぶ”をポリシーとしており、コピーライティング業界で世界最高の権威である全米コピーライター協会(AWAI)でライティングの基礎を習得後、SEOコピーライティングのパイオニアHeather-Lloyd Martin、コンテンツマーケティングの世界的第一人者Brian ClarkにWebコピーライティングを学ぶ。 さらにAWAIでビジネス用Webサイト作成スキルを習得、知識ゼロの状態から自社サイトSuper Clear Contentsを立ち上げる。その経験とインターネット業界の動向をふまえて、個人事業主や副業サラリーマンに向けて最新のビジネス用Webサイト構築方法を提供している。

Recent Posts

CheiRankとは何か?

突然ですが、CheiRankと…

10か月 ago

文法ミスやスペルミスは検索順位に影響するのか?

パソコンを使って文章を書いてい…

11か月 ago

SNS上の口コミを自社サイトに埋め込む時の注意点

特にローカルビジネスにとって、…

1年 ago

User Generated Contentsは検索順位に影響するのか?

ブログへのコメントや口コミ、星…

1年 ago