长登建站 18年独立站建设、网站设计、网页制作

较优的 WordPress Robots.txt 模板1 min read

目录

较优的 WordPress Robots.txt 模板1 min read

较优的 WordPress Robots.txt 模板

为 WordPress 设置一个优化的 robots.txt 文件需要平衡搜索引擎收录和资源控制。下面我将提供一个广泛适用的、较优的方案,并详细解释每条规则的意义,以及具体的设置方法。

 

核心优化思路

一个优秀的 WordPress robots.txt 文件应该实现以下目标:

  1. 引导蜘蛛抓取有价值的内容​:如文章、页面、分类和标签页。
  2. 禁止抓取低价值或重复内容的页面​:如后台、插件目录、搜索结果页等,以节省爬虫配额和服务器资源。
  3. 保护隐私和敏感文件​:防止管理员登录页面、用户配置文件等被索引。
  4. 指明网站地图,帮助蜘蛛高效发现内容。

较优的 WordPress Robots.txt 模板

你可以根据你的网站结构,参考以下模板。​请务必将其中的 yoursite.com 替换为你自己的域名

User-agent: *  
Disallow: /wp-admin/  
Disallow: /wp-includes/  
Disallow: /wp-login.php  
Disallow: /wp-content/plugins/  
Disallow: /wp-content/themes/  
Disallow: /wp-content/uploads/2024/  # 可选,见下方说明  
Disallow: /search/  
Disallow: /comments/feed/  
Disallow: /?s=*  Disallow: /*?replytocom=*  
Disallow: /author/  
Allow: /wp-admin/admin-ajax.php  
Allow: /wp-content/uploads/    
Sitemap: https://www.yoursite.com/sitemap.xml  
Sitemap: https://www.yoursite.com/news-sitemap.xml

每条规则的详细解释

  • ​**User-agent: ***​
    • 表示以下规则适用于所有合规的搜索引擎爬虫。
  • ​**Disallow: /wp-admin/**​
    • 核心规则。禁止抓取 WordPress 后台目录。这是必须屏蔽的,防止你的管理员页面被索引。
  • ​**Disallow: /wp-includes/**​
    • 禁止抓取 WordPress 核心函数库目录。这里主要是程序文件,对用户没有价值。
  • ​**Disallow: /wp-login.php**​
    • 禁止直接抓取登录页面。
  • ​**Disallow: /wp-content/plugins/**​
    • 禁止抓取插件目录。防止爬虫索引你的插件代码,这可能存在安全风险。
  • ​**Disallow: /wp-content/themes/**​
    • 禁止抓取主题目录。原因同上,保护你的主题文件。
  • ​**Disallow: /wp-content/uploads/2024/ (可选)​**​
    • 高级技巧​:这条规则是可选的,用于处理媒体文件重复索引问题。
    • 问题​:WordPress 默认会为每张上传的图片创建一个附件页面(如 yoursite.com/2024/09/photo.jpg),这个页面和图片本身(如 yoursite.com/wp-content/uploads/2024/09/photo.jpg)内容高度重复,可能导致内容重复问题。
    • 解决方案​:禁止抓取按年份组织的附件页面路径(/2024/),但同时使用下面的 Allow 指令允许抓取图片文件本身。这样,搜索引擎只会索引图片文件,而不是无用的附件页面。
    • 注意​:如果你的网站依赖附件页面的描述或评论,则不要添加此条。现代 SEO 实践通常建议禁止它。
  • ​**Disallow: /search/**​
    • 禁止抓取站内搜索结果页。这些页面是动态生成的,内容重复,对SEO无益。
  • ​**Disallow: /?s=***​
    • 同上,禁止抓取另一种形式的搜索结果页(使用查询参数)。
  • ​**Disallow: /author/**​
    • 可选,但推荐。如果你不希望作者存档页面被索引(特别是网站只有你一个作者时,这些页面是重复内容),可以禁止它。如果你的网站有多个作者且想突出他们,则应该保留。
  • ​**Disallow: /*?replytocom=**​
    • 禁止抓取评论回复的特定链接,这些链接可能产生重复参数。
  • ​**Allow: /wp-admin/admin-ajax.php**​
    • 重要​:很多主题和插件使用这个文件进行前端动态交互(如无限滚动、AJAX搜索)。允许爬虫抓取它可以确保网站功能被正确识别。
  • ​**Allow: /wp-content/uploads/**​
    • 关键​:在禁止了附件页面后,这条规则确保你上传的图片、PDF等媒体文件​(它们存放在 /wp-content/uploads/ 目录下)仍然可以被搜索引擎抓取和索引。这对于图片搜索流量至关重要。
  • ​**Sitemap 指令**​
    • 指明你的网站地图位置。如果你使用了流行的SEO插件(如 Yoast SEO, Rank Math),它们会自动生成网站地图。请将地址替换成你的实际地址。通常主地图是 sitemap_index.xml。

如何在 WordPress 中设置

重要提示:在修改 robots.txt 之前,请务必备份当前版本。​

有几种方法可以设置,​推荐使用第1种或第2种,因为它们最安全、最方便。

方法一:使用 SEO 插件(最简单、最推荐)

如果你安装了 ​Yoast SEORank Math​ 或 ​All in One SEO​ 等插件,它们通常内置了 robots.txt 编辑器。

  1. 进入插件设置页面(例如,Yoast SEO -> 工具 -> 文件编辑器)。
  2. 你会看到一个编辑区域,直接粘贴上述优化后的代码。
  3. 保存更改。
  4. 访问 https://yoursite.com/robots.txt 检查是否生效。

方法二:使用自定义代码(适用于熟悉代码的用户)

将以下代码添加到你当前主题的 functions.php 文件末尾。这是一种更“干净”的方式,即使更换主题,只要代码在 functions.php 中依然有效。

// 为 WordPress 设置自定义 robots.txt 内容  function my_robotstxt_content( $output ) {  
$output = "User-agent: *\n";      
$output .= "Disallow: /wp-admin/\n";      
$output .= "Disallow: /wp-includes/\n";      
$output .= "Disallow: /wp-login.php\n";      
$output .= "Disallow: /wp-content/plugins/\n";      
$output .= "Disallow: /wp-content/themes/\n";      
$output .= "Disallow: /search/\n";      
$output .= "Disallow: /?s=*\n";      
$output .= "Disallow: /author/\n"; // 可选     
$output .= "Allow: /wp-admin/admin-ajax.php\n";      
$output .= "Allow: /wp-content/uploads/\n\n";      
$output .= "Sitemap: " . esc_url( home_url( '/sitemap_index.xml' ) ) . "\n"; // 适用于Yoast等插件    
return $output;  }  add_filter( 'robots_txt', 'my_robotstxt_content' );

方法三:直接创建物理文件(不推荐)

直接在网站的根目录(与 wp-config.php 文件同级)创建一个名为 robots.txt 的文本文件,并粘贴内容。这种方法不推荐,因为一旦 WordPress 核心更新或服务器迁移,文件可能会被覆盖或丢失,不如用代码控制可靠。


最终检查和验证

  1. 访问测试​:设置完成后,在浏览器中打开 https://你的网站.com/robots.txt,检查内容是否正确显示。
  2. 使用谷歌搜索中心​:在 Google Search Console 的 “ robots.txt 测试工具” 中测试你的文件,确保没有意外屏蔽重要页面(如首页、关键文章)。

这个优化方案是一个很好的起点,你可以根据自己网站的具体情况进行微调。

热门标签
0%