共用方式為


SEO 規則範本

作者 :Ruslan Yakushev

規則範本可用來為特定案例建立一或多個重寫規則的簡單方式。 URL 重寫模組 2 包含一些常見使用案例的規則範本。 除了該 URL 重寫模組 UI 之外,還提供插入自訂規則範本的架構。 本逐步解說將引導您瞭解如何使用「搜尋引擎優化」規則範本,以確保 Web 應用程式網頁所使用的 URL 最適合搜尋引擎排名。

必要條件

本逐步解說需要下列必要條件:

  • 已啟用 ASP.NET 角色服務的 IIS 7 或更新版本;
  • 已安裝 URL 重寫模組 2.0;

設定測試網頁

您將使用簡單的測試 asp.net 頁面,以確認範本所建立的規則正常運作。 測試頁面只會讀取網頁伺服器變數,並在瀏覽器中輸出其值。

複製下列 ASP.NET 程式碼,並將其放在 %SystemDrive%\inetpub\wwwroot\ 名為 article.aspx 的檔案資料夾中:

<%@ 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

注意:您是針對網域分隔符號使用 「_」 而非 「.」。 這是為了避免網頁瀏覽器嘗試使用網域名稱系統 (DNS) 伺服器解析功能變數名稱。

開啟網頁瀏覽器並移至 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 - 規則範本 以取得詳細資訊) :

[新增規則以啟用使用者易記 U R Ls] 畫面的螢幕擷取畫面,其中已醒目提示公用 U R L 對話方塊。

開啟網頁瀏覽器並提出要求, http://contoso_com/article/123/some-title 以確認規則已正確產生:

U R L 重寫模組測試頁面網頁的螢幕擷取畫面。

強制執行尾端斜線規則範本

許多 Web 應用程式都使用「虛擬 URL」,也就是未直接對應至網頁伺服器檔案系統上檔案和目錄配置的 URL。 這類 URL 的範例為 http://contoso_com/article/123/some-title 。 如果您嘗試使用或沒有尾端斜線來要求此 URL,您仍會收到相同的頁面。 這適用于人類訪客,但搜尋引擎編目程式以及 Web 分析服務可能會有問題。 相同頁面的不同 URL 可能會導致編目程式將相同的頁面視為不同的頁面,因而影響頁面排名。 它們也會造成此頁面的 Web Analytics 統計資料被分割。

在 URL 中擁有或沒有尾端斜線是一件好事,但一旦您做出選擇後,就可以使用「附加或移除尾端斜線符號」規則範本來強制執行標準 URL 格式:

[新增規則] (的) 螢幕擷取畫面,其中已醒目提示 [附加] 或 [移除尾端斜線符號] 選項。

選擇您要一律新增或一律從所有「虛擬 URL」移除尾端斜線:

新增規則以附加或移除結尾斜線符號畫面的螢幕擷取畫面,如果它不存在,則會反白顯示。

產生規則之後,請開啟網頁瀏覽器,然後向 提出要求 http://contoso_com/article/123/some-title 。 網頁瀏覽器會重新導向至 http://contoso_com/article/123/some-title/

U R L 重寫模組測試頁面網頁的螢幕擷取畫面,其中已醒目提示網頁的 U R L。

強制執行小寫 URL

當有人使用不同的大小寫連結至網頁時,可能會發生類似尾端斜線問題的問題,例如 http://contoso_com/Article/123/Some-Title 與 http://contoso_com/article/123/some-title. 在此情況下,搜尋編目程式會將相同的頁面視為兩個不同的頁面,而兩個不同的統計資料集會顯示在 Web Analytics 報告中。

您想要執行的動作是確保如果有人使用非標準連結來前往您的網站,則會將它們重新導向至僅使用小寫字元的標準 URL。 「強制執行小寫 URL」規則範本可用來產生該規則的重新導向規則:

[新增規則] (的) 螢幕擷取畫面,其中已醒目提示 [強制執行小寫 U R Ls] 選項。

按一下 [確定] 以產生重新導向規則:

產生規則之後,請開啟網頁瀏覽器,然後向 提出要求 http://contoso_com/Article/123/Some-Title 。 網頁瀏覽器會重新導向至 http://contoso_com/article/123/some-title/

標準功能變數名稱

通常您可能有一個 IIS 網站使用數個不同的主機名稱,例如 http://contoso.com/http://www.contoso.com 。 或者,您可能最近已將功能變數名稱從 oldsitename.com 變更為 newsitename.com ,而且您希望訪客在將網站連結加入書簽時使用新的功能變數名稱。

若要強制使用特定功能變數名稱格式,請使用「標準功能變數名稱」規則範本:

[新增規則] (s) 畫面的螢幕擷取畫面,其中已醒目提示 [標準功能變數名稱] 選項。

輸入您要為網站強制執行的功能變數名稱,例如contoso_com:

[新增規則以重新導向至標準功能變數名稱] 畫面的螢幕擷取畫面,其中主要主機名設定為 contoso_com。

產生規則之後,請開啟網頁瀏覽器,然後向 提出要求 http://www_contoso_com/Article/123/Some-Title 。 網頁瀏覽器將會重新導向至 http://contoso_com/article/123/some-title/

總結

在本逐步解說中,您已瞭解如何使用搜尋引擎優化規則範本來產生可協助改善網站搜尋引擎排名和可用性的重新導向規則。 若要深入瞭解 IIS 中可用的搜尋引擎優化工具,請參閱 搜尋引擎優化工具組