.htaccessリダイレクトの設定方法|基本的な書き方を解説。

SEOノウハウ

▼ SEOについてお悩みではないですか? ▼
SEO対策について無料で相談してみる

SEO(検索エンジン最適化)対策において、WebサイトのURL構造は重要な要素です。URL構造を変更する際、適切なリダイレクト設定を行わないと、検索順位が下落したり、ユーザーがサイトから離れてしまう可能性があります。

リダイレクト設定でよく使われるのが、Webサーバーソフトウェア「Apache」の設定ファイル.htaccessです。.htaccessファイルを利用することで、特定のURLにアクセスがあった際に、自動的に別のURLに転送することができます。

しかし、.htaccessファイルの設定を誤ると、Webサイトが表示されなくなるなど、深刻な問題を引き起こす可能性があります。そのため、設定手順を正確に理解し、慎重に進める必要があります。

この記事では、.htaccessリダイレクトの基本的な知識から、具体的な設定方法まで丁寧に解説します。 すでにご存知の方は、下記の表でリダイレクト設定の記述例をご確認ください。

パターン記述内容説明
単純なURLのリダイレクトRedirect 301 /old-page.html /new-page.html特定のページを別のページにリダイレクト
ディレクトリ単位のリダイレクトRewriteCond %{HTTP_HOST} ^example.com$ [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]
特定の条件を満たす場合にのみリダイレクト
条件付きリダイレクトRewriteRule ^blog/([0-9]+)/$ /news/$1/ [R=301,L]より複雑な条件でのリダイレクト
正規表現を使ったリダイレクトRewriteRule ^blog/([0-9]+)/$ /news/$1/ [R=301,L]複雑な条件でのリダイレクト
HTTPSへのリダイレクトRewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
HTTPでアクセスがあった場合にHTTPSにリダイレクト
wwwあり・なしの統一wwwありを正規URLにする場合
RewriteCond %{HTTP_HOST} ^example.com$ [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]

wwwなしを正規URLにする場合
RewriteCond %{HTTP_HOST} ^www.example.com$ [NC]
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
wwwありのURLとwwwなしのURLを統一
ドメインのリダイレクトRewriteCond %{HTTP_HOST} ^old-domain.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www.old-domain.com$ [NC]
RewriteRule ^(.*)$ https://www.new-domain.com/$1 [R=301,L]
Webサイトのドメインを変更
この記事でわかる内容
  • パーマリンクの前提知識
  • パーマリンクのおすすめの決め方とルール
  • パーマリンクを適切に設定することで得られるSEO効果
  • WordPressでのパーマリンク設定手順
  • パーマリンク構造を変更することで起こるリスク
山口耀平(Yamaguchi Yohei)

株式会社検索順位の海賊CEO。日本マーケティング学会会員。SEO歴5年のSEOコンサルタント。自身のアフィリエイトサイトをグロースさせた経験から、現在は企業のSEM支援を行っている。具体的には、オウンドメディア運用代行、SEO戦略立案、記事制作代行などを実施している。
プロフィールの詳細はこちら

山口耀平(Yamaguchi Yohei)をフォローする

.htaccessを利用したリダイレクト

.htaccessリダイレクトとは、Webサーバーソフトウェア「Apache」の設定ファイル.htaccessを利用して、特定のURLへのアクセスを自動的に別のURLへ転送する仕組みです。この設定はサーバー側で処理され、ユーザーのブラウザには新しいURLが表示されます。

.htaccessファイルは、Webサーバー上でWebサイトの様々な設定を制御するためのファイルです。その機能の一つとして、リダイレクト設定があります。

例えば、WebサイトのURLを変更した場合や、ページを削除した場合などに、旧URLへのアクセスを新URLに転送することで、ユーザーがリンク切れのページに遭遇することを防ぎ、SEO評価の損失を防ぐことができます。

.htaccessリダイレクトは、Webサイトの運営において非常に重要な役割を果たします。特に、サイトリニューアルやURL変更の際には、適切なリダイレクト設定を行うことで、ユーザー体験を損なうことなく、SEO効果を維持・向上させることができるでしょう。

.htaccessリダイレクトの用途

.htaccessリダイレクトは、主に以下の用途で活用されます。

この記事でわかる内容
  • 用途①|Webサイトの移転・リニューアル
  • 用途②|URLの正規化
  • 用途③|エラーページへの誘導

用途①|Webサイトの移転・リニューアル

Webサイトを移転したり、リニューアルしたりする際に、URLが変更されることがあります。このとき、.htaccessリダイレクトを設定することで、旧URLにアクセスしてきたユーザーを自動的に新URLに転送することができます。

これにより、旧URLで獲得していたSEO評価を新URLに引き継ぐことができ、検索順位の低下を防ぐことができます。また、ユーザーにとっても、リンク切れによるストレスを感じることなく、スムーズに新しいページにアクセスすることができます。

例えば、以下のようなケースで.htaccessリダイレクトが有効です。

  • ドメインを変更する場合
  • URL構造を大幅に変更する場合
  • ページの統合や削除を行う場合

用途②|URLの正規化

同じコンテンツが複数のURLでアクセスできる状態を「重複コンテンツ」と呼びます。重複コンテンツは、SEO評価を分散させてしまうため、検索順位の低下に繋がる可能性があります。

.htaccessリダイレクトを利用することで、正規URL(優先的に表示させたいURL)以外へのアクセスを正規URLに転送し、重複コンテンツの問題を解消することができます。

例えば、以下のようなケースで正規URLを統一します。

  • wwwありのURLとwwwなしのURL
  • index.htmlありのURLとindex.htmlなしのURL
  • 大文字と小文字が混在しているURL
  • パラメータが付いているURLと付いていないURL

用途③|エラーページへの誘導

Webサイトで存在しないページ(404 Not Foundエラー)にアクセスがあった場合、ユーザーは離脱してしまう可能性が高くなります。.htaccessリダイレクトを利用することで、404エラーページにアクセスしてきたユーザーを、トップページや関連性の高いページに誘導することができます。

これにより、ユーザーの離脱を防ぎ、サイト内での回遊を促進することができます。また、検索エンジンにとっても、サイト内のリンク構造が整理されていると判断され、SEO評価の向上に繋がる可能性があります。

例えば、以下のようなページにアクセスがあった場合に、適切なページに誘導することができます。

  • 削除したページ
  • URLを変更したページ
  • スペルミスのあるURL

.htaccessリダイレクトの設定方法

.htaccessリダイレクトとは、Webサーバーソフトウェア「Apache」の設定ファイル.htaccessを利用して、特定のURLにアクセスがあった際に、自動的に別のURLに転送する仕組みです。

ここでは、.htaccessリダイレクトの設定方法をステップごとにご紹介します。

この記事でわかる内容
  • STEP①|.htaccessファイルの確認
  • STEP②|リダイレクト設定の記述
  • STEP③|動作確認

STEP①|.htaccessファイルの確認

まず、Webサーバーのルートディレクトリ(通常はpublic_html)に.htaccessファイルがあるか確認します。ルートディレクトリは、Webサイトのファイルが保存されている一番上の階層のディレクトリです。ここでは、以下の二つのケースでの対応方法について解説していきます。

  • ファイルがある場合
  • ファイルがない場合

ファイルがある場合

既存の.htaccessファイルをダウンロードし、バックアップを取っておきます。.htaccessファイルは、Webサーバーの設定を直接制御するため、記述を誤るとWebサイトが表示されなくなるなど、深刻な問題を引き起こす可能性があります。

バックアップを取っておくことで、万が一設定を誤った場合でも、元の状態に戻すことができます。バックアップは、ローカルPCに保存したり、クラウドストレージにアップロードしたりするなど、安全な場所に保管するようにしましょう。

ファイルがない場合の.htaccessの設置場所

.htaccessファイルが見つからない場合は、新規作成する必要があります。手順としては以下の通りです。

  • テキストエディタ(メモ帳など)を開き、何も記述しない空のファイルを作成します。
  • ファイル名を.htaccess(ドットから始まる)で保存します。
  • FTPソフトなどを使って、作成した.htaccessファイルをWebサーバーのルートディレクトリ(一番上の階層)にアップロードします。

.htaccessファイルは、Webサーバーの設定ファイルの中でも特別な存在で、通常は隠しファイルとして扱われます。

隠しファイルとは、ファイル名またはフォルダ名の先頭に「.」 (ドット) が付いているファイルやフォルダのことです。通常、ファイルマネージャーやFTPソフトでは表示されず、特別な設定を行うことで表示できるようになります。.htaccessファイルを隠しファイルにする主な理由は以下の通りです。

    STEP②|リダイレクト設定の記述

    続いて、ダウンロードまたは新規作成した.htaccessファイルに、リダイレクト設定を記述します。リダイレクト設定は、以下の形式で記述します。

    Redirect [ステータスコード] [旧URL] [新URL]

    ステータスコードには、301と302のの二つの種類があります。多くの場合、301を使用することがほとんどですので、ここでは301の記述例について解説していきます。

    ステータスコード説明用途旧URL新URL
    301 (恒久的)URLが恒久的に変更されたことを示すサイトリニューアル、ドメイン変更など変更前のURL変更後のURL
    302 (一時的)URLが一時的に変更されたことを示すシステムメンテナンス、一時的なキャンペーンページなど一時的に変更されたURL変更後のURL

    例えば、/old-page.html から /new-page.html に恒久的にリダイレクトしたい場合は、以下のように記述します。

    Redirect 301 /old-page.html /new-page.html

    /old-directory/ 配下のすべてのページを /new-directory/ 配下の対応するページにリダイレクトしたい場合は、以下のように記述します。

    RedirectMatch 301 ^/old-directory/(.*)$ /new-directory/$1

    .htaccessファイルを編集・アップロードしたら、必ず動作確認を行いましょう。ブラウザで旧URLにアクセスし、正しく新URLにリダイレクトされるか確認します。もしリダイレクトが正しく動作しない場合は、.htaccessファイルの記述に誤りがないか、再度確認しましょう。

    STEP③|動作確認

    .htaccessファイルを編集・アップロードしたら、必ず動作確認を行いましょう。

    ブラウザで旧URLにアクセスし、正しく新URLにリダイレクトされるか確認します。 リダイレクトが成功すると、ブラウザのアドレスバーに新しいURLが表示されます。

    もしリダイレクトが正しく動作しない場合は、.htaccessファイルの記述に誤りがないか、再度確認しましょう。記述に誤りがあると、Webサイトが表示されなくなる可能性があるため、注意が必要です。

    【パターン別】.htaccessリダイレクトのコードの書き方

    .htaccessリダイレクトには、様々なパターンが存在します。ここでは、よく使われるパターンと具体的な設定例を紹介します。

    パターン①|単純なURLのリダイレクト

    ある特定のページを別のページにリダイレクトする場合に使います。例えば、製品ページのリニューアルなどで、URLが変更になった場合に有効です。 旧URLへのアクセスがあった場合、新しいURLへ自動的に転送されます。これにより、旧URLで獲得していたSEO評価を引き継ぎ、検索順位の低下を防ぐことができます。

    また、ユーザーにとっても、リンク切れによるストレスを感じることなく、スムーズに新しいページにアクセスすることができます。

    Redirect 301 /old-page.html /new-page.html

    /old-page.htmlにアクセスがあった場合、/new-page.htmlにリダイレクトされます。

    パターン②|ディレクトリ単位のリダイレクト

    特定のディレクトリ配下のすべてのページを別のディレクトリにリダイレクトする場合に使います。例えば、サイトリニューアルでディレクトリ構造が変わった場合などに役立ちます。

    旧ディレクトリ内のすべてのページは、新しいディレクトリ内の対応するページにリダイレクトされます。これにより、ディレクトリ構造の変更に伴うリンク切れを防ぎ、SEO評価を維持することができます。

    RedirectMatch 301 ^/old-directory/(.*)$ /new-directory/$1

    /old-directory/配下のすべてのページは、/new-directory/配下の対応するページにリダイレクトされます。

    パターン③|条件付きリダイレクト

    特定の条件を満たす場合にのみリダイレクトする場合に使います。例えば、特定のブラウザからのアクセスのみリダイレクトする、といったことも可能です。

    これにより、特定の条件下でのみリダイレクトを行うことができ、より柔軟なサイト運営が可能になります。

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

    この例では、example.com(wwwなし)にアクセスがあった場合に、https://www.example.com/(wwwあり)にリダイレクトされます。

    パターン④|正規表現を使ったリダイレクト

    より複雑な条件でのリダイレクトを行う場合に使います。正規表現の知識が必要となりますが、柔軟なリダイレクト設定が可能です。例えば、ブログ記事のURL構造を変更する場合などに利用できます。

    正規表現を使用することで、特定のパターンにマッチするURLのみをリダイレクトしたり、URLの一部を書き換えたりすることができます。

    RewriteRule ^blog/([0-9]+)/$ /news/$1/ [R=301,L]

    この例では、/blog/配下にある数字で終わるURLを、/news/配下の同じ数字で終わるURLにリダイレクトします。

    パターン⑤|HTTPSへのリダイレクト

    HTTPでアクセスがあった場合に、HTTPSにリダイレクトする場合に使います。WebサイトをSSL化(HTTPS化)する際に必須の設定です。 HTTPでのアクセスをHTTPSにリダイレクトすることで、通信の安全性を確保し、ユーザーの個人情報や決済情報を保護することができます。

    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

    パターン⑥|wwwあり・なしの統一

    wwwありのURLとwwwなしのURLを統一する場合に使います。

    どちらを正規URLにするかによって設定が異なります。 正規URLを統一することで、重複コンテンツの問題を防ぎ、SEO評価を集中させることができます。

    # wwwありを正規URLにする場合
    RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
    RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]
    
    # wwwなしを正規URLにする場合
    RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
    RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]

    パターン⑦|ドメインのリダイレクト

    Webサイトのドメインを変更する場合に使います。

    旧ドメインへのアクセスがあった場合、新しいドメインへ自動的に転送されます。これにより、旧ドメインで獲得していたSEO評価を新ドメインに引き継ぎ、検索順位の低下を防ぐことができます。

    RewriteCond %{HTTP_HOST} ^old-domain\.com$ [NC,OR]
    RewriteCond %{HTTP_HOST} ^www\.old-domain\.com$ [NC]
    RewriteRule ^(.*)$ https://www.new-domain.com/$1 [R=301,L]

    この例では、old-domain.com(wwwあり・なし)にアクセスがあった場合に、https://www.new-domain.com/にリダイレクトされます。

    まとめ

    【無料】アクセスに伸び悩んだ時は我々にご相談ください。
    無料相談はコチラ
    【無料】アクセスに伸び悩んだ時は我々にご相談ください。
    無料相談はコチラ
    タイトルとURLをコピーしました