中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

ASP.NET的SEO:使用.ashx文件——排除重復內容

2019-03-08    來源:自由飛的Blog

容器云強勢上線!快速搭建集群,上萬Linux鏡像隨意使用

不同的鏈接指向的頁面如果具有大量相同的內容,這種現(xiàn)象就會被稱為“重復內容”,如果一個網站的重復內容很多,搜索引擎就會認為這個網站的價值不高。所以我們應盡量避免各種重復內容。

動態(tài)網站的重復內容常常是由URL參數引起的,而URL重寫會惡化這一現(xiàn)象(比較耐人尋味喲,呵呵)。因為如果使用的是原始的URL參數的話,搜索引擎可能會進行適當的判斷,而得知重復內容是由URL參數引起的,自動的進行相應的處理;而URL重寫會掩蓋URL參數,反而使得搜索引擎無法識別URL參數。比如:

原始的URL:
http://www.freeflying.com/articles.aspx?id=231
&catelog=blog
http://www.freeflying.com/articles.aspx?id=231
&catelog=news

經過URL重寫過后的URL:
http://www.freeflying.com/blog/231.html
http://www.freeflying.com/news/231.html

這些URL所指向的頁面內容其實是一樣的,都是id=231的那篇文章,但這篇文章被blog和news兩個欄目所引用,出于各種原因的考慮,我們最終的URL還是如上所示。

處理的辦法有兩種,一種是利用機器人(robot)協(xié)議“排除”其中一個,另一種是通過301將其中一個URL永久重定向另一個URL。

今天我們先講robot協(xié)議。簡單的講,robot指的就是搜索引擎,針對Google,我們又將其稱之為“蜘蛛(spider)”。蜘蛛是很有禮貌的,在抓取你的網頁內容的之前,會首先征求你的意見。而你和robot之前就基于robot協(xié)議進行溝通。具體到實現(xiàn),有兩種方式:

1. 將一個的robots.txt文本添加到網站根目錄下,如:

#static content, forbid all the pages under the "Admin" folder
User-agent: *
Disallow: /Admin

#行表示注釋;

User-agent指搜索引擎,*表示針對所有搜索引擎,也可以指定具體的搜索引擎,如User-agent: googlebot;

Disallow指定不允許訪問的目錄或頁面,注意:1. 此文本是大小寫敏感的;2.必須以“\”開頭,表示網站根目錄;

和本系列的宗旨一樣,我們著重談ASP.NET技術。所以更多的robots.txt文本的注意事項,請查看http://www.googlechinawebmaster.com/2008/03/robotstxt.html

但我們怎么動態(tài)的生成這個文件呢(這種需求其實蠻多的)?可能我們馬上想到的就是I/O操作,在根目錄下寫一個txt文件……,但其實還可以有一種方法:使用一般處理程序(.ashx文件),代碼如下:

<%@ WebHandler Language="C#" Class="Handler" %>

using System;
using System.Web;

public class Handler : IHttpHandler {
    
    
public void ProcessRequest (HttpContext context) {

        HttpResponse response 
= context.Response;
        
        response.Clear();
                
        
//response.ContentType = "text/plain";  如果要用IE6查看頁面的話,不能這一條聲明,原因不詳
        
    
//下面這兩句在實際使用中應該數據庫等動態(tài)生成
        response.Write("User-agent: * \n");
        response.Write(
"Disallow: /news/231.html \n");

    
//引用一個靜態(tài)的robots文件內容,里面存儲不會改變的屏蔽內容
        response.WriteFile("~/static-robots.txt");

        response.Flush();
    }
 
    
public bool IsReusable {
        
get {
            
return false;
        }
    }

}

一般處理程序實現(xiàn)了IHttpHandler,在前面UrlRewrite部分中,我們講到了HttpModule,其實在ASP.NET的應用程序生命周期中,有一個稱之為“管道(pipeline)”的概念:一個HTTP請求,經過一個有一個的HttpModule的“過濾/處理”,最終到達一個HttpHandle的“處理器”部分,HttpModule和HttpHandle就組成了一個“管道”,非常形象喲,呵呵。貼張圖吧:

標簽: ASP.NET 網站優(yōu)化 .ashx文件 

版權申明:本站文章部分自網絡,如有侵權,請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉載文章言論不代表本站觀點!
本站所提供的圖片等素材,版權歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇:ASP.NET的SEO:HTTP報頭狀態(tài)碼 內容重定向

下一篇:拓寬seo:百度優(yōu)化之如何提高在百度的權重