SEO 规则模板

作者:Ruslan Yakushev

规则模板用于提供一种简单的方法来为特定方案创建一个或多个重写规则。 URL 重写模块 2 包含多个规则模板,它们用于一些常见使用方案。 此外,URL 重写模块 UI 还提供了一个用于插入自定义规则模板的框架。 本演练将指导你使用“搜索引擎优化”规则模板,以确保 Web 应用程序上的页面使用的 URL 对于搜索引擎排名而言是最佳的。

先决条件

本演练要求满足以下先决条件:

  • 启用了 ASP.NET 角色服务的 IIS 7 或更高版本;
  • 已安装 URL 重写模块 2.0;

设置测试网页

你将使用一个简单的测试 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 并在末尾添加以下两行:

127.0.0.1 www_contoso_com
127.0.0.1 contoso_com

注意:使用“_”而不是“.”作为域分隔符。 这是为了防止 Web 浏览器尝试使用域名系统 (DNS) 服务器解析域名。

打开 Web 浏览器并转到以下 URL,验证主机名和网页设置是否正确:

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 Analytics 统计信息被拆分。

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 分析报告中。

你需要确保在有人使用非规范链接访问网站的情况下,将其重定向到仅使用小写字符的规范 URL。 “强制使用小写 URL”规则模板可用于生成以下重定向规则:

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

单击“确定”以生成重定向规则:

生成规则后,打开 Web 浏览器并向 http://contoso_com/Article/123/Some-Title 发出请求。 Web 浏览器将重定向到 http://contoso_com/article/123/some-title/

规范域名

通常,你可能有一个 IIS 网站使用多个不同的主机名,例如 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/

总结

在本演练中,你已了解如何使用搜索引擎优化规则模板生成重定向规则,这些规则有助于提高网站的搜索引擎排名和可用性。 若要详细了解 IIS 中可用的搜索引擎优化工具的详细信息,请参阅搜索引擎优化工具包