SEO ルール テンプレート

作成者: Ruslan Yakushev

ルール テンプレートは、特定のシナリオに対して 1 つ以上の書き換えルールを作成する簡単な方法を提供するために使用されます。 URL Rewrite Module 2 には、一般的な使用シナリオ用のいくつかのルール テンプレートが含まれています。 その URL Rewrite Module UI に加えて、カスタム ルール テンプレートを接続するためのフレームワークも用意されています。 このチュートリアルでは、"検索エンジンの最適化" ルール テンプレートを使用して、Web アプリケーション上のページで使用される URL が検索エンジンのランク付けに最適であることを確認する方法について説明します。

前提条件

このチュートリアルでは、次の前提条件が必要です:

  • ASP.NET 役割サービスが有効になっている IIS 7.0 以降;
  • URL Rewrite Module 2.0 がインストールされていること;

テスト Web ページの設定

単純なテスト asp.net ページを使用して、テンプレートによって作成されたルールが正しく機能することを確認します。 このテスト ページは、単に Web サーバー変数を読み取り、その値をブラウザーに出力するだけです。

次の ASP.NET コードをコピーし、article.aspx という名前のファイルで %SystemDrive%\inetpub\wwwroot\ フォルダー内に配置します。

<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>URL Rewrite Module Test</title>
</head>
<body>
    <h1>URL Rewrite Module Test Page</h1>
        <table>
            <tr>
                <th>Server Variable</th>
                <th>Value</th>
            </tr>
            <tr>
                <td>Original URL: </td>
                <td><%= Request.ServerVariables["HTTP_X_ORIGINAL_URL"] %></td>
            </tr>
            <tr>
                <td>Final URL: </td>
                <td><%= Request.ServerVariables["SCRIPT_NAME"] %>?<%= Request.ServerVariables["QUERY_STRING"] %></td>
            </tr>
            <tr>
                <td>Public Link: </td>
                <td><a href="<%= Request.ServerVariables["SCRIPT_NAME"] + "?" + Request.ServerVariables["QUERY_STRING"] %>">Link URL</a></td>
            </tr>
        </table>
    </body>
</html>

メモ帳を使用して、%SystemDrive%\windows\system32\drivers\etc\hosts を開き、末尾に次の 2 行を追加します。

127.0.0.1 www_contoso_com
127.0.0.1 contoso_com

注: ドメイン区切り記号として "." の代わりに "_" を使用しています。 これは、Web ブラウザーで、ドメイン ネーム システム (DNS) サーバーを使用してドメイン名の解決が試みられないようにするためです。

Web ブラウザーを開き、次の URL に移動して、ホスト名と Web ページが正しくセットアップされたことを確認します。

http://www_contoso_com/article.aspx?id=123&title=some-title
http://contoso_come/article.aspx?id=123&title=some-title

最後に、"ユーザー フレンドリな URL" ルール テンプレートを使用して、クエリ文字列パラメータを使用する URL ではなく、クリーン階層のベース URL を使用できるようにする受信書き換えルールを生成します (詳細については、ユーザー フレンドリ URL - ルール テンプレートを参照してください)。

Screenshot of Add Rules to Enable User-friendly U R Ls screen with the public U R L dialog being highlighted.

Web ブラウザーを開き、http://contoso_com/article/123/some-title に対して要求を行って、ルールが正しく生成されたことを確認します。

Screenshot of the U R L Rewrite Module Test Page webpage.

"末尾のスラッシュを強制する" ルール テンプレート

多くの Web アプリケーションでは、"仮想 URL" を使用します。これは、Web サーバーのファイル システム上のファイルおよびディレクトリのレイアウトに直接マップされない URL です。 このような URL の例として、http://contoso_com/article/123/some-title があります。 末尾のスラッシュの有無にかかわらず、この URL の要求を試みると、引き続き同じページが表示されます。 これは人間の訪問者にとっては問題ありませんが、検索エンジン クローラーや Web 分析サービスにとっては問題となる可能性があります。 URL が異なる同じページをクローラーが訪問したときに、その同じページが異なるページとして扱われ、ページのランク付けに影響を与える可能性があります。 また、このページの Web 分析統計情報も分散されます。

URL の末尾にスラッシュを配置するかどうかは好みの問題ですが、どちらか選んだ後は、"末尾にスラッシュ記号を追加するか、削除する" ルール テンプレートを使用して正規 URL 形式を強制することができます。

Screenshot of the Add Rule(s) screen with the Append or remove trailing slash symbol option being highlighted.

すべての "仮想 URL" の末尾に常にスラッシュを追加するか、常に削除するかを選択します。

Screenshot of the Add a rule to append or remove the trailing slash symbol screen with the Appended if it does not exist option being highlighted.

ルールが生成されたら、Web ブラウザーを開き、http://contoso_com/article/123/some-title に対して要求を行います。 Web ブラウザーは http://contoso_com/article/123/some-title/ にリダイレクトされます。

Screenshot of the U R L Rewrite Module Test Page webpage with the U R L of the webpage being highlighted.

小文字の URL を強制する

末尾のスラッシュのような問題は、たとえば http://contoso_com/Article/123/Some-Title と http://contoso_com/article/123/some-title. のように、誰かが自分の Web ページにリンクするときの大文字と小文字の使い分けが一致しないときに発生する可能性があります。 この場合も、検索クローラーは同じページを 2 つの異なるページとして扱い、2 つの異なる統計セットが Web Analytics レポートに表示されます。

行いたいのは、非正規リンクを使用して自分の Web サイトを訪問した人を、小文字のみを使用する正規の URL にリダイレクトすることです。 "小文字の URL を強制する" ルール テンプレートを使用して、そのためのリダイレクト ルールを生成することができます。

Screenshot of the Add Rule(s) screen with the Enforce lowercase U R Ls option being highlighted.

[OK] をクリックして、リダイレクト ルールを生成します。

ルールが生成されたら、Web ブラウザーを開き、http://contoso_com/Article/123/Some-Title に対して要求を行います。 Web ブラウザーは http://contoso_com/article/123/some-title/ にリダイレクトされます。

正規ドメイン名

1 つの IIS Web サイトで、たとえば http://contoso.com/http://www.contoso.com のように、複数の異なるホスト名を使用することが非常によくあります。 または、最近 oldsitename.com から newsitename.com にドメイン名を変更し、訪問者にはサイトへのリンクをブックマークするときに新しいドメイン名を使用してもらいたい場合があるかもしれません。

特定のドメイン名形式の使用を強制するには、"正規ドメイン名" ルール テンプレートを使用します。

Screenshot of the Add Rule(s) screen with the Canonical domain name option being highlighted.

サイトに強制するドメイン名を入力します (例: contoso_com)。

Screenshot of the Add a rule to redirect to a canonical domain name screen with the primary host name being set to contoso_com.

ルールが生成されたら、Web ブラウザーを開き、http://www_contoso_com/Article/123/Some-Title に対して要求を行います。 Web ブラウザーは http://contoso_com/article/123/some-title/ にリダイレクトされます。

まとめ

このチュートリアルでは、"検索エンジンの最適化" ルール テンプレートを使用して、検索エンジンのランク付けと Web サイトの使いやすさを向上させるために役立つリダイレクト ルールを生成する方法について説明しました。 IIS で使用できる検索エンジン最適化ツールの詳細については、検索エンジン最適化ツールキットを参照してください。