web: GitHub Pagesの管理(2025/7月)
2025/07/03
はじめに
月初なのでこのページの管理をする。
Google Search Console
登録済みの件数は 0件のままだ。
最近、記事にタグ付けをしたので再度検査してもらったのだが、それでこれだ。
内訳も前とあまり変わらず「クロール済み - インデックス未登録」がほとんどだ。
画像(スクリーンショット)の数が数枚あってもエラー扱いになってるから、
何も画像がないページは登録されない、という話ではないのだろう。
そのページに飛ぶリンクも作っているし、もう「ページの品質が低い」くらいしかなさそう。
何も思いつかないし、またしばらくはこのままでいいか。
タグ付けした
jekyll の Liquid であれこれやって、ようやくタグ付けできた。
記事にタグを付けたら自動で全体のタグとして扱われるのではなく、
まず全体のタグを設定して、それを記事のタグとして使うようにするのだ。
まあ、適当なタグを付けて似たようなタグが増えていくよりはよいか。
その他、直近の記事、とか、2024年の記事、みたいなページを自動で作ることができるようになった。
その代わりに月ごとにまとめていたのがなくなったが、そういう読み方をすることはないからよかろう。
Liquidのwhere
GitHub Pages で使われている Liquid のバージョンは 4.0.4 である(2025/07/06)。
whereが使えるようになったのは 4.0.2 からだと思われる。
なのでwhere
は使える。
{% assign tag_pages = site.pages | where: "draft", true %}
(liquid のコードを書くと変換されてしまうので全角の {}
を使っている)
where
は truthy な書き方だけになっている。
↑の書き方だと true
はわざわざ書かなくてもよさそうなのだが、
省くと GitHub Actions でエラーになっているので書いている。
やりたいのは、下書きのページは載せないようにすること。
なので、そういうページには front matter のところに "draft": true
と書こうとしている。
載せるのはdraft
が未定義なページだけにしたい(既存のページに"draft": false
を書きたくないので)。
Liquid 4.0 から nilが使える と書いてあるのでやっているのだが、どうにも作動しない。
全リストをfor
で出すのだったらunless
とか使って除外させても良いのだが、
最近の記事をいくつかというリストをfor...limit
で出力しているとよろしくない。
まあ、date
を未指定にしておけば結果としては除外されるのだけど、なんかこう納得できない。
not defined と empty value は違うだろうからempty
じゃなくてnil
だと思うんだけどなあ。
where_exp
を使ったとしてもnil
でよいのかよくわからんし、トライアンドエラーで試したいほどのことでもないのだ。
公開しないなら別ブランチにすればいいやん、と思うだろうけど、あんまりそこまでする気力がないのよねぇ。
そういう気力のなさが Google Search Console に品質が低いと思われるのかもしれん。