这里就不再一一介绍了

 百度处理     |      2021-11-22 17:08

  31所示,404表示请求的网页不存在,503表示服务器超时等。有各种各样的状态码,其中最关键的就是200和404。

  图6-31 HTTP返回网页状态码查询

  这一节的知识很简单,主要是让读者了解什么是状态码,以及怎样查询网页的状态码。

  6.13 如何告诉搜索引擎该抓取什么内容

  首先要了解什么是robots文件,比如,在马海祥博客的首页网址后面加入“/robots.txt”,即可打开该网站的robots文件,如图6-32所示。文件里显示的内容是要告诉搜索引擎哪些网页希望被抓取,哪些不希望被抓取。因为网站中有一些无关紧要的网页,如“给我留言”或“联系方式”等网页,它们并不参与SEO排名,只是为了给用户看,此时可以利用robots文件把它们屏蔽,即告诉搜索引擎不要抓取该页面。

  图6-32 robots文件

  蜘蛛抓取网页的精力是有限的,即它每次来抓取网站,不会把网站所有文章、所有页面一次性全部抓取,尤其是当网站的内容越来越多时,它每次只能抓取一部分。那么怎样让它在有限的时间和精力下每次抓取更多希望被抓取的内容,从而提高效率呢?

  此时可以利用robots文件。小型网站没有该文件无所谓,但对于中大型网站来说,robots文件尤为重要。因为这些网站数据库非常庞大,蜘蛛来时,要像对待好朋友一样要给它看最重要的东西,因为这个朋友时间精力有限,每次来都不能把所有的东西看一遍,所以就需要robots文件屏蔽一些无关紧要的东西。由于种种原因,某些文件不想被搜索引擎抓取,如出于隐私保护的内容,也可以用robots文件把搜索引擎屏蔽。

  图6-32中的robots文件具体代表什么意思呢?可以百度一下“robots.txt”,打开“百度百科”,如图6-33所示。

  图6-33 robots文件的“百度百科”

  “百度百科”中提到“有些人会问,既然robots文件没弄好或出错了,会影响整个网站的收录,那为什么还要这个文件呢?”这句话中的“出错了”是指将不该屏蔽的网址屏蔽了,导致蜘蛛不能抓取这些页面,这样搜索引擎就不会收录它们,那何谈排名呢?所以robots文件的格式一定要正确。

  再回到上面的问题,“百度百科”给出的回答是“其实robots文件是为特定需要的站长准备的,因为有些网站,有一些页面是站长不想被SE收录的,所以才有了这个robots文件。”

  “百度百科”还给出了“robots.txt文件用法举例”,其中提到:

  (1)“User-agent:*Disallow:/”表示“禁止所有搜索引擎访问网站的任何部分”,这相当于该网站在搜索引擎里没有记录,也就根本谈不上排名。

  (2)“User-agent:*Disallow:”表示“允许所有的robots访问”,即允许蜘蛛任意抓取并收录该网站。这里需要注意,前两条语法之间只相差一个“/”。

  (3)“User-agent:BadBotDisallow:/”表示“禁止某个搜索引擎的访问”。

  (4)“User-agent:BaiduspiderDisallow:User-agent:*Disallow:/”表示“允许某个搜索引擎的访问”。前面已经讲过“Baiduspider”是百度蜘蛛的名称,这条语法即是允许百度抓取该网站,而不允许其他搜索引擎抓取。

  “百度百科”还举了一个简单的例子,如图6-34所示,两个“/”之间是网站具体的文件夹。像“百度百科”这样共享的robots文件写法已经比较全面,这里就不再一一介绍了。

  图6-34 简单的例子

  本节介绍了robots文件的主要用途。再举一个案例,某个网站以前是做减肥药的,现在要做汽车,所以网站的内容要全部更换。删除有关减肥药的文章,这样会出现大量404页面、很多死链接,而这些链接以前已经被百度收录,但网站更换后蜘蛛再过来发现这些页面都不存在了,这就会留下很不好的印象。此时可以利用robots文件把死链接全部屏蔽,不让百度访问这些已不存在的页面即可。

  使用robots文件应该注意什么呢?首先,在不确定文件格式怎么写之前,可以先新建一个文本文档,注意robots文件名必须是“robots.txt”,其后缀是“txt”且是小写,不可随意更改,否则搜索引擎识别不了。然后打开该文件,可以直接复制粘贴他人的格式,如图6-35所示,robots文件格式是一条命令一行,下一条命令必须换行。还有“Disallow:”后面必须有一个空格,这是规范写法。

  图6-35 新建robots文件

  图6-35中的所有命令都表示不允许搜索引擎抓取这些页面。结合博客(网址:www.mahaixiang.cn)的文章来说,比如,我不想让搜索引擎抓取如图6-36所示的文章,可以在图6-35中接着写“Disallow:/wzjc/881.html”,表示禁止搜索引擎抓取该网页。

  注意:首页的网址不要出现在robots文件中,只需写上被禁止抓取的页面网址中除首页域名以外的部分即可。

  图6-36 马海祥博客里的文章

  如果写成“Disallow:/wzjc/”,则表示屏蔽图6-37中板块里的所有文章,蜘蛛抓取不到其中任何一篇,也就意味着这些文章都不参与排名。但如果写成“Disallow:/wzjc”,最后面少了一个“/”,这就表示屏蔽该网站中网址前部包含“/wzjc”的所有网页,如“www.mahaixiang.cn/wzjc333/”或一个具体的网页“www.mahaixiang.cn/wzjc3465.html”等,都不能被蜘蛛抓取。这种写法有一个好处,比如,我的网站有很