サイトの引越やSSL化によるURL変更、ページ単位の転送など、様々な場面でリダイレクトが必要な場合があります。
それらの方法をまとめています。
リダイレクトとは
リダイレクト( redirect)とは、Webサイトの閲覧において、指定したページから自動的に他のページに転送される事です。
URLリダイレクト(URL redirection)や301リダイレクトとも言われます。
301リダイレクト
サイトの引越などで、転送元のサイトやウェブページが永久的に別の場所に移動したことを伝えるリダイレクトの方法です。
302リダイレクト
メンテナンス中などで、転送元のサイトやウェブページから転送先のウェブページに一時的に移動したことを伝えるリダイレクトの方法です。
実現方法
方法はいくつかありますが、SEO的にGoogle推奨・非推奨があります。
- サーバーの.htaccessファイルに記述
- metaタグで記述
- JavaScriptで記述
Yahoo! JAPAN
metaタグでの指定も「301リダイレクト」として扱われる
W3C W3Cとは(Wikipedia)
metaタグでの指定を使用しないよう推奨
サーバーサイドの 301 リダイレクト(HTTPリダイレクト)を推奨
サイトごと転送
Webサイトを引越た場合や、SSL化していなかったサイトをSSL化した際など、サイトごと、どのページもすべて転送する場合の方法です。
HTTPリダイレクト
サーバーの設定ファイル「.htaccessファイル」に記述する。
注意点
記述ミスがあると設置したディレクトリ以下が全て500エラーになる為、バックアップ必須。十分に注意して行う。
httpsへ自動転送設定
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
ドメインからのURLをwwwありに
<IfModule mod_rewrite.c>
RewriteCond %{HTTP_HOST} !^www. [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]
</IfModule>
ドメインを引越した場合
<IfModule mod_rewrite.c>
RewriteBase /
RewriteEngine on
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
RewriteCond %{SERVER_PORT} 443
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
</IfModule>
https://example.com/
部分を転送先アドレスに変更して下さい。
すべてトップページへ転送
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$ https://example.com/
</IfModule>
https://example.com/
部分を転送先アドレスに変更して下さい。
metaタグによるリダイレクト
すべてトップページへ転送
<meta http-equiv="refresh" content="0; URL=https://example.com">
https://example.com/
部分を転送先アドレスに変更して下さい。
ページ単位のリダイレクト
HTTPリダイレクト
<IfModule mod_rewrite.c>
RewriteBase /
RewriteEngine on
RewriteCond %{SERVER_PORT} 80
RewriteRule ^xxx.html http://www.example.jp/xxx.html [R=301,L]
RewriteCond %{SERVER_PORT} 443
RewriteRule ^xxx.html https://www.example.jp/xxx.html [R=301,L]
</IfModule>
xxx.html
を元アドレス、
https://example.com/xxx.html
部分を転送先アドレスに変更して下さい。
metaタグによるリダイレクト
対象ページの<head></head>内に記述します。
<meta http-equiv="refresh" content="0; URL=https://XXXXX/xxxx.html">
https://XXXXX/xxxx.html
部分を転送先アドレスに変更して下さい。
「content=0」は0秒後(つまり即時)に実行されます。
数字を変える事で5秒後、10秒後なども設定可能です。
Luxelitasの場合
記事編集画面の上部にある「表示オプション」で「追加ヘッダー」を表示します。
記事編集の下部に「追加ヘッダー」の編集エリアが表示されますので、そこへmetaタグを記述します。
Cocoonの場合
記事編集画面の上部にある「表示オプション」で「リダイレクト」を表示します。
記事編集のサイドバーに「リダイレクト」の編集エリアが表示されますので、そこへ直接、転送先のURLを記述します。
WordPressではHTMLファイルが存在しない為、ソースの確認が出来ませんし、リダイレクト設定にすると瞬時に転送先が表示されるので、転送元ページを検証する術がない為、どのような処理になっているかは不明です。
.htaccessの編集方法
サーバーコントロールパネルで編集
レンタルサーバーの場合、コントロールパネル内などから編集する事も可能ですが、その場合でも
レンタルサーバーでの.htaccess編集については以下にヘルプがあります。
エックスサーバー
ConoHa Wing
カラフルボックス
さくらレンタルサーバー
ロリポップ
ローカルで編集
FTPでダウンロード
FTP操作がわからない、またはクライアントがない方は以下をご覧ください。
「.htaccess」ファイルは、ワードプレスがインストールされているディレクトリにあります。
エックスサーバーであれば「public_html」の直下、「wp-content」や「wp-includes」ディレクトリがある場所です。
注意点
.htaccessファイルを編集
必要なコードを記述します。
注意点
記述ミスのないよう、十分に注意して行う。
既にある記述を削除せず、追記する。
FTPでアップロード
以上で完了です。
metaタグの編集方法
通常のFTP操作などで運営しているサイトは、HTMLファイルの<head></head>内に直接記述して下さい。
WordPressの場合は、メタタグを追記出来るエリアや リダイレクト設定出来る機能があるテーマもあります。
コメント