新しいサブドメインのURLで作ったサイトの全てのページに、閉鎖して使用しなくなったサブドメインのWordPressサイトから301リダイレクトをして、SEO評価や他サイトからのバックリンクをそのまま引き継ぐ転送設定をご紹介します。
記事内の目次
閉鎖したサブドメインのWordPressサイトから新サブドメインサイトに301リダイレクトする方法
サブドメインやサブディレクトリでWordPressサイトを作成した後に、移転をしたり何らかのトラブルに見舞われて、新しいサブドメインのWordPressサイトに全ページをコピーした方向けの記事となります。
このような事をする人は滅多にいないと思いますが、当ウェブサイトの場合はhttps://blog.japan-videography.comとhttps://japan-videography.com/blog/のURLで運営をしていた時期があり、記事がブログ限定じゃなくなった事から、現在のhttps://article.japan-videography.jpにURLを変更をしていました。
違うサブドメイン同士の中で移転をするだけであれば、WordPressの中身をそっくりそのままコピーするだけで良いのですが、旧サイトを完全に閉鎖して、新しいサイトのみで運営をする場合は話が変わってきてしまいます。
例えば旧サイトで運営をしていた時に、他者運営のウェブサイトのページにURLを貼っていただいていた場合や、相互リンクをしていただいた方がいた場合などは、そのリンクから新URLにアクセスできる状態を保っておかないと、旧サイトを閉鎖した後にリンク切れとなってしまいます。
リンク先が404エラーになってしまえば、他ウェブサイトの運営者にご迷惑がかかってしまうだけではなく、せっかく手にしたバックリンクの評価も手放してしまう事になってしまい、旧サイトのSEO評価を新サイトに引き継ぐことが出来ていない状態になります。
旧サブドメインサイトのWordPressやMySQLを完全に削除してしまった場合は、旧サブドメインから新サブドメインに301リダイレクトを設定するのが難しくなってしまうのですが、以下の設定で古いページも含む全てのURLを新しいサブドメインに転送する事が出来ました。
古いURLの評価を引き継ぐ場合の設定
サブドメインやサブディレクトリで運営をしていたウェブサイトから、新しいサブドメインサイトに移行する場合は、古いサブドメインのURLしか存在していない状態の.htaccessにリダイレクトコードを記述して、新サブドメインのWordPressサイトに転送しなければいけません。
Redirect permanentやRewriteRuleで新サイトに301リダイレクトをするコードを.htaccessに記述したのですが、どれも上手く転送できずに、存在しないURLが作られたり、何度も301リダイレクトをかけてしまう設定になってしまったりと、割と失敗続きでした。
この設定もなかなか難しかったので、古いサブドメインURLと古いディレクトリは残して、旧ディレクトリ内(blog)にある.htaccessにリダイレクトコードを記述しました。
エックスサーバーでhttps://blog.japan-videography.comからhttps://article.japan-videography.jpにリダイレクトする場合は、ファイルマネージャーのjapan-videography.com→public_html→blogの中にある.htaccessファイルを編集して以下のコードを記述します。
もしpublic_html内にblogのフォルダが無ければ、publc_html内にフォルダ名をblogにした新規フォルダを作成して、その中で.htaccessファイルを作成してください。
# BEGIN
RewriteEngine on
RewriteCond %{http_host} ^blog.japan-videography.com
RewriteRule ^(.*) https://article.japan-videography.jp/$1 [R=301,L]
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}/blog/$1 [R=301,L]
# END
</IfModule>
https://blog.japan-videography.comにあったページにリンクしていたURLは、そのまま301リダイレクトでhttps://article.japan-videography.jpに転送をします。
エックスサーバーでは、https://blog.japan-videography.com以外にもhttp://blog.japan-videography.comやhttp://japan-videography.com/blog/、http://www.japan-videography.com/blog/などの、複数のURLが作られている状態になるので、これを全て一つにまとめて新URLに転送しなければいけません。
X-Forwarded-Proto(XFP)で、全てのURLをhttps://japan-videography.com/blog/に一旦まとめます。
そのリダイレクトコードを記述した.htaccessファイルは以下のようになりました。
X-Forwarded-Proto(XFP)とは、HTTPヘッダのフィールド(項目)の一つで、リバースプロキシやロードバランサがWebサーバに対して、それらの機器とクライアントの間の通信に用いられたプロトコル(HTTPかHTTPSか)を通知するためのものです。
色々試してみなしたが、ウェブサイトを既に閉鎖していて、サブディレクトリとサブドメインが混在している場合には、XFPを使わないと理想の挙動をしてくれませんでした。
最後にエックスサーバーのサーバーパネルで、http://japan-videography.com/blog/からhttps://article.japan-videography.jpに301リダイレクトをする設定を行って完了です!
これでjapan-videography.com/blog/のサブディレクトリとblog.japan-videography.comのサブドメインで作ったページのURLをクリックすると、新サブドメインのURLであるhttps://article.japan-videography.jpのページに全てアクセスできるようになりました。
https://blog.japan-videography.com/web/やhttps://japan-videography.com/blog/web/のどちらからアクセスしても正規URLに転送されますし、http://blog.japan-videography.com/web/とhttp://japan-videography.com/blog/web/でも現在のページであるhttps://article.japan-videography.jp/web/に転送されます。
Googleサーチコンソールに送信をするXMLサイトマップについても、重複するURLが記載された複数のXMLサイトマップが作られる事も無いので、多少は気持ち的にすっきりするかと思います。
この記事へのコメントはありません。