
ときどきSEOについて書いているこのブログだけれど、偉そうなことを書いているわりにはちゃんとSEOに取り組んでいません。
以前から気になっているにもかかわらず直していない問題のひとつがパーマリンクの設定です。このブログはWordpressというオープンソースソフトウェアで作っており、管理画面からパーマリンクの書式が簡単に設定できます。
そして、現在の設定は「/%post_id%/%postname%/」なので、URLは以下のように表示されています。
■現在の設定
https://sakedrink.info/3099/hatena-offline-meeting/
さて、こうなっていることでどんな問題があるのでしょうか。それは、記事のURLが2つ存在してしまうことです。
■この2つのURLで記事が表示される)
https://sakedrink.info/3099/hatena-offline-meeting/
https://sakedrink.info/3099/
これではGoogle先生から重複コンテンツと判定されかねず、被リンクによる評価も分散してしまう懸念があります。実際、二重にインデックスされてしまっているところも、短い方のURLにリンクをもらっていることも両方目撃しており、これはよろしくないなあというわけです。
早く直した方がよいのですが、面倒くさいのとはてブ数やTweet数などのURLに紐づいた数値が一見ゼロに見えてしまうのでこれまで躊躇してきました。しかし、記事が増えれば増えるほど面倒くささが増していくので、そろそろ手を付けるべきかなあと本格検討モードに突入した次第。
まず、post_idを切り詰めるパターン(/%post_id%/%postname%/→/%postname%/)は簡単です。
.htaccessに以下を書き足せば対応できます。
RedirectMatch 301 ^/([0-9]+)/([^/]+)/$ https://sakedrink.info/$2
あるいは、
RedirectMatch 301 ^/(\d+)/([^/]+)/$ https://sakedrink.info/$2
どっちでもOKですね。
面倒くさいのは「/%post_id%/→/%postname%/」のパターン。
これは正規表現ではどうにもならなそうで、.htaccessに呪文を書き加えるだけではダメっぽい気がする。
とりあえず思いつく対応では、投稿済み記事のパーマリンクをすべて抽出して以下のように書いていけばよいのだけれど、いかにもゴリ押しで気持ちが悪いんですよねえ。
RedirectMatch 301 ^/1234/$ https://sakedrink.info/hoge1/ RedirectMatch 301 ^/1235/$ https://sakedrink.info/hoge2/ RedirectMatch 301 ^/1236/$ https://sakedrink.info/hoge3/ RedirectMatch 301 ^/1237/$ https://sakedrink.info/hoge4/ # 続く
週末までによい方法が見つからなかったらこれでやってしまおうと思うけど、なんかよい方法ないかなあ。
(そもそもどうしてこんな設定にしてしまったのか。はっきりおぼえていないのですが、はじめてこのブログを作ったときはWordpressの仕様をよく知らなかったため、「URLが重複しないようURLにpost idを含めよう」と考えたのだと思います。実際には「%postname%」のみでもURLが重複しない仕様だったので、まったく余計な気を回してしまいました)