リダイレクト
ブログのお引越しなどでURLが変わった時に、元のURLから新しいURLへ自動転送させることをリダイレクトと言います。リダイレクトしておくと、URLが変わったとしても、目的を持って訪れた訪問者が目的のページに辿り着けます。
301リダイレクト
URLが恒久的に変更された場合に用いる
302リダイレクト
一時的に転送する場合に用いる
SEOの観点から301リダイレクトの設置について
転送前の検索エンジンからの評価を転送後も引き継ぎます。またどちらも同じページへのURL、「www」のついているURLと付いていないURLを1つにまとめることで、評価を上げることを期待できます。
- 「www.example.com」と「example.com」をどちらか1つにする
Google検索の場合はサーバサイドで301リダイレクトの使用を奨めている。ヤフーについては0秒リダイレクトがSEO的に有利と言える。
リダイレクトの例
- example.com → 〇〇〇.com
- example.com/✖✖✖/test.html → example.com/○○○/test.html
- example.com/test//✖✖✖.html → example.com/test/○○○.html
ドメインの変更、ディレクトリの変更、ファイルの変更、すべてにリダイレクトを行えます。
リダイレクトの方法
- .htaccessファイルを編集する
- httPヘッダによるリダイレクト
- metaタグによるリダイレクト
- プラグインを利用する
「httPヘッダによるリダイレクト」「metaタグによるリダイレクト」は302リダイレクトや、移転のお知らせなどの文章を表示し、数秒後に転送させることができます。
.htaccessファイルについて
.htaccessファイルを設置することで、アスセスに関する機能を追加できます。主なできる事は次の点です。
- 特定のページやディレクトリにIDとパスワードの入力を求め、アスセスを制限する
- 特定のファイルへのアクセスを拒否する
- 「404 Not Found」などのエラーメッセージを変更できる
- 指定のURLへ自動転送させる
.htaccessファイルを利用するためには、サーバー内で「Apache」とういソフトウエアが利用されている必要があります。
.htaccessファイルを作成で注意する点・エラーの時の確認すること
- ファイル名の最初に「ドット」を忘れないように
- 最後に改行を入れる(テキストファイルは改行で終わることを約束されています)
- テキストエディタで作成する
- 全角スペースなど入れない
- .htaccessファイルのパーミッションは「604」「644」
もしワードなど書式情報を含むソフトで作成する場合、文字コードをBOMなしで保存して下さい。メモ帳で作成する場合はデフォルトの「ANSI」で保存します。メモ帳で作成・保存する場合、拡張子「.txt」が付き保存されてしまいます。「.txt」はFTPなどでアップロード後に削除できます。
.htaccessファイルのアップロードする場所
全体に指示するのならば、一番上のディレクトリにアップロードします。指示したいディレクトリにアップロードします。
.htaccessファイルのリダイレクトの記述「Mod_Rewrite」
Mod RewriteはアクセスしたURLを書き換えるモジュール(機能)です。URLのパス(文字列)の記述ができます。
すべてをリダイレクト
Redirectを利用
Redirect permanent ///○○○.com/ |
- Redirect permanent ///○○○.com/
Redirect permanent | 301 |
Redirect temp | 302 |
Rewriteを利用
- RewriteRule ^転送元URL 転送先URL$1 [R=301,L]
RewriteEngine on RewriteCond %{HTTP_HOST} ^(example\.com)(:80)? [NC] RewriteRule ^(.*) //○○○.com/$1 [R=301,L |
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(example\.com)(:80)? [NC]
RewriteRule ^(.*) //○○○.com/$1 [R=301,L
※転送先URLを「//○○○.com/」転送元URLを「example.com」とする。
RewriteEngine on | Mod Rewriteの機能をON |
RewriteBase | ベースとなるパス |
RewriteCond | 条件 |
RewriteRule | ルール |
HTTP_HOST | サーバーのホスト名 |
80 | 80ポート(http)にアクセスがある |
[NC] | 大文字小文字関係なく |
R=301 | 301リダイレクトで、Rのみは302 |
L | これが最後 |
(.*) | 文字を繰り返す |
ディレクトリの変更(/ランチ/以下のパスに変更がない場合)
//example.com/ランチ/test.html →//example.com/和食/ご飯/test.html に変更。
※日本語で記載しました。
Redirectを利用
Redirect permanent /ランチ/ //example.com/和食/ご飯/ |
Redirect permanent /ランチ/ //example.com/和食/ご飯/
Rewriteを利用
RewriteEngine on RewriteBase / RewriteRule ^ランチ/(.*)$ //example.com/和食/ご飯/$1 [R=301,L] |
RewriteEngine on
RewriteBase /
RewriteRule ^ランチ/(.*)$ //example.com/和食/ご飯/$1 [R=301,L]
ページのリダイレクト
//example.com/ランチ/ハンバーグ.html →//example.com/料理/洋食.html に変更。
※日本語で記載しました。
Redirectを利用
Redirect permanent /ランチ/ハンバーグ.html //www.example.jp/料理/洋食.html |
Redirect permanent /ランチ/ハンバーグ.html //www.example.jp/料理/洋食.html
Rewriteを利用
RewriteEngine on RewriteBase / RewriteRule ^/ランチ/ハンバーグ.html //www.example.jp/料理/洋食.html [R=301,L] |
RewriteEngine on
RewriteBase /
RewriteRule ^/ランチ/ハンバーグ.html //www.example.jp/料理/洋食.html [R=301,L]
特定のディレクトリをリダイレクトから除外
- RewriteCond %{REQUEST_URI} !(^/除外ディレクトリ名/)
※日本語で記載しました。
ランチを除外する
RewriteEngine on RewriteBase / RewriteCond %{REQUEST_URI} !(^/ランチ/) RewriteRule ^(.*) //www.example.com/$1 [R=301,L] |
除外
{REQUEST_URI} ! | 除外 |
プラグインRedirectionの使い方
「.htaccess」ファイルを編集することなく、簡単にリダイレクトができ、リダイレクトの管理もできます。
- プラグインRedirectionのインストール
- Redirectionの有効化
ここまで済ませておきます。
Redirectionの設定
- ダッシュボードの項目より「ツール」→「Redirection」を開く
- 新しい転送ルールを追加
- 「ソースURL」に元のURLを記載する
- 「ターゲットURL」に新しいURLを記載する
- 「Redirections」か「Modified Posts」を選択する
- 「新しい転送ルールを追加」をクリックする
転送グループには、「Redirections」と「Modified Posts」があります。
Modified Posts | 古い投稿のURLを変更した場合 |
Redirections | リダイレクトする |
プラグインRedirectionで丸ごとリダイレクトする方法
- ダッシュボードの項目より「ツール」→「Redirection」を開く
- 新しい転送ルールを追加
転送ルールの記載は以下です。
http://888.wplogs.com/ に移転する場合
項目 | 記載または選択 | 意味 |
---|---|---|
Source URL | ^(?!.*wp-login.php | ログインページを除く |
Match | URL only | |
code | 301-Moved Permanently | 永久に移動 |
Action | Redirect to URL | URLへリダイレクト |
Target URL | http://888.wplogs.com/$1 | 新しいURL |
Group | 編集済みの投稿(Modified Posts) |
リダイレクトはログインURLを除く
「^(?!.*wp-login.php」はログインページを除いてリダイレクトします。
ログインのURLは、
- http://example.com/wp-admin または
- http://example.com/wp–login.php
http://888.wplogs.com/ のログインURLはhttp://888.wplogs.com/wp-admin です。
Regex 正規表現
「Regex」にチェックを入れます。