より早いクロールを可能にしてSEO対策をするsitemap.xmlの書き方

皆さんはサイトマップというのをご存知でしょうか?

サイトマップ、サイトの地図というわけですが、どんなカテゴリーがあってどんな記事があるのか、それを一覧化したものがサイトマップですよね。そしてサイトマップには大まかに2種類あります。

1つは人間が読みやすいように書かれたもので、サイトやブログのページの一部のコンテンツとして表示されるもので、もう1つはGoogle などのクローラー(ロボット)に対して表示させるもので、こちらは人間が読みやすい形式ではなくコンテンツとして表示されることもありません。

今回はクローラーに対して用意する『sitemap.xml』というサイトマップの書き方をご紹介します。

コンテンツの転載は固くお断りいたします。

最もシンプルなサイトマップ

最もシンプルなサイトマップは以下のようになります。以下の例では当サイトのトップページと『かろうじてブログの収入が0円ではなかった運営1ヶ月目』の2つのページを元に sitemap.xml を作成しています。


sitemap.xml の簡単な解説


最初の1行目には、この XMLのバージョンと文字エンコーディングの種類を指定します。バージョンは『1.0』なので『version=“1.0”』と書き、エンコーディングは『UTF-8』なので『encoding=“UTF-8”』と書きます。

それらを『<?xml』と『?>』で囲んでおきます。

urlsetタグでスキーマを設定する


URLの一覧は、urlsetタグで囲みます。サイトマップ用のタグなどがあるので、それを認識させるために『xmlns=”http://www.sitemaps.org/schemas/sitemap/0.9”』として設定しておきます。

最後は『/urlset』として閉じるのをお忘れなく。

1つ1つのページ情報は url タグで囲む


ページURL、最終更新日時などの情報は『url』タグで囲みます。サイトマップに加えたいURLは『url』タグで囲んで、リスト化していきます。

最後は『/url』として閉じるのをお忘れなく。

URL を書く


『url』タグの中には、1つのページの情報を記していきます。まず、そのページのURLを記す場合には『loc』タグで囲みます。URL は『http://ドメイン』や『https://ドメイン』から書き始めます。

この項目はサイトマップには必須情報です。

最終更新日時を書く


最終更新日時は『lastmod』タグで囲みます。日時形式は『年-月-日T時:分:秒+時差』となり、『2017年9月9日6時55分0秒 GMT』であれば『2017-09-09T06:55:00+00:00』と書きます。

最後の『+00:00』は GMT なのでその前の日時は GMT時間で書きます。例えば日本時間で書くならば+9時間なので、GMT時間で『2017年9月9日6時55分0秒』の時『2017-09-09T15:55:00+09:00』となります。

月日、時分秒が1桁になる場合は最初に0を付け加えておきます。

他にも書き方はあり、詳しくは『W3C(datetimeページ)』をご覧ください。

この項目は書かなくてもサイトマップとして認識されますが、書いておくとクロール頻度などが良くなるかと思います。

更新頻度を書く


更新頻度は『changefreq』タグで囲みます。上記の例では『weekly』を中に書いて、週一くらいで更新されることを知らせています。

他にも、
always 常に
hourly 1時間ごと
daily 毎日
weekly 毎週
monthly 毎月
yearly 毎年
never 更新してない
などがあります。

少なくとも Google のクローラーはこの情報をあまり重要視していないようなので、書き記す必要はないかもしれません。

重要度を書く


ページごとの重要度は『priority』タグで囲みます。最大値は1.0で、全てのページを1.0にしてしまうと意味がありません。なのでトップページは1.0、記事ページは0.8、カテゴリーページは0.6、アーカイブページは0.4などに設定しておくと良いでしょう。

ただし、これでも changefreq と同じくあまり重要ではないかもしれません。

終わりに

サイトマップを作成したら、robot.txt や search console に登録してクローラーが見られるようにしておきましょう。