URL httpリダイレクトは、あるURLから別のURLへの自動URL変更操作です。
URLページのリダイレクトは、あるURLから別のURLへの自動URL変更操作です。
このリダイレクトは、次の理由で行われます。
ユーザーは、古い外部リンクまたはブックマークから古いURLにアクセスできます。
スクリプトを追加するサイトのウェブマスターによる。
サーバー側のリダイレクトは、Apache / IISサーバーソフトウェアを構成するか、PHP / ASP / ASP.NETスクリプトを使用して、サーバーで実行されます。
HTTP 301 Moved Permanentlyステータスコードを返すことができるため、これはURLをリダイレクトするための推奨される方法です。
検索エンジンは301ステータスを使用して、ページランクを古いURLから新しいURLに転送します。
クライアント側のリダイレクトは、ユーザーのWebブラウザーで、HTMLメタリフレッシュタグまたはJavascriptコードを使用して実行されます。
クライアントリダイレクトはHTTP301ステータスコードを返さないため、あまり好ましくありません。
ドメイン 名 |
ホスティング サーバー |
リダイレクトコードの 配置 |
---|---|---|
変更なし | 変更なし | 同じサーバー上の古いページ |
変更なし | かわった | 新しいサーバーの古いページ |
かわった | 変更なし | 同じサーバー上の古いページ |
かわった | かわった | 古いサーバーの古いページ |
* .htaccessリダイレクトの場合のみ:リダイレクトコードをhttpd.confファイルまたは.htaccessファイルに追加します。
ステータスコード | ステータスコード名 | 説明 |
---|---|---|
200 | OK | 成功したHTTPリクエスト |
300 | 複数の選択肢 | |
301 | 恒久的に移動 | 永続的なURLリダイレクト |
302 | 見つかりました | 一時的なURLリダイレクト |
303 | その他を見る | |
304 | 変更なし | |
305 | プロキシを使う | |
307 | 一時的なリダイレクト | |
404 | 見つかりません | URLが見つかりません |
HTTP 301 Moved Permanentlyステータスコードは、永続的なURLリダイレクトを意味します。
301リダイレクトは、URLが完全に移動したことを検索エンジンに通知するため、URLをリダイレクトするための推奨される方法です。検索エンジンは、古いURLページではなく新しいURLページを検索結果に配置し、新しいURLページを転送する必要があります。古いURLページのページランク。
301リダイレクトは、ドメイン間または同じドメインで実行できます。
Googleは301リダイレクトを使用することをお勧めします。
リダイレクトスクリプト | リダイレクト側 | 古いページのファイルタイプ | URLまたはドメインをリダイレクトする | 古いURLサーバータイプ | 301リダイレクトのサポート |
---|---|---|---|---|---|
PHP | サーバ側 | .php | URL | Apache / Linux | はい |
ASP | サーバ側 | .asp | URL | IIS / Windows | はい |
ASP.NET | サーバ側 | .aspx | URL | IIS / Windows | はい |
.htaccess | サーバ側 | すべて | URL /ドメイン | Apache / Linux | はい |
IIS | サーバ側 | すべて | URL /ドメイン | IIS / Windows | はい |
HTML正規リンクタグ | クライアント側 | .html | URL | すべて | いいえ |
HTMLメタリフレッシュ | クライアント側 | .html | URL | すべて | いいえ |
HTMLフレーム | クライアント側 | .html | URL | すべて | いいえ |
Javascript | クライアント側 | .html | URL | すべて | いいえ |
jQuery | クライアント側 | .html | URL | すべて | いいえ |
リダイレクトスクリプト-リダイレクトに使用されるスクリプト言語。
リダイレクト側-リダイレクトが行われる場所-サーバー側またはクライアント側。
古いページのファイルタイプ-リダイレクトコードのスクリプト言語を含めることができる古いURLページのタイプ。
URLまたはドメインのリダイレクト-単一のWebページのURLリダイレクトまたはWebサイト全体のドメインリダイレクトをサポートします。
典型的な古いURLサーバータイプ-サーバーの典型的なソフトウェアとオペレーティングシステム。
301リダイレクトサポート-永続的な301リダイレクトステータス応答を返すことができるかどうかを示します。
old-page.phpコードをnew-page.phpへのリダイレクトコードに置き換えます。
old_page.php:
<?php
// PHP permanent URL redirection
header("Location: http://www.mydomain.com/new-page.php", true,
301);
exit();
?/
古いページのファイル拡張子は.phpである必要があります。
新しいページには、任意の拡張子を付けることができます。
参照:PHPリダイレクト
.htaccessファイルは、Apacheサーバーのローカル構成ファイルです。
httpd.confファイルを変更する権限がある場合は、.htaccessファイルの代わりにRedirectディレクティブをhttpd.confに追加することをお勧めします。
old-page.htmlからnew-page.htmlへの永続的なリダイレクト。
.htaccess:
Redirect 301 /old-page.html http://www.mydomain.com/new-page.html
すべてのドメインページからnewdomain.comへの永続的なリダイレクト。
.htaccessファイルは、古いWebサイトのルートディレクトリにある必要があります。
.htaccess:
Redirect 301 / http://www.newdomain.com/
old-page.asp:
<%@ Language="VBScript" %/
<%
' ASP permanent URL redirection
Response.Status="301 Moved Permanently"
Response.AddHeader "Location", "http://www.mydomain.com/new-page.html"
Response.End
%/
old-page.aspx:
<script language="C#" runat="server"/
// ASP.net permanent URL redirection
private void Page_Load(object sender, EventArgs e)
{
Response.Status = "301 Moved Permanently";
Response.AddHeader("Location","http://www.mydomain.com/new-page.html");
Response.End();
}
</script/
HTMLメタリフレッシュタグのリダイレクトは、301の永続的なリダイレクトステータスコードを返しませんが、Googleでは301リダイレクトと見なします。
古いページを、リダイレクト先のページのURLを含むリダイレクトコードに置き換えます。
old-page.html:
<!-- HTML meta refresh URL redirection --/
<html/
<head/
<meta http-equiv="refresh"
content="0; url=http://www.mydomain.com/new-page.html"/
</head/
<body>
<p>The page has moved to:
<a href="http://www.mydomain.com/new-page.html">this
page</a></p>
</body>
</html>
参照:HTMLリダイレクト
Javascriptリダイレクトは、301の永続的なリダイレクトステータスコードを返しません。
古いページを、リダイレクト先のページのURLを含むリダイレクトコードに置き換えます。
old-page.html:
<html>
<body>
<script type="text/javascript">
// Javascript URL redirection
window.location.replace("http://www.mydomain.com/new-page.html");
</script>
</body>
</html>
jQueryリダイレクトは、実際には別のタイプのJavascriptリダイレクトです。
jQueryリダイレクトは301の永続的なリダイレクトステータスコードを返しません。
古いページを、リダイレクト先のページのURLを含むリダイレクトコードに置き換えます。
old-page.html:
<!DOCTYPE html>
<html>
<body>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
//
jQuery URL redirection
$(document).ready( function() {
url = "http://www.mydomain.com/new-page.html";
$( location ).attr("href",
url);
});
</script>
</body>
</html>
参照:jQueryリダイレクト
正規リンクはpreffredURLにリダイレクトされませんが、トラフィックのほとんどが検索エンジンから到着するWebサイトのURLリダイレクトの代わりになる可能性があります。
HTML正規リンクタグは、類似したコンテンツを持つページが複数あり、検索結果で使用するページを検索エンジンに通知する場合に使用できます。
正規リンクタグは、同じドメインおよびクロスドメインにリンクできます。
正規リンクタグを古いページに追加して、新しいページにリンクします。
推奨するページに正規リンクタグを追加して、検索エンジンのトラフィックが優先されるページにリンクされないようにします。
正規リンクタグは、<head>セクションに追加する必要があります。
old-page.html:
<link rel="canonical" href="http://www.mydomain.com/new-page.html">
参照:正規URLリンク
フレームリダイレクトでは、new-page.htmlファイルはhtmlフレームによって表示されます。
これは実際のURLリダイレクトではありません。
フレームリダイレクトは検索エンジンに対応していないため、お勧めしません。
old-page.html:
<!-- HTML frame redirection -->
<html>
<head>
<title>Title of new page</title>
</head>
<frameset cols="100%">
<frame src="http://www.mydomain.com/new-page.html">
<noframes>
<a href="http://www.mydomain.com/new-page.html">Link
to new page</a>
</noframes>
</frameset>
</html>