WordPress 屏蔽恶意搜索如关键词、网址等

如果你的站点被恶意的关键词搜索,如果没有屏蔽的话,这些搜索结果很有可能被搜索引擎抓取到。那结果就很悲剧了。
今天这篇文章就来说说如何规避这种问题出现,当然,如果机器人搜索,你还需要设置下搜索频率。

一、添加代码

添加如下代码到 functions.php

<?php 
add_action('admin_init', 'php_search_ban_key');
function php_search_ban_key() {
	add_settings_field('php_search_key', '搜索关键词屏蔽', 'php_search_key_callback_function', 'reading');
	register_setting('reading','php_search_key');
}
function php_search_key_callback_function() {
	echo '<textarea name="php_search_key" rows="10" cols="50" id="php_search_key" class="large-text code">' .
	get_option('php_search_key') . '</textarea>';
}
add_action('template_redirect', 'php_search_ban');
function php_search_ban() {
	if (is_search()) {
		global $wp_query;
		$php_search_key = get_option('php_search_key');
		if($php_search_key) {
			$php_search_key = str_replace("\r\n", "|", $php_search_key);
			$BanKey = explode('|', $php_search_key);
			$S_Key = $wp_query->query_vars;
			foreach($BanKey as $Key) {
				if( stristr($S_Key['s'],$Key) != false ) {
					wp_die('请不要搜索敏感关键字');
				}
			}
		}
	}
}
?>

二、添加关键词

在后台(设置→阅读)中添加你要屏蔽的关键词。

三、设置robots.txt

  1. 禁止搜索引擎抓取整个站点

User-agent: * Disallow: /

  1. 允许搜索引擎抓取整个站点

User-agent: * Allow: /

  1. 禁止搜索引擎抓取某个目录或文件

User-agent: * Disallow: /wp-admin/ Disallow: /private-page.html

  1. 禁止所有搜索引擎抓取某个目录或文件

User-agent: * Disallow: /private/

  1. 禁止Google抓取某个页面

User-agent: Googlebot Disallow: /page-to-be-blocked.html

  1. 禁止Bing抓取某个目录

User-agent: Bingbot Disallow: /directory-to-be-blocked/

  1. 允许某个搜索引擎抓取整个站点

User-agent: Googlebot Allow: /

  1. 设置Sitemap文件的位置

Sitemap: http://www.替换你的网址.com/sitemap.xml

如果你不希望搜索引擎抓取你的搜索结果,或者被人恶意刷搜索的结果,你可以新建一个robots.txt,然后再最下面加一行禁止蜘蛛抓取搜索结果的代码。

Disallow: /?s=*

给TA打赏
共{{data.count}}人
人已打赏
前端技术专栏综合

2023年前端技术趋势报告:领跑未来的技术框架与编程语言

2023-6-10 4:46:07

WordPress 专栏综合

解决WordPress强制插入到文章的图片尺寸为全尺寸,解决方法来了!

2023-6-14 21:41:00

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新私信 私信列表
搜索