wordpressのパーマリンク変更プラグイン「Permalink Redirect」での301ループに要注意

以前の記事で書いた通り、パーマリンクを変更しようとしてPermalink Redirectを導入しました。

パーマリンクを変更してみた – hycko.blog

これを導入した時点で、パーマリンクがAからBに変更されていた。
で、301リダイレクトで恒久的にURLのAがBに変更しますという宣言もしていたわけ。

ここまでは正常な動きでした。

結局パーマリンクの変更は、ソーシャルの評価が全部0になるからやめたわけですよ。

で、設定していたBのURLをAに戻したわけです。
設定上では正しく、しっかりとBからAに変更しますという宣言をしてた。

ここから異常な動き。

実際はなんと、AからBの宣言が残ったままになってたわけです。

AにアクセスするとBに301されたという宣言がされ
BにアクセスするとAに301されたという宣言がされ
ループ状態になってたわけですな。

アクセス数がめっちゃ激減して、もう何事かと思ってたけど、まさかそんなことになっていたとは・・・。

301リダイレクトの判定は、以下のサイトで確認できます。
View HTTP Request and Response Header

ここでstatusが301になっていたら、301でどこかにURL変更されたという宣言がされているということ。
AのURLで確認すると301、BのURLで確認しても301というカオスな状態になってました。
ちなみにGoogleのインデックスからは、301ループしている記事は全て削除されてました。

ウェブマスターツールでは「Increase in not followed pages」というメッセージが表示され続けてました。

ループ問題は、プラグインをオフにすることで解決。それをしたのが今さっき。
前述のサイトで調べても、ちゃんと「Status: HTTP/1.1 200 OK 」になっていたので、問題ないかと思います。
サイトマップも再送信したので、早ければ1週間ほどで、またインデックスがされてくれると期待!

SEOに直結する変更は、やっぱり怖いですね。
後、やっぱり他人がつくったプラグインは過信してはいけない。
まさか設定を上書きしても、以前の設定が残り続けるとは思わなかった。

これは本当に恐ろしいバグですわ。こんなことあるんですね。
このまま気付かずに続けてたら、このブログ自体がGoogleからなかったことにされていたかもしれない。

良い勉強になりました。

最後に別のパーマリンク変更プラグインを使って、BからAに301設定しておきました。
以下のプラグインですが、配布が終わってるらしいのでリンクはInternet Archiveにしてあります。
使用は自己責任で。

[Downliad in InternetArchive] WordPress › Dean’s Permalinks Migration « WordPress Plugins

※追記
Dean’s Permalinks Migrationを使っていても、変更をすると正常に処理しなくなりました。
(ただ、こちらはループはしなかった)
で、Mysqlのwp_optionsの_transient_rewrite_rulesを消すと、正常に処理するようになりました。
(ちなみにpermalink redirectで設定が残る問題は、これとは別のようです。)

wp_optionsの_transient~~はtempファイルみたいなもので、削除してもOKです。
見つからない場合は、必要なプラグインとかが勝手にまた作ってくれます。
一括削除したい時は、念のためSQLのバックアップとってから

DELETE FROM `wp_options` WHERE `option_name` LIKE (‘%_transient_%’)

で一括削除可能です。


投稿日

カテゴリー:

,

タグ:

コメント

コメントを残す

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

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