独立站上线前AI SEO技术自查清单:robots、sitemap、状态码和内链

浏览进度条

独立站上线前的 AI SEO 技术自查,不是多装一个插件,而是确认公开页面能被发现、抓取、索引和理解:robots.txt 不误挡,sitemap 只放规范 URL,状态码稳定,canonical 和 noindex 不打架,内链能把产品、FAQ、案例和 RFQ 路径串起来。

这篇只讲上线前验收。
不承诺“做完就会被 ChatGPT、Gemini、Perplexity 引用”,也不把 AI 搜索写成玄学。

更现实的目标是:减少上线时最常见的技术准入事故,让公开营销内容至少具备被搜索系统和 AI 搜索相关 crawler 读取的基础条件。

先把验收对象列出来

不要一上来扫全站。外贸独立站上线前,先抽一组“买家和搜索系统都应该能看到”的核心 URL。

https://www.example.com/
https://www.example.com/products/
https://www.example.com/products/industrial-valve/
https://www.example.com/faq/
https://www.example.com/case-studies/water-treatment-project/
https://www.example.com/about/
https://www.example.com/factory/
https://www.example.com/request-a-quote/
https://www.example.com/en/products/industrial-valve/
https://www.example.com/de/products/industrial-valve/

建议保存成一个文件:

cat > urls.txt <<'EOF'
https://www.example.com/
https://www.example.com/products/
https://www.example.com/products/industrial-valve/
https://www.example.com/faq/
https://www.example.com/case-studies/water-treatment-project/
https://www.example.com/about/
https://www.example.com/factory/
https://www.example.com/request-a-quote/
https://www.example.com/en/products/industrial-valve/
https://www.example.com/de/products/industrial-valve/
EOF

这组 URL 不求多,求代表性。首页、产品体系、案例、FAQ、供应商介绍、RFQ 说明页、多语言页面都要有。

页面类型 上线前要确认什么
首页 能说明公司是谁、卖什么、服务哪些市场
产品分类页 能进入产品体系,不是空列表或筛选页
产品详情页 有参数、用途、认证、MOQ、交期、下载资料入口
FAQ 页 买家常见问题有可读答案
案例页 项目背景、产品应用、交付范围清楚
About / Factory 公司实体、工厂能力、资质信息可见
RFQ 说明页 询盘流程公开,提交接口另行保护
多语言页 URL、canonical、hreflang、正文语言一致

第一项:查线上 robots.txt

先看线上真实文件,不要只看 SEO 插件后台预览。

SITE="https://www.example.com"

curl -sSIL "$SITE/robots.txt"
curl -fsSL "$SITE/robots.txt" | sed -n '1,200p'

再筛重点行:

SITE="https://www.example.com"

curl -fsSL "$SITE/robots.txt" |
  grep -Ein \
    'user-agent|allow|disallow|sitemap|googlebot|bingbot|oai-searchbot|gptbot|chatgpt-user|perplexitybot|claudebot|claude-searchbot'

上线前重点看四类问题:

检查点 正常状态 风险信号
文件状态 /robots.txt 返回 200 或可被正常读取 4035xx、跳转到首页、返回空白
公开目录 产品、FAQ、案例、About 不被误挡 Disallow: /products/Disallow: /wp-content/uploads/ 过宽
sitemap 声明 指向正确 sitemap 地址 指向测试域、旧域名、http 版本
平台爬虫规则 规则和业务目标一致 把搜索、训练、用户触发访问混成一类

robots.txt 主要控制抓取,不是保密手段。Google 文档也提醒过,被 robots 阻止的 URL 仍可能因为其他页面链接而出现在搜索结果中,只是搜索引擎无法抓取页面内容来理解它。

所以这类内容不能只靠 robots.txt

/private-quotes/
/customer-drawings/
/contracts/
/wp-admin/
/account/
/upload/

这些路径需要登录、权限、服务器访问控制或 WAF 保护,而不是“写个 Disallow 就安全了”。

第二项:查 sitemap 是否只放规范公开 URL

sitemap 的价值不是“保证收录”,而是帮助搜索系统发现你希望它处理的规范 URL。上线前要查可访问、可解析、URL 是否干净。

SITEMAP="https://www.example.com/sitemap.xml"

curl -sSIL "$SITEMAP"
curl -fsSL "$SITEMAP" | sed -n '1,80p'

如果是 sitemap index,也要继续打开里面的子 sitemap:

SITEMAP="https://www.example.com/sitemap.xml"

curl -fsSL "$SITEMAP" |
  grep -Eo 'https?://[^<]+\.xml' |
  sed -n '1,50p'

可以用一个简单脚本抽前 100 个 loc

SITEMAP="https://www.example.com/sitemap.xml"

SITEMAP="$SITEMAP" python3 - <<'PY'
import os
import urllib.request
import xml.etree.ElementTree as ET

data = urllib.request.urlopen(os.environ["SITEMAP"], timeout=20).read()
root = ET.fromstring(data)

def local_name(tag):
    return tag.rsplit("}", 1)[-1]

locs = [
    el.text.strip()
    for el in root.iter()
    if local_name(el.tag) == "loc" and el.text
]

print("loc_count", len(locs))
for url in locs[:100]:
    print(url)
PY

重点排查:

sitemap 里出现的 URL 判断
正式产品页、分类页、案例页、FAQ 页 应该保留
测试域名、临时域名、 staging URL 应该删除
thank-you、后台、购物车、账户页 通常不该放
参数筛选页、站内搜索页 谨慎,通常不放
noindex 页面 不该放进希望索引的 sitemap
4045xx、长跳转链 URL 先修状态码

Google 的 sitemap 文档说得很克制:sitemap 是提示,不保证抓取或索引。外贸站不要把“已提交 sitemap”当成验收完成。

第三项:批量查状态码、跳转和内容类型

核心页面最终应该稳定返回真实内容。
不是所有非 200 都错,老 URL 合理 301 很正常;但公开产品页最终返回 4034044295xx、挑战页或空 HTML,就要查。

URLS="urls.txt"

sed '/^[[:space:]]*$/d;/^[[:space:]]*#/d' "$URLS" |
while IFS= read -r url; do
  curl -o /dev/null -sS -L \
    -w "%{http_code}\t%{num_redirects}\t%{content_type}\t%{url_effective}\t$url\n" \
    "$url"
done

输出可以这样看:

字段 含义 上线前判断
http_code 最终状态码 公开核心页应为 200
num_redirects 跳转次数 通常越短越好,避免多段链路
content_type 内容类型 HTML 页面应返回 text/html
url_effective 最终 URL 应与 canonical 和站内链接一致

尤其要查这些情况:

风险信号 可能问题
产品页最终跳首页 软 404 或错误重定向
多语言页跳回默认语言 地区或语言规则误伤
返回 403 / 429 WAF、限速、安全插件拦截
返回 5xx 源站或代理层不稳定
content_type 不是 HTML 模板、CDN 或服务器配置错误

第四项:查 canonical、robots meta 和 X-Robots-Tag

外贸站上线前经常出现三种冲突:

  1. 公开产品页被误加 noindex
  2. canonical 指向旧域名、测试域或跳转页。
  3. HTTP Header 里还有遗留的 X-Robots-Tag: noindex

先查页面 HTML:

PAGE="https://www.example.com/products/industrial-valve/"

curl -fsSL "$PAGE" |
  tr '>' '>\n' |
  grep -Ein 'name=.robots.|rel=.canonical.|application/ld\+json'

再查响应头:

PAGE="https://www.example.com/products/industrial-valve/"

curl -sSIL -L "$PAGE" |
  grep -Ei '^(HTTP/|location:|content-type:|x-robots-tag:)'

公开产品页通常不应该出现:

<meta name="robots" content="noindex,nofollow">

不希望进入搜索结果的页面,可以用 noindex,但要让 crawler 能访问到这个指令:

<meta name="robots" content="noindex,follow">

非 HTML 资源可以通过 HTTP Header 控制索引:

X-Robots-Tag: noindex

这里的边界要分清:noindex 是索引控制,不是权限保护。报价单、客户图纸、合同附件不能因为加了 noindex 就当成安全。

canonical 也不要写成强制命令。Google 文档里把 canonical 当成规范化信号之一,站内链接、sitemap、重定向和 rel=canonical 应该尽量一致。

第五项:查内链是不是 crawler 能读到

Google 对可抓取链接的要求很朴素:链接要能通过 HTML 里的 <a href> 被发现,锚文本要有上下文。外贸站常见问题是导航全靠 JS、产品卡片只绑定点击事件,或者 FAQ / 案例没有回链到产品。

抽样看页面里的链接:

PAGE="https://www.example.com/"

curl -fsSL "$PAGE" |
  tr '<' '\n' |
  grep -Ei '^a[[:space:]][^>]*href=' |
  sed -n '1,120p'

上线前至少确认这几条路径通:

路径 为什么重要
首页 -> 产品分类 crawler 能进入产品体系
产品分类 -> 产品详情 核心转化页可发现
产品详情 -> FAQ 买家问题和产品语义能串起来
产品详情 -> 案例 产品和应用场景能互相解释
案例 -> 相关产品 案例不是孤岛
About / Factory -> 资质或产品 公司能力和产品供应关系清楚
RFQ 说明页 -> 产品页 询盘路径和产品路径互相支撑

不要为了“内链优化”乱堆链接。验收标准是:重要页面有清晰路径,不是每段文字都塞一个锚文本。

第六项:确认 crawler 拿到的是正文

状态码为 200 还不够。还要确认返回的 HTML 里有正文,而不是空壳、加载动画、挑战页或只有脚本。

PAGE="https://www.example.com/products/industrial-valve/"

curl -fsSL "$PAGE" |
  sed -n '1,160p'

再筛几个买家会关心的词:

PAGE="https://www.example.com/products/industrial-valve/"

curl -fsSL "$PAGE" |
  grep -Ein 'model|material|specification|application|certification|moq|lead time|warranty|datasheet|rfq'

如果产品参数、认证、应用场景、MOQ、交期只在图片里,正文完全没有文字版,搜索系统和 AI 摘要系统能拿到的语义就会变少。不是说图片没有价值,而是外贸 B2B 产品页不能只靠图片承载关键信息。

第七项:轻量检查结构化数据

这篇不展开 Schema 专项,只做上线前验收。
结构化数据应该和页面可见内容一致,不能用 JSON-LD 塞页面上没有的资质、评价、价格和库存。

PAGE="https://www.example.com/products/industrial-valve/"

curl -fsSL "$PAGE" |
  tr '<' '\n' |
  grep -Ein 'application/ld\+json|Product|Organization|BreadcrumbList|FAQPage'

上线前先看这三件事:

检查点 风险
是否存在 JSON-LD 没有不等于错误,但要知道现状
类型是否匹配页面 产品页不要只输出 Article,FAQ 页不要乱塞 Product
字段是否可见可核验 不要写页面没有展示的认证、评分、价格

如果当前站点还没有系统化 Schema,先别硬补一大套。先保证公开页面可访问、正文清楚、URL 规范,后续再单独做结构化数据。

第八项:把 AI crawler 边界写进验收表

外贸站做 AI SEO,容易把所有 bot 混成一类。上线前验收只需要做一件事:确认你对不同 crawler 的策略和业务目标一致。

平台/系统 上线前要避免的混淆
OpenAI OAI-SearchBotGPTBotChatGPT-User 用途不同,不要写同一条规则后就认为覆盖所有场景
Perplexity PerplexityBotPerplexity-User 要分开看
Anthropic ClaudeBotClaude-SearchBotClaude-User 要分开看
Google Search / AI features 先回到 Google Search 的抓取、索引和摘要控制体系
Bing / Copilot 先确认 Bing 能发现并索引公开页面

一条保守的上线验收口径是:

公开营销内容:
允许被主要搜索爬虫发现和抓取。

训练用途:
按公司内容资产策略单独决策,不和搜索引用混写。

用户触发访问:
按平台文档识别,不把它和批量抓取混为一谈。

敏感内容:
用权限控制,不靠 robots 或 noindex。

上线前总验收表

项目 通过标准 风险信号
URL 样本 核心页面已列入 urls.txt 只查首页
robots.txt 线上可读,未误挡公开目录 Disallow: /、测试域规则残留
sitemap 可访问、可解析、只放规范公开 URL noindex、404、跳转、测试 URL 混入
状态码 核心页最终 200,旧 URL 合理 301 4034295xx、跳首页
内容类型 HTML 页面返回 text/html 返回 JSON、下载流、空页面
canonical 指向当前规范 URL 指向旧域、测试域、跳转页
noindex 只用于明确不希望索引的页面 产品页、分类页误加
X-Robots-Tag 非 HTML 资源策略清楚 全站误加 noindex
内链 首页、分类、产品、FAQ、案例、RFQ 有路径 重要页孤岛
正文可读 关键采购信息在 HTML 文本中可见 只在图片、PDF 或 JS 里
Schema 类型和页面内容一致 塞入不可核验字段
安全层 公开页可读,提交和私密路径受保护 WAF 挑战公开页,私密文件却公开

常见错误

错误说法 更稳妥的判断
提交 sitemap 就完成 AI SEO 技术准备 sitemap 只是发现线索,不能保证抓取、索引或引用
robots.txt 放开就会被 AI 引用 抓取准入只是前提,不是结果保证
noindex 可以写进 robots.txt 对 Google 来说,这不是可靠的索引控制方式
所有 AI crawler 都应该一律放行 要区分公开内容、训练用途、用户触发访问和敏感资料
只要浏览器能打开,crawler 就能读 WAF、地区跳转、JS 渲染、响应头都可能造成差异
内链越多越好 重要的是路径清楚、锚文本具体、页面关系真实

上线前技术自查做得好,不会直接替你拿到 AI 搜索里的展示位置。它解决的是更基础的问题:公开内容不要在出发前就被自己挡在门外。

参考资料

内卷越来越激烈,再不做好独立站,就真的晚了!

添加微信咨询

扫描二维码添加微信客服

联系我们

  • 微信同号: 13077312120
  • Email: service@wphuo.com
  • 地址: 工业设计城智点汇7楼701 佛山市顺德区工业大道32号