Octopress の初期の rel=“canonical” の値がおかしいので直しました。

初期値では _includes/head.html の中に

_includes/head.html
1
<link rel="canonical" href="{{ canonical }}">

となっていますが、これだと吐き出される個別ページの HTML は

view-source
1
2
3
4
5
<head>
...
<link rel="canonical" href="http://hamasyou.com/blog/2014/02/15/octopress-canonical">
...
</head>

のように、href の末尾が / で終わっていません。Octopress (Jekyll) は title名 ディレクトリの下に index.html を生成するという形式になっているので、 http://hamasyou.com/blog/2014/02/15/octopress-canonical/ が canonical として正しいはずです。

なので、canonical

_includes/head.html
1
<link rel="canonical" href="{{ canonical }}/">

のように、末尾に / を入れてやる必要があります。

Facebook URL Linter を使ったときに警告が出たので気づきました。