Hashnode Starter Kit的SEO利器:Sitemap、RSS与JSON-LD结构化数据全解析
Hashnode Starter Kit的SEO利器:Sitemap、RSS与JSON-LD结构化数据全解析
【免费下载链接】starter-kitA blog starter kit to use Hashnode as a Headless CMS using GraphQL APIs.项目地址: https://gitcode.com/gh_mirrors/sta/starter-kit
本文带你快速了解Hashnode Starter Kit——一个基于 Next.js + GraphQL 的开源博客启动工具包,它把 Hashnode 当作 Headless CMS 来用。它的内置 SEO 能力非常完整:自动生成的 sitemap.xml、支持分页的 RSS 订阅源,以及符合 schema.org 规范的 JSON-LD 结构化数据,帮助你的博客更快被搜索引擎收录、获得富媒体搜索结果展示。
🧩 什么是 Hashnode Starter Kit?
简单来说,它是"内容留在 Hashnode,展示交给自己的 Next.js 站点"的方案:
- 通过GraphQL API拉取 Hashnode 的文章、标签、静态页面数据
- 提供 3 套主题(enterprise / hashnode / personal),开箱即用
- 内置一整套SEO 基础设施:Sitemap、RSS、JSON-LD、robots.txt
想本地跑起来,只需克隆仓库并配置环境变量即可:
git clone https://gitcode.com/gh_mirrors/sta/starter-kit下面逐一看它内置的三件 SEO"利器"。
🗺️ Sitemap:自动生成的站点地图
访问你的博客域名下的/sitemap.xml,就能拿到一份标准 XML 站点地图。核心逻辑在 sitemap.ts,它会把四类 URL 全部写入:
| URL 类型 | 更新频率 | 优先级 |
|---|---|---|
| 首页 | always | 1 |
| 文章页 | daily | 0.8 |
| 静态页 | always | 1 |
标签页/tag/xxx | always | 1 |
细节亮点:分页拉取最多 1000 篇文章
生成 Sitemap 的入口是 sitemap.xml.tsx,它的工作方式很值得学习:
- 先请求前 20 篇文章 + 50 个静态页面(见 Sitemap.graphql)
- 如果
pageInfo.hasNextPage为真,就递归翻页,每次 20 篇 - 最多拉取1000 篇文章后停止(
MAX_POSTS) - 每篇文章带上
updatedAt时间戳写入<lastmod>,方便搜索引擎判断新鲜度
这样无论你的博客有多少篇文章,站点地图都是完整且及时的。
📡 RSS:支持分页的订阅源
在 rss.xml.tsx 中,/rss.xml路由通过 SSR 实时生成 RSS 内容,数据组装逻辑位于 feed.ts:
- 每页 20 篇,支持
?after=xxx游标参数分页订阅,老文章也能被完整抓取 - 自动写入
atom:link的rel="first"与rel="next",符合 RSS 分页最佳实践 - 每篇文章包含标题、正文(自动过滤非 ASCII 字符,保证 XML 编码安全)、标签分类、作者、封面图
- 缓存策略
s-maxage=1, stale-while-revalidate:CDN 缓存 1 秒即过期,几乎实时
🏷️ JSON-LD 结构化数据:让搜索结果"更高级"
JSON-LD 是 Google 等搜索引擎识别页面内容语义的"标准暗号",用对了可以获得富媒体结果(富摘要)。本项目在 addPublicationJsonLd.ts 和 addArticleJsonLd.ts 中做了两层结构化数据:
- 首页注入
Blog类型:博客名称、描述、发布者(个人或团队 Organization)、Logo - 文章页注入
Blog+BlogPosting组合:文章标题、简介、发布时间、修改时间、作者、封面图、标签关键词
在 index.tsx 和 [slug].tsx 中,通过<script type="application/ld+json">注入到页面头部,搜索引擎可直接解析。
🤖 robots.txt:精细的抓取策略
别小看 robots.txt.tsx 生成的这 20 行文本,里面藏着 3 个小心思:
- 允许所有常规爬虫抓取全部页面
- 单独点名
AdsBot-Google(它默认忽略 robots.txt,必须显式允许) - 禁止
GPTBot抓取内容——你的内容,你做主 - 末尾声明
Sitemap:地址,主动把站点地图"递"给爬虫
✅ 小结:这套 SEO 组合拳好在哪?
| 能力 | 效果 |
|---|---|
| sitemap.xml | 全站 URL 自动收录,文章更新时间同步 |
| rss.xml | 订阅者/聚合器实时获取新文章,支持无限分页 |
| JSON-LD | 搜索结果展示富媒体,提升点击率 |
| robots.txt | 精准控制爬虫行为,主动申报站点地图 |
对新手来说,这套工具包最大的价值是:你不需要懂 SEO 原理,部署博客的同时就已经完成了 90% 的 SEO 基建。剩下的只需在 Hashnode 上认真写文章、写好标题与简介,把关键词自然写进内容里,让搜索引擎"找得到、看得懂、愿意展示"你的博客。🚀
【免费下载链接】starter-kitA blog starter kit to use Hashnode as a Headless CMS using GraphQL APIs.项目地址: https://gitcode.com/gh_mirrors/sta/starter-kit
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
