WordPress网站建设宣传图片

网站搜索页面出现大量垃圾网页被收录怎么处理

释放双眼,带上耳机,听听看~!

网站搜索页面出现大量垃圾网页被收录怎么处理?这个问题是前几天一个朋友问我的,问题示例如下:

问题展示

Google搜索索引列表

再说解决方法之前我们先聊聊这个问题出现的原因,原因很明显:

就是网站被模拟搜索了大量的垃圾信息关键词,然后出现了对应的页面让搜索引擎抓取了。

像这种也算是”黑帽SEO”推广了吧…不过我认为这个东西实现起来还是很简单的,技术含量很低,而且挺早之前就出现了。

我可不可以不处理?

通常情况是建议处理,因为出现这种和网站被黑的情况也有类似,都会导致网站收录垃圾信息,可能会影响域名的权重、占用你站点的抓取额度、被利用引流、公司形象(搜索你公司名可能会出现对应的垃圾信息….)等…

如果不在意这些…忽略应该也没什么

解决方法

原因里面我们说了,就是网站被模拟搜索了大量的垃圾信息关键词才会导致这样的情况,那么我们从网站搜索的部分上下手就可以了。

解决步骤

1:限制网站搜索

2:通过robots禁止搜索引擎抓取搜索页面

WordPress限制网站搜索实现

网站程序有很多,不同的程序实现的方式都不同,如果你不懂就请咨询你们公司相关的技术人员把,这里以目前使用最多的WordPress举例:

关闭搜索

如果你网站不需要搜索功能,那么可以直接关闭,

1:把下面代码加到主题的functions.php文件中实现

// 禁用搜索
function disable_search_functionality() {
    if (is_search()) {
        global $wp_query;
        $wp_query->set_404();
        status_header(404);
        get_template_part(404);
        exit();
    }
}

add_action('template_redirect', 'disable_search_functionality');

2:使用Disable Search插件实现

你可以前往WordPress插件库插件地址下载安装,也可以直接在WordPress网站后台搜索Disable Search安全,如下箭头指示:

WordPress网站后台搜索Disable Search

WordPress插件库地址:Disable Search – WordPress plugin – WordPress.org

插件安装后,直接启用即可,不需要进行任何设置。

就看你取舍了,以达到目的来说,他们没有本质上的区别。

尽管不同的站点情况各异,但是上面的处理方式应该兼容绝大部分站点,不过要注意的是,既然关闭了搜索功能,就把网站的搜索按钮等相关样式取消,避免误导用户。如下情况 (点击搜索按钮后无任何搜索功能 只出现一个黑色界面) :

点击搜索按钮后无任何搜索功能 只出现一个黑色界面
限制搜索

如果站点需要搜索功能,不能直接屏蔽,那么我们可以给搜索功能加上限制,

如果你的主题有这个功能,那么可以直接使用主题的设置就好了,如果没有就一样要用其他的插件或者功能代码

1:把下面代码添加到你主题的functions.php文件
// 限制搜索频率
function limit_search_frequency() {
    // 获取访客的 IP 地址
    $visitor_ip = $_SERVER['REMOTE_ADDR'];

    // 设置搜索限制
    $search_limit = 5;  // 访客每小时可以搜索的次数
    $time_limit = 60;  // 时间限制(秒)

    // 获取访客的搜索次数和最后一次搜索的时间
    $search_count = get_transient($visitor_ip . '_search_count');
    $last_search_time = get_transient($visitor_ip . '_last_search_time');

    // 如果访客的搜索次数超过了限制,并且最后一次搜索的时间在时间限制内
    if ($search_count >= $search_limit && time() - $last_search_time < $time_limit) {
        // 显示错误信息并停止搜索
        wp_die('搜索频次过高,请稍后再试。最多可以搜索' . $search_limit . '次,每' . $time_limit . '秒。');
    }

    // 如果访客的最后一次搜索的时间超过了时间限制
    if (time() - $last_search_time >= $time_limit) {
        // 重置搜索次数
        set_transient($visitor_ip . '_search_count', 1, $time_limit);
    } else {
        // 增加搜索次数
        set_transient($visitor_ip . '_search_count', $search_count + 1, $time_limit);
    }

    // 更新最后一次搜索的时间
    set_transient($visitor_ip . '_last_search_time', time(), $time_limit);
}

// 在搜索时触发 limit_search_frequency 动作
add_action('pre_get_posts', function ($query) {
    if ($query->is_search()) {
        limit_search_frequency();
    }
});
2:Search Limiter Blocker

老样子,直接在后台搜索安装或者是在插件市场下载上传安装即可:

WordPress插件库地址:Search Limiter & Blocker – WordPress 插件 | WordPress.org China 简体中文

WordPress网站后台搜索Search Limiter Blocker

安装后启用,在设置》Search Limiter Blocker》既可以进行对应的设置,如下图:

设置》Search Limiter Blocker配置

上面的代码和插件我都亲测可用,不同主题和程序版本等可以会有不兼容情况,请咨询对应的主题开发者吧。

更新网站robots文件

如果你对robots没有了解,可以看看我之前的相关文章:

在配置完网站搜索功能限制后,我们接着来配置网站的robots文件,

以开头问题展示中的搜索URL示例,他的搜索页面网址是:https://domain.com/?s=search keyword

那么我们就在robots文件中加上:

Disallow: /?s=

这样的方式让搜索引擎不抓取我们的搜索页面。

写这个文件要注意,咨询我的这个朋友一开始写的是:

Disallow: /?s*

这样的话可能会把其他动态页面给屏蔽了,尽可能的只使用搜索URL单独的特征去进禁止。

收录信息删除

如果想要删除已收录的垃圾信息,则可以按照下面流程去操作:

  1. 把垃圾信息页面设置成404
    • 出现的垃圾关键词通常是不会存在结果的,简单省事考虑可以把搜索结果为空的页面直接设置为404
  2. 整理好垃圾信息页面URL
    • 少量的话可以通过site语法查看并提取收录的垃圾网页和对应的URL
    • 站点较多或者是单个站点数量较多则考虑通过爬虫技术实现提取
  3. 把URL提交到搜索引擎死链提交的地方
    • 主流搜索平台都有对应的死链提交功能和文档,可以直接访问对应的官网查看。

详细流程看这里:

网站被黑,被搜索引擎收录垃圾信息删除处理教程+百度已收录404链接自动提取软件+使用教程-免费

然后建议你在配合:WordPress/PHP网站实现死链(404链接)自动收集提交处理一起处理。

这样就很完美了。

文章写到这里,网站搜索页面出现大量垃圾网页被收录怎么处理这个问题就解决了。

除上面所述,还有限制登陆用户搜索、修改搜索页面title、如果是搜索引擎访问搜索页面返回404等方式,您可以根据自己站点实际情况选择合适的处理方式,如果您需要付费的技术支持,也可以联系我辅助您解决。

上述的内容可能需要您有一定的SEO和网络基础知识,不过都是比较浅显的东西,看不懂部分可以通过搜索引擎搜索对应的关键词了解相关知识。

给TA打赏
共{{data.count}}人
人已打赏
Python爬虫网络基础

HTTP请求头字段Sec-Fetch-Dest介绍

2023-12-18 9:07:36

SEO基础SEO技巧WordPress与SEOWordPress技巧

WordPress/PHP网站实现死链(404链接)自动收集提交处理

2023-12-26 18:51:06

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