性价比最高的香港ASP、PHP主机提供商
做网站,就上凡科建站

为你的 WordPress 站点添加 robots.txt

Loading
0
Comodo SLL证书促销 - 免费ssl证书申请_ssl证书购买_ev ssl证书_https证书购买 - GDCA_数安时代

稍微接触过SEO的站长朋友都应该知道 robots协议(也称为爬虫协议、爬虫规则、机器人协议等),也就是通常添加到网站根目录的robots.txt 文件,它的作用在于告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取,从而优化网站的收录结果和权重。

如果你的网站根目录还没有 robots.txt,你可以创建一个,具体的写法请参考 百度百科。下面是一个基本的 WordPress  robots协议:

User-agent: *
Disallow: /feed/
Disallow: /trackback/
Disallow: /wp-admin/
Disallow: /wp-content/
Disallow: /wp-includes/
Disallow: /xmlrpc.php
Disallow: /wp-
Allow: /wp-content/uploads/
Sitemap: http://example.com/sitemap.xml

下面主要介绍一下 WordPress 自动创建虚拟 robots.txt 功能。如果你的网站根目录不存在真实的 robots.txt,那么可以让 WordPress 自动创建一个虚拟的 robots.txt (该文件不会真实存在,但是访问 http://yoursite.com/robots.txt 时可以正常显示)

将下面的代码添加到主题的 functions.php 即可:

1
2
3
4
5
6
7
8
9
/**
 * 为你的 WordPress 站点添加 robots.txt
 * https://www.wpdaxue.com/add-robots-txt.html
 */
add_filter( 'robots_txt', 'robots_mod', 10, 2 );
function robots_mod( $output, $public ) {
	$output .= "Disallow: /user/"; // 禁止收录链接中包含 /user/ 的页面
	return $output;
}

注:如果你想添加更多的规则,请复制上面代码的第 7 行,然后修改一下即可。

访问 http://yoursite.com/robots.txt  我们可以看到如下内容:

User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /user/

也就是说,WordPress 默认已经添加了前 3 行规则了。

robots.txt 涉及到网站的收录,所以请确保你明白它的书写方法,保证每条规则都是正确无误的!

支付宝扫码打赏 微信打赏

如果文章对你有帮助,欢迎点击上方按钮打赏作者

MetInfo | 最适合企业网站建设的cms系统

关于 倡萌

一个疯狂的 WordPress 爱好者,喜欢折腾 WordPress 主题,分享 WordPress 资源。如果你也喜欢 WordPress,欢迎和我一起交流!

精彩推荐

WP Super Subdomains 让 WordPress 使用子域名访问分类/标签等页面

WP Super Subdomains 让 WordPress 使用子域名访问分类/标签等页面

WordPress 自动给文章的关键词添加链接 Links Auto Replacer

WordPress 自动给文章的关键词添加链接 Links Auto Replacer

16 条评论

  1. 您好,我的网站跟目录没有robots.txt这个文件,模板functions.php中也没有您文中提到的那段代码,但是访问的域名***.com/robots.txt会显示
    User-agent: *
    Disallow: /wp-admin/
    Disallow: /wp-includes/
    请问是什么情况,谢谢!!

  2. 请教个问题,我新安装的WP博客,robots文件出现了Allow: /wp-admin/admin-ajax.php,这样是wp安装程序自动生成的吗?貌似早期WP安装后没有这个啊,是不是被黑了?

  3. 如果WordPress网站不在根目录那,robot协议里是不是要再加个文件名呢

  4. 我是用seo-ultimate自动生成的,实际的文件找不到。

  5. 还有虚拟的呢?程序默认的就是虚拟的吧?才知道。学习了。

  6. :arrow: 我想问一下,wordpress里面自带的robot设置在哪里啊?

  7. 学习了。刚才试了一下,网站已经存在虚拟的了

  8. 能不能通过修改robots.txt让搜索引擎不抓取特定的模块,比如header.php?

  9. 现在校长用的是实体还是虚拟的?

  10. 建立WordPress一开始的时候默认就会生成 http://yoursite.com/robots.txt 的吗?这个是它的默认格式吗:User-agent: *
    Disallow: /wp-admin/
    Disallow: /wp-includes/

    • 如果你的网站根目录不存在 robots.txt,WordPress默认就添加了虚拟的,规则如下:
      User-agent: *
      Disallow: /wp-admin/
      Disallow: /wp-includes/
      意思是禁止所有搜索引擎收录 /wp-admin/ 和 /wp-includes/ 下的所有文件。
      你可以直接访问你的 robots.txt 网址就知道了

发表评论