ZolaのブログテンプレートにOGPメタタグをつける
2025-05-05
このブログはZolaという静的サイトジェネレータと,Zolaコミュニティのブログテーマsereneで作っている。
Zolaもsereneもミニマルな思想で作られているためか,SNS用のOGPメタタグなどはデフォルトでは生成されない。Blueskyなどにポストしたときに少しさびしい感じなので,sereneテーマを少しカスタマイズしてOGPメタタグをつけることにした。
Zolaテーマのカスタマイズ方法は,Customizing a themeに書かれている。一つのテンプレートファイルを丸ごと置き換えで良い場合は簡単で,書き換えたいテンプレートファイルを/template
以下にコピーしてきて編集すれば,デフォルトのテンプレートファイルよりそちらが優先されるようになる。たとえば今回はsereneテーマのpost.html
を変更したいので,
/themes/serene/templates/post.html
を/templates/post.html
にコピーpost.html
に,↓のような感じでOGPメタタグを追加する
# templates/post.html
...
{% if page.description %}
{% endif %}
...
{% if page.extra.cover %}
{% else %}
{% endif %}
https://github.com/mocobeta/blog/blob/main/templates/post.html
og:image
は,ブログポスト内にカバーイメージがある場合はそれを使い,なければデフォルトのアイキャッチ画像にフォールバックするようにしている。
ZolaのテンプレートシンタックスはJinja2とほぼ同じで馴染みやすい。
Blueskyに投稿するとこんな感じ。
デフォルトのアイキャッチ画像は「検索システムー実務者のための開発改善ガイドブック」の表紙絵です。🐧