
エンタメマーケッター22年目、経営者12年目、ゆみです。→ゆみのこと
仕事のマニュアル「ホームページもブログも自分でやる」新発売💖
まずは前編を見てね!

🚪 Step 4:旧ドメインから新ドメインへリダイレクト(SEO対策)
せっかく積み上げたアクセスや評価を引き継ぐために、旧ドメインから新ドメインへのリダイレクト設定を行います。ステータスコード301を検索エンジンに返すことで「引っ越したよ」ということを伝えることが出来ます。
そのためには「mod_rewrite」 が有効である必要がありますが、ロリポップでは基本有効になっています。ロリポップ側のSSL設定を有効にしておくことも絶対に忘れないように。
そして、/public_htmlに存在している「 .htaccess」ファイルに加筆をしてリダイレクト設定を行います。
こんな感じを記述します。
.htaccess のコードの解説
RewriteEngine On
RewriteCond %{HTTP_HOST} ^olddomain\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.olddomain\.com$
RewriteRule ^(.*)$ https://entamemarketer.com/$1 [R=301,L]
✅ この記述の意味と動作について
この .htaccess 記述は以下の動作をします:
- oldsite.com へのアクセス
- www.oldsite.com へのアクセス ↓ どちらのURLでもOK!
- oldsite.com/AAAA のAAAA部分をそのまま引き継いで
- https://entamemarketer.com/AAAA にリダイレクトされます
ブログの引っ越しはたくさんのディレクトリ(フォルダ)とページが存在しています。これらを個別にリダイレクトするのは大変で、ルールをそろえて、一気にリダイレクト設定してあげるのがオススメです。
すでに「.htaccess」は存在しているので注意が必要!
ただちょっと注意が必要です。.htacessが存在してないなら上記だけ書いてファイルをおけばいいのですが、同じサーバー内の引っ越しなので.htaccessが存在しているのです。
さらにいうと、WordPressが「.htaccess」を利用するため、勝手に生成してくれています。そのファイルを消してはいけないし、WordPressが作ってくれた「.htaccess」に加筆しないといけないのです。加筆するときにも注意が必要です。
以下がWordpressが先に生成している「.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]
</IfModule>
# END WordPress
✅ 原則:「# BEGIN WordPress」の外側に書く!
これの最初に書いてあげる必要があります。
理由:# BEGIN WordPress ~ # END WordPress の間に書くと、WordPressの更新などで上書きされて消える可能性があるからです。
# WordPressより上に追加
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^olddomain\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.olddomain\.com$
RewriteRule ^(.*)$ https://entamemarketer.com/$1 [R=301,L]
</IfModule>
# 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]
</IfModule>
# END WordPress
(Googleほか外部連携サービスの設定に続くよ!)