如果你的站点被恶意的关键词搜索,如果没有屏蔽的话,这些搜索结果很有可能被搜索引擎抓取到。那结果就很悲剧了。
今天这篇文章就来说说如何规避这种问题出现,当然,如果机器人搜索,你还需要设置下搜索频率。
一、添加代码
添加如下代码到 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
- 禁止搜索引擎抓取整个站点
User-agent: * Disallow: /
- 允许搜索引擎抓取整个站点
User-agent: * Allow: /
- 禁止搜索引擎抓取某个目录或文件
User-agent: * Disallow: /wp-admin/ Disallow: /private-page.html
- 禁止所有搜索引擎抓取某个目录或文件
User-agent: * Disallow: /private/
- 禁止Google抓取某个页面
User-agent: Googlebot Disallow: /page-to-be-blocked.html
- 禁止Bing抓取某个目录
User-agent: Bingbot Disallow: /directory-to-be-blocked/
- 允许某个搜索引擎抓取整个站点
User-agent: Googlebot Allow: /
- 设置Sitemap文件的位置
Sitemap: http://www.替换你的网址.com/sitemap.xml
如果你不希望搜索引擎抓取你的搜索结果,或者被人恶意刷搜索的结果,你可以新建一个robots.txt,然后再最下面加一行禁止蜘蛛抓取搜索结果的代码。
Disallow: /?s=*