というのも、運営していた自分のブログですがドメイン変換により新しいドメインに飛ばす必要がありました。
数百ある場合は、プラグインを理由するのもいいですが、10ちょいの記事だったので今回は「.htaccess」でやってみよかと思います。
そちらの方が勉強になっていいかと思いましたので。
では早速見ていきましょう。
リダイレクトには、2つの修理があります。
永続的にリダイレクトさせる機能。
検索エンジンは転送先をインデックスし、キャッシュもされます。
また転送元の評価を全て転送先に引き継ぎます。
302リダイレクト
サイト工事中等の一時的にリダイレクトさせる機能。
検索エンジンは転送元をインデックスし、転送先のページはキャッシュされません。
また転送元の評価は転送先には引き継ぎません。
今回はドメイン変更(サイトを引越)したので、『301リダイレクト』を行います。
Googleにインデックスされている旧ページをクリックしても、新ドメインでページを表示させることができます。
では早速設定法について説明させていただきます。
WordPressの.htaccessはどこにある?
WordPressをインストールしたホームディレクトリにあります。
FTPツール(MacならTransmit)などでアクセスし、.htaccessファイルをローカルにダウンロードしてください。
ワードプレスの.htaccessの基本形
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
.htaccessを開くと上記ような内容が記述されています。
ですが、プラグインなど色々な設定をされているともっと下記のような色々なものが記載されている場合があります。
実際ダウンロードしたワードプレスの.htaccessの内容
#SITEGUARD_PLUGIN_SETTINGS_START #==== SITEGUARD_RENAME_LOGIN_SETTINGS_START <IfModule mod_rewrite.c> RewriteEngine on RewriteBase / RewriteRule ^wp-◯◯◯◯◯.php 404-siteguard [L] RewriteRule ^wp-◯◯◯◯◯.php 404-siteguard [L] </IfModule> #==== SITEGUARD_RENAME_LOGIN_SETTINGS_END #SITEGUARD_PLUGIN_SETTINGS_END # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
現状記載されている内容には手を触れないにお願いします!!
編集前には必ずバックアップをとっておきましょう!
何かあったときにバックアップファイルを使えば元に戻せます。
301リダイレクト設定を記述
それでは、.htaccessを記述していきます。
記述箇所は簡単です。現状の.htaccessの一番上に追加していきます。
文末に追加したり、# BEGIN WordPressの上に追加したところ、うまく機能せず1時間ぐらいハマりました(泣)
#リダイレクトを追加 RewriteEngine on RewriteRule ^$ https://www.kakeru-d.jp/ [R=301,L] RewriteRule ^webdesign/post-190/$ https://www.kakeru-d.jp/blog/illustrator_テキストの形状を維持/ [R=301,L] #SITEGUARD_PLUGIN_SETTINGS_START #==== SITEGUARD_RENAME_LOGIN_SETTINGS_START <IfModule mod_rewrite.c> RewriteEngine on RewriteBase / RewriteRule ^wp-◯◯◯◯◯.php 404-siteguard [L] RewriteRule ^wp-◯◯◯◯◯.php 404-siteguard [L] </IfModule> #==== SITEGUARD_RENAME_LOGIN_SETTINGS_END #SITEGUARD_PLUGIN_SETTINGS_END # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
今回は僕のブログの実例で紹介させていただきます。
https://blog.kakeru-d.jp/〇〇〇/〇〇〇/ から
https://www.kakeru-d.jp/〇〇〇/〇〇〇/ に301転送する記述方法です。
リダイレクト設定は、2行目の「RewriteEngine on」と記述しその後に転送URLを書いていきます。
3行目の説明
3行目:
RewriteRule ^$ https://www.kakeru-d.jp/ [R=301,L]
上記は、https://blog.kakeru-d.jp/のトップページにアクセスがあった場合、https://www.kakeru-d.jp/のトップページに301転送させる記述です。
$ :$半角スペースの後に転送後のURLを記述。
今回は新規ドメインのトップ「$ https://www.kakeru-d.jp/ [R=301,L]」と記述。
4行目の説明
3行目:
RewriteRule ^webdesign/post–190/$ https://www.kakeru-d.jp/blog/illustrator_テキストの形状を維持/ [R=301,L]
上記は、https://blog.kakeru-d.jp/のトップページにアクセスがあった場合、https://www.kakeru-d.jp/blog/illustrator_テキストの形状を維持/のページに301転送させる記述です。
$ :$半角スペースの後に転送後のURLを記述。
今回は新規ドメインのトップ「$ https://www.kakeru-d.jp/blog/illustrator_テキストの形状を維持/ [R=301,L]
」と記述。
ですので、メモ代わり等に「#リダイレクトを追加」と記載して分かりやすいように管理するのがポイントです。
あとで見てもどこを編集したのかが分かりやすくなります。
まとめ
- 301転送を行う場合は、.htaccessの一番上に転送コードを記述。
- 自分が書いたコードを分かるように#をつけてコメントを記述する。「#転送設定について」など。
.htaccessを使って転送をうまくやりましょう!
301転送をすることで、URLが変わってもそのページ評価を受け継ぐことができます。
よくメタタグで0秒転送とかでページを飛ばしたりするのを見かけますが、その場合評価を受け継がないため、おすすめしません。必ず.htaccessを使って301転送を行ってくださいね。
梅雨明けが待ち遠しいですね。
さて今回は、ワードプレスでリダイレクトする必要があり、その方法を紹介させていただきます。