Jekyllのプラグインでsitemapを生成する
Jekyllを使っていてsitemapを作っておこうかと思って調べたのでメモ。
リポジトリはこちら
まずはgemをインストール。Gemfile
に以下を追加。
gem 'jekyll-sitemap'
そしてbundle install
bundle install
_config.yml
のplugins:
にjekyll-sitemap
を組み入れる。
plugins:
- jekyll-feed
- jekyll-sitemap # 追加!
そして bundle exec jekyll serve
をすると _site
直下にsitemap.xml
が作られている。
手元で確認するときはこの方法でよさそう。
あとは、buildしたときにもsitemap.xmlが作られるようになっているので、そのURLをサーチコンソールに登録すれば完了。
特別な設定がいらなければこんな感じで簡単にできるのはありがたい。
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://localhost:4000/notes/blog/posts/html5_dnd</loc>
<lastmod>2022-11-24T17:36:18+09:00</lastmod>
</url>
(以下略)
lastmodの更新
sitemapの中のlastmod
はFront Matterのdate
が反映される。
ただ、記事の更新日時と作成日時を分けて管理していてdateを作成日時としている場合、lastmod
を更新できない。
そんなときはFront Matterにlast_modified_at
の項目を追加して更新日時を記載すればOK。
last_modified_at
の制御をしているソースコードはこちら
sitemapなんてなくても検索エンジンは登録してくれるんじゃないか、と思いつつもブログとかサイトとか運営していると藁にも縋りたいと思うのが人の性。
このsitemapが大容量になるようにたくさんコンテンツを書いていくぞー!
この記事の環境情報
- jekyll 4.3.1
- jekyll-sitemap 1.4.0
- jekyllって打ち込むのだいぶ慣れてきた。が、それでもときどき間違う。
Jekyllに関する他の記事を読む
- Jekyllの中でLiquidの記法を文字列としてエスケープさせる方法
- Jekyllで記事に関連した他の記事一覧を表示する
- JekyllのサイトをGA4に対応させる
- Jekyllのタイムゾーンを日本時間にする
最近の記事を読む
- Flutterでcontextを使わずにlocale情報を取得する
- Cloud RunでIAPを有効にしようとしてハマったこと
- slimでtype='application/ld+json'のscriptタグを書く
- タグマネージャーでjsのloadイベントを発火させたいとき
- mysqlコマンドを実行してERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)と言われたら