Webサイトの運営をしていると、「リダイレクト」が必要になる場面があるかと思います。例えば、サイトのリニューアルでアドレス表記が変わった、コンテンツのブラッシュアップで統合するページが出てきた、など。
リダイレクトは、htmlを書き換えるだけでは対応できず、サーバー側での対応が必要です。そのため、「設定しなくてはならないけれど難易度が高い」とお悩みの方もいらっしゃるのではないでしょうか。
この記事では、サイトのリダイレクト処理が必要でお悩みの方に向けて、
という点について詳しく解説していきます。
目次
リダイレクトなど、アクセス制御を行いたいときに必須のファイルが「.htaccess(読み方:ドットエイチティーアクセス)」です。簡単に言うと、Webサーバーの設定を簡単にできるファイルのこと。このファイルに命令文を書くことで、サーバーを動かすことができます。
.htaccessについての基礎知識や、具体的な設定方法は以下の記事でも解説しているので、合わせて参考にしてください。
⇒.htaccessとは?書き方と設定場所やSEO活用方法について
.htaccessを使って行う作業の代表例には、次の4つが挙げられます。いずれもSEOで使う機能なので、知っておきましょう。
この記事で解説する「リダイレクト」を設定には、.htaccessが必須です。リダイレクトにも種類がありますが(後述)、ページのURLが変更になったときに使う「301リダイレクト」に対応しています。
ページ単位の転送も、ディレクトリ単位のまとめて転送もできます。
リダイレクトの方法を使えば、「URLの正規化」もできます。URLの正規化とは、同じページなのに複数のアドレスが発生してしまう状況を改善するための処理です。「www.」の有り無し、「/index.html」などの有り無しなどの揺れを1つのURLに統一できます。
URLの正規化については、以下を参考にしてください。
Web上に公開しているものの、公開ユーザーを限定したい場合には、アクセス制限をかけられます。これを「ベーシック認証」といい、閲覧時にユーザーIDとパスワードの入力を求める設定ができます。
この設定は、.htaccessに記述をすることに加え、ユーザー名とパスワードを格納する.htpasswdというファイルの作成も必要です。
ベーシック認証の逆で、指定したIPアドレスやドメインからのアクセスを除外する(アクセス制限をする)こともできます。特定のアドレスやドメインから不正なアクセスが有った場合、アクセスを制限して不正な攻撃を避けることができます。
ブラウザキャッシュの有効期限を設定できます。キャッシュを適切に設定すると、毎回サーバー通信しなくても良くなるので、サーバーリクエストが減りページの表示速度が上がります。
今回は、.htaccessの機能の中でも「リダイレクト」に注目します。
リダイレクトとは、自動的にユーザーを転送する処理のこと。古いページにアクセスしたユーザーを、サーバー側の処理で新しいページに強制的に飛ばす仕組みです。
代表的な利用シーンとしては、以下のようなものが挙げられます。
リダイレクトには、「301リダイレクト」「302リダイレクト」の2種類があり、どちらを使うかがよく話題にのぼります。ユーザーから見るとどちらも転送されるという結果が同じですが、SEO面では違う扱いになるので、サイト運用の観点からは注意が必要です。
301リダイレクトは、”永久的”にサイトURLが変更されるときに使うリダイレクト処理です。301リダイレクトを設定すると、検索エンジンが「古いURLはもう使われない」と判断し、新しいURLに古いページの評価を引き継いでくれます。検索結果にも古いURLは表示されなくなり、新しいURLが表示されるようになります。
具体的に言うと上記の場合に、301リダイレクトの設定を行います。
301リダイレクトについては、以下の記事も参考にしてください。
⇒301リダイレクトとは?サイトリニューアル時に必ず設定したい.htaccessの記述方法
302リダイレクトとは、URLを「一時的」に転送するための処理のことです。具体的な基準はありませんが、一定期間が経ったら元のURLに戻す場合や、どちらのURLも使う場合などは302リダイレクトを使います。あくまでも一時的な転送なので、検索結果には転送前のページが表示されます。
具体的には上記のような場合に302リダイレクトを使います。
302リダイレクトについては、以下の記事も参考にしてください。
⇒302リダイレクトの正しい使い方と301リダイレクトの違いを分かりやすく解説!
リダイレクトには、ユーザービリティの観点とSEOの観点の2つから設定する意義があります。
まずはユーザービリティの面から。URLを変更したとしても、古いURLにも少なからずユーザーはやってきます。古いURLをブックマークしていたり、古いURLへのリンクが存在していたり、検索結果に古いURLが残っていたり(301リダイレクトを設定しても、リニューアル後しばらくは検索結果に登場します)。存在しないページへアクセスすることはユーザーにとってストレスですし、サイトから離脱する可能性が高いです。サイトへの信頼性もなくなり、他社サイトを使うようになるかもしれません。
また、SEO面でも古いページの評価が引き継げないという損失が発生します。恒久的にページが移るという指示なので、301リダイレクトを設定することで評価を引き継げます。古いURLに被リンクが設定されていた場合、その評価も引き継げます。
リダイレクトの必要性はご理解いただけたと思います。ここからは、具体的なリダイレクトの設定方法について解説します。
リダイレクトの実装方法には複数の手段がありますが、ここでは「.htaccess」を使ったリダイレクト処理について説明します。Googleも、ブラウザで実行するリダイレクトではなく、.htaccessなどを使ったサーバーサイドのリダイレクト処理を推奨しています。
まず、.htaccessファイルが有るかどうかを確認しましょう。Webサイトを管理しているサーバー内に.htaccessファイルが有れば、それをダウンロードして編集します。ファイルがなければ、テキストファイルに記述し、「.htaccess」という名前で保存してください。
行いたい指示を記述したら、サーバーにアップロードします。FTPソフトを利用し、反映させたいディレクトリのトップに設置します。アップロード後に、想定通りの動きになっているか確認しましょう。
よくあるリダイレクトの記述方法について解説します。
.htaccessの記述内容は、利用しているサーバー環境やその使用状況によって異なります。あくまでここでは一般的なものを紹介しておりますので、ご注意ください。
一部のページをリダイレクトしたい場合は、次のように記述します。
RewriteRule ^/old-page.html$ http://www.example.com/new-page.html [R=301,L]
※http://www.example.com/、old-page.html、new-page.htmlの部分は適宜書き換えてください。移転先のページは、フルパス(http~)を記載する点にご注意ください
※上記コードは301リダイレクトの場合。302リダイレクトの場合は、R=302に変更してください。
ディレクトリ全体にリダイレクト処理を行いたい場合は、以下のように記述します。
RewriteRule ^old-dir(.*)$ /new-dir$1 [R=301,L]
RewriteRule ^new-dir/old-page.html$ http://www.example.com/new-dir/new-page.html [R=301,L]
※old-dir、new-dir、http://www.example.com/、old-page.html、new-page.htmlの部分は適宜書き換えてください。
※上記コードは301リダイレクトの場合。302リダイレクトの場合は、R=302に変更してください。
たとえば、「www.」ありに変更する場合は次のように書きます。
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(example.com)(:80)? [NC]
RewriteRule ^(.*) http://www.example.com/$1 [R=301,L] RewriteCond %{THE_REQUEST} ^.*/index.html
RewriteRule ^(.*)index.html$ http://www.example.com/$1 [R=301,L]
※example.comやindex.htmlの部分は適宜書き換えてください。
ドメインが変更になるが下層ページは変わらないなど、ドメインの変更がある場合は、URL最適化を行った後に以下を追記してください。
RewriteCond %{HTTP_HOST} ^(www.old-url.com)(:80)? [NC]
RewriteRule ^(.*) http://www.new-url.com/$1 [R=301,L]
※www.old-url.comやwww.new-url.comは適宜書き換えてください。
暗号化セキュリティSSL化を行うと、URLがhttp~からhttps~に変わります。
RewriteEngine on
RewriteCond %{ HTTPS} off
RewriteRule ^(.*)$ https://%{ HTTP_HOST}%{REQUEST_URI} [L,R=301]
リダイレクトは、サイトアクセスに関係する重要な処理です。設定時にトラブルが起きないよう、注意を払って行いましょう。ありがちな間違いや、注意点について紹介するので、設定の際にはご確認ください。
アップロード時に間違った内容で上書きしてしまい、サイトが表示されない…というトラブルが起きる可能性があります。アップロード前にバックアップをしっかり取りましょう。
また、.htaccessは複数の階層に複数のファイルを設定できます。アップロードする場所が間違っていないかをしっかり確認してください。
同じファイルに「AのページからBのページへ転送」「BのページからAのページへ転送」とう処理を書いてしまうと、無限ループが生じます。ページを見ることができないばかりか、サーバーへの負荷が大きくなり、サイト全体に悪影響を及ぼします。リダイレクトは少ない回数が望ましいので、複数のリダイレクトが発生しないように注意してください。
反映させた後は、想定通りの動きをしているかすぐに確認しましょう。
WordPressを利用している場合、.htaccessには最初から特定の記述が指定されています。
# BEGIN WordPress~# END WordPressで囲まれている部分です。
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L] RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
記述内容がリダイレクト処理のコードと似ていることもあり、勘違いしやすい部分です。ここを上書きや削除してしまうと、ページが表示されなくなる可能性があります。
リダイレクト処理には、.htaccess以外にも「meta refresh」と「JavaScript」があります。
meta refreshは、HTMLの記述でリダイレクト処理ができる方法。サーバーの設定が不要なので手軽というメリットがあります。しかし、Googleに推奨されている方法ではないので、この方法でリダイレクトをしてもSEO評価を引き継ぐことはできません。ブラウザによっては対応していない場合もあります。
JavaScriptを利用しても、リダイレクト処理ができます。こちらはGoogleも転送を認識でき、ページ評価も引き継いでくれます。しかし、JavaScriptの実行のために古いページも残しておく必要がある、アクセス解析で不具合が発生するなどのデメリットがあります。
リダイレクトを行いたい場合は、「meta refresh」と「JavaScript」ではなく.htaccessで設定しましょう。
リダイレクト先とリダイレクト元には関連性が必要です。同じテーマのページでなければ、評価も適切に引き継げません。ユーザービリティの観点からも、全てTOPページに遷移すると非常に使い勝手が悪く、離脱につながります。
出来る限り、対応しているページへのリダイレクトを行いましょう。
大規模なリニューアルなどで不必要なURLが発生した場合は、サーチコンソールからURLの削除を行い、クローラにページが存在しなくなったことを伝えるのも一つの手段です。
SEOの内部施策を満たしたWebサイト制作
Webサイト制作に関して以下のお悩みを持ったことはありませんか?
「検索エンジンに好まれる内部施策をWebサイトに実装してくれるのか・・・」
「SEOに強いWebサイト制作会社を探してる・・・」
以前、私がWebサイト制作を外注する時に「SEO要件を満たしたWebサイトを作ってくれる会社なのか」「成果を最大化するアドバイスがもらえるのか」こうした会社を見つけることが出来ませんでした。
当社はWebサイト制作はもちろんのこと、SEO歴16年以上の実績を持つ「SEOの相談ができるWebサイト制作」を依頼できる会社です。なぜなら、SEO相談実績1000社以上で多くのWebサイトのSEO改善を図ってきたからです。また、経験豊富な専任コンサルタントが社内のSEOコンサルタントや制作チームと連携してWebマーケティングの収益最大化を目指すことができます。
当社の強みは以下にあります。
当社にWebサイト制作をお任せ頂いたお客様で様々な成果事例が報告されています。
当社は「SEO×クリエイティブ」のちからで課題を解決できるWebサイト制作の代行会社です。当社の「Webサイト制作サービス」をご確認ください。
以上、リダイレクトの考え方や具体的な設定方法をご紹介しました。
サイトに変更があった場合などは、適切にリダイレクト設定を行ってユーザーからの評価もSEO評価も維持しましょう。リダイレクトを行うときには、.htaccessに記述を行います。難しいと思われるかもしれませんが、この記事の参考コードを真似しながら試してみてください。
ディーエムソリューションズのSEOコンサルタント、犬塚と申します。 過去には、「SEOコンサルタントがこっそり教えるSEO施策のコツ」など、…
私たちがSEO事業をスタートした2006年のSEO施策は、現在の施策とは大きく異なるものでした。 人工的な外部リンクが隆盛を極め、とにかくリ…
皆さんはSEOを外注ではなく、自分で実施したいと考えたことはありませんか? 外部リンクによるSEOが終焉に近づき、コンテンツによるSEOが全…
みなさんはSEOにはブラックハットSEOとホワイトハットSEOと呼ばれる2つのアプローチがあることをご存知でしょうか?今回の記事ではブラック…
「WEBサイトの流入が増えない」「狙っているキーワードでの検索順位がなかなか上がらない」といったSEOに関する悩みを抱えているが、「原因が何…
日々進化し続けるGoogleのアルゴリズムに対し、最適化を図るSEO(Search Engine Optimization)もこれまでにいく…
今話題のAIによるコンテンツ自動生成機能も!SEO対策に本当に必要な機能だけを搭載した使いやすさとコストパフォーマンスに優れたWeb集客支援ツールです。
Webマーケティングに関わる施策全般をワンストップで
ご提供します。
お気軽にご相談ください。
Webマーケティング最新ニュースのレポートや無料セミナーの先行案内が届く、お得なメルマガ配信中!