ちょこっと SEO

no extension

正直に告白します。 今まで SEO (Search Engine Optimization) を馬鹿にしてました。 怪しげな Web 開発会社やコンサルタントが競馬の予想屋の如き呪文を唱えて哀れな子羊からお金を掠め取るのが SEO だと思ってました。

でも Zenn 公式の

を読んで目から鱗が落ちました。 検索サービスに媚びる SEO ではなく,検索サービス経由で来るユーザから見て,サイト内 S/N 比を上げる(ノイズを検索クローラに拾わせない)ための SEO はアリなんじゃないかと。

というわけで,上の記事を参考にこのブログサイトを少し整理することにした。

タイトルをシンプルにする

今まで <title> 要素にセットしていたのは

ページ・タイトル ― セクション・タイトル | サイト・タイトル

という構成だったのだが,ページ・タイトルの後ろの文字列が長いのは気になっていた。 やっぱタイトルが長いのはアカンらしい。

流石に Zenn のようにサイト・タイトルまで切り詰める勇気はなかったが「セクション・タイトルは要らんな」ちうことでバッサリ削除することにした。 セクション分けは完全に私個人の都合なので(検索サービス経由で)外からくるユーザには意味ないだろ,ということで。

一方 OGP の

<meta property="og:title" content="〜">

のほうはページ・タイトルのみを設置することにした。 所謂「パンくずリスト」については JSON-LD 設置絡みで整理できているので問題ない。

タグ関連ページを noindex とする

このブログ・サイトは記事を「セクション」と「タグ」で分類している。 ひとつの記事にはひとつのセクションしか指定できないが,タグは複数指定できる。 セクションが縦串でタグが横串みたいなイメージ。

タグは,それ自体かなりの数がある上にタグ毎に列挙される記事が重複してしまうため,関連ページの中身がかなり冗長になることは気になっていた。

そこでタグ関係のページには

<meta name="robots" content="noindex">

を設置してインデクス対象外となるようにした。 実際,エゴサーチしててもタグ関連のページがぞろぞろ出てきて鬱陶しかったのよ。

ブックマーク収集セクションを noindex で nofollow とする

Bookmarks セクションは元々,愛用していたソーシャルブックマーク・サービスがダメぽい感じになったので自前で収集できるように作ったものである。

私としては気になるページをあまり考えることなく溜め込んでおけるので(欲しい情報を探すときは grep が使えるし)重宝しているのだが,他所から来た人から見ればこれ以上ノイズ塗れのページはないよね(笑)

ちうわけで bookmarks セクションはまるっと noindex 化することにした。 加えてリンクの <a> 要素にも rel="nofollow" 属性を設置して評価対象外となるようにした。

ありがたいことに Hugo では Markdown Render Hooks の仕組みを使って <a> 要素をカスタマイズできる。 しかも v0.71 からはセクション毎にこれを設置できるようになった。

今回であれば layouts/bookmarks/_markup ディレクトリを掘り render-link.html ファイルを設置すればいい。 中身はこんな感じ。

<a href="{{ .Destination | safeURL }}" rel="nofollow"{{ with .Title }} title="{{ . }}"{{ end }}>{{ .Text | safeHTML }}</a>

よーし,うむうむ,よーし。

トップページをダイエットする

最後に SEO とはたぶん関係ないけど,トップページに情報を継ぎ足していったら煩雑になりすぎてしまったので,新着記事のリスト以外はステータス・ページに移動した。 まぁ,うちのブログサイトにトップページから入る人はおらんじゃろうけど(笑)

これでスッキリ!