WordPressとテーマ(cocoon)を更新した際にwww付きのページにリダイレクトエラーが発生。
当ブログはConoha wingを利用していますが、Conohaのコントロールパネルにて「.htaccess」にコードを追加することによりプラグイン無しで解決できたので備忘録的な意味で記事にします。
※今回はConoha wingを利用している方向けの記事となりますが、別なサーバーを利用されている方でも.htaccessの編集方法はあるかと思いますので参考になれば幸いです。
事の発端
Google Search Consoleより『カバレッジ関連の問題が 1 件検出されました』との通知が。
主なエラーは「リダイレクトエラー」とのこと。

とりあえずカバレッジの項目から詳細を確認してみる。

URLにwwwが付いたトップページだけリダイレクトエラーが発生している様子。

当ブログはSSL化してあるのでwww付きのページが踏まれることはないだろうと思いつつ、エラーが出ているのは気持ちが悪い。
実際にそのURLを表示してみると、何度も読み込みが行われて数秒後に表示されるような状況。
「リダイレクトエラー」で検索するとエラーの種類や意味など色々な情報が出てきますが、細かい説明は省きます。
次項より実際に筆者が実施してエラーを解決した方法を記します。
Conohaのコントロールパネルにアクセス
コントロールパネルにはwordpressの画面の左側のメニューから行くことができます。
Conohaのコントロールパネルにアクセスできたら、[サイト管理] ⇒ [サイト設定] ⇒ [応用設定] ⇒ [.htaccess設定] と進みます。
.htaccessの編集
「.htaccess」の項の右上のペンのマークを押すと編集することができます。
[# BEGIN WordPress] ~ [# END WordPress] と書かれている間の [<IfModule mod_rewrite.c>]以下、[</IfModule>] 以上の部分にコードを追加します。
※入れているプラグインにもよりますが、似たような項目がいくつかあるので注意してください
RewriteRule リダイレクト元(エラーページ)のURL リダイレクト先のURL [R=301,L]
以下が実際に「.htaccess」に追記した状態です。
# BEGIN WordPress
# "BEGIN WordPress" から "END WordPress" までのディレクティブ (行) は
# 動的に生成され、WordPress フィルターによってのみ修正が可能です。
# これらのマーカー間にあるディレクティブへのいかなる変更も上書きされてしまいます。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteRule http://www.sranote.com/ https://sranote.com/ [R=301,L]
</IfModule>
# END WordPress
赤字にしてある部分が追加したコードです。
文字が半角スペースで区切られていることにご注意ください。
コード追加後
まずは修正したサイトを表示してみてください。
表示が上手くいかなかった場合は.htaccessを以前の状態に戻します。
表示ができたら Search Console よりURLの検査を行います。
URLの検査は Search Console の上の検索窓から行うことができます。

無事に登録可能となりました。
インデックス登録をリクエストしましょう。

数日後、無事に修正されたとの通知が届きました。
まとめ
私の場合ですが、エラーが出てから8/6に修正作業&インデックス登録のリクエストを行い、修正の通知が来たのが8/29でしたので、約3週間もかかりました。
ブログをやってるとちょこちょこトラブルに遭遇することがありますが、同じような境遇に合われたどなたかのお役に立てれば幸いです。
コメント