robots妙用,开启伪静态后禁止搜索引擎抓取动态页面

我的应用:

由于在正式环境中有个测试环境(主要是为了update更新准确性,减低直接部署到正式环境BUG风险)

在网站根目录下

测试环境:

echo -e “User-agent: *\nDisallow: /” >/data0/app/apache2-test/htdocs/lbs/robots.txt

正式环境:

echo -e “User-agent: *\nDisallow: /api/\nDisallow: /trd\\nDisallow: /test/\nAllow: /”>/data0/app/apache2/htdocs/lbs/robots.txt

robots妙用,开启伪静态后禁止搜索引擎抓取动态页面!

说之前还是先分析下静态、伪静态、动态的不同点

动态、静态、伪静态

静态网址:纯静态HTML文档,能使用filetype:htm 查询到的网页。

伪静态网址:使用 Rewrite 将动态网址进行重写,使动态网址看起来像静态网址。

现在很多的后台,充分考虑到SEO,支持URL的重写,链接中带关键词,且链接清晰明了。

动态网址:内容存于数据库中,根据要求显示内容,URL中以 ? # & 显示不同的参数,如:news.php?lang=cn&class=1&id=2。动态网址的会话标识(sid)和查询(query)参数,容易造成大量相同页面,有时蜘蛛进入了会进入死循环,出不来。所以到现在为止,蜘蛛还是不太喜欢动态的。

robots指令

在开启伪静态后,打开网址是显示的静态页面,google这样的搜索引擎,在抓取你网站的页面时,同样会抓取网站的静态页面和动态页面,这样会造成抓取大量内容重复的页面(我的网站就存在重复抓取,网址是http://www.hyledlighting.com)。

现在,我们可以只接在robots.txt文件里写入规则,禁止搜索引擎来抓取动态页面,动态页面都有一个共同的特征,就是在链接里会带有“?”这个问号的符号,具体的robots指令规则看下面:

User-agent: *
Disallow: /*?*

如果想只接接指定搜索引擎抓取指定类型文件,如html格式的静态页面,其规则看下面:

User-agent: *
Allow: .html$
Disallow: /

如果要禁止搜索引擎抓取你网站的所有页面,可以写入以下规则:

User-agent: *
Disallow: /

对于robots.txt文件的路径,应该在你网站的根目录中,写入规则有一个简便的捷径,登陆google网站管理员工具,只接在里面写入规则后,生成robots.txt文件即可。

以上主要是针对伪静态网站禁止抓取动态页面,robots.txt文件中的配置规则很多,具体可以查阅相关资料。