301リダイレクトとは何ですか?WordPressで設定する方法

公開: 2018-07-25

301リダイレクトは転送中です。 これは、ユーザーが最初に要求したものとは異なる別のURL(ページまたはサイトエントリ)にユーザーをリダイレクトするために使用されます。 たとえば、アドレスバーのユーザーが適切に構成されているときにyour-site.comを書き込んでいる場合は、www.your-site.comにアクセスするか、その逆になります。  

さらに、既存のトラフィックとSEOを維持しながら、これらのリダイレクトの実装を支援します。

5種類のURLリダイレクト

  • 301 –永続的なリダイレクト。 ページが永久にその場所を変更したことを検索エンジンに伝えるために使用されます。 99.44%の場合、このタイプを使用します。
  • 302 –一時的なリダイレクト。 ページが永久にではなく現時点でその場所を変更したことを検索エンジンに伝えるために使用されます。
  • 303 –その他のリダイレクトを参照してください。 オンラインストアで、1回限りのデータを含むページがタブに追加されたか、単に更新されたかを確認するために使用されることがあります。 この応答コードは、元のクエリが別のメソッドで実行された場合でも、要求されたドキュメントをGETメソッドで要求する必要があることをブラウザに通知します。 これは、HTTP/1.1プロトコルの302コードを置き換えるために入力された応答コードです。
  • 307 –「要求されたドキュメントは別のURIで短時間利用可能です」、要求されたドキュメントはプライマリ要求が行われたメソッド(GET / POST)によって要求される必要があることをブラウザに通知し、クエリメソッドを変更します禁止されています。 この応答コードは、HTTP/1.1プロトコルの302コードを置き換えるためにも入力されます。 一時的なリダイレクト。 303リダイレクトのように機能しますが、あるページから別のページに情報を転送する方法にいくつかの変更があります。
  • 308 –「要求されたドキュメントは最終的に新しいURIに移行されました」、この応答コードはコード301ではなくHTTP / 1.1に追加されました。さらに、新しいときに要求メソッド(GET / POST)を変更できないことを意味します。 URIが移行されます。 GETメソッドを使用して最初のクエリでリソースをリクエストした場合は、2番目のクエリもGETメソッドを使用して実行する必要があります。

ほとんどの場合、リダイレクトの場合、応答コードは301であるため、リダイレクトは301リダイレクトとも呼ばれます。 この記事のすべての例では、この応答コードを使用します。 PHP、JS、.htaccess、および特別なプラグインを使用するなど、さまざまな方法で301リダイレクトを構成できます。

リダイレクトプラグインを使用してこれを行う方法と、.htaccessファイルを編集する方法を見ていきます。

WordPressリダイレクトプラグイン

WordPressリダイレクトプラグイン

サイトにリダイレクトを手動で追加するプロセスは非常に複雑になる可能性があります。この場合、.htaccessファイルを編集する必要があるためです。 しかし、WordPressの世界には、WordPressコンソールでリダイレクトを処理できるJohnGodleyの素晴らしいリダイレクトプラグインがあります。

このプラグインはすでに長い間市場に出回っており、アドレスリストをテーブルにインポートするのが非常に簡単であるため人気があり、すべてのリダイレクトを手動で入力する必要はありません。

02-301リダイレクト-今すぐインストール

プラグインをインストールするには、WordPressコンソールの[プラグイン]→[新規追加]の検索に「リダイレクト」と入力するだけです。

アクティベーション後、[ツール]→[リダイレクト]からプラグインメニューを見つけることができます。

301リダイレクトとは何ですか?WordPressで設定する方法

リダイレクトを手動で作成するには、適切なフィールドにソースURLと新しい宛先URLを入力し、[リダイレクトの追加]ボタンをクリックするだけです。 これは、いくつかの変更を加える必要がある場合に、優れた簡単な方法です。

.htaccessファイルを編集して301リダイレクトを追加する

ホスティング管理セクションでは、FTP経由でサイトファイルに接続するためのデータを指定します。 接続するには、FileZillaなどのftpクライアントを使用する必要があります。
接続後、.htaccessファイルの編集を開始します。 これは、サイトのルートディレクトリにあります。

編集には、メモ帳++など、行末のエンコーディングとフォーマットを指定できるコードエディタを使用する必要があります。

リダイレクトの例:

HTTPからHTTPSへのリダイレクト

すべてのWebサイトのリンクを含め、http://example.comをhttps://example.comにリダイレクトします。
ssl-certificateに接続した後、すべての接続が暗号化されるように、httpからhttpsへの必須のリダイレクトを追加する必要があります。 このようなリダイレクトは、httpプロトコルを介して接続する可能性を排除します。

これを行うには、.htaccessファイルの先頭に次のコードを挿入します。

# BEGIN Redirect
RewriteEngine On
RewriteCond% {HTTP: X-Forwarded-Proto}! Https
RewriteRule ^ (. *) $ Https: //% {HTTP_HOST}% {REQUEST_URI} [L, R = 301] 

# END Redirect


WWWから非WWWへのリダイレクト

リンクを含めて、www.example.comからexample.comにリダイレクトします。

# BEGIN Redirect
RewriteEngine On
RewriteBase /
RewriteCond% {HTTP_HOST} ^ www. (. *) $ [NC] RewriteRule ^ (. *) $ Http: //% 1 / $ 1 [R = 301, L] 

# END Redirect

ssl証明書が添付されている場合は、次の行に注意してください。

RewriteRule ^ (. *) $ Http: //% 1 / $ 1 [R = 301, L]

次のように変更する価値があります。

RewriteRule ^ (. *) $ Https: //% 1 / $ 1 [R = 301, L]

非WWWからWWWへのリダイレクト

# BEGIN Redirect
RewriteEngine On
RewriteCond% {HTTP_HOST}! ^ Www.
RewriteRule ^ (. *) $ Http: //www.% {HTTP_HOST} / $ 1 [R = 301, L]

 # END Redirect

 

ssl証明書が添付されている場合は、次の行に注意してください。

RewriteRule ^ (. *) $ Http: //www.% {HTTP_HOST} / $ 1 [R = 301, L] 

次のように変更する価値があります。

RewriteRule ^ (. *) $ Https: //www.% {HTTP_HOST} / $ 1 [R = 301, L] 

このリダイレクトを設定するときは、wwwを追加してデータベース内のサイトの名前を変更する必要があります。 行を編集して、phpMyAdminでこれを行う必要があります
wp_optionsテーブルのsiteurlとhome(データベースのテーブルプレフィックスが「wp_」の場合)。

.htaccessファイルでのリダイレクトの使用

上記のリダイレクトのいくつかを使用する場合は、次の順序でそれらを記述する必要があります。

www.example.comからexample.comにリダイレクトするか、example.comをwww.example.comにリダイレクトします。

http://example.comをhttps://example.comにリダイレクトします。

特に正規表現を使用するルールは他にもたくさんあります。 ただし、これらは個別であり、上記のように頻繁に必要とされるわけではなく、その説明はこの記事の範囲を超えています。

より複雑なリダイレクトルールを作成する必要がある場合は、apache 2 Webサーバーとそのmod_rewriteモジュール、およびPCRE形式の正規表現に関するドキュメントを参照することをお勧めします。

https://httpd.apache.org/docs/2.4/mod/mod_rewrite.html
https://httpd.apache.org/docs/2.4/rewrite/
http://pcre.org/current/doc/html/