用 Astro 搭建一个自己的内容站(SEO 友好)
如果你想要一个”文章为主、重视 SEO、维护成本低”的网站,Astro 几乎是量身定做的:它把内容编译成纯静态 HTML,搜索引擎爬虫进来看到的就是完整页面,不需要执行 JS 才能渲染。
为什么是 Astro
- 全静态输出:页面是预渲染的 HTML,快,且对 SEO 最友好
- 内容即文件:文章就是 Markdown,一个人用 Git 就能维护,将来接 Agent 也很顺
- 开箱即用:sitemap、RSS、结构化数据都有官方集成
最小搭建步骤
1. 初始化项目
npm create astro@latest
按提示选择空项目(Empty),TypeScript 选严格模式。
2. 配置站点地址
编辑 astro.config.mjs,site 填你的真实域名——sitemap 和 canonical 都依赖它:
export default defineConfig({
site: 'https://example.com',
integrations: [sitemap()],
})
3. 加两个 SEO 必备集成
npm install @astrojs/sitemap @astrojs/rss
4. 写第一篇文章
在 src/content/posts/ 放一个 Markdown 文件:
---
title: "我的第一篇文章"
description: "这是文章摘要,会作为 SEO meta 展示。"
pubDate: 2026-06-28
tags: [Astro]
---
正文内容……
5. 内容集合 schema
在 src/content.config.ts 里定义文章字段,字段写错会在构建时报错——这对”用 Agent 写内容”尤其重要,等于给内容质量上了一道保险。
几个 SEO 细节
- 每页独立的
title和description,别偷懒复用同一个 canonical指向自己,避免重复内容- 文章页输出
Article结构化数据(JSON-LD),利于富摘要
常见问题
| 问题 | 解答 |
|---|---|
| 需要数据库吗 | 不需要,纯静态 |
| 评论功能怎么加 | 静态站一般用第三方评论或干脆不做 |
| 搜索功能 | 静态站可以用本地索引或接入站内搜索 |
本站就是用 Astro 搭的。如果你想要更完整的骨架(栏目、标签、RSS、产品页都配好),可以照着这个思路搭建。有什么具体卡住的点,欢迎留言讨论。