301リダイレクトの方法と必要性は?

301リダイレクトの方法と必要性は?

ホームページの引越しには付き物のリダイレクト。
どんな効果があって、どのようにして行うのか簡単に纏めてみました。

そもそも301リダイレクトってなに?

「301リダイレクト」とは・・・サイトの移設(ドメインの変更)や、ページのURLを変更する場合に、変更前のURLから変更後のURLへ、ユーザーと検索エンジンを、誘導(転送)するための仕組みになります。

※「ドメイン」についてはこちらで解説しています→ドメインとは?2分で「ドメイン」を理解するためのまとめ記事

301リダイレクトは必要?

例えば、今もっているAというサイトからBというサイトに移管する際、GoogleやYahoo!では以前のAというサイトがINDEXされた(読み込まれているので検索画面に表示される)状態になるので、Bというサイトを見て欲しいにも関わらず、検索エンジンではAというサイトが表示されてしまうわけです。更にはクローラーによってBというサイトが読み込まれた際、「Aサイトのコピーサイト」と判断され、最悪の場合パンダアップデートによる、コピーコンテンツと認識され、ペナルティを受ける可能性も考えられる。

上記の事から301リダイレクトはほぼ「必須」といえるのではないでしょうか。
リダイレクト設定を行うことで移管前のサイトAへ訪れたユーザーを新しい移管先のサイトBへ誘導することができます。

更にはGoogleからの評価(被リンク数やページランク、ドメイン年数等)も引き継がれますので、移転前のサイトAの評価が高いほど、移管後のサイトBへの「301リダイレクト」は必須になってきます。

リダイレクトの方法として「302リダイレクト」も存在しますが、302の場合はあくまで”一時的な転送”と検索エンジンに認識されるので、サイト移管の際は必ず”301リダイレクト”を使用するようにしてください。

 301リダイレクトの設定方法は?

サーバーによって301リダイレクトの方法がいくつかありますが、最も一般的な「.htaccess」による301リダイレクトをご紹介します。

まず、「●●●.htaccess」という名前のファイルを作成してください(下図例)

htaccess 設定手順1

次に、そのファイルを「メモ帳」などのエディタで開いてください(下図例)

htaccess 設定手順2

ファイルをエディタで開いたら、次は「301リダイレクトの設定」を記述していきます。

以下に、シチュエーション(状況)や、用途(やりたい事)ごとの記述例をまとめていますので、こちらを参考に記述していってください。

  • 「ページ(個別)を移転した場合」

    RewriteEngine on
    RewriteRule ^old.html$ http://www.example.com/new.html [R=301,L]

    上記は、「old.html」にアクセスしたら、「http://www.example.com/new.html」へ301リダイレクトする設定です。

    ※上記は、「.htaccessファイル」が、「old.html」と同じディレクトリ内にある事が前提です。

  • 「ディレクトリを移転した場合」

    RewriteEngine on
    RewriteRule ^old(.*)$ /new$1 [R=301,L]

    上記は、「old ディレクトリ」にアクセスがあった場合、「new ディレクトリ」へ「301リダイレクト」する設定です。

    ※「old ディレクトリ」と「new ディレクトリ」の下層ページURLは同じである事が前提です。
    また、「.htaccessファイル」が、「old ディレクトリ」と同じ階層にある事、かつ「new」ディレクトリが、ルートディレクトリ内にある事が前提です。

  • 「WWWあり・なしのドメインを、どちらかに統一したい場合」

    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^(example\.com)(:80)? [NC] RewriteRule ^(.*) http://www.example.com/$1 [R=301,L]

    上記は、「example.com」ドメインにアクセスしたら、「www.example.com」ドメインへ「301リダイレクト」する設定です。

    ※「wwwあり・なしドメイン」それぞれの下層ページURLは、同じである事が前提です。
    また、「.htaccessファイル」が、(ドメインの)ルートディレクトリ内にある事が前提です。

  • 「index.htmlあり・なしの「トップページURL」を、どちらかに統一したい場合」

    RewriteEngine on
    RewriteCond %{THE_REQUEST} ^.*/index.html
    RewriteRule ^(.*)index.html$ http://example.com/$1 [R=301,L]

    上記は、「http://example.com/index.html」にアクセスしたら、「http://example.com/」へ「301リダイレクト」する設定です。

    ※「.htaccessファイル」が、「index.html」と同じ階層(通常はルートディレクトリ内)にある事が前提です。

  • 「ドメインを移転する、かつ下層ページのURLは変わらない場合」

    RewriteCond %{HTTP_HOST} ^(old\.com)(:80)? [NC] RewriteRule ^(.*) http://new.com/$1 [R=301,L]

    上記は、「old.com」ドメインにアクセスしたら、「new.com」ドメインへ「301リダイレクト」する設定です。

    ※「.htaccessファイル」が、(「old.com」ドメインの)ルートディレクトリ内にある事が前提です。

  • 「一部のディレクトリやページに関しては、転送設定をしたくない場合」

    RewriteCond ^!old-url/old-dir.*
    RewriteRule ^old-url.* http://new-url.com/ [R=301,L]

    上記は、「old-url」ドメイン内の「old-dir」ディレクトリ以下にアクセスした場合は、転送はされず、それ以外のディレクトリ(又はファイル)にアクセスした場合は、「http://new-url.com/」へ「301リダイレクト」する設定です。

    ※「.htaccessファイル」が、(「old-url」ドメインの)ルートディレクトリ内にある事が前提です。

以上です。

上記を参考にし、××.htaccessというファイルを作成し、FFFTPなどの「FTPツール」を使って、ルートディレクトリへ保存してください。
FFFTP

アップロードが完了しましたら、××.htaccessの「××」部を削除し「.htaccess」に変更すれば完了です。

需要があれば、「.htaccess」を利用できないレンタルサーバーなどでの301リダイレクト設定方法もアップします。

News.NextLink(ニュース・ネクストリンク)

SEOカテゴリの最新記事