本文由 莫潇羽@源码七号站(www.fuyuan7.com) 撰写,转载请注明出处。
快速摘要
做SEO这几年,最要命的变化不是算法调参,而是流量入口彻底换了赛道。以前盯着百度索引量、谷歌自然排名就够了,现在还要看内容有没有被文小言念出来、有没有被必应Copilot当成答案、有没有出现在谷歌AI Overviews的引用列表里。同时打通"传统搜索收录 + AI引擎引用"的核心思路只有三条:一是用服务端渲染让首屏正文对爬虫全裸可见;二是用Schema结构化数据把语义讲清楚,让机器一眼看懂你在回答什么问题;三是配合百度普通收录API、IndexNow协议与Sitemap三线并行的推送体系,把索引窗口从"天级"压到"小时级"。这三件事做扎实,剩下的排名和AI引用才有讨论的价值。
想看完整拆解,往下翻。下面这套体系是我(莫潇羽)在源码七号站以及给几个朋友的独立站折腾了两年多沉淀出来的,里面每一段代码都在生产环境里跑过。
一、流量入口早就换了赛道,还盯着老地图就错过了
不少朋友到现在还把"SEO"理解成"上百度首页"或者"谷歌关键词排名前三"。这个理解在2020年之前是准的,但2026年再这么想,视野就窄了一半。
我自己观察下来,用户获取信息的路径已经很明显分成了三块:传统搜索结果页里的"蓝色链接"、AI搜索引擎里的"生成式答案"、以及各类聊天助手里的"对话式引用"。这三块的底层供给方并不完全独立——谷歌AI Overviews背后依然是谷歌的索引库,必应Copilot拉的还是Bing的索引,百度AI搜索走的是百度自家的知识图谱和网页库,而ChatGPT、Perplexity这类国外AI搜索工具,在实时检索环节要么调用Bing的接口、要么自建轻量索引。所以那个流传很广的观点其实是对的:传统搜索引擎的收录,是AI引擎引用的第一道门槛。
1.1 三种流量入口的关系图
先用一张示意图把关系画清楚,方便后面所有章节都能对上位。
flowchart TD
A[原创内容页] --> B[传统搜索索引库]
B --> B1[百度网页搜索]
B --> B2[谷歌网页搜索]
B --> B3[必应网页搜索]
B --> C[生成式引擎的候选池]
C --> C1[百度AI搜索 / 文小言]
C --> C2[谷歌 AI Overviews]
C --> C3[必应 Copilot]
C --> C4[国内其他 AI 搜索<br/>DeepSeek 网页版、豆包、<br/>腾讯元宝、通义千问、秘塔]
C --> C5[国外可访问的 AI 搜索<br/>ChatGPT Search、Perplexity 等,<br/>使用境外服务请遵守国内相关规定]
图上有几个点要额外说明。第一,AI搜索的候选池不是模型自己"记住"的知识,它调用的是实时检索接口,本质就是把搜索结果读一遍再总结出来。第二,国内平台的AI搜索大多和自家的传统搜索共享索引底座,所以百度收录得好,文小言引用你的概率就高;反过来,一直没进入百度索引的内容,几乎不可能被文小言主动引用。第三,境外的AI搜索工具在国内的访问需要遵守国内网络与内容管理的相关规定,本文的策略主要围绕国内可合规使用的入口来展开,境外部分只做原理性科普。
1.2 GEO 不是玄学,它就是SEO的延伸
GEO这个词最近被很多机构包装得神乎其神,什么"AI引用率提升300%"、"月内霸榜大模型问答"。说白了,GEO(生成式引擎优化)就是把传统SEO里"让爬虫抓得到、让用户点得进"这两件事,往上再加一层"让大模型引得动"。它不是要推翻SEO,而是在SEO已经跑通的基础上,往结构化、语义化、可提取化再深挖一层。
我给自己划了一条很朴素的判断线:如果一个页面在百度、谷歌、必应里普通用户搜关键词都排不到前两页,那它被AI引擎引用的概率基本可以忽略不计。因为AI引擎的候选池首先是从传统搜索排名里筛出来的,你连排名都进不去,模型根本没有机会看到你。
所以本文接下来讲的所有东西——建站底座、结构化数据、推送、写作结构、robots、E-E-A-T——都是在同时喂两批"读者":一批是传统搜索引擎的爬虫和排名算法,一批是各家AI搜索背后的检索增强生成(Retrieval-Augmented Generation,简写RAG,白话就是"先搜再答")管线。一石二鸟,不需要为了AI再单独搞一套内容。
1.3 国内环境下的合规底线要先立起来
在讲技术打法之前,有几条底线我一定会提醒源码七号站的读者:
- 涉及境外服务(比如某些AI搜索、某些海外搜索引擎接口)时,个人使用需遵守国内网络与内容管理相关规定,不要在内容里去传播绕过管控的具体方法。
- 涉及数据抓取、他人内容再利用时,注意《网络安全法》《数据安全法》《个人信息保护法》以及《生成式人工智能服务管理暂行办法》的相关要求。
- 涉及广告、金融、医疗、教育这类特殊行业内容时,务必回到对应行业的监管要求上去核对,不要用"SEO话术"覆盖合规义务。
这不是废话套话,我见过不止一个站因为几行"敏感"的文案被平台批量下架,前期做得再好的收录也白搭。守住底线,剩下的技巧才有落地空间。
二、建站底座:先让爬虫无门槛地"看见"你的内容
任何SEO/GEO讨论,如果绕开"爬虫能不能抓到完整内容"这一步,就是空中楼阁。我在源码七号站踩过的第一个大坑,就是当年图省事用了一个纯客户端渲染(Client-Side Rendering,简写CSR,白话就是"页面靠浏览器跑JS拼出来")的前端方案,结果新站上线三个月,百度只收录了首页,谷歌收了三分之一的路由,必应几乎全灭。花了半个月改成服务端渲染,索引量在两周内翻了六倍。
2.1 为什么"能不能渲染 JavaScript"是个伪问题
社区里现在还在争"百度到底能不能渲染JS"、"谷歌是不是完全支持Vue"。我的态度一直是:这个问题本身就问偏了,正确的问题是"你有没有必要为爬虫承担渲染成本"。
现实里,三个方向的观察结论比较一致:
- 百度蜘蛛对JS渲染的预算极其吝啬,除非是权重很高的站点,普通站的JS页面基本靠不上抓取。
- 谷歌的渲染能力最强,但在生成AI Overviews摘要时,主要采样的是初始HTML里的可见文本,而不是渲染后的完整DOM。
- 必应对JS的渲染同样克制,且必应Copilot的引用逻辑高度依赖首屏结构化文本。
如果你的正文是靠JS异步拉接口再插入DOM的,AI引擎大概率抓到的是一段"加载中……"的骨架屏,或者一段无实义的占位文字。这不是危言耸听,我自己拿源码七号站的一个测试子域名做过对照实验,同样的正文,一版走CSR、一版走SSR(Server-Side Rendering,服务端渲染),一个月后,必应Copilot里能引用到SSR版本的段落,而CSR版本连收录都还没完成。
2.2 SSR、SSG、预渲染三条路怎么选
不是所有站都需要上完整SSR,实际上根据站点内容更新频率不同,路径可以简化。莫潇羽@源码七号站的选型习惯如下:
|
内容形态 |
更新频率 |
推荐渲染方案 |
代表工具 |
|
文档 / 手册 / 长期博文 |
每周到每月 |
SSG(静态站点生成) |
Next.js SSG / Nuxt Generate / Astro / Hugo / VitePress |
|
资讯 / 时效性长文 |
每天到每小时 |
SSR + 边缘缓存 |
Next.js App Router / Nuxt SSR |
|
交互型工具 / 后台系统 |
用户实时操作 |
CSR + 关键落地页预渲染 |
React / Vue + Prerender.io / Rendertron |
|
电商列表 / 商品详情 |
分钟级更新 |
ISR(增量静态再生成) |
Next.js ISR / Nuxt hybrid |
有一个心法要记住:内容型页面一律优先SSG或SSR,交互型页面才考虑CSR。很多团队图开发方便,把商品详情页也做成CSR,结果搜索引擎抓到的只有一个空壳,SKU信息、价格、库存全靠JS拉,AI引擎自然无从引用。
2.3 首屏可见性自检清单
不管你走哪条路线,最后都得回答一个问题:在完全禁用JavaScript的环境下,我这个页面的HTML源码里,能不能读到完整的正文和内部链接?
我给自己的项目立了一份雷打不动的自检清单,每次上线前必过一遍:
- 关键词的标题(h1)在HTML源码里直接可见,不依赖任何JS注入。
- 正文的前 300 字在HTML源码里完整可见,包括那段"定义式摘要"(后面章节会详细讲)。
- 内部锚文本链接在HTML源码里以
<a href>的形式存在,不是onclick跳转。 - 图片有真实的
alt属性,且在HTML里就写好,不依赖JS填充。 - 结构化数据(JSON-LD)在HTML源码里作为静态
<script type="application/ld+json">出现。
测的方法也简单,打开Chrome开发者工具,进入命令面板(Command+Shift+P 或 Ctrl+Shift+P),输入Disable JavaScript回车,然后刷新页面。能读到的内容,就是搜索引擎最初看到的内容。爬虫不会像用户一样等JS跑完,它拿到什么就是什么。
2.4 一段最小可用的Next.js SSR示例
如果你现在用的是React技术栈,从CSR切到SSR,Next.js的App Router是我个人比较推荐的路径。下面是一个极简的博文页服务端渲染示例,能直接把文章正文塞进初始HTML里,供爬虫和AI引擎读取。
// app/blog/[slug]/page.tsx —— Next.js App Router 下的博文详情页
import { notFound } from "next/navigation";
// 这个函数在服务端执行,返回的数据会直接嵌进初始 HTML
async function getPost(slug: string) {
const res = await fetch(`https://api.example.com/posts/${slug}`, {
// 每 10 分钟重新拉一次,兼顾时效性和缓存效率
next: { revalidate: 600 },
});
if (!res.ok) return null;
return res.json();
}
// 页面级 metadata,服务端生成 <title> / <meta> / <link rel="canonical">
export async function generateMetadata({ params }: { params: { slug: string } }) {
const post = await getPost(params.slug);
if (!post) return {};
return {
title: post.seoTitle,
description: post.seoDescription,
alternates: { canonical: `https://www.example.com/blog/${params.slug}` },
};
}
export default async function BlogPage({ params }: { params: { slug: string } }) {
const post = await getPost(params.slug);
if (!post) notFound();
return (
<article>
<h1>{post.title}</h1>
{/* 关键:正文直接以 HTML 形式输出,爬虫无需渲染 JS */}
<div dangerouslySetInnerHTML={{ __html: post.htmlContent }} />
</article>
);
}
这段代码的核心不在于炫技,而在于它把正文塞进了初始HTML。爬虫curl一下这个URL,拿到的就是完整的标题和正文,不需要跑JavaScript。搭配后面章节要讲的结构化数据和内容结构,这套底座就算基本合格了。
2.5 老站改造,别一次性推翻
我知道有朋友现在手上是老的Vue/React单页应用,全部改成SSR成本很高。莫潇羽的建议是分阶段来:
- 第一阶段:把"内容型落地页"(博文详情、产品详情、专题页)单独提出来,用预渲染工具(Prerender.io、Rendertron)为搜索引擎爬虫提供静态快照。
- 第二阶段:把这些落地页迁移到SSG或SSR框架,先解决增量新页面。
- 第三阶段:老页面按流量优先级批量重构,把最有价值的10%到20%的URL先做完。
预渲染这个中间态方案的原理是判断User-Agent:如果请求来自百度蜘蛛、Googlebot、Bingbot等已知爬虫,就返回预先渲染好的静态HTML;如果是普通用户,就走原来的CSR流程。这样能让你在不动前端架构的前提下,快速给爬虫喂上静态内容。但它是过渡方案,不是终点,长期还是建议往SSR或SSG走。
三、结构化数据:机器读得懂的那门语言
底座打好之后,很多人以为该冲内容了,其实还有一层被严重低估的东西:结构化数据。这层东西不给人看,专门给搜索引擎和AI引擎看。它的作用不是让你出现在搜索结果里,而是让机器用最短的时间、最少的歧义,理解你这个页面到底在说什么、回答了哪个问题。
3.1 Schema.org 是什么,跟SEO是什么关系
Schema.org是Google、微软、雅虎、Yandex几家搜索引擎在2011年联合发起的一套开放语义标记规范。白话讲,它就是一份"给机器读的元数据词典",规定了怎么用统一的字段去描述"一篇文章"、"一个人"、"一个产品"、"一场活动"这些常见对象。
我在源码七号站上用的是JSON-LD写法(另外还有Microdata、RDFa两种老写法,基本已经被淘汰了)。JSON-LD的好处是跟正文HTML完全解耦,你可以把整块结构化数据放进 <head> 里的一个 <script> 标签里,前端渲染不受影响,机器一看就懂。
3.2 一个必须知道的2026年变化:Google FAQ 富媒体已经下线
这里有个必须要给读者说清楚的信息,很多老SEO教程还没更新到位。Google在2026年5月7日正式下线了FAQ富媒体结果,也就是说,你给页面加了FAQPage结构化数据,在Google搜索结果里再也不会显示那种可展开的问答手风琴了。Search Console里的FAQ富媒体报告也在同期陆续下线。
看到这个消息的时候,很多人的第一反应是"那FAQ结构化数据是不是可以删了?"我的态度是相反的:不但不删,还要继续认真做。原因很简单:Google AI Overviews、必应Copilot、以及各家AI搜索引擎,都会把FAQPage/QAPage结构化数据当成"高置信度的问