XMLサイトマップにはcanonical URLをすべて載せ、RSSとAtomでは最近の更新を伝える
公開日: 執筆:佐藤
XMLサイトマップとRSSまたはAtom feedは、どれか一つを選ぶものではありません。XMLサイトマップには、Googlebotが取得できるcanonical URLをサイト全体から載せます。RSSとAtomでは、新しく追加したページと、内容を実質的に変更したページを最近の更新として伝えます。
役割を分けると、古いページを含むURL全体と、直近の変更の両方を伝えられます。ただし、送信したURLが必ずindexされるわけではありません。
XMLサイトマップはサイト全体のURL一覧にする
XMLサイトマップは、サイト内にあるページの集合を伝えるために使います。最近更新したページだけへ絞らず、検索対象として維持するページを含めます。
掲載するのは、Googlebotが取得できるcanonical URLです。robots.txtで取得を遮断したURL、存在しないURL、同じ内容を返す重複URLを一緒に載せません。HTTPとHTTPS、wwwありとwwwなし、末尾slashの有無などで同じ内容へ複数のURLがあるなら、代表として使う一つへそろえます。
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://example.jp/service/</loc>
<lastmod>2014-10-15T18:30:00+09:00</lastmod>
</url>
</urlset>
このURLと日時は説明用の仮例です。実在siteの公開URLや更新記録ではありません。
RSSとAtomは最近の追加と変更を伝える
RSSとAtom feedは、最近の更新を小さな一覧で伝えます。新しいページを追加したときだけでなく、既存ページの内容を実質的に変えたときも、そのURLと更新日時をfeedへ含めます。
| 形式 | 扱う範囲 | URL | 更新日時 |
|---|---|---|---|
| XMLサイトマップ | サイト全体のページ | <loc> |
<lastmod> |
| RSS | 最近の追加と変更 | <link> |
<pubDate> |
| Atom | 最近の追加と変更 | link要素のhref |
<updated> |
RSSまたはAtomがあるからといって、XMLサイトマップから古いページを外しません。反対に、XMLサイトマップへ全URLを載せているからといって、最近の変更を伝えるfeedの役割もなくなりません。
RSSとAtomを両方作る必要があるかは、購読者や既存systemの利用形式で決めます。GoogleへURL更新を伝える役割では、RSSかAtomの運用中の形式を使えます。形式を増やすことより、URLと更新日時を同じ正本から出すことを優先します。
三つの日時は内容が実質的に変わった時刻にする
XMLサイトマップのlastmod、RSSのpubDate、Atomのupdatedは、ページ内容が実質的に変わった時刻を示します。サイトマップやfeedを表示した時刻ではありません。
誤字を一字直しただけの変更と、料金、営業時間、商品説明、手順など、検索結果へ反映してほしい変更を同じ扱いにしないでください。どの変更で日時を進めるかを、更新手順の中へ決めます。
形式ごとに日時の書式も違います。XMLサイトマップはW3C Datetime、AtomはRFC 3339、RSSはRFC 822の形式を使います。CMSや生成programが持つ一つの更新日時から、それぞれの書式へ変換すれば、同じページに異なる変更時刻を出す事故を減らせます。
生成のたびに現在時刻を入れると、内容が変わっていない全URLが更新されたように見えます。公開日時、管理画面を保存した日時、内容を実質的に変更した日時を分け、feedとサイトマップへ使う値を決めます。
一つのURL台帳からサイトマップとfeedを作る
サイトマップとfeedを別々の担当者が手入力すると、URLと日時がずれます。先に、公開ページごとに次の情報を持つURL台帳を一つ作ります。
- canonical URL
- Googlebotが取得できるか
- 検索対象として維持するか
- 内容を実質的に変更した日時
XMLサイトマップは、台帳から検索対象のURLをすべて出します。RSSまたはAtomは、同じ台帳から最近追加または変更したURLを出します。出力形式が違っても、URLと更新日時の正本は分けません。
CMSへ生成を任せる場合も、pluginやtemplateを入れた時点で完了にしないでください。下書き、非公開、削除済み、redirect元、重複URLが混ざらないかを一件ずつ確認します。新しいpage typeを追加したときは、XMLサイトマップへ含めるか、feedへ含めるかを更新担当者が決めます。
送信後は発見とindexを分けて確認する
サイトマップとfeedの送信は、URLと変更を発見する手掛かりを検索engineへ渡す作業です。indexや順位を保証する作業ではありません。
送信後は、XMLとして読めるか、URLが200を返すか、canonicalが別URLを指していないか、更新日時が内容の変更と一致するかを確認します。URLがindexされない場合に、日時だけを現在時刻へ変えて送信し直しても、page内容や取得上の問題は直りません。
最初の一手は、生成機能を変えることではありません。XMLサイトマップから一つのURLを選び、canonical、HTTP応答、lastmod、RSSまたはAtomの同じURLを照合してください。
関連記事

