LoginSignup
2

More than 1 year has passed since last update.

XMLサイトマップについての基礎知識

Last updated at Posted at 2021-05-28

先日、サイトリニューアルによるドメイン変更にあたって、サイトマップを新設する必要がありました。
新設にあたり、あれサイトマップってそもそもなんのためにあるのだろうかと疑問に思ったのでメモです。

そもそもサイトマップとは

サイトのSEO対策を行うとき、検索エンジンに自分のサイトを効率良くインデックス1してもらうことが必要です。
基本的に、検索エンジンのクローラーはXMLサイトマップを設置していなくても、他サイトのリンクを辿ることでサイトを見つけ出せますが、新規公開ページや階層が深いページなど、クローラーがそのサイトを発見できずにインデックスされない場合があります。
そういったときにXMLサイトマップがあれば、検索エンジンにクロールを促すことができ、そのような状況を避けることができます。

要するにクローラーに自社サイトをお知らせする道標のようなものだなと理解しました。
ちなみに混同されやすいのですが、ページにきたユーザーにサイトの構造を伝えるHTMLサイトマップとは別物です。

どんな時にサイトマップが必要か

ではどんなときにサイトマップを作る必要があるんでしょうか。
image.png
出典:サイトマップについて – Search Console ヘルプ

Googleサーチコンソールには上記のように書いてありました。

まとめると、サイトのサイズがそこまで大きくないシンプルなサイトを運営するときは必要ないみたいです。
逆に、大規模なサイトでかつ、クローラが見つけられないようなリンクがたくさんある場合は必要だということですね。

サイトマップのかきかた

では実際にサイトマップの作り方を見ていきましょう。

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

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

   <url>

      <loc>http://www.example.com/</loc>    //アクセスするURL

      <lastmod>2021-01-01</lastmod>   //最終更新日

      <changefreq>monthly</changefreq> //更新頻度

      <priority>0.8</priority>  //優先度

   </url>

</urlset> 

URLが少なければ問題ないのですが、巨大なサイトになってくると膨大なURLを記載する必要があります。
その場合の注意事項として
・5万URL以下であること
・10MBを超えてはいけない
超えてしまう場合は、ファイルを分けてURLを指定する もしくはgzipに圧縮するなどして対応の必要があります。

今回はファイルを分けてURLを指定しました。
URLを分けるときはタグを使う必要があります。

<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
    <loc>https://www.example.com/sitemap_0.xml</loc> //分ける
</sitemap>
<sitemap>
    <loc>https://www.example.com/sitemap_1.xml</loc> //分ける
</sitemap>
</sitemapindex>

サイトマップができたら

XMLサイトマップができました!
が、これでおわりではありません。Googleにサイトマップの存在をお知らせをしましょう。
以下2つの方法でクローラに存在を伝えることができます。

①サーチコンソールを活用する
②robots.txtを活用する

①サーチコンソールを活用する方法

  1. Google Search Consoleにアクセス
  2. サイトマップ→サイトマップを追加をクリック
  3. 作成したサイトマップのURLまたはファイル名を入力する
  4. テストをクリックし、エラーがないかチェックする
  5. エラーがないことを確認して、サイトマップを送信をクリック

②robots.txtを使う方法

User-agent: *
Disallow: /column/wp-admin/
Allow: /column/wp-admin/admin-ajax.php

Sitemap: https://www.example.com/sitemap.xml
項目 必須 意味
User-agent: 命令を与えるユーザーエージェントの名称を記入します。
Disallow: × クロールを許可しないディレクトリ・ページを記入します。
Allow: × クロールを許可するディレクトリ・ページを記入します。
Sitemap: × sitemap.xmlのURLを記入します。※複数ある場合は複数記入可能です。

まとめ

クローラーはrobots.txt→sitemap.xmlの順で回っていきます。
自社サイトのSEO対策にXMLサイトマップは役立つ。

参考文献

https://promonista.com/glossary-sitemapxml/
https://www.sitemaps.org/protocol.html


  1. クローラーがページを認識し、データベース化すること 

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
2