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

ASP.NET的SEO:使用.ashx文件——排除重復(fù)內(nèi)容

2019-03-08    來(lái)源:自由飛的Blog

容器云強(qiáng)勢(shì)上線(xiàn)!快速搭建集群,上萬(wàn)Linux鏡像隨意使用

不同的鏈接指向的頁(yè)面如果具有大量相同的內(nèi)容,這種現(xiàn)象就會(huì)被稱(chēng)為“重復(fù)內(nèi)容”,如果一個(gè)網(wǎng)站的重復(fù)內(nèi)容很多,搜索引擎就會(huì)認(rèn)為這個(gè)網(wǎng)站的價(jià)值不高。所以我們應(yīng)盡量避免各種重復(fù)內(nèi)容。

動(dòng)態(tài)網(wǎng)站的重復(fù)內(nèi)容常常是由URL參數(shù)引起的,而URL重寫(xiě)會(huì)惡化這一現(xiàn)象(比較耐人尋味喲,呵呵)。因?yàn)槿绻褂玫氖窃嫉腢RL參數(shù)的話(huà),搜索引擎可能會(huì)進(jìn)行適當(dāng)?shù)呐袛啵弥貜?fù)內(nèi)容是由URL參數(shù)引起的,自動(dòng)的進(jìn)行相應(yīng)的處理;而URL重寫(xiě)會(huì)掩蓋URL參數(shù),反而使得搜索引擎無(wú)法識(shí)別URL參數(shù)。比如:

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

經(jīng)過(guò)URL重寫(xiě)過(guò)后的URL:
http://www.freeflying.com/blog/231.html
http://www.freeflying.com/news/231.html

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

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

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

1. 將一個(gè)的robots.txt文本添加到網(wǎng)站根目錄下,如:

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

#行表示注釋?zhuān)?/p>

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

Disallow指定不允許訪問(wèn)的目錄或頁(yè)面,注意:1. 此文本是大小寫(xiě)敏感的;2.必須以“\”開(kāi)頭,表示網(wǎng)站根目錄;

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

但我們?cè)趺磩?dòng)態(tài)的生成這個(gè)文件呢(這種需求其實(shí)蠻多的)?可能我們馬上想到的就是I/O操作,在根目錄下寫(xiě)一個(gè)txt文件……,但其實(shí)還可以有一種方法:使用一般處理程序(.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查看頁(yè)面的話(huà),不能這一條聲明,原因不詳
        
    
//下面這兩句在實(shí)際使用中應(yīng)該數(shù)據(jù)庫(kù)等動(dòng)態(tài)生成
        response.Write("User-agent: * \n");
        response.Write(
"Disallow: /news/231.html \n");

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

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

}

一般處理程序?qū)崿F(xiàn)了IHttpHandler,在前面UrlRewrite部分中,我們講到了HttpModule,其實(shí)在ASP.NET的應(yīng)用程序生命周期中,有一個(gè)稱(chēng)之為“管道(pipeline)”的概念:一個(gè)HTTP請(qǐng)求,經(jīng)過(guò)一個(gè)有一個(gè)的HttpModule的“過(guò)濾/處理”,最終到達(dá)一個(gè)HttpHandle的“處理器”部分,HttpModule和HttpHandle就組成了一個(gè)“管道”,非常形象喲,呵呵。貼張圖吧:

標(biāo)簽: ASP.NET 網(wǎng)站優(yōu)化 .ashx文件 

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

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

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