技术 SEO 的最小可用清单
技术 SEO 的目的一句话:让爬虫用最低成本理解你的站点,且不产生歧义。 它不会让烂内容变好,但能让好内容不被埋掉。
一、可抓取:robots.txt
放在 public/robots.txt,随构建一起发布:
User-agent: *
Allow: /
Sitemap: https://seo.uesd.io/sitemap-index.xml
注意最后一行必须是绝对 URL。Disallow 写错一次,整站掉出索引——上线前用
Google Search Console 的“robots.txt 测试工具”跑一遍。
二、可索引:一个 URL 只属于一个页面
同一份内容能通过多个 URL 访问,是排名稀释最常见的原因:
/blog/post和/blog/post/同时可访问http与https、www与裸域同时可访问- 带追踪参数
?utm_source=被爬虫当成新页面
处理方式分两层:域名层用 Cloudflare 的 Redirect Rules 统一 301, 页面层用 canonical 声明规范版本:
<link rel="canonical" href="https://seo.uesd.io/blog/post/" />
三、标题与描述
| 元素 | 作用 | 长度 |
|---|---|---|
<title> |
决定搜索结果的主标题 | 中文约 30 字,英文 60 字符 |
description |
影响点击率,不影响排名 | 中文约 75 字,英文 160 字符 |
<h1> |
页面主题,全页一个 | 不限制,但要具体 |
标题里不要堆关键词。关键词 A_关键词 B_公司名 这种写法,点击率通常比正常句子低。
四、sitemap 与收录
Astro 的 @astrojs/sitemap 在构建时自动生成 /sitemap-index.xml,
它只会收录渲染出来的页面——所以 site 配错了,sitemap 就是一堆错 URL。
提交给 Search Console 之后,新页面通常几天内被抓取;
noindex 的页面不要放进 sitemap,两个信号会打架。
五、结构化数据
JSON-LD 是让 Google 理解“这是什么内容”的标准做法。
文章用 BlogPosting,导航用 BreadcrumbList,公司用 Organization。
验证工具:Search Console 的“富媒体搜索结果测试”。 结构化数据标的是事实,不是许诺:日期、作者、评分都必须和页面内容一致。
六、最后:性能也是 SEO
Core Web Vitals 里的 LCP、INP、CLS 已经是排名信号。 静态站点的优势就在这里——没有 hydration,没有数据库往返, 一个 HTML 文件从 Cloudflare 边缘节点返回,LCP 通常在一秒以内。
先把这六件事做对,再去谈内容策略。