URLの変更時にリダイレクトが必要な理由
リダイレクト(redirect)とは、ユーザーが古いURLにアクセスした際に、新しいURLに自動的に転送する仕組みのことを指します。この機能により、ユーザーは手間なく新しいサイトにアクセスできるようになります。
また、検索エンジン側でも古いURLから新しいURLへの評価を引き継ぐことができ、SEO対策の観点から非常に重要な役割を果たします。
URLの変更には、以下のようなケースが考えられます。
- ドメイン名の変更 (例: example.com → newexample.com)
- サブディレクトリの変更 (例: example.com/old/ → example.com/new/)
- ファイル名の変更 (例: example.com/oldpage.html → example.com/newpage.html)
- HTTPSへの移行 (例: http://example.com → https://example.com)
- WWWの有無の統一 (例: www.example.com → example.com)
このように、URLの変更は部分的なものから全面的なものまで様々なパターンがあります。変更の内容に合わせて、適切なリダイレクト設定を行う必要があります。
リダイレクトの種類
リダイレクトには、いくつかの種類があります。主なリダイレクトの種類とその特徴は以下の通りです。
301リダイレクト(恒久的リダイレクト)
- 最も一般的に使われるリダイレクトの種類
- ページの移転が永続的なものであることを示す
- 検索エンジンの評価を新しいURLに引き継ぐことができる
302リダイレクト(一時的リダイレクト)
- ページの移転が一時的なものであることを示す
- メンテナンス時の一時的な転送に使われる
- 検索エンジンの評価は引き継がれない
リダイレクトの方法
リダイレクトには、サーバー側で設定する方法とクライアント側(JavaScriptなど)で設定する方法がありますが、検索エンジンの評価継承の観点から、サーバー側での設定が推奨されています。
サーバー側での設定方法としては、「.htaccess」ファイルを使う方法が最も一般的で、レンタルサーバーでも対応しているケースが多いです。
「.htaccess」ファイルの書き方
「.htaccess」ファイルは、Apacheサーバーの設定を行うためのプレーンテキストファイルです。このファイルに適切な構文を記述することで、様々な機能を実現できます。リダイレクトの設定も「.htaccess」ファイルに記述します。
WordPressで作成されたWebサイトの場合、「.htaccess」に下記のような記述があります。
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
書き方
リダイレクトは、「# BEGIN WordPress」の前に記述しましょう。
リダイレクトの基本的な書き方は以下の通りです。
RewriteEngine On
RewriteRule 古いURL 新しいURL [R=301,L]
例えば、example.com/old-page
から example.com/new-page
へリダイレクトする場合は、以下のように記述します。
RewriteEngine On
RewriteRule ^old-page/$ /new-page/ [R=301,L]
この設定は、Apacheのmod_rewriteモジュールを使用して、特定のURLリダイレクトを行うためのものです。
具体的には以下のように動作します:
1. RewriteEngine On は、mod_rewriteを有効にするコマンドです。これがないと、後続のRewriteRuleは機能しません。
2. RewriteRule ^old-page/$ /new-page/ [R=301,L] は、具体的なリライトルールを定義しています。このルールにより、以下の動作が行われます:
- ^old-page/$ は、リクエストされたURLが old-page/ で終わる場合にマッチする正規表現です。^ は文字列の開始、$ は文字列の終了を意味します。
- /new-page/ はリダイレクト先のURLです。
- [R=301,L] はフラグで、R=301 はHTTPステータスコード301を使用してリダイレクトを行うことを指示し、「恒久的なリダイレクト」を意味します。L は「last」の略で、このルールが適用された後に他のルールは処理されないことを意味します。
この設定により、ユーザーが old-page/ にアクセスした場合、自動的に new-page/ に恒久的にリダイレクトされ、検索エンジンにもこの変更が恒久的であることが伝えられます。これは、ウェブサイトの構造が変更された際にSEOの影響を最小限に抑えるために有効です。
他にも、よく使われるリダイレクトの設定例を紹介します。
カテゴリ変更時のリダイレクト
の場合、
RewriteEngine On
RewriteRule ^category/ict/github/(.*)$ /category/ict/git-github/$1 [R=301,L]
この RewriteRule の説明:
RewriteEngine On
: mod_rewrite を有効にします。RewriteRule ^category/ict/github/(.*)$ /category/ict/git-github/$1 [R=301,L]
:^category/ict/github/(.*)$
: 旧カテゴリのURLパターンにマッチします。/category/ict/git-github/$1
: 新カテゴリのURLに置き換えます。$1
は旧URLの(.*)
にマッチした部分を表します。[R=301,L]
: 301(恒久的リダイレクト)を指定し、これが最後のルールであることを示します。
ドメイン変更時のリダイレクト
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com [NC]
RewriteRule ^(.*)$ https://www.newexample.com/$1 [R=301,L]
この設定では、example.comからnewexample.comへの完全なドメイン変更時のリダイレクトを行っています。
WWWの有無の統一(WWWなしに統一)
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
この設定では、WWWありのURLをWWWなしのURLに統一しています。
HTTPSへの完全移行(httpをhttpsに統一)
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
この設定では、HTTPからHTTPSへの完全移行を行っています。
このように、様々なケースに対応したリダイレクト設定が可能です。状況に合わせて適切な設定を行う必要があります。
「.htaccess」ファイルのアップロード
「.htaccess」ファイルにリダイレクトの設定を記述したら、サーバーにアップロードする必要があります。アップロード先は、トップディレクトリや、変更対象のディレクトリに合わせて決めます。アップロード先を間違えると、想定外の動作になる可能性があるので注意が必要です。
アップロードの方法は、FTPソフトを使う方法やWebベースのファイルマネージャーを使う方法などがあります。FTPソフトの場合は、「.htaccess」ファイルが隠しファイルとなっていることがあるので、設定を変更して隠しファイルも表示されるようにする必要があります。
また、アップロード前に必ず.htaccessファイルのバックアップを取っておくことをおすすめします。ミスした設定をアップロードしてしまうと、ウェブサイト自体が表示できなくなる可能性があるためです。
アップロード後に問題があった場合の対処法として、一旦バックアップから元の状態に戻します。
アップロード後の確認
アップロード後は、必ず動作確認を行いましょう。旧URLにアクセスして、新しいURLに正しく転送されることをWEBブラウザで確認します。
リダイレクトチェッカーなどのツールを使っても良いです。
動作確認で問題がなければ、リダイレクトの設定は完了です。この設定は恒久的なものなので、サーバー上から削除しないよう注意が必要です。
確認作業は、設定した全てのURLパターンで行う必要があります。一部のURLでリダイレクトが正常に動作していても、他のURLパターンで問題があれば意味がありません。したがって、設定を網羅的に確認することが大切です。
リダイレクト設定でよくある間違い
リダイレクト設定を行う際に、よくある間違いとしては以下のようなケースが挙げられます。
- 設定ファイルの構文ミス
- 正規表現の間違い
- アップロード先の間違い
- 小文字/大文字の区別ミス
リダイレクト設定と検索エンジン評価
リダイレクト設定を適切に行うことで、検索エンジンの評価を新しいURLに引き継ぐことができます。ただし、一時的なリダイレクト(302)の場合は評価が引き継がれないので注意が必要です。
検索エンジンの評価継承が重要なのは、サイトのSEO対策において、過去に蓄積された評価を失わずに済むからです。新しいURLからスタートした場合、検索ランキングが一気に下がってしまう可能性があります。
リダイレクトを設定することで、旧URLに対する評価を引き継げるため、スムーズにSEOを継続できます。このメリットを最大限に活かすために、恒久的なリダイレクト(301)を行うことが推奨されています。
まとめ
ウェブサイトのURLを変更する際は、リダイレクトの設定が欠かせません。適切なリダイレクト設定を行うことで、ユーザーが新しいURLに滞りなくアクセスでき、さらに検索エンジンの評価も引き継がれます。
リダイレクトの設定方法は様々ありますが、「.htaccess」ファイルを使う方法が一般的です。正しい構文を理解し、注意深くファイルを編集・アップロードすることが重要です。動作確認も怠らず、問題なければ恒久的にリダイレクトを維持しましょう。
リダイレクトの種類や設定例、よくある間違いなどを理解することで、スムーズな設定が可能になります。特に検索エンジン評価の継承は重要なポイントなので、恒久的なリダイレクト(301)を使う必要があります。
このように、URLの変更時にはリダイレクトの設定が不可欠であり、ウェブサイト運営における重要な作業の一つと言えます。適切な設定を行うことで、ユーザービリティの維持とSEO対策の両立が可能になります。
以下のリンクでは、WordPressに関する記事をまとめています。各記事をクリックして、詳しい情報をご確認ください。
- PHPとWordPress – ウェブ開発の強力なコンビネーション
- WordPressが利用可能なおすすめレンタルサーバー
- WordPressで独自ドメインを使用したウェブサイト開設ガイド
- WordPressの子テーマCSSと追加CSS:選び方とその影響
- WordPressをローカル環境で構築: 初心者のための段階的ガイド
- WordPressでカスタムリンクを新規タブで開く設定方法
- 【WordPress】新規記事の書き方・投稿方法
- ウェブサイトのURL変更時に必須!リダイレクト設定の徹底解説
- WordPressのサイト(URL)を変更する簡単な方法【手順】
- WordPress ダウンロード及びインストール【初心者にも簡単】