※ 当ページのリンクには広告が含まれています。
こんにちは "osaboo"です。"@osaboo_Bot"
WordPressのリダイレクト方法をご紹介します。
プラグインを使って簡単にできる方法もありますが「サイトスピード・プラグインを破棄した場合のメンテ」等を考慮して、プラグインを使わずにリダイレクトする方法をお届けします。
それではご覧ください!
\初心者でも安心! コスパ最強の洗練されたWordPressテーマ/
\\『すごいもくじLITE』が付いてくる!限定特典キャンペーン実施中!//
- 少しづつ増え続ける当サイトオリジナル特典付!-
リダイレクトとは?(4種類)
リダイレクトとは、ユーザーが特定のURLにアクセスした際に別のURLに自動的に転送する仕組みのことです。一般的には、ウェブサーバーの設定やプログラミング言語のフレームワークを使用して設定します。
リダイレクトには、301 Moved Permanently (恒久的に移動) と302 Found (一時的に移動) の2種類のタイプがあり、これらのコードを使用して、ブラウザーが新しい場所に自動的にリダイレクトします。
さらに、301リダイレクトには、クライアントサイドリダイレクト」とサーバーサイドリダイレクトの2種類があります。
※ Googleは、サーバーサイドリダイレクトを推奨しています。
それでは、4種類の詳細を見ていきましょう。
301リダイレクト
301リダイレクト は、ウェブサイトのURLが変更された場合や、古いコンテンツが新しい場所に移動された場合などに使用される、HTTPステータスコードの一つです。
301リダイレクトは、永久的な移動を示します。ブラウザや検索エンジンに対してリダイレクト先の新しいURLを通知します。
ウェブサイトの所有者が古いURLから新しいURLへの移動を行った場合、301リダイレクトを設定することで、ユーザーが古いURLにアクセスした際に自動的に新しいURLに転送されるようになります。これにより、ユーザーエクスペリエンスを維持し、検索エンジンのランキングやインデックスへの影響を最小限に抑えることができます。
302リダイレクト
302リダイレクトは、ウェブサーバーからのHTTPステータスコードの一つで、一時的なリダイレクトを示します。クライアントがリクエストしたリソースが一時的に別の場所にある場合に使用されます。
302リダイレクトは、リクエストされたリソースが将来的には元の場所に戻る可能性がある場合に適しています。ブラウザはこのステータスコードを受け取ると、リダイレクト先のURLに再度リクエストを送信し、そのリソースを取得します。
一時的なリダイレクトの例としては、サイトのメンテナンス中に一時的に別のサーバーにトラフィックをリダイレクトする場合などがあります。302リダイレクトは、リソースのURIが将来的に変更される場合や、セッションの一時的なリダイレクトを行う際にも利用されます。
301と302リダイレクトの使い分け注意事項
301リダイレクトは「旧URLから新URLに完全に移転したこと」を検索エンジンに伝えます。
302リダイレクトは「再び旧URLに戻る可能性があること」を検索エンジンに伝えます。
そのため、検索エンジンが表示する検索結果は、通常「301リダイレクトは、新URLのページを表示」「302リダイレクトは、旧URLのページを表示」します。
ということは…リニューアルなどの場合に302リダイレクトを使用してしまうと、新しいWebサイトがいつまで経っても検索結果に表示されないということになるので、十分注意しましょう。
クライアントサイドリダイレクト
クライアントサイドリダイレクトとは、HTMLに転送先の情報を記述する方法です。
このサイトは、新サイトへ移転しました。
5秒後に新サイトへ自動的に移ります。
自動で転送されなければ、下記のURLをクリックしてください。
URLを表示したときに、上記のようなテキストリンクが表示されるサイトは、クライアントサイドでリダイレクトが設定されているものと思われます。
サーバーサイドリダイレクト(HTTPリダイレクト)
サーバーサイドリダイレクトとは、サーバーで設定するリダイレクト方法です。「.htaccess」というサーバー設定ファイルに記述を追加して、リダイレクトを設定します。
リダイレクト前のURLにアクセスすると、自動的にサーバーがリダイレクト先のURLを返す設定をするので、ユーザーは旧URLにアクセスすることはありません。旧URLにアクセスしても、新URLのページに遷移します。
Googleは、サーバーサイドリダイレクトを推奨しています。
リダイレクトの目的とタイミング
この章では、リダイレクトの目的とタイミングについてご紹介します。
リダイレクトの目的
リダイレクトの目的は主に2つです。
- ユーザビリティの向上
- SEO対策
ユーザビリティの向上
リダイレクトを行わずにURLを変更してしまうと、404エラー(404 not found)という 指定したURLは今現在存在しないページであるというエラーが出てしまいます。
ユーザーは「サイト・ページ」を訪れて404エラーが出た場合、無くなったと判断してしまいます。実際には、リニューアルして、新しい「サイト・ページ」に移ったにもかかわらず、ブックマークからの検索できないことから、無くなったと勘違いしてしまいます。(大きな損失)
このような状況を回避するために 古いURLから新しいURLに自動的に転送するリダイレクトは、ユーザーの満足度や評価を損なわないようにするために必須と言えます。
SEO対策
SEO(検索エンジン最適化)の観点からも、リダイレクトは「ユーザビリティの向上」で記述した内容と同じことが言えます。
例えば、Google検索で上位表示されていた「サイト・ページ」をリダイレクトしないで URL変更した場合、上位表示されていた検索欄からは「404エラー」が表示され、新規ユーザの獲得ができなくなってしまいます。また、リニューアルした「サイト・ページ」の検索順位は、下位表示されてしまいます。
簡単に言えば、今までの蓄積された「サイト・ページ」の評価が無くなってしまうということになります。
以上のように、リダイレクトはユーザビリティとともに、SEO対策にも関係していることから、非常に重要であると言えます。
リダイレクトのタイミング
- サイト移転・リニューアルでURL変更をする場合
- サイトのドメインを変更する場合
- PCとスマートフォンでサイトのURLが異なる場合
- サイトメンテナンスページへ一時的に転送する場合
- 期間限定キャンペーンページ等、一定期間だけ転送する場合
サイト移転・リニューアルでURL変更をする場合
サイトを移転したり、リニューアルしたりする際にURLを変更する場合、リダイレクトは必須と言えます。
サイトのドメインを変更する場合
「www」なしのWebサイトのURLに「www」をつけるときや、「http」から「https」に変更する場合、つまりSSL化を実施するときなどにもリダイレクトを行うことがあります。
※ サブドメインやサブディレクトリにサイトを移転する場合も同様です。
PCとスマートフォンでサイトのURLが異なる場合
スマートフォンユーザーがPCサイトにアクセスしたときに、自動的にスマートフォンサイトに転送させたいときなどにもリダイレクトは利用されています。
サイトメンテナンスページへ一時的に転送する場合
サーバーエラーやメンテナンスなどの際に、一時的に「ただいまメンテナンス中です」等を記述したページへ転送する場合に利用します。
※ 企業サイトに多々ありますが、個人サイトではあまり見かけません。
期間限定キャンペーンページ等、一定期間だけ転送する場合
期間限定のキャンペーンページ等、一時的に転送する場合にリダイレクトを利用することがあります。
「.htaccess」の記述
「.htaccess」とは、サーバー上のWordPressをインストールしたドメインやディレクトリの直下にある設定ファイルで、リダイレクトの他にも、ルールに沿った記述をすることでさまざまな設定を行うことができます。
「.htaccess」ファイルは、テキストエディタを用いて作成します。
記述する内容は「ページ単位・ディレクトリ単位・ドメイン単位・URL正規化」等のリダイレクトによって異なります。
それでは順番に見ていきましょう。
ページ単位
注意当サイトのURLをベースに以下サンプルを記述しています。
「osaboo.nfo」「old_page」「new_page」は、自身のサイトに合わせて変更してください。
古いページから新しいページへリダイレクトする記述です。
「https://osaboo.info/old_page/」から「https://osaboo.info/new_page/」に転送させる記述です。
RewriteEngine on
RewriteRule ^old_page/$ https://osaboo.info/new_page/ [L,R=301]
ディレクトリ単位
注意当サイトのURLをベースに以下サンプルを記述しています。
「osaboo.nfo」「old_dr」「new_dr」は、自身のサイトに合わせて変更してください。
古いディレクトリから新しいディレクトリへリダイレクトする記述です。
「https://osaboo.info/old_dr/」から「https://osaboo.info/new_dr/」に転送させる記述です。
RewriteEngine On
RewriteRule ^old_dr(.*)$ /new_dr$1 [L,R=301]
※ 古いディレクトリ以下の全てのページが新しいディレクトリへリダイレクトされます。
ドメイン単位
注意当サイトのURLをベースに以下サンプルを記述しています。
「osaboo.info」「osaboo_old.info」「osaboo_new.info」は、自身のサイトに合わせて変更してください。
「https://osaboo_old.info/」から「https://osaboo_new.info/」に転送させる記述です。
RewriteEngine On
RewriteCond %{HTTP_HOST} ^osaboo_old.info RewriteRule ^(.*) https://osaboo_new.info/$1 [R=301,L]
※ 古いドメイン以下の全てのページが新しいドメインへリダイレクトされます。
URL正規化
ロリポップ!公式サイト:URL書き換え ◀︎ 左記リンクで…以下のコードが確認できます。
- www無しのURLに統一
- www有りのURLに統一
- index.html無しのURLに統一
- httpをhttpsに統一
各コードと操作手順を解説しています。(参考にしてみてください)
ページが分散されている場合に 対処するとSEO的に有効です。
ロリポップ!公式サイト:URL書き換え をベースに当サイトのURLを当てはめたコードサンプルを以下に掲示しておきます。(コピペの参考にしてください)
注意当サイトのURLをベースに以下サンプルを記述しています。
「osaboo.info」は、自身のサイトに合わせて変更してください。
RewriteEngine On
# www無しのURLに統一
RewriteCond %{HTTP_HOST} ^www\.osaboo\.info
RewriteRule ^(.*) https://osaboo.info/$1 [R=301,L]
RewriteEngine On
# www有りのURLに統一
RewriteCond %{HTTP_HOST} ^osaboo\.info
RewriteRule ^(.*) http://www.osaboo.info/$1 [R=301,L]
RewriteEngine On
# httpをhttpsに統一
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteEngine On
# index.html無しのURLに統一
RewriteCond %{THE_REQUEST} ^.*/index.html
RewriteRule ^(.*)index.html$ http://hogemoge.com/$1 [R=301,L]
参考ロリポップでの操作手順「http→https に統合する場合」
「.htaccess」の記述がわかったところで…ロリポップ!レンタルサーバーでの具体的な作業手順をご紹介します。
記述するコードは以下のようになります。
<IfModule mod_rewrite.c.>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
補足
<IfModule mod_rewrite.c.>…コード内容…</IfModule>
Apache HTTP Serverの設定ファイル(通常は.htaccessファイル)内で使用されるディレクティブの一つです。これは、特定のApacheモジュール(この場合はmod_rewrite)がサーバーで有効になっているかどうかを確認するための条件文です。もしmod_rewriteが有効であれば、その内部の設定が適用されます。無効であれば、その内部の設定は無視されます。
STEP1ロリポップ!レンタルサーバーにログインします。
ロリポップ!レンタルサーバーにログインします。
ユーサー専用ページのログイン画面が表示されます。
『ロリポップ!のドメイン』にログインします。
STEP2ロリポップ!FTPを起動して「.htaccess」を開きます。
ログインが完了すると、ユーザー専用ページのトップ画面が表示されます。
ロリポップレンタルサーバー(LOLIPOP! RENTAL SERVER FTP)画面が表示されます。
ファイル(フォルダー)が表示されます。(通常、一番上に表示されるファイルです)
STEP3「.htaccess」にコードを記述
「.htaccess」を開いたら 右側にある『現在の属性:644』を呼び出しのチェックを外して『604』に変更します。
「.htaccess」ファイルを 以下の画面が表示されるところまで、下側にスクロールします。
詳細ピックアップ
以下のコードを「# BEGIN WordPress」の上に貼り付けます。
<IfModule mod_rewrite.c.>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
詳細ピックアップ
以下のように表示されれば「OK」です。
「.htaccess」の記述が終了したら『現在の属性:604』を呼び出しのチェックを入れて『644』に戻します。
ページ最下部にある『保存する』をクリックして完了です。
以上で、今までhttpとhttpsで表示されていた同じページが統一されました。
「URLを確認してみてください」どちらもhttpsで表示されるようになっている筈です。
(httpが 表示されなければ 正常に動作しています)
今回、ご紹介した別のコードでリダイレクトする場合も要領は同じです。
是非、チャレンジしてみてくださいね。^^/
\初心者でも安心! コスパ最強の洗練されたWordPressテーマ/
\\『すごいもくじLITE』が付いてくる!限定特典キャンペーン実施中!//
- 少しづつ増え続ける当サイトオリジナル特典付!-
まとめ!WordPressのリダイレクト方法!【プラグインなし▶︎.htaccess】ロリポップ編
WordPressのリダイレクトをプラグイン無しで行う方法をご紹介しました。初心者の方は ちょっとドキドキするかもですが…決して難しくないので!!古いページを新しいURLにしたいとか、同じページで複数のURLがある等、リダイレクトする必要があれば…是非、この記事を参考にチャレンジしてみてください。
この記事がお役に立てば嬉しいです。
「最後まで、ご観覧いただきありがとうございました。」
また、次の記事で…お会いしましょう。\^^/