Tin công nghệ

ASP.Net tối ưu hóa đường dẫn url (ASP.net RewriteURL)

Tối ưu hóa Url là một phần quan trọng không thể thiếu trong việc SEO onpage . Việc tối ưu hóa URL cũng gắn liền với việc tạo Breadcrumb chuẩn seo. SEO hải phòng sẽ hướng dẫn các bạn tối ưu URL theo chuẩn SEO.
Chuyển URL động thành URL tĩnh không nên để URL dưới dạng "thietkeweb123.com/index.aspx?cate_id=1&product=2"


Sử dụng dấu gạch ngang (-) để phân cách giữa các chữ, từ khóa trong url : www.thietkeweb123.com/kien-thuc-seo.html.

Chúng ta thực hiện việc rewrite url theo các bước sau :

1. Bước 1 - Download thư viện UrlRewritingNet.UrlRewriter.dll :

- Tải tệp tin UrlRewritingNet.UrlRewriter.dll về máy

2. Bước 2 - Add thư viện :

- Sau đó kích chuột phải vào website của bạn (trên VS 2008 hoặc 2010 ), chọn Add Reference – trong hộp thoại hiện ra bạn chọn TAB Browse và trỏ đến file UrlRewritingNet.UrlRewriter.dll vừa download về.

3. Bước 3 - Cấu hình trong file Web.config như sau :

- Đầu tiên ta thêm :

<configSections> <section name="urlrewritingnet" requirePermission="false" type="UrlRewritingNet.Configuration.UrlRewriteSection,UrlRewritingNet.UrlRewriter"/>  </configSections>

- Tiếp theo :

<httpModules> <add name="UrlRewriteModule"type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter" />  </httpModules>

- Sau đó ta thêm tiếp :

<configuration> <urlrewritingnet rewriteOnlyVirtualUrls="true" contextItemsPrefix="QueryString" defaultProvider="RegEx" xmlns="http://www.urlrewriting.net/schemas/config/2006/07"> <rewrites></rewrites> </urlrewritingnet> </configuration>

- Cuối cùng chúng ta thêm :

<modules> <add name="UrlRewriteModule" type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter"/> </modules>

4. Bước 4 - Thực hiện rewrite url :

- Giả sử bạn có url gốc là :

"http://www.thietkeweb123.com/product.aspx?cate_id=1&product_id=10" .Bạn muốn viết lại URL thành "http://www.thietkeweb123.com/kien-thuc-seo/rewrite-url-asp-net.html" cho thân thiện với google bạn sẽ thực hiện như sau.

- Viết các luật ( rule ) trong cặp thẻ đóng mở "<rewrites></rewrites>". Bạn sẽ viết lại thành :

<rewrites>  <add name= "rewrite" virtualUrl= "^~/kien-thuc-seo/rewrite-url-asp-net.html" rewriteUrlParameter=  "ExcludeFromClientQueryString" destinationUrl= "~/product.aspx?cate_id=1&product_id=10" ignoreCase= "true"/> </rewrites>

- Khi URL gốc của bạn là

<asp:HyperLink ID="HyperLink2" runat="server" NavigateUrl='<%#"~/product.aspx?cate_id="+Eval("cate_id")+"&product_id="+Eval("product_id")%>' Text='<%# Eval("product_name") %>'></asp:HyperLink>

bạn muốn rewrite url cho thân thiện dạng  "www.thietkeweb123.com/kien-thuc-seo/(ten-san-pham).html" chúng ta sẽ thực hiện như sau :

<rewrites>  <add name="product" virtualUrl="^~/kien-thuc-seo/(.*).html" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/product.aspx?cate_id=$1&product_id=$2" ignoreCase="true"/> </rewrites>

- Trong đó :

    Thuộc tính Name ="" là duy nhất. không được đặt trùng nhau.
    thuộc tính (.*) : trả về cho bạn là một chuỗi string bất kỳ tùy thuộc vào tham số bạn truyền vào ( có thể là rewrite-url hoặc huong-dan-rewrite-url )
    Các biến $1, $2 là các biến phụ thuộc vào tham số ta truyền vào ( Eval() )


Re-write url mẫu

<!--url rewrite-->
  <urlrewritingnet rewriteOnlyVirtualUrls="true" contextItemsPrefix="QueryString" defaultProvider="RegEx" xmlns="http://www.urlrewriting.net/schemas/config/2006/07">
    <rewrites>
      <!--
      <add name="sanpahm" virtualUrl="^~/(.*)/(.*).html" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/Post.aspx?id=$1&amp;cate=$2" ignoreCase="true"/>
      -->
      <add name="trang-chu" virtualUrl="^~/trang-chu.html" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/Default.aspx" ignoreCase="true"/>
      <add name="gioi-thieu" virtualUrl="^~/gioi-thieu.html" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/Gioithieu.aspx" ignoreCase="true"/>
      <add name="san-pham" virtualUrl="^~/thuc-pham-chuc-nang-protandim.html" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/Sanpham.aspx" ignoreCase="true"/>
      <add name="tin-tuc" virtualUrl="^~/tin-tuc.html" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/Tintuc.aspx" ignoreCase="true"/>
      <add name="huong-dan-mua-hang" virtualUrl="^~/huong-dan-mua-hang.html" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/Huongdan.aspx" ignoreCase="true"/>
      <add name="gia-ban-si" virtualUrl="^~/gia-ban-si.html" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/Gia-ban-si.aspx" ignoreCase="true"/>
      <add name="lien-he" virtualUrl="^~/lien-he.html" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/Lienhe.aspx" ignoreCase="true"/>     
      <add name="chi-tiet-san-pham"  virtualUrl="^~/thuc-pham-chuc-nang-protandim/(.*).html/(.*)" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/chi-tiet-san-pham.aspx?id=$2&amp;productid=1" ignoreCase="true"/>
      <add name="danh-muc-tin-tuc"  virtualUrl="^~/tin-tuc/(.*).html/(.*)" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/Tintuc.aspx?cate=$2" ignoreCase="true"/>
     
    </rewrites>

Link download ví dụ mẫu: Click here