站内搜索结果页不是统一开放或统一屏蔽的问题,而是“允许访问、允许抓取、允许进入搜索结果”三件事要分开。外贸站里最常见的搜索 URL,往往是参数页、空结果页和无限组合页,它们不一定该被搜索系统当成内容页。
这篇只讲一个事:站内搜索结果页要不要开放,以及怎么把高频搜索需求转成正式页面。
它不是 robots/noindex 基础课,也不是 WordPress 插件排查。
先分清三件事
允许访问
用户能不能打开这个 URL。
允许抓取
搜索爬虫能不能请求到这个 URL。
允许进入结果页
这个 URL 会不会出现在搜索结果里。
这三件事不是同一个开关。
| 目标 | 常见手段 | 备注 |
|---|---|---|
| 只允许用户访问 | 登录、权限、403、私有存储 | 最稳 |
| 允许抓取但不进结果 | noindex |
页面必须能被 crawler 看到 |
| 减少无价值抓取 | robots.txt |
不是保密工具 |
外贸站最容易犯的错,是把站内搜索页当成普通内容页来处理。
先看站内搜索页有哪些类型
| 类型 | 示例 | 该怎么想 |
|---|---|---|
| 有明确业务价值的搜索页 | /?s=valve、/search?q=valve |
先判断能不能沉淀成正式页 |
| 空结果页 | /?s=aaa123 |
不要当内容页 |
| 低价值重复页 | 同一结果集带很多排序/过滤组合 | 容易浪费抓取 |
| 内部测试词 | /?s=test、乱码词 |
不该公开 |
| 参数爆炸页 | /?s=valve&sort=price |
该收敛就收敛 |
如果你的站内搜索页只是在重复列出产品列表,没有独立价值,它通常不该抢产品分类页、应用页或 FAQ 页的位置。
第一步:先决定它要不要进搜索结果
Google 的 noindex 文档很明确:如果你要让页面退出搜索结果,noindex 是索引控制工具,但页面必须能被 crawler 访问到。
所以顺序不能乱。
<meta name="robots" content="noindex,follow" />
如果是非 HTML 资源,也可以用 header:
X-Robots-Tag: noindex, follow
这一步适合:
- 低价值站内搜索页
- 空结果页
- 不想让它进入结果页的参数搜索页
但如果你先把它写进 robots.txt 再期待 noindex 生效,crawler 可能根本看不到 noindex。
第二步:再决定要不要减少抓取
如果某个搜索 URL 模式从一开始就不该被抓,robots.txt 可以用来减少噪音。
但它不是保密工具,也不是 noindex 替代品。
User-agent: *
Disallow: /search
Disallow: /*?s=
Disallow: /*&s=
Disallow: /*?q=
Disallow: /*&q=
这类规则更适合:
- 大量无价值搜索参数
- 空结果特别多
- 站内搜索产生大量重复 URL
不过记住:如果你还需要让这些 URL 通过 noindex 退出结果,先让 crawler 能访问到它。
第三步:别让空结果页长期挂一个正常 200
空结果页最容易变成低价值页面。
SITE="https://www.example.com"
curl -I "$SITE/?s=valve"
curl -I "$SITE/search?q=valve"
curl -I "$SITE/?s=test123456"
你要看的不是“是不是 200 就完了”,而是:
| 现象 | 处理方向 |
|---|---|
| 空结果长期 200 | 不要把它当内容页 |
| 查询词明显无效 | 加 noindex,或引导到更稳定的分类 / 专题页 |
| 同一结果集有很多排序组合 | 收敛参数 |
| 搜索页只是在重复产品列表 | 转成正式分类页或专题页 |
站内搜索结果页如果没有维护价值,别硬留一个看起来“正常”的空壳。
第四步:把高频搜索词转成正式页面
这才是外贸站真正有价值的部分。
/?s=stainless steel valve for food grade
→ 更适合做一个 food-grade valve 分类页或选型页
/?s=custom packaging machine for powder
→ 更适合做解决方案页、行业页或 FAQ
/?s=iso 9001 valve supplier
→ 更适合做供应商介绍页或资质页
站内搜索记录很有用,但不要让搜索结果页自己承担 SEO 落地页角色。
| 搜索词类型 | 更好的落点 |
|---|---|
| 型号词 | 产品详情页 |
| 材质词 | 分类页 / 应用页 |
| 行业词 | 解决方案页 / 专题页 |
| 认证词 | 资质页 / 供应商页 |
| 长尾采购词 | FAQ 或选型页 |
如果某个搜索词稳定、重复、可维护,就把它做成正式页面。
别让 /search?q= 永远顶在前面。
第五步:检查它有没有混进 sitemap
SITE="https://www.example.com"
curl -fsSL "$SITE/sitemap.xml" |
rg -n '\?s=|/search\?|/search/'
通常,站内搜索结果页不该进 sitemap。
你要放进 sitemap 的是正式页面,不是用户每次输入关键词都可能变出来的结果页。
第六步:用日志看它是不是真的在吃抓取资源
LOG="/var/log/nginx/access.log"
rg '(\?s=|/search\?q=|/search/)' "$LOG" | head -n 50
如果你看不到明显流量,没必要把 crawl budget 讲得太玄。
对大多数外贸站来说,先解决页面质量、内链和正式落地页分工,比盯着抓取预算更有用。
第七步:给站内搜索页一个明确的去向
| 场景 | 建议 |
|---|---|
| 空结果 | 不要长期作为内容页存在 |
| 重复结果很多 | 收敛参数或改成正式分类页 |
| 高频有价值查询 | 转成专题页 / FAQ / 产品分类页 |
| 内部测试词 | 不公开 |
| 仅用于用户查找 | 可以保留,但别抢 SEO 入口 |
如果你做的是 B2B 外贸站,站内搜索页面最大的价值往往不是“给搜索引擎看”,而是告诉你买家真正在搜什么。
然后把这些需求沉淀到正式页面上。
一张可直接用的判断表
| URL | 访问 | 抓取 | 进入结果页 | 备注 |
|---|---|---|---|---|
/?s=valve |
允许 | 看价值 | 通常不建议 | 高频词可转正式页 |
/search?q=valve |
允许 | 看价值 | 通常不建议 | 可保留用户搜索 |
/?s=test |
不建议公开 | 不建议 | 不建议 | 应退出 |
/?s=valve&sort=price |
允许或限制 | 限制 | 通常不建议 | 参数组合要收敛 |
| 空结果页 | 看情况 | 少量即可 | 不建议 | 不要当内容页推广 |
常见错误
| 错误做法 | 更稳的做法 |
|---|---|
| 站内搜索页一律开放 | 按价值分层 |
| 站内搜索页一律屏蔽 | 先看用户需求,再决定 |
| 先 robots.txt 再期待 noindex | 顺序反了 |
| 空结果页长期 200 | 收敛成更有用的页面 |
| 把搜索页当专题页 | 把高频查询沉淀成正式页 |
| 让参数组合无限膨胀 | 控制组合,减少噪音 |
这篇 38 解决的不是“搜索页要不要漂亮”,而是它到底该不该占搜索入口。
参考资料
- Google: Block Search indexing with noindex
- Google: Introduction to robots.txt
- Google: URL structure best practices for Google Search
- Google: Managing crawling of faceted navigation URLs
- Google: Crawl Budget Management
- Google: Pagination, incremental page loading, and their impact on Google Search
- Google: Learn about sitemaps