又开始了,上午又在处理前端问题,自己产品新发布的好几个页面都没被爬虫爬,网站流量高+入口在navbar+是<a>标签链接,想起之前遇到过类似的问题(
m.okjike.com),让Cursor分析了产品网站的原因(条件渲染问题),由于没用新对话,分析上下文之后我的博客站也有相同的问题(不一样的原因,portal组件库)
—————————
一个容易被忽视但影响严重的 SEO 问题
如果网站导航栏使用下拉菜单(如"产品"、"服务"、"资源"等),而这些下拉菜单中的链接在页面初始加载时不存在于 HTML 代码中,搜索引擎爬虫可能无法发现和索引这些页面。
问题表现:
在 Google Search Console 中,导航栏的很多链接对应的页面都没有被索引
即使网站流量很高,导航链接理论上应该被优先抓取,但如果链接不在初始 HTML 中,爬虫就无法发现它们
用户可以看到并点击这些链接,但搜索引擎无法发现,影响自然流量获取
如何检查(无需开发背景):
查看页面源代码(Ctrl+U),搜索你的导航链接(如 /products/feature-a)
如果找不到,说明这些链接不在初始 HTML 中,存在 SEO 问题
也可以使用 Google Search Console 的"URL 检查工具",查看"已渲染的 HTML"
常见原因:
Portal 渲染技术(Radix UI、Headless UI 等组件库)
JavaScript 动态创建(React useState、Vue v-if 等条件渲染)
客户端渲染(CSR)导致 SSR 不完整
解决方案:
最简单:在页脚添加完整的站点地图链接
最佳实践:使用纯 CSS 下拉菜单(group-hover),确保所有链接在初始 HTML 中
使用服务器端渲染(SSR),确保导航在服务器端完全渲染
重要提示:
这个问题主要影响使用 React、Vue、Next.js 等现代前端框架自建网站的开发者。如果你使用的是 WordPress、Framer、Webflow 等 CMS 平台,通常不会出现这个问题。
注意:
正文内容中的内部链接通常不会出现这个问题,因为正文在页面初始加载时就已经存在于 HTML 中。页脚链接通常也不会出现这个问题,除非使用了 JavaScript 动态加载。