サイトマップとは?SEO効果、XMLサイトマップの作成方法を解説

サイトマップとは、サイトのURLを地図のようにリスト化したページのことです。サイトマップには、ユーザー向けのHTMLサイトマップと検索エンジンのクローラー向けのXMLサイトマップの2種類があります。
ここでは、HTMLサイトマップやXMLサイトマップの特徴を解説しながら、特にXMLサイトマップの作成方法を詳しく解説します。
この記事のポイント
- サイトマップはサイトのページやコンテンツの構成をリスト化したもの
- ユーザー向けの「HTMLサイトマップ」と検索エンジン向けの「XMLサイトマップ」の2種類がある
- XMLサイトマップは適切に設置することで、検索エンジンのクロール効率を高めることができる
\SEOで成果につなげる!資料ダウンロードはこちらから/
目次
サイトマップとは?
サイトマップとは、サイト全体のページやコンテンツの構成をリスト化したものです。サイトマップにはユーザー向けの「HTMLサイトマップ」と検索エンジン向けの「XMLサイトマップ」の2種類があります。それぞれの内容と役割を紹介しましょう。
HTMLサイトマップとは?
HTMLサイトマップは、ユーザーへのナビゲーションやサイト内のコンテンツの紹介を目的とした、サイト内の各ページをリスト化してリンクを貼ったページです。
ユーザーがコンテンツとして閲覧することができ、目的のページやコンテンツを探すことができます。
XMLサイトマップとは?
XMLサイトマップは検索エンジンにクロールしてほしい重要なページを伝えることを目的として作成されるファイルです。
XMLサイトマップを作成し、検索エンジンが認識することで、記載しているURLの検知、クロールを促進することができます。これにより、重要ページや、新規で作成したページ、更新のあったページなどへのクロールを優先的にさせることが可能になります。
サイトマップのSEO効果
どちらのサイトマップもSEOの文脈で用意されることが多いですがどのような効果があるのでしょうか。それぞれのSEO効果について確認しておきましょう。
HTMLサイトマップのSEO効果
HTMLサイトマップ作成の最大の目的はユーザーにサイト内のコンテンツを明示する点にあり、探しているページに辿り着きやすくするためのサポートに意味があります。
性質上サイト内の各ページへの内部リンクを生成するため、SEO効果としては、検索エンジンがHTMLサイトマップで、ページを見つけることができる可能性が挙げられます。
とはいえ、大幅に順位を上げるような代物ではなく、SEOを目的として作成するとすれば、「サイト性質上内部リンクを確保できない場合に、検索エンジンに階層が深いページを認識させる」ことがメインとなります。ユーザー向けに作成しない場合の優先度は、クロールに問題がない限りは低くて良いですし、そもそもユーザー向け以外にHTMLサイトマップを作成することは異例です。
XMLサイトマップのSEO効果
XMLサイトマップを設定することのメリットは、SEOの観点では大きく以下の4つあります。
①内部リンクがほとんどないページヘのクロール・インデックスの促進
サイトの下層ページは内部リンクの数が少なかったり、内部リンク自体がなかったりする場合もあります。検索エンジンはリンクをベースとしてクロールするため、可能な限りは内部リンクを設置したいところではありますが、サイトの仕様上難しい場合にはXMLサイトマップを用い、クロールを促しましょう。
②大規模サイトにおけるクロール・インデックスを優先させるページの伝達
ページ数の多いサイトにおいては、全てのページをクロールさせることができない場合もあります。そこでXMLサイトマップを用い、優先してクロールさせたいページを検索エンジンに伝え、ページの更新などを伝えます。
③画像、動画などのコンテンツへのクロール・インデックスの促進
ウェブページだけでなく、画像や動画コンテンツ用のXMLサイトマップを用意することもできます。サイト内に画像・動画コンテンツが多い場合には設置の検討をしましょう。
注意点
XMLサイトマップは、SEO対策に必須というわけではなく、サイト規模などに合わせて、適切に運用する必要があります。
例えば、1000ページ程度の小規模サイトであれば、XMLサイトマップを作成しなくても、問題なくクローラーが行き届くことが多くあります。
また、大規模サイトにおいても、誤ったXMLサイトマップによって、逆にクロール効率が下がるケースもあります。例えば以下のようなケースがあります。
noindexを付与したURLをXMLサイトマップに含める
XMLサイトマップはクロール・インデックスしてほしいページを記載するべきですが、そのページにnoindexが付与されていると、検索エンジンはエラーとしてそのページを検出します。
その他にもrobots.txtでのブロック、404ページ、ソフト404などが発生しているページなどもXMLサイトマップに含まれているとエラーが表示されます。また、非正規URL(重複したURL)がXMLサイトマップに含まれていると、エラーではなく除外として検出されます。
このようにインデックスできないページへのクロールが増えると、本来インデックスさせたいページへのクロール効率が下がることにも繋がります。
HTMLサイトマップの作り方
HTMLサイトマップは手作業で作成することも可能ですが、ページを追加する度に更新することになるため、抜け漏れが発生してしまうリスクがあります。そのため、プラグインを利用してHTMLサイトマップを作成することをおすすめします。
WordPressを使用している場合は、「PS Auto Sitemap」というプラグインをインストールすることで簡単にサイトマップを作成することができます。また、「ez-HTML」というHTMLエディタであれば、WordPressを利用していないサイトでも効率的にサイトマップを作成することが可能です。
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>2014-01-01</lastmod>
<changefreq>monthly</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>http://www.example.com/contents/</loc>
<lastmod>2014-01-01</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>http://www.example.com/contents/0001/</loc>
<lastmod>2014-01-01</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
</urlset>
各タグの説明
<?xml version="1.0" encoding="UTF-8"?>
⇒文字コード宣言です。UTF-8コードで作成します。
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
⇒ネームスペース宣言 です。最新バージョンの0.9を記述します。
<url>
⇒<url>から<url>の間に個々のURL情報を記述します。
<loc>
⇒URLをフルパスで記述します。
<lastmod>
⇒ファイルやソースの最終更新日を記述します。
時刻の部分を省略して YYYY-MM-DD の形式で記述します。
※省略可
<changefreq>
⇒更新頻度を記述します。
値はalways / hourly / daily / weekly / monthly / yearly / neverから選択します。
記述した更新頻度以外でもクロールされることもあります。なおGoogleの検索エンジンはこの記述を無視します。※省略可
<priority>
⇒Webサイト内の全URLを比較した際の優先順位を記述します。
0.0~1.0の値内で設定します。なおGoogleの検索エンジンはこの記述も無視します。※省略可
例)第一階層1.0、第二階層0.8、第三階層0.5
なおGoogleの検索エンジンはこの記述を無視します。※省略可
\ご不明な点は、ナイルにいつでもご相談ください!/
複数のXMLサイトマップを準備する場合
1つのXMLサイトマップファイルに記述できるURLは50,000 URLまでで、ファイルサイズは50MB以下(圧縮していない状態で50MB)とする必要があります。
上記の条件を超える場合は、複数のXMLサイトマップに分割し、分割したXMLサイトマップをまとめるインデックスファイルを作成します。
インデックスファイルの記述方法はXMLサイトマップと大きく変わりません。
サンプル
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>http://www.example.com/sitemap1.xml.gz
<lastmod>2014-01-01</lastmod>
</sitemap>
<sitemap>
<loc>http://www.example.com/sitemap2.xml.gz
<lastmod>2014-01-01</lastmod>
</sitemap>
</sitemapindex>
記述方法の説明
<sitemapindex>
⇒<sitemapindex>~/sitemapindex> タグの間に分割したXMLサイトマップを記述します。
<sitemap>
⇒<sitemap>の間に個々のXMLサイトマップのURL情報を記述します。
<loc>
⇒XMLサイトマップURLをフルパスで記述します。
<lastmod>
⇒ファイルの最終更新日を記述します。
時刻の部分を省略して YYYY-MM-DD の形式で記述します。
サーバへのアップロード
ここまで作成できたら、ファイルをサーバにアップロードします。ファイル名、設置場所は任意で設定できます。多くのサイトでは下記のように設定されています。
- XMLサイトマップ(1つの場合)はhttp://example.com/sitemap.xml
- 複数のXMLサイトマップhttp://www.example.com/sitemap1.xml、http://www.example.com/sitemap2.xml
なお、XMLサイトマップはカテゴリー毎に設置するとインデックス状況が分かりやすくなります。1つのXMLサイトマップで収まらない(50,000URL以上)場合は、可能な範囲でカテゴリー毎などに分割し、インデックス状況をわかりやすくしましょう。
\ご不明な点は、ナイルにいつでもご相談ください!/
Google Search Consoleからの送信
サーバへのアップロードが完了したら最後の作業です。Google Search ConsoleからXMLサイトマップを設置したURLを登録し、検索エンジンに通知します。
登録するとXMLサイトマップに記述したURLを検索エンジンがクロールしていきますが、送信したURLが必ずクロール、インデックスされるわけではありません。
サイト内の全てのURLをXMLサイトマップに記述したり、上記に記述したようなインデックスできないURLをXMLサイトマップに含んでいたりすると、XMLサイトマップを用いても、クロールが上手くいかないことがあります。カバレッジを定期的に確認し、XMLサイトマップを調整しましょう。
SEOについて詳しく知りたい方はこの記事も読んでみてください。
まとめ:サイトマップを作りこむ必要があるか検討しよう
2つのサイトマップの内、HTMLサイトマップは主にユーザーを、XMLサイトマップは検索エンジンをナビゲーションする役割をもっています。
どちらもサイトを運用する上で必須というわけではなく、特にXMLサイトマップは適当に設置すると、逆にクロールの効率を下げることにもなります。また、ページ数の小さいサイトでは、そもそも必要がない場合もあります。
まずはSearch Consoleのインデックスカバレッジを確認し、自分のサイトのクロール・インデックス状況を確かめるところからスタートしましょう。
ナイルでは成果を追求するSEOコンサルティングを提供しております。支援実績やコンサルティングの詳細は、ナイルのSEOコンサルティングサービスをご覧ください。