首页 > 代码

禁用 WordPress 原生搜索,会影响 SEO 吗?

答案:基本不会影响 SEO,自带搜索页本身对 SEO 几乎无价值。
为什么默认搜索页不利于 SEO?
搜索结果页内容重复度高
比如访问 /?s=家谱、/?s=谱牒 生成的搜索结果页,大多是文章列表的片段摘要,和分类、标签页面高度重复。

无稳定结构或主题内容
搜索页内容根据关键词动态生成,不具备“权威性”或“主题一致性”,对 Google/Baidu 来说是噪音内容。

容易被 SEO 工具判为“Thin Content” 或 “Low-Quality Page”
多个低质量搜索页(尤其是空搜索页、只有 1 篇文章的页)可能被视为“垃圾内容”,拉低站点整体评分。

容易被刷关键词攻击
很多站点曾遭遇类似攻击:黑产程序访问 /?s=各种敏感词,在搜索引擎留下大量“垃圾搜索页索引”。

正确做法:禁止原生搜索功能,同时控制搜索页被搜索引擎收录
如果你已经决定不使用原生搜索功能,可以这样做:

返回 404 页面(最强方式)


function disable_wp_search( $query, $error = true ) {
    if ( is_search() ) {
        $query->is_search = false;
        $query->query_vars['s'] = false;
        $query->query['s'] = false;
        if ( $error )
            $query->is_404 = true;
    }
}
add_action( 'parse_query', 'disable_wp_search' );

效果:搜索引擎访问 /?s=xxx 会直接返回 404,不会被收录。

如果:保留搜索功能但阻止搜索引擎抓取(SEO 安全型)
如果你仍然希望用户可以站内搜索,但又不想让搜索结果页被收录,可以:
在 robots.txt 添加:


Disallow: /?s=
Disallow: /search

或 在 添加 noindex 标签,仅对搜索页生效:


function noindex_search_page() {
    if (is_search()) {
        echo '<meta name="robots" content="noindex, nofollow">';
    }
}
add_action('wp_head', 'noindex_search_page');

  • 批量设置wordpress文章分类,把文章 ID 区间为 1256869 到 1257421批量设置分类为 ID =5
  • 将 cuwen.wp_posts 中 文章 ID 区间为 1256869 到 1257421(含) 的文章批量 […]

  • 同一台服务器里的两个wordpress数据库文章内容叠加复制
  • 问题:同一台服务器里的两个wordpress数据库,我要把名为temp数据库里的wp_posts的所有文章 全 […]

  • WordPress 如何在首页与内页用不同的菜单或header
  • 开发wordpress主题时,首页的header内容与内页的header内容希望不一样,这时就要用到WordP […]

  • wordpress有必要在body内加<body <?php body_class(); ?>吗?
  • 是 WordPress 主题开发中非常有用的一部分,建议保留。它会自动输出一些根据页面类型、用户状态、文章分类 […]

  • 推荐几个wordpress生成 整站 sitemap插件
  • 方法一:使用 WordPress 插件(推荐) 1. **使用 Rank Math SEO 插件(推荐)) 优 […]

  • 全局禁用 WordPress 查询用户列表
  • 全局禁用 WordPress 查询用户列表 方法一:用 pre_user_query 拦截并中断不必要的用户查 […]