在某些情况下,WordPress 网站所有者可能希望防止搜索引擎索引他们的网站。这可能是出于隐私、安全或其他特殊需求。要实现这一目标,主要涉及到创建和优化 `robots.txt` 文件,这是一个简单的文本文件,用于指导搜索引擎爬虫哪些页面可以抓取,哪些不可以。
首先,了解 `robots.txt` 文件的基本结构。`User-agent` 指定要应用规则的搜索引擎爬虫,`Disallow` 用于禁止访问特定路径,而 `Allow` 则允许访问。WordPress 默认的 `robots.txt` 配置可能如下:
“`text
User-agent: *
DisAllow:
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://yourwebsite.com/sitemap.xml
“`
这段代码表示允许所有搜索引擎爬虫,但禁止访问 `/wp-admin/` 目录,除了 `/wp-admin/admin-ajax.php`,因为这个文件常用于交互。同时,提供了站点地图的链接,帮助搜索引擎更好地理解网站结构。
如果只想禁止国内搜索引擎,如百度、搜搜、搜狗和有道,可以这样设置:
“`text
User-agent: Baiduspider
Disallow: /
User-agent: Sosospider
Disallow: /
User-agent: sogou spider
Disallow: /
User-agent: YodaoBot
Disallow: /
User-agent: *
Disallow: /wp-admin/
Sitemap: https://yourwebsite.com/sitemap.xml
“`
对于那些不希望频繁爬取的网站,可以使用 `crawl-delay` 指令,让搜索引擎爬虫在每次抓取之间等待一段时间,比如:
“`text
User-agent: *
Disallow: /wp-admin/
Disallow: /wp-login.php
Disallow: /search/
Disallow: /?s=
Disallow: /readme.html
Disallow: /licence.txt
Disallow: /wp-config-sample.php
Disallow: /feed
Disallow: /*/feed
Disallow: /comments/feed
Disallow: /comments/
Disallow: /attachment/
Crawl-delay: 5
Allow: /wp-admin/admin-ajax.php
Sitemap: https://yourwebsite.com/sitemap.xml
“`
此外,还可以在网站的 `header.php` 文件中添加代码,以防止百度快照:
“`html
“`
如果需要更严格的限制,可以在 Nginx 配置中添加规则,禁止特定爬虫访问:
“`nginx
if ($http_user_agent ~* (baiduspider|googlebot|soso|bing|sogou|yahoo|sohu-search|yodao|YoudaoBot|robozilla|msnbot|MJ12bot|NHN|Twiceler)) {
return 403;
}
“`
请确保根据实际情况调整上述代码,并始终测试 `robots.txt` 文件的效果,以确保它按预期工作。同时,记得在做出任何更改后,通过搜索引擎的站长工具验证这些更改是否生效。