真实案例:为什么我的网站内容只有首页被Google收录?
1. 误区本质:页面能访问≠搜索引擎能收录
为什么会有这个误区?
很多开发者用 Next.js、Nuxt、React、Vue 等现代框架开发网站,自己在浏览器里访问每个页面都没问题,就以为“Google 也能看到”。
但事实是:你和搜索引擎看到的世界完全不同!
场景对比:
- 你(用户)访问文章页:
- 浏览器发起请求,Next.js 检查页面是否已生成。
- 没有?那就“临时”在服务器上生成(fallback: 'blocking'),你等2-3秒,页面出来了。
- 你很满意,觉得一切正常。
- Googlebot(爬虫)访问同样的URL:
- 也发起请求,但爬虫不会等页面慢慢生成。
- 如果页面没预生成,爬虫很可能只看到空白、loading 或“not found”。
- 结果:Google 以为你的网站没内容,直接不收录。
技术原理:
- Next.js 的
getStaticPaths
决定了哪些页面会在构建时“提前生成”。 - 如果
paths: []
,只有首页等极少页面被静态生成。 - 其他页面都靠 fallback 机制,只有被访问过才会生成。
- 搜索引擎不会帮你“点开”所有页面,所以大部分内容永远不会被发现。
2. 真实开发者常见误区剖析
开发者A:
“我用Next.js,所有文章页面都能访问,SEO肯定没问题!”
开发者B:
“我看Google Search Console,怎么只有首页被收录?内容页全是0?”
开发者C:
“是不是robots.txt或者sitemap.xml没写好?”
真相:
- 你本地访问没问题,是因为你触发了页面的“临时生成”。
- 但Google爬虫不会帮你点开所有文章链接。
- 没有静态生成,爬虫就看不到内容。
3. 技术对比:不同渲染方式的SEO效果
渲染方式 | 用户体验 | SEO友好度 | 典型场景 |
---|---|---|---|
SSG(静态生成) | 极速 | 最佳 | 内容站、博客 |
SSR(服务端渲染) | 快 | 较好 | 需要实时数据的页面 |
CSR(客户端渲染) | 慢 | 差 | 纯前端SPA |
结论:内容型网站一定要用SSG(静态生成)!
4. 正确做法:预生成所有内容页面
export async function getStaticPaths() {
// 遍历所有分类,收集所有文章路径
const categories = ['prompts', 'tutorials', 'tools', 'learning'];
let paths = [];
for (const category of categories) {
const categoryPaths = getCategoryPaths(category);
paths.push(...categoryPaths.map(({ params }) => ({
params: { category, slug: params.slug }
})));
}
return { paths, fallback: 'blocking' };
}
- 构建时一次性生成所有文章静态页面
- 用户和搜索引擎都能直接访问到完整内容
- SEO友好,收录率大幅提升
6. robots.txt 和 sitemap.xml 也很重要
- robots.txt 要允许爬虫抓取,并指明 sitemap 位置
- sitemap.xml 要包含所有内容页的URL
User-agent: *
Allow: /
Sitemap: https://你的域名/sitemap.xml
7. 成本优化:静态生成更省钱
- 静态页面只占用极小的存储空间(几百篇文章约30MB)
- 服务器压力极低,响应速度极快
- 只需在内容有变动时重新构建或等待自动 revalidate
8. 自查清单:你的网站SEO技术健康吗?
- getStaticPaths 是否收集了所有内容路径?
- getStaticProps 是否设置了合理的 revalidate?
- robots.txt 是否允许爬虫抓取?
- sitemap.xml 是否包含所有内容页?
- 你用Google Search Console检查过收录情况吗?
- 你用curl等工具模拟过爬虫访问页面的真实HTML吗?
9. 总结与提醒
- 页面能访问≠能被收录,一定要用静态生成!
- 检查
getStaticPaths
是否正确收集了所有内容路径 - 配置合理的
revalidate
,适配你的内容更新频率 - robots.txt 和 sitemap.xml 必须完善
- 静态生成不仅SEO好,还能大幅降低服务器成本
记住:SEO友好的技术细节,决定了你内容的命运!
希望这篇科普能帮你和团队避免踩坑,让优质内容被更多人发现!