Jekyllのサイトマップの作成

Google Search Consoleの登録をしましたので、JekyllでSitemapを作成してGoogle Search ConsoleにSitemapを送信してみました。

環境

  • OS X El Capitan バージョン 10.11.2
  • Jekyll バージョン 2.4.0

サイトマップ?

サイトマップとは、サイトのウェブページのリストを指定して、Google や他の検索エンジンにサイトのコンテンツの構成を伝えるファイルです。Googlebot などの検索エンジンのウェブクローラは、このファイルを読み込んで、より高度なクロールを行います。

サイトマップについて - Search Console ヘルプ

Jekyllの設定ファイルの変更

JekyllでSitemapを作成するには設定ファイルを変更するだけのようでした。 プロジェクトのディレクトリーの直下にある_config.ymlファイルに以下の行を追加します。

gems:
  - jekyll-sitemap

Sitemapの作成

$ cd [YOUR-JEKYLL-SITE]
$ bundle exec jekyll build

_siteディレクトリーにsitemap.xmlが作成されます。

$ ls _site/sitemap.xml
_site/sitemap.xml

Sitemapの送信

Google Search Consoleにサイトマップを送信します。 以下の方法もあるようですが、記事を追加するたびに送信するのは面倒なのでrobots.txtを作成しました。

Search Console サイトマップ ツールを使ってサイトマップを Google に送信する

robots.txtは以下の内容でプロジェクトのディレクトリーの直下に保存しました。

---
layout: null
---
Sitemap: {{ site.url }}{{ site.baseurl }}/sitemap.xml

ターミナルから以下のコマンドを実行します。

$ cd [YOUR-JEKYLL-SITE]
$ bundle exec jekyll build

_siteディレクトリーにrobots.txtが作成されます。

$ ls _site/robots.txt
_site/robots.txt

作成したファイルを公開するためにGitHubにpushします。

$ git add .
$ git commit -m "comment"
$ git push origin master

これでsitemap.xmlrobots.txtが公開されたことになります。 すると検索エンジンのウェブクローラーがこのrobots.txtを見て、その中で指定しているsitemap.xmlを見て、より高度なクロールをしてくれることになります。

終わり

Jekyllは記事からSitemapが作成できるので簡単でした。

参考

24 January 2016 追記

Search Consoleのサイトマップを確認しても送信されていなかったため、Webからサイトマップの追加をしてみました。

クロール - サイトマップからサイトマップの追加/テストボタンをクリックします。

サイトマップの追加/テストsitemap.xmlと入力して送信ボタンをクリックします。

ページを更新する。リンクをクリックします。

サイトマップのコンテンツが表示されていることが確認できました。

たぶん、作ったばかりのサイトなのでクローラーが来ていないのかなと思います。