OctoberCMSにsitemapを導入

SEO対策を完全理解するために色々試行錯誤してる。

その中の一つに sitemap があったので学んだことややったことをメモしていく。


そもそも sitemap とは何か? googleのdocumentにはこう書いてある。

サイトマップとは、サイト上のページや動画などのファイルについての情報や、各ファイルの関係を伝えるファイルです。
Google などの検索エンジンは、このファイルを読み込んで、より高度なクロールを行います。
サイトマップはサイト内のどのファイルが重要かをクローラに伝えるだけでなく、重要なファイルについての貴重な情報(ページの最終更新日、ページの変更回数、すべての代替言語ページなど)も提供します。

出典: サイトマップについて - Search Console Help -

いちいちサイト全体をクローリングするのダルいから sitemap を読んで簡単にするわw って書いてある。


sitemapの書式はどうだろうか?以下のURLがそれだ。

protocol: Sitemaps XML format

このブログの sitemap.xml はこんな感じだ。(抜粋)

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<!--  created with free sitemap generation system www.sitemapxml.jp  --> 
<url>
  <loc>https://takeokunn.xyz/</loc>
  <priority>1.0</priority>
</url>
<url>
  <loc>https://takeokunn.xyz/blog/post/2019-3-done</loc>
  <priority>0.8</priority>
</url>
<url>
  <loc>https://takeokunn.xyz/blog/post/publish-npm-library-build-format</loc>
  <priority>0.8</priority>
</url>
<url>
  <loc>
    https://takeokunn.xyz/blog/post/mysql-localhost-127001
  </loc>
  <lastmod>2019-03-14T07:55:56+00:00</lastmod>
  <changefreq>hourly</changefreq>
  <priority>0.5</priority>
</url>
</urlset>

priority はprotocolにこう書かれている。

The priority of this URL relative to other URLs on your site.
Valid values range from 0.0 to 1.0. 
This value does not affect how your pages are compared to pages on other sites—it only lets the search engines know which pages you deem most important for the crawlers.

The default priority of a page is 0.5.

Please note that the priority you assign to a page is not likely to influence the position of your URLs in a search engine's result pages.
Search engines may use this information when selecting between URLs on the same site, so you can use this tag to increase the likelihood that your most important pages are present in a search index.

Also, please note that assigning a high priority to all of the URLs on your site is not likely to help you.
Since the priority is relative, it is only used to select between URLs on your site.

日本語訳するとこんな感じ

サイトの他のURLに対するこのURLの優先順位。

0.0~1.0が有効値。
この値は、自分のページが他のサイトのページと比較される方法には影響しません。
クローラにとって最も重要だと思われるページを検索エンジンに知らせるだけです。

defaultの値は0.5です。

あなたがページに割り当てる優先順位が検索エンジンの結果ページのあなたのURLの位置に影響を与えることはほとんどないことに注意してください。
検索エンジンは同じサイト上のURLを選択するときにこの情報を使用することがあるので、このタグを使用すると、最も重要なページが検索インデックスに含まれる可能性を高めることができます。

また、あなたのサイト上のすべてのURLに高い優先順位を割り当てることは意味のないので注意してください。
優先度は相対的なので、サイト上のURLを選択するためにのみ使用されます。

changefreq はprotocolにこう書かれている。

How frequently the page is likely to change.
This value provides general information to search engines and may not correlate exactly to how often they crawl the page.

Valid values are:
* always
* hourly
* daily
* weekly
* monthly
* yearly
* never

The value "always" should be used to describe documents that change each time they are accessed.
The value "never" should be used to describe archived URLs.

Please note that the value of this tag is considered a hint and not a command. 
Even though search engine crawlers may consider this information when making decisions, they may crawl pages marked "hourly" less frequently than that, and they may crawl pages marked "yearly" more frequently than that. 
Crawlers may periodically crawl pages marked "never" so that they can handle unexpected changes to those pages.

日本語訳するとこんな感じ

ページが変更される頻度。
この値は検索エンジンに一般的な情報を提供します、また、検索エンジンがページをクロールする頻度と正確に相関しない場合があります。

有効値:
* always
* hourly
* daily
* weekly
* monthly
* yearly
* never

"always"は、アクセスされるたびに変更される文書を記述するために使用されるべきです。
"never"は、アーカイブされたURLを記述するために使用されるべきです。

このタグの値はヒントであり、コマンドではありません。

検索エンジンのクローラが決定を下す際にこの情報を考慮する場合もありますが、"hourly" とマークされたページはそれよりも少ない頻度でクロールするし、 "毎年"とマークされたページをそれよりも頻繁にクロールするかもしれません。

OctoberCMSにsitemapを導入するのは簡単だ。以下のpluginを入れる。

rainlab-sitemap

管理画面からSettings > Sitemap に行って Add itemURL: /All blog posts を追加し、save する。

そうすると https://{yourhosts}/sitemap.xml

Google Search Consoleのsitemapsに自分の sitemap.xml を登録する。

以上だ。