最近,我上线了一个面向制造业现场人员的AI工具网站:
聆机智能制造业AI工具箱
网站地址是:
https://ai.linkede.cn
这个工具主要用于生成制造业常见文档,比如8D报告、SOP作业指导书、设备点检表、设备保养规范、生产日报和班组交接班记录。

网站上线后,访问、注册和文档生成功能基本正常。
但我很快发现了一个问题:
在搜索引擎搜索"聆机智能AI工具箱",完全找不到网站。
我又试着搜索完整网址、公司名称和产品名称,结果还是没有这个网站,公司官网倒是可以搜出来。
按照过往惯性思维,当时第一反是做SEO、发外链、堆关键词,或者在多个平台大量发布文章。
但如果搜索引擎连网站都没有正常发现,后面的工作基本都是白费。
所以我先确认一个基础问题:
搜索引擎能不能正常访问这个网站
第一步:先判断是没排名,还是没收录
网站搜索不到,通常有两种情况。
第一种是网站已经被收录,只是排名比较靠后。
第二种是搜索引擎根本没有建立这个网站的索引。
可以先在百度中搜索:
site:ai.linkede.cn
site: 是一个常见的收录查询方式,用来查看某个域名下有没有页面出现在搜索结果中。
如果能看到首页、工具页面或者其他内容,说明网站已经有部分页面被收录,只是品牌词排名还没有上来。

如果完全没有结果,再搜索:
"聆机智能AI工具箱"
或者:
"聆机智能制造业AI工具箱"
结果完整品牌名、完整域名和 site: 查询都没有搜到网站。
转为检查下面几个:
- 网站能不能正常访问
- 搜索蜘蛛是否被拦截
- 服务器返回的页面中有没有正文
- 页面是否设置了禁止收录
- 搜索引擎是否知道这个子域名存在
第二步:检查域名解析是否正常
普通浏览器能打开网站,不代表搜索蜘蛛一定能访问。
有些网站配置了防火墙、CDN机器人防护或反爬虫规则。普通用户访问返回200,搜索蜘蛛访问时却可能返回403。
我在Mac终端执行了下面的命令:
bash
curl -A "Baiduspider" -I https://ai.linkede.cn/
其中:
-A "Baiduspider"
用于把请求的 User-Agent 设置为 Baiduspider,模拟百度蜘蛛访问。
参数:
-I
表示只查看HTTP响应头,不下载完整网页。
实际返回结果如下:

第三步:第一次排查结果百度蜘蛛没有被直接拦截
最关键的一行是:
bash
HTTP/1.1 200 OK
这说明使用 Baiduspider 作为 User-Agent 访问首页时,服务器正常返回了页面。
没有出现:
bash
403 Forbidden
也没有出现:
bash
404 Not Found
或者:
502 Bad Gateway
因此,从这次测试来看,可以暂时排除几个问题:
- Nginx没有直接拒绝百度蜘蛛
- 网站防火墙没有按User-Agent拦截Baiduspider
- 首页路由可以正常访问
- Next.js服务正常响应
- HTTPS访问没有明显异常
响应头中也没有发现:
bash
X-Robots-Tag: noindex
如果存在这个响应头,搜索引擎会被明确要求不要索引页面。
目前没有发现这种情况。
不过,HTTP 200只代表服务器成功返回了页面,并不代表百度蜘蛛已经看到了完整内容。
第四步:返回200,不等于蜘蛛看到了正文
网站使用的是 Next.js。
Next.js既可以在服务器端输出完整HTML,也可以把部分内容留到浏览器中通过JavaScript加载。
如果服务器返回的HTML只有:
html
<div id="__next"></div>
而标题、介绍和工具列表都要等JavaScript执行后才出现,那么搜索引擎理解页面的难度会更高。
所以,下一步需要检查百度蜘蛛实际拿到的HTML。
我执行了:
bash
curl -A "Baiduspider" -sL https://ai.linkede.cn/ \
> baiduspider-homepage.html
这条命令会把模拟百度蜘蛛访问获得的完整HTML保存到:
bash
baiduspider-homepage.html
然后搜索首页的核心内容:
bash
grep -oE "聆机智能|AI工具箱|8D报告|SOP|设备点检表|生产日报" \
baiduspider-homepage.html | sort -u
实际输出为:
8D报告
AI工具箱
SOP
聆机智能
设备点检表
生产日报

这个结果非常关键。
它说明百度蜘蛛拿到的不是只有 div#__next 的空壳页面。
首页的品牌名称、产品名称和主要工具类型,已经直接存在于服务器返回的HTML中。
也就是说:
当前Next.js网站已经能够向搜索蜘蛛输出主要正文。
因此,可以暂时排除"纯前端SPA导致蜘蛛看不到内容"这个常见问题。
第五步:检查页面标题内容
确认正文存在后,我继续检查HTML中的标题:
bash
grep -oE "<title>[^<]*</title>" baiduspider-homepage.html
实际结果为:
html
<title>制造业 AI 文档生成工具</title>
这个标题能够正常输出,但还有一个比较明显的问题。
用户更可能搜索的,以及我们在别的地方推广的是:
html
聆机智能制造业AI工具箱
而当前标题写的是:
html
制造业 AI 文档生成工具
两者意思接近,但缺失了品牌名称,品牌名称并不完全一致。
对于一个新网站来说,品牌词最好保持统一。网站首页、Logo、页面标题、公众号和外部文章中,尽量使用相同名称。
后续准备将首页标题改成:
html
<title>聆机智能制造业AI工具箱 - 8D报告、SOP、点检表在线生成</title>
这样既保留完整产品名称,也说明了网站提供的具体功能。
第六步、检查页面描述
继续检查页面 description:
bash
grep -oE '<meta[^>]+name="description"[^>]*>' \
baiduspider-homepage.html
当前页面描述为:

这段描述已经比较清楚地说明了目标用户和主要功能。
不过,描述中没有出现完整产品名称。
后续可以改成:
html
<meta
name="description"
content="聆机智能制造业AI工具箱,面向制造业质量、设备、生产和工艺人员,支持生成8D报告、SOP作业指导书、设备点检表和生产日报,并可导出Word和PDF。"
/>
这样可以同时强化品牌词和具体用途。
第七步、检查是否存在禁止收录设置
我继续执行:
bash
grep -oiE "noindex|nofollow" baiduspider-homepage.html
命令没有返回任何结果。
这说明当前首页HTML中没有发现:
html
<meta name="robots" content="noindex">
也没有发现:
html
<meta name="robots" content="nofollow">
因此,当前页面没有明确禁止搜索引擎索引或跟踪链接。
首页暂时没有设置:
html
<meta name="robots" content="index,follow">
这不算严重问题。
在没有 noindex 的情况下,搜索引擎通常默认可以索引页面。但为了让配置更明确,后续仍然可以补充:
html
<meta name="robots" content="index,follow">
第八步、检查canonical
我又检查了canonical:
bash
grep -oE '<link[^>]+rel="canonical"[^>]*>' \
baiduspider-homepage.html
这条命令没有任何输出。
说明首页目前没有设置canonical。
canonical用于告诉搜索引擎,当前页面的标准地址是什么。
例如,我们的网站存在以下几种访问方式:
虽然这些地址最终可能访问的是同一个页面,但搜索引擎需要一个明确的标准地址。
后续在首页补充:
html
<link rel="canonical" href="https://ai.linkede.cn/">
还要每个公开工具页面,也要设置自己的canonical。
例如:
html
<link
rel="canonical"
href="https://ai.linkede.cn/tools/ai-8d-report"
/>
第九步、检查百度蜘蛛返回的HTML
我还对比了普通访问和模拟百度蜘蛛访问保存下来的HTML:
bash
cmp -s homepage.html baiduspider-homepage.html \
&& echo "普通访问与百度蜘蛛返回内容一致" \
|| echo "两种访问返回内容不同"
实际结果为:

不过,这个结果暂时不能说明网站针对搜索蜘蛛返回了特殊页面。
Next.js生成的HTML中可能包含动态内容,例如:
- 路由状态
- React服务端组件数据
- 构建标识
- 动态请求ID
- 资源预加载信息
- 缓存相关数据
即使连续发送两次普通请求,返回的HTML也可能存在细微差别。
真正需要比较的不是整个文件是否逐字相同,而是:
- 页面标题是否一致
- 主要正文是否一致
- 是否都能看到产品名称
- 是否有一方返回错误页
- 是否有一方出现noindex
目前模拟百度蜘蛛访问时,能够看到完整的品牌和工具内容,因此暂时没有发现针对蜘蛛隐藏内容的问题。
第一轮检查后的结论
经过这次排查,我原本担心的几个问题基本可以排除。
| 检查项目 | 实际结果 |
|---|---|
| 模拟Baiduspider访问 | HTTP 200 |
| Nginx是否拦截蜘蛛 | 暂未发现 |
| Next.js是否只返回空壳 | 不是 |
| 原始HTML是否有中文正文 | 有 |
| title是否存在 | 有 |
| description是否存在 | 有 |
| noindex | 未发现 |
| nofollow | 未发现 |
| canonical | 暂未配置 |
| 品牌名称是否统一 | 需要调整 |
| robots.txt | 待检查 |
| sitemap.xml | 待检查 |
| 百度资源平台提交 | 待执行 |
所以,网站目前搜不到,至少不是因为服务器拒绝访问,也不是因为搜索蜘蛛只能看到空页面。
可以确定网站具备基础抓取条件。
接下来的重点应该转向:
- 统一首页品牌名称
- 优化title和description
- 增加canonical
- 检查robots.txt
- 检查并生成sitemap.xml
- 在百度搜索资源平台添加子域名
- 使用百度抓取诊断查看真实抓取结果
- 从公司主站建立指向AI工具箱的链接
下一篇将继续检查:
Next.js网站的robots.txt和sitemap.xml是否真的存在,为什么有时访问这两个地址,返回的却是网站首页。