jekyll-last-modified-at

2019-05-23

最後のファイル修正日をsitemap.xmlへ反映してみました。

概要

今まで管理してるこのブログのsitemap.xml

<lastmod>{{ site.time | date: '%Y-%m-%d' }}</lastmod>

これを使ってビルドする時点の日付を全てのページへ反映していました。しかし実際更新してないファイルもビルドした時点の時間が入るから全てのファイルを再クローリングして実際更新したファイルのクローリングが遅くなるんじゃないかなと思いました。それで今回jekyll-last-modified-atプラグインを使って実際ファイルが修正された場合sitemap.xmlへ反映するように修正しました。

プラグイン

下にあるリンクを押してjekyll-last-modified-atのサイトへ行ったら全ての説明が詳しくあります。それを見ながらやってみます。

プラグインインストル

下のコマンドでjekyll-last-modified-atぷログインをインストールします。

gem install jekyll-last-modified-at

使い方

ファイルの修正日を表示したい部分で下記のコード中の一つを選べって入れます。


{% last_modified_at %}

{% last_modified_at %Y:%B:%A:%d:%S:%R %}

{{ page.last_modified_at }}

{{ page.last_modified_at | date: '%Y:%B:%A:%d:%S:%R' }}

私たちは使ってるsitemap.xmlを下のように修正しました。

<!-- <lastmod>{{ site.time | date: '%Y-%m-%d' }}</lastmod> -->
<lastmod>{{ post.last_modified_at | date: '%Y-%m-%d' }}</lastmod>

確認

実際プロジェクトをビルドして入れたコードを確認した結果、実際ファイルを修正した日付が上手く表示してることを確認しました。

bundle exec jekyll build

グーグルのクローリングに影響があるかは分からないけど実際の時間を表示するように修正したのでプログラマー的に上手く仕事したんじゃないかなと思って嬉しいです。

Buy me a coffeeBuy me a coffee
Posts