wordpressのパーマリンクを懲りずに変更してみた

以前にも挑戦して、失敗というか断念している「wordpressのパーマリンク変更」。

wordpressのパーマリンクは途中で変更しない方が良い理由 | hycko.blog
パーマリンクを変更してみた | hycko.blog

ですが、もう一度だけトライしてみます。

というのも、やはり日本語URLの不便さが我慢できない。
もう7年以上経ってるのに、日本語のままURLでリンク貼れなかったりとか、不便さが解消されていない。
後はSEO的にも、URLに日本語が含まれているかどうかは、そこまで関連ないと判断。
なので、やっぱりもう一度だけ前回の失敗を解消しつつ、パーマリンクの変更に踏み切ってみます!

新しいパーマリンクは /%post_id%.php にしてみた

本当は /%post?id%/ で行きたかったのだけど、これだと何故かページ送りでエラーがでる。
ので、消去法で /%post_id%.php にしてみた。

ちなみに以前は /%postname%/%post_id%/ だった。

SNSのブックマーク数は捨てる

一番ついてるものでも、はてぶで60とかそんなレベルだったので、こだわる必要はないかなと。
ちなみに301リダイレクトをしてるので、各メディアからの前のURLへのSEO効果は続くはずです。
そこらはまた1か月後くらいにレポートします。

301リダイレクトはプラグインを使わずに実装

リダイレクト系のプラグインでは以前に痛い目をみたので、使いたくない。
wordpressのパーマリンク変更プラグイン「Permalink Redirect」での301ループに要注意 | hycko.blog

なので、プラグインは今回使わない。
で、wordpressのデフォルト機能でも、以前のパーマリンクが適用されたURLからのリダイレクト機能はあるためそれを利用。
が、リダイレクト先のURL指定に不備があるので、htaccessも併用しての対応となった。

リダイレクトの不備の具体例を出すと、

以前のパーマリンク( /%postname%/%post_id%/ )でのURL
http://blog.hycko.net/ufoキャッチャーの景品は法律d市販価格800円の商/1646/

を、wordpressの機能で今回のパーマリンク( /%post_id%.php )にリダイレクトされると

クレーンゲーム(UFOキャッチャー)などの賞品(プライズ)は法律上「市販価格800円の商品まで」と定められている

という感じで、何故か最後に記事IDが挿入されてしまう。

一応そのURLでも記事は表示されるが、今回新しく設定したパーマリンクでは

クレーンゲーム(UFOキャッチャー)などの賞品(プライズ)は法律上「市販価格800円の商品まで」と定められている


が正常のURLとなり、この状態だと重複コンテンツとなってしまうためNG。

なので、.htaccessを使って、間違った形のURLにアクセスしたら強制的に /%post_id%.php にリダイレクトされるように設定。

.htaccessの # END WordPress より後ろの行に

RedirectMatch 301 ^/([0-9]+)\.php/([0-9]+)$ http://blog.hycko.net/$1.php

を挿入。これで以前のパーマリンクURLを踏んでも、現在のURLにリダイレクトされるようになった。

整理すると、リダイレクトの状態としては

http://blog.hycko.net/ufoキャッチャーの景品は法律d市販価格800円の商/1646/
↓ 301リダイレクト

クレーンゲーム(UFOキャッチャー)などの賞品(プライズ)は法律上「市販価格800円の商品まで」と定められている


↓ 301リダイレクト

クレーンゲーム(UFOキャッチャー)などの賞品(プライズ)は法律上「市販価格800円の商品まで」と定められている

という形で、301リダイレクトを2回噛ませて現在のパーマリンクのURLに到着する。
恐らくは301リダイレクトを2回噛ませても問題はないと思うけど、最悪これで悪影響がでたらどうしようなぁ・・・、戻してしまうかも・・・。

また追ってレポートします。


投稿日

カテゴリー:

,

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)