https化後全ページの301リダイレクトがhtaccessでは出来ないのでWordPressプラグインで解決した

サイトの常時SSL(https)化に伴い、301リダイレクトを設定する必要に迫られました。

どうやら「.htaccess」というファイルへの書き込みが必要とのことで、入念に調べたうえで「.htaccess」に追記を行いました。

しかし結論から言うと、それだけでは301リダイレクトが正しく設定できていませんでした。

トップページだけが301リダイレクトされ、その他の下層ページ(?)は全てリダイレクトされていないのです。

困った。

僕はサイト移転をGoogleに知らせて確実にページランクを引き継ぐために、各ページを「ドメインは違えど同じ内容のページ」にそれぞれ301リダイレクトさせたかったのです

ダメだった記述と解決策

「SSL化 301リダイレクト htaccess 書き方」などと検索してネット上で出てくる記述方法はどれも似たり寄ったり。

RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

どれも大体↑こんな感じのコードが出てきます。

前後に<IfModule>が付くパターンも結構見ました。

しかしこの記述、サイトのトップページにしか301リダイレクト設定がなされないのです。

これじゃあ意味が無い。

他のページのランク引き継ぎ出来ません。

仕方がないのでこの問題、最終的にはWordPressプラグインにて強制解決しました。

・WordPress Force HTTPS

いくつかのプラグインを試しましたが、最終的に僕が採用しているのはこちら。

一切の設定不要!

インストール+有効化で全ページを「きちんと各ページごとに」(←ここが重要)301リダイレクトしてくれます。

WordPressのプラグイン新規追加で「WordPress Force HTTPS」と検索すれば出てきます。

しかし、僕がこのプラグインを導入した(2018年4月4日)時点で既に最終更新が1年前。

お使いのバージョンではテストされてません。とかなんとか表記が出ちゃってましたが、結局今のところは使えてます。

あと、キャッシュ系プラグイン使ってる人は気を付けてください。

キャッシュのせいで、301リダイレクトが正常に設定されているかどうか確認出来ないかもしれません。(キャッシュが無効になるまで待つか、キャッシュを一時的にオフにする必要があります)

・Easy HTTPS Redirection

新しくて現バージョンと互換性があって、しかもインストール件数も多い。

こっちの方が信頼性高いですね。

設定も超簡単。

「Enable automatic redirection to the HTTPS」(httpsへのリダイレクトを有効にする)と「Force resources to use HTTPS URL」(リソースにhttps化したURLの使用を強制する)の2箇所にチェックを入れて「変更を保存」をクリックするだけ。

真ん中の項目は「The whole domain」のままでOK。(サイトの全体を301リダイレクト設定の対象にする、という意味です)

ちなみに上下に目立つ色の警告みたいなのが出てますが、これも「キャッシュ系プラグイン使ってる人は気を付けてね!キャッシュのせいで301リダイレクトしてるかどうか確認できないよ!キャッシュを一時的にオフにしたりしてね!」みたいな意味だったりします。(上は間違いなくこういう意味、下は違うかも)

・Simple 301 Redirects

もうひとつだけ紹介します。

こちらはhttps化の301リダイレクトに限らず、あらゆる状況の301リダイレクト設定に使用できます。

設定も簡単で、「*(ワイルドカード)」を使ったりしつつリダイレクト元とリダイレクト先をURLで指定するだけで301リダイレクトしてくれます。

https化の場合には、

リダイレクト元URL「http/*」

リダイレクト先URL「https/*」

と指定すればhttpからhttpsへ301リダイレクトしてくれるでしょう。

詳しい使い方は他のサイト様で丁寧に説明してくれているところがあるので、そちらを参照してください。

301リダイレクト設定でこんなに手間取るとは思ってませんでした。

ホントは「.htaccess」ファイルへの追記で全ページ301リダイレクト設定出来る方法もきっとあるんでしょうけど、どんだけ調べても出てこなかったので普通に諦めました。

知っている人がいたら教えてほしいくらいです。

そのうちサーバー会社のヘルプにでも電話して訊いてみようかと思ってます。

スポンサーリンク







スポンサーリンク