Vibe 项目 SEO 实战:技术清单 30 项 + 内容增长三板斧
AI 把做网站压缩到了一个周末,但让人访问它依然很难。这篇实战指南给你一整套自然流量打法:30 项技术 SEO 清单(分必须做/加分/别折腾三档)、可直接复制的 Next.js metadata 与 sitemap 代码、OG 图自动生成思路、Programmatic SEO 的安全做法与 Google 惩罚红线、内容增长三板斧(文档即营销、更新日志公开化、教程选题公式)配 4 周内容日历、Search Console 必看的 4 张报表,以及 5 个反模式。

AI 把"做一个网站"的时间压缩到了一个周末,但"让网站有人访问"的时间一点没变。你花三天 vibe 出来的工具站、模板库、SaaS 落地页,上线后大概率会经历同一种寂静:Google 收录了首页,Search Console 里躺着零散的展示,真正的自然流量始终是 0。不是产品不行,是搜索引擎压根不知道你是谁、你能解决什么问题。
自然流量是 vibe 项目最划算的增长渠道。广告烧钱、社交媒体靠运气,而 SEO 一旦跑起来,是唯一一个"你睡觉它也在工作"的流量来源。独立开发者做 SEO 有天然优势:你自己就是站长、开发、内容编辑三合一,改个 meta 标签不用走工单,写篇教程不用等排期。这篇指南把一个 vibe 项目从 0 到有稳定自然流量的全部动作拆成清单、代码和模板,照着做就行。
一、技术 SEO 落地清单:30 项,分三档
技术 SEO 是地基。地基没打好,内容写得再好也白搭。但也别陷入"优化地基"的无限循环——很多 vibe 开发者把两周时间花在把 Lighthouse 从 98 刷到 100 上,而网站连 sitemap 都没提交。下面这 30 项按"必须做 / 做了加分 / 别折腾"分档,照顺序往下做,做到哪档停都行。
必须做(12 项):不做等于没上线
| 项 | 具体动作 | 为什么 |
|---|---|---|
| 1 | 每个页面都有唯一的 <title>,50–60 个字符,含核心关键词 | 标题是排名权重最高的页面内因素之一 |
| 2 | 每个页面写 meta description,120–155 个字符,像广告文案一样写 | 不直接影响排名,但决定搜索结果里的点击率 |
| 3 | 提交 sitemap.xml 到 Search Console | 告诉 Google 你有哪些页面,加速收录 |
| 4 | 配置 robots.txt,别误屏蔽重要页面 | 一行写错的 Disallow 能让整站从索引消失 |
| 5 | 全站 HTTPS,http 301 跳转到 https | Chrome 会标记非 HTTPS 为"不安全",直接劝退访客 |
| 6 | 每个页面设置 canonical 标签,指向自己 | 防止 ?utm= 参数、大小写、尾部斜杠制造重复页面 |
| 7 | 移动端可用:响应式布局,按钮可点、文字可读 | Google 用移动版做索引,移动端崩了等于全站崩 |
| 8 | 语义化 HTML:一个页面一个 h1,层级别跳(h1 后面跟 h2,不是 h4) | 帮助 Google 理解页面结构,AI 生成的代码最爱乱用 div |
| 9 | 图片加 alt 文本,描述图片内容而非堆关键词 | 图片搜索也是流量入口,无障碍加分 |
| 10 | 404 页面返回真正的 404 状态码,别软 404 | 软 404 会浪费抓取配额 |
| 11 | Open Graph + Twitter Card 标签,保证分享到社交媒体时有图有标题 | 社交分享是新站最初的外链和流量来源 |
| 12 | 接入 Search Console + Bing Webmaster Tools,验证所有权 | 不接入等于闭眼开车,连收录了多少页都不知道 |
做了加分(10 项):上线后第一个月补上
| 项 | 具体动作 | 为什么 |
|---|---|---|
| 13 | JSON-LD 结构化数据:组织信息、面包屑、FAQ、软件应用(SoftwareApplication) | 争取富媒体展示(星级、面包屑),提升点击率 |
| 14 | LCP 控制在 2.5 秒内:图片用 next/image,首屏别放巨型视频背景 | Core Web Vitals 是排名因素,更是留存因素 |
| 15 | CLS 接近 0:给图片和广告位预留尺寸,别让页面跳动 | 布局偏移是访客流失的隐形杀手 |
| 16 | INP 优化:重交互用防抖,第三方脚本延迟加载 | 2024 年起 INP 取代 FID,成为交互性指标 |
| 17 | 面包屑导航 + 面包屑结构化数据 | 深层页面的内部链接权重传递通道 |
| 18 | 内链:每篇新内容至少链向 2–3 篇站内相关页,也被 1–2 篇旧文链回 | 内链是新站权重流动的唯一可控手段 |
| 19 | hreflang(多语言站):zh/en 页面互相标注 | 中英双语站不做这个,Google 可能只收录一种语言 |
| 20 | 分页/筛选页用 canonical 指向主列表页,或加 noindex | 工具站的筛选参数页是最常见的重复内容重灾区 |
| 21 | 为品牌词做知识面板基础:About 页、联系方式、社交账号互链 | 品牌搜索时右侧出信息卡,信任感拉满 |
| 22 | RSS / 更新通知:博客和更新日志提供 RSS | 方便被聚合和订阅,顺手的事 |
别折腾(8 项):流量没起来之前都是噪音
| 项 | 为什么现在别做 | |
|---|---|---|
| 23 | 把 Lighthouse 从 95 刷到 100 | 95 和 100 在排名上没有可感知区别,把时间花在写内容上 |
| 24 | 买各种 SEO 审计工具的高级版 | Search Console 免费版的信息对新站已经过剩 |
| 25 | 研究 E-E-A-T 论文式优化 | 新站先解决"有没有内容"的问题,再谈"权威性" |
| 26 | 做 AMP 页面 | AMP 已死,Google 不再给优待,别考古 |
| 27 | 关键词密度精确到小数点 | 自然写作即可,堆砌反而触发反模式 |
| 28 | 二级域名 vs 子目录的纠结 | 新站直接全放主域名的子目录,简单且权重集中 |
| 29 | 外链建设的宏大计划 | 先有 20 篇值得被链的内容,再谈外链 |
| 30 | 多语言 10 种语言全开 | 先把一种语言做扎实,翻译 10 种等于 10 个空壳站 |
记住这个优先级:收录 > 点击率 > 排名 > 极致性能。新站前三个月的唯一目标,是让 Google 稳定收录你的页面,并且有人愿意在搜索结果里点进来。
二、三块代码:复制即用
清单里 1、2、6、11 这几项,Next.js App Router 用一套 metadata 模板就能全搞定。下面这份模板我每个 vibe 项目都复用,改 siteConfig 里的字段即可。
代码 1:全站 metadata 模板(app/layout.tsx)
// app/layout.tsx
import type { Metadata } from 'next'
const siteConfig = {
name: '你的产品名',
tagline: '一句话说清解决什么问题,含核心关键词',
url: 'https://yourdomain.com', // 生产域名,无尾部斜杠
ogImage: '/og-default.png',
twitter: '@yourhandle', // 没有就删掉 twitter 相关行
}
export const metadata: Metadata = {
metadataBase: new URL(siteConfig.url),
title: {
default: `${siteConfig.name} – ${siteConfig.tagline}`,
template: `%s | ${siteConfig.name}`, // 子页面标题会自动拼接
},
description: '120–155 字,像广告文案一样写:给谁用、解决什么、为什么选你。',
keywords: ['核心词1', '核心词2', '长尾词'],
authors: [{ name: '你的名字' }],
creator: siteConfig.name,
openGraph: {
type: 'website',
locale: 'zh_CN',
url: siteConfig.url,
siteName: siteConfig.name,
title: `${siteConfig.name} – ${siteConfig.tagline}`,
description: '和 description 保持一致或微调,面向社交场景。',
images: [{ url: siteConfig.ogImage, width: 1200, height: 630, alt: siteConfig.name }],
},
twitter: {
card: 'summary_large_image',
title: `${siteConfig.name} – ${siteConfig.tagline}`,
description: '同上。',
images: [siteConfig.ogImage],
creator: siteConfig.twitter,
},
robots: {
index: true,
follow: true,
googleBot: { index: true, follow: true, 'max-image-preview': 'large' },
},
alternates: {
canonical: siteConfig.url,
languages: { 'zh-CN': siteConfig.url, 'en': `${siteConfig.url}/en` }, // 单语言站删掉
},
}
子页面用 generateMetadata 覆盖标题和描述。规则:每个可索引页面的 title 必须唯一,格式固定为"页面主题 + 差异化后缀 | 品牌名",description 针对该页面的搜索意图重写,不要全站复用同一段。
代码 2:sitemap 自动生成(app/sitemap.ts)
// app/sitemap.ts
import type { MetadataRoute } from 'next'
const BASE = 'https://yourdomain.com'
async function getToolSlugs(): Promise<string[]> {
// 换成你的数据源:数据库查询、CMS API、或本地文件列表
return ['tool-a', 'tool-b']
}
async function getPostSlugs(): Promise<{ slug: string; updatedAt: string }[]> {
return [{ slug: 'hello-world', updatedAt: '2026-10-01' }]
}
export default async function sitemap(): Promise<MetadataRoute.Sitemap> {
const [tools, posts] = await Promise.all([getToolSlugs(), getPostSlugs()])
return [
{ url: BASE, lastModified: new Date(), changeFrequency: 'daily', priority: 1 },
{ url: `${BASE}/tools`, lastModified: new Date(), changeFrequency: 'daily', priority: 0.9 },
{ url: `${BASE}/blog`, lastModified: new Date(), changeFrequency: 'weekly', priority: 0.8 },
...tools.map((slug) => ({
url: `${BASE}/tools/${slug}`,
lastModified: new Date(),
changeFrequency: 'weekly' as const,
priority: 0.7,
})),
...posts.map((p) => ({
url: `${BASE}/blog/${p.slug}`,
lastModified: new Date(p.updatedAt),
changeFrequency: 'monthly' as const,
priority: 0.6,
})),
]
}
// 同目录再加一个 app/robots.ts,Disallow 留空,sitemap 指向 /sitemap.xml
注意两个坑:sitemap 里只放返回 200 且允许索引的 URL,别把登录页、草稿页塞进去;URL 数量超过 5 万或文件过大时要拆分成 sitemap 索引——vibe 项目基本碰不到这个上限,碰到那天你已经成功了。
代码 3:OG 图自动生成思路(next/og)
每篇博客、每个工具页都配一张 1200×630 的分享图,手动做图会累死。用 next/og 的 ImageResponse 做动态 OG 图:路由 app/og/route.tsx 接收 ?title= 参数,用 JSX 画一张带品牌色、标题、域名的卡片,字体用系统字体或 embed 一个 woff。metadata 里 openGraph.images 指向 /og?title=encodeURIComponent(标题)。成本几乎为零,效果是分享到 X / 微信 / Discord 时你的链接看起来像正经产品而不是裸 URL。这一步很多人跳过,但它是新站冷启动期社交传播转化的关键细节。
三、Programmatic SEO:模板化内容页的打法与红线
Programmatic SEO(pSEO)的核心思想:用一套页面模板 × 结构化数据 = 几百个针对长尾关键词的页面。比如你做了一个"调色板工具",可以生成"XX 行业配色方案"系列页面;做简历工具,可以生成"XX 职位简历模板"页面。vibe 开发者做这个有天然优势——你本来就是用代码批量做事的人。
什么能做:三类安全区
| 类型 | 例子 | 为什么安全 |
|---|---|---|
| 工具结果页 | "PDF 转 Word 在线工具""XX 城市邮编查询" | 每个页面本身就是可用工具,天然有独特价值 |
| 对比/评测页 | "A 工具 vs B 工具:2026 深度对比" | 有真实数据、观点和结论,不是换关键词的套话 |
| 聚合索引页 | "50 个免费 AI 写作模板(含使用场景)" | 人工筛选 + 分类 + 点评,聚合本身就是价值 |
什么会翻车:Google 的惩罚线在哪里
Google 的 Spam Policy 里明确写了"scaled content abuse"(规模化内容滥用):不管内容是 AI 写的还是人写的,只要批量生产、页面之间没有实质差异、主要目的是操纵排名而非帮助用户,就可能被降权甚至整站 deindex。2024 年 3 月的核心更新专门打击了一批靠 AI 批量生成几千页的站点,很多一夜之间流量归零。
判断你的模板页会不会踩线,问自己三个问题:
- 去掉模板,页面还剩什么?如果两页之间只有关键词不同,其他文字一字不差——这就是 thin content,别发布。
- 这个页面对搜这个词的人有用吗?"阿拉斯加州安克雷奇市的 PDF 转 Word 工具"这种页面,答案是否定的。
- 你敢把这一页发到社交媒体上吗?不敢发,说明你自己都知道它是垃圾。
安全做法:模板只解决"结构",每个页面的核心数据、案例、截图、结论必须真实不同。我的经验法则是模板页至少 30% 内容是该页面独有的(真实数据、实测截图、人工点评三选一),低于这个比例就别批量。
四、内容增长三板斧
技术 SEO 解决"搜得到",内容解决"排得上、点得进"。vibe 项目的内容策略别学大公司做品牌故事——你的优势是快、真实、离产品近。下面三招都是独立开发者验证过的低成本打法。
第一斧:文档即营销(docs-as-marketing)
把产品文档写成公开的、SEO 友好的教程。很多人搜的不是你的产品名,而是问题:"怎么把 Notion 数据库同步到 Google Sheets""免费去掉图片背景"。一篇"用 XX 工具 3 分钟同步 Notion 到 Sheets"的文档页,既是教程也是软广,排名上去后转化率远高于普通博客文章,因为读者搜问题的时候购买意向最强。
做法:每个核心功能写一篇"问题 → 步骤 → 截图 → 常见坑"的文档页,URL 用问题本身的关键词(如 /docs/notion-to-google-sheets),标题直接写用户会搜的话。文档站用 Mintlify、Fumadocs 或直接 Next.js 写都行,关键是公开、可索引、每篇解决一个具体问题。
第二斧:更新日志公开化写作
别把 changelog 写成"修复了若干 bug"这种内部黑话。每次更新都是一次内容发布:写清楚"新增了什么、解决了谁的什么痛点、怎么用",配一张截图。Linear、Plane 这些产品的 changelog 就是获客渠道——用户会搜"XX 工具支持 YY 功能了吗",你的更新日志页正好接住这个搜索。
进阶做法:重要的更新单独成篇博客,标题用"我们上线了 XX:解决 YY 问题"的句式,结尾附上试用链接。更新日志的 SEO 价值在于时效性:新功能刚发布时,搜索竞争几乎为零。
第三斧:教程型内容的选题公式
教程选题别靠灵感,靠公式。三个屡试不爽的选题来源:
- 客服问题转写:用户在 Discord / 邮件里问过两遍以上的问题,直接写成教程。每多一个人问,就多一篇有搜索需求的文章。
- "vs" 和 "alternative" 词:"XX alternative""XX vs YY"是工具类产品转化率最高的关键词。诚实地对比,包括承认对手的优点——读者能分辨软文,真话反而带来注册。
- 工作流教程:不只讲你的产品,讲"用 A + B + 你的产品完成 C"的完整工作流。这类内容天然会被收藏和转发,外链也更容易来。
4 周内容日历模板(每周投入约 4 小时)
| 周次 | 内容 1(2h) | 内容 2(1h) | 内容 3(1h) |
|---|---|---|---|
| 第 1 周 | 核心功能文档页 ×1(问题式标题) | 更新日志:把最近一次更新重写成人话 | 把文档页同步发到 X / 即刻 / V2EX 相关节点 |
| 第 2 周 | 教程:"用 XX 完成 YY"工作流文 ×1 | "XX alternative" 对比页初稿 | 给教程配实测截图,检查内链 |
| 第 3 周 | 对比页定稿发布(vs 竞品,诚实写) | 更新日志 ×1 | 旧文加内链:新旧内容互相链 |
| 第 4 周 | 客服高频问题转教程 ×1 | 复盘:看 Search Console 哪篇有展示无点击,改标题 | 规划下月选题(从搜索词报告里找) |
这个日历的精髓在第 4 周的复盘:内容不是写完就完,Search Console 会告诉你哪些页面"有展示没点击"(标题不行)、"有点击没排名"(内容深度不够),下个月的选题就从数据里长出来。
五、指标:Search Console 必看的 4 张报表
数据看多了会淹死,看少了会瞎猜。新站盯住这 4 张报表就够了,每周看一次,每次 20 分钟。
报表 1:效果 → 搜索结果(Performance)
看四个数字:点击次数、展示次数、平均点击率、平均排名。重点看展示高但点击率低于 1%的查询——说明排名已经有了,标题和描述没吸引力,改标题是 ROI 最高的优化动作。反过来,排名在 11–20 位的页面是"准上榜"选手,加一段内容、补几个内链,往往能推进到第一页。
报表 2:网页索引 → 网页(Pages indexing)
看"已编入索引"和"未编入索引的原因"。新站常见:已发现 – 尚未编入索引(Google 知道但没空抓,多发内链、去 Search Console 手动请求编入索引)、已抓取 – 尚未编入索引(抓了但觉得质量不够,回去加厚内容)。如果重要页面长期不在索引里,先查 robots 和 canonical,再查内容质量。
报表 3:核心网页指标(Core Web Vitals)
只看"效果不佳"的 URL 数量有没有在涨。单个页面飘红不用慌,整类模板页飘红才需要修(比如所有博客页 LCP 都超标,说明是模板的图片策略问题)。记住:这是健康检查,不是 KPI。
报表 4:链接 → 外部链接(Links)
看"最常见的链接网站"。新站的外链通常来自:你自己发的社交媒体、产品目录站(Product Hunt、BetaList、VibeFix 这类)、别人教程里的引用。每月扫一眼,如果发现垃圾站群链向你,不用理会(Google 会自动忽略大部分);如果发现有价值的引用,主动去谢谢对方,顺手问一句能不能加个锚文本。
一句话总结这四张表的关系:索引报表管"有没有",效果报表管"好不好",体验报表管"稳不稳",链接报表管"谁在推"。
六、5 个反模式:别碰
| 反模式 | 为什么诱人 | 真实后果 |
|---|---|---|
| 1. 关键词堆砌 | "多出现几次排名更高"的幻觉 | 页面读起来像机器人写的,用户秒关;严重会被判为 spam |
| 2. 买外链 | 想快速提升"权重" | Google 明确列为作弊,2024 年后对链接作弊的打击更狠,被抓就是整站降权 |
| 3. AI 一口气生成 500 篇垃圾页 | "vibe 出 500 页只要一晚上" | 触发 scaled content abuse,整站 deindex 的案例一抓一大把 |
| 4. 只做 SEO 不做产品 | 流量焦虑下的逃避 | 排名上来了、跳出率 95%,Google 会把你再降回去;流量 × 零转化 = 零 |
| 5. "等排名上来了再说" | 把 SEO 当一次性任务 | SEO 是复利游戏,停更 3 个月,竞争对手的内容就把你淹了 |
这 5 个里第 4 个最值得展开:SEO 带来的访客是最挑剔的——他们带着明确问题来,3 秒内判断你的页面能不能解决问题。产品本身拉胯,SEO 做得越好,差评传播得越快。先让产品配得上流量,再谈流量的规模。
收尾:上线后 14 天的最小行动清单
如果你只能记住一页纸,记住这个:
- 第 1 天:套上 metadata 模板,生成 sitemap,提交 Search Console,检查 robots.txt 没写错。
- 第 2–3 天:补上 OG 标签和动态 OG 图,发一条带图的社交媒体,拿到第一批外链。
- 第 4–7 天:写第一篇"问题式"文档页 + 第一篇更新日志人话版,互相做内链。
- 第 8–14 天:按内容日历写第 2 篇教程,每天花 5 分钟看 Search Console 的索引报表,手动提交新页面。
- 第 14 天晚上:看效果报表,记下第一个有展示的关键词——那是你的 SEO 起点,截图留念。
vibe coding 把"从想法到产品"压缩到了几天,SEO 则负责"从产品到用户"的后半程。它不性感、见效慢,但它是独立开发者唯一买得起的长期流量:不用续费、不用看平台脸色、越老越值钱。地基(技术清单)+ 弹药(代码模板)+ 打法(内容三板斧)都在这篇里了,剩下的就是每周 4 小时,坚持 3 个月。到时候回来看 Search Console 的曲线,你会感谢今天动手的自己。
相关文章

vibe 项目很少死于功能缺失,而是死在注册后的第一分钟。本指南认为:引导的目标不是教会用户用产品,而是尽快交付你承诺的价值。内容包括:找 Aha moment 的价值承诺画布、三种引导模式选型决策表、注册页要砍掉的 7 类字段、空状态文案模板、可直接粘贴的 3 步 React 引导组件(localStorage)、4 个漏斗指标与埋点命名规范,以及上线前 10 项自查清单。

Auth 会涨价、免费层会下线、大厂亲儿子也会关门。一人团队没有法务和备选供应商谈判筹码,唯一的盔甲是:给每个外部依赖打分定级,给每个核心依赖写一页逃生预案。本文给出可直接套用的分级矩阵、预案模板、选型十问,以及 Parse、Heroku、Auth0 三个真实翻车案例的解剖。

发布日是高潮,上线之后才是战争。这篇实战指南讲:D1/D7/D30 怎么定义才不自欺欺人、cohort 留存表怎么看、流失用户 4 层分层与 6 种流失原因、召回渠道选型决策表、3 封可直接套用的召回邮件模板(含标题写法)、流失分层 SQL、PostHog/Plausible 配置要点、Resend 与自建 SMTP 选型对比、5 个反模式,以及第 30/60/90 天复盘清单。