リダイレクト・URL自動転送の方法まとめ(.htaccess、metaタグ)

Other

サイトの引越やSSL化によるURL変更、ページ単位の転送など、様々な場面でリダイレクトが必要な場合があります。

それらの方法をまとめています。

リダイレクトとは

リダイレクト( redirect)とは、Webサイトの閲覧において、指定したページから自動的に他のページに転送される事です。

URLリダイレクト(URL redirection)や301リダイレクトとも言われます。

301リダイレクト

サイトの引越などで、転送元のサイトやウェブページが永久的に別の場所に移動したことを伝えるリダイレクトの方法です。

302リダイレクト

メンテナンス中などで、転送元のサイトやウェブページから転送先のウェブページに一時的に移動したことを伝えるリダイレクトの方法です。

 

実現方法

方法はいくつかありますが、SEO的にGoogle推奨・非推奨があります。

  • サーバーの.htaccessファイルに記述
  • metaタグで記述
  • JavaScriptで記述

 

Yahoo! JAPAN

metaタグでの指定も「301リダイレクト」として扱われる

W3C  W3Cとは(Wikipedia)

metaタグでの指定を使用しないよう推奨

Google

サーバーサイドの 301 リダイレクト(HTTPリダイレクト)を推奨

 

サイトごと転送

Webサイトを引越た場合や、SSL化していなかったサイトをSSL化した際など、サイトごと、どのページもすべて転送する場合の方法です。

 

HTTPリダイレクト

サーバーの設定ファイル「.htaccessファイル」に記述する。

注意点

日本語を書く場合はUTF-8で記述する。
記述ミスがあると設置したディレクトリ以下が全て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の場合

記事編集画面の上部にある「表示オプション」で「リダイレクト」を表示します。

Cocoon:表示オプション

 

記事編集のサイドバーに「リダイレクト」の編集エリアが表示されますので、そこへ直接、転送先のURLを記述します。

Cocoon:リダイレクト

 

Cocoonの場合は、ここにURLを記述するだけで301リダイレクト処理がされる為、Googleも301認識をしてくれる(筈)。

WordPressではHTMLファイルが存在しない為、ソースの確認が出来ませんし、リダイレクト設定にすると瞬時に転送先が表示されるので、転送元ページを検証する術がない為、どのような処理になっているかは不明です。

 

.htaccessの編集方法

サーバーコントロールパネルで編集

レンタルサーバーの場合、コントロールパネル内などから編集する事も可能ですが、その場合でも

FTPなどでダウンロードしてバックアップを取っておく事をお勧めします。

 

レンタルサーバーでの.htaccess編集については以下にヘルプがあります。

エックスサーバー
ConoHa Wing
カラフルボックス
さくらレンタルサーバー
ロリポップ

 

ローカルで編集する場合は、以下をご覧ください。

 

ローカルで編集

FTPでダウンロード

FTP操作がわからない、またはクライアントがない方は以下をご覧ください。

 

FTPクライアントで、「.htaccess」をダウンロードします。

「.htaccess」ファイルは、ワードプレスがインストールされているディレクトリにあります。

エックスサーバーであれば「public_html」の直下、「wp-content」や「wp-includes」ディレクトリがある場所です。

6626_02

 

注意点

記述ミスがあると設置したディレクトリ以下が全て500エラーになる為、バックアップ必須

 

.htaccessファイルを編集

必要なコードを記述します。

注意点

日本語を書く場合はUTF-8で記述する。
記述ミスのないよう、十分に注意して行う。
既にある記述を削除せず、追記する。

 

FTPでアップロード

 追記したファイルを保存し、サーバーへアップロード上書きします。

以上で完了です。

万が一、何かしらの不具合があった場合は、コピーしておいた「.htaccess」ファイルのバックアップを再度FTPで上書きアップロードすれば元に戻せます。

 

 

metaタグの編集方法

通常のFTP操作などで運営しているサイトは、HTMLファイルの<head></head>内に直接記述して下さい。

 

WordPressの場合は、メタタグを追記出来るエリアや リダイレクト設定出来る機能があるテーマもあります。

 

関連記事

Other

Posted by 綾糸