Next.js项目生成sitemap.xml站点地图

在做SEO的过程中,常会需要在在 Next.js 项目中生成 sitemap.xml

最常见的是 next-sitemap 这个库,非常适合静态生成 (SSG) 和服务器端渲染 (SSR) 的项目。

第一步:安装 next-sitemap

shell 复制代码
Npm安装
npm install next-sitemap

或使用 Yarn:
yarn add next-sitemap


或使用 Pnpm:
pnpm install next-sitemap

第二步:在项目根目录添加 next-sitemap.config.js

js 复制代码
// next-sitemap.config.js
module.exports = {
  siteUrl: 'https://yourdomain.com', // 你的域名,确保是 HTTPS
  generateRobotsTxt: true, // 同时生成 robots.txt
  // 其他可选配置
  changefreq: 'daily',
  priority: 0.7,
  sitemapSize: 5000,
};

第三步:更新 package.json,添加生成命令

json 复制代码
{
  "scripts": {
    "postbuild": "next-sitemap"
  }
}

这样在你运行 next build 后,会自动生成 sitemap.xmlrobots.txt

第四步:运行构建生成 sitemap

shell 复制代码
npm run build

生成结果会在项目根目录的 public/ 文件夹下:

public/sitemap.xml

public/robots.txt

如果你有动态路由,比如 /blog/slug.tsx,确保这些路径通过 getStaticPaths 正确生成,next-sitemap 会自动读取构建产物来生成完整 sitemap。

如果你用的是 App Router(Next.js 13+),也可以通过配置 .next-sitemap.config.js 实现支持,结构大致相同。

如有问题可以评论留言,如果感兴趣下一篇文章将分享 Nextra的sitemap生成

相关推荐
Hanniel9 小时前
Python 元类(下):进阶与实战建议
开发语言·python
会编程的土豆10 小时前
Go interface 底层的 itab 到底是什么
开发语言·后端·golang
candyTong10 小时前
Claude Code 每次调用 API 时,上下文是怎么"拼"出来的?
javascript·后端·架构
千纸鹤の脉搏10 小时前
多线程的初步了解---进程与线程
java·开发语言·学习·线程
小林ixn10 小时前
别再背“变量提升”了!深入编译执行,彻底搞懂 JavaScript 运行机制
javascript
用户8524950718410 小时前
为什么变量能 未定义先使用?
javascript·程序员
秋田君10 小时前
Qt 5.12.8 下载与安装教程(附网盘资源)
开发语言·qt
故事和你9110 小时前
洛谷-【动态规划2】线性状态动态规划4
开发语言·数据结构·c++·算法·动态规划·图论
Larcher10 小时前
JS 变量提升:代码没动,为什么执行顺序就变了?
前端·javascript·前端框架
不吃土豆的马铃薯10 小时前
Socket 网络编程实战教程
linux·服务器·开发语言·网络·c++·算法