Xサーバーなどのレンタルサーバーで作成したWordPressサブドメインサイトの常時SSL化(https化)と、サブディレクトリからサブドメインへの301転送を正しく設定できる.htaccessのリダイレクトコードの入力方法をご紹介します。
記事内の目次
WordPress 常時SSL化とサブディレクトリからサブドメインへの301転送設定
サブドメインでの運用のメリットについて
一つのドメインから二つ目以上のウェブサイトに分ける事が出来るサブドメインでの運用方法は、それぞれのサブドメインに別々のWordPressテーマを使用する事が出来る運用方法となっております。
以前は、メインのドメインからサブドメインへのSEO評価を受け継がないメリットもありましたが、同じドメインであれば、互いに評価を受け継いでしまう仕様に代わっているようです。
例えば、プロフィールや会社紹介などの内容が薄いページと、商品紹介やブログなどの内容が濃いページが混在しているウェブサイトを作ると、内容の薄いページが足を引っ張ってGoogle検索のランクが全体的に下がってしまう可能性があります。
しかし、サブドメインを使用して内容が薄いページと濃いページを2つのウェブサイトに分ける事でGoogle検索からは2つのサイトとして見られ、片方のウェブサイトの評価が低くてももう一つのウェブサイトの評価が下がらないというメリットがありました。
以前はYouTube動画の紹介とプロフィールページは平均掲載順位が34.2位で、ブログや商品紹介などをメインとしている内容が濃いサブドメインのサイトは16.7位となり、検索結果のパフォーマンスでは、別々の評価となっていました。
現在は、内容が薄いメインドメインサイトと内容が濃いサブドメインサイトのSEO評価がほぼ同じとなり、サブディレクトリでウェブサイトを構築した時と同じように、互いのSEO評価が引き継がれています。
サブドメインで複数のウェブサイトを切り分けるメリットというのは以前に比べるとかなり薄れてしまってはいるのですが、Google検索上では視覚的に別サイトであると認識できるようなメリットは残っています。
サブドメインでの運用のデメリットについて
このウェブサイトの運営にはXサーバーを使用しているのですが、WordPressサイトを増やそうとすると、サブディレクトリでの新規インストールかサブドメインを設定するのが基本となります。
また、一昔前は、httpのWebサイトでも常時SSL化(常時https化)したWebサイトでも評価は変わらなかったのですが、常時SSL化したサイトが優先的に上位にランク付けされるようになり、やがて常時SSL化に対応しなかったサイトは、主要なブラウザからは開けないように警告を表示するようにまでなりました。
Xサーバーは無料独自SSLを追加する事で常時SSL化に対応する事が出来るのですが、WordPressサイトを新規で作成をすると、SSL非対応のhttpで新規にサイトが作られるだけでなく、http://example.comとhttp://www.example.comの2つのURLからアクセスする事が出来る上に、常時SSL化に対応する事でhttps://example.comとhttps://www.example.comの合計で4つのURLからアクセス出来るようになります。
100ページのウェブサイトを運営しているのであれば、URLが違う400ページがサーチコンソールでインデックスされるようになり、内容が重複している300ページがインデックスから除外されて、ウェブサイト全体のランクが下げられてしまう事があります。
サブディレクトリでの運用をするのであれば、httpとwwwのある無しでURLをリダイレクトすれば良いのですが、サブドメインでの運用はさらにサブディレクトリからサブドメインへの転送設定もしなくてはいけなくなるので、さらに話がややこしくなってしまいます。
サブドメインでWebサイトを構築する際のサーバーパネル設定
エックスサーバーでサブドメインサイトを構築する場合は、先にサーバーパネルのサブドメイン設定からサブドメイン設定追加に関する項目を入力していきます。
現在のサブドメインサイトのURLはhttps://article.japan-videography.jpとなっていますが、元々サブディレクトリのhttps://japan-videography.com/blog/とサブドメインのhttps://blog.japan-videography.comで運営をしていた事もあったので、途中まではそちらのURLを例として扱っていきます。
サブドメイン名を入力して、ドキュメントルートを設定後に確認をクリックすれば完了となりますが、ドキュメントルートは下の項目を選択しているのが、筆者の環境での設定となります。
この設定が終わって1時間が経過すると、サブドメインが有効になっているはずなので、WordPressの簡単インストールを行います。
WordPress簡単インストールのサイトURLでサブドメインを選択して、サブディレクトリを空欄にしたまま、他の項目も設定してWordPressのインストールを完了させておきます。
WordPressインストール後の一般設定
※example.comの部分は運用しているウェブサイトのドメインに書き換えて下さい。
.htaccessにコードを記述する前に、WordPressの設定でWordPressアドレスとサイトアドレスを、http://example.com/●●/やhttp://●●.example.comから、正規化後のURLになるhttps://●●.example.comに書き換えておきます。
301リダイレクトの設定をする前にこれをやっておかないと、サブドメイン化と常時SSL化したURLに転送されてしまって、ログインもアクセスも出来なくなる恐れがあります。
当ウェブサイトのURLを、WordPressの一般設定でhttp://のURLからhttps://article.japan-videography.jpに書き換えを行いました。
.htaccessを使ったサブドメインのURL正規化設定
最初はサブディレクトリからサブドメインにリダイレクトをするコードをサーバーパネルの.htaccess編集で記述したのですが、転送されないページが生じてしまったのもあって、なかなか上手く機能をしませんでした。
サブドメインの下層ページも含む全てのページで正しくURLの正規化をするのであれば、サブドメインのファイルマネージャにある.htaccessに直接リダイレクトコードを記述するのが一番手っ取り早かったです。
https://article.japan-videography.jpであれば、ファイルマネージャのjapan-videography.com→public_html→articleにある.htaccessファイルの編集を開いて、以下のコードを記述します。
RewriteEngine On
RewriteBase /
#httpsにリダイレクト
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
元々サブドメインでの運用となりますので、wwwありをwwwなしに転送する設定は必要ありません。
上のコードをサブドメインの.htaccessに記述した場合は以下のようになります。
ぼかし部分は、内部検索スパムと格闘中に追加したコードなので、あまり気にしないでください。
このコードを追加したら、下の更新をクリックして完了となります。
サブドメインを作ったとしても、このままではサブディレクトリのSSL化したURLであるhttps://japan-videography.com/article/からもアクセスできる状態になっているので、サブディレクトリからサブドメインに転送をするコードを、メインドメイン(https://example.com)の.htaccessに追記するか、サーバーパネルのリダイレクト設定で追加をします。
サーバーパネルの.htaccess設定で上のコードを記述しても301リダイレクト設定ができますが、サーバーパネルのリダイレクト設定追加で301リダイレクトの設定を行っても、上のコードが.htaccessに追加されるだけなので、どちらも同じ設定となります。
なので、簡単で失敗してしまう不安も無い、サーバーパネルのリダイレクト設定にある、リダイレクト設定追加で以下の内容を設定しちゃいましょう。
これで、サブディレクトリのhttp://japan-videography.com/article/とサブドメインのhttp:// article.japan-videography.jpの全てのページをhttps://article.japan-videography.jp/に統一をする設定が完了となりました。
また、下層ページのURLの例では、http://japan-videography.com/article/autoptimize/やhttp:// article.japan-videography.jp/autoptimize/にアクセスしても、正規のhttps://article.japan-videography.jp/autoptimize/に転送されるようになりましたので、これで成功となります。
この記事へのコメントはありません。