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.xml 和 robots.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生成

相关推荐
非优秀程序员2 小时前
第07章 孙德良的阳谋|《互联网产品恩仇录》
javascript·后端
沐晓时光3 小时前
C语言入门,内存函数知识讲解
c语言·开发语言
程序员大阳6 小时前
HTML+CSS+JS对话式实战(5)-活动管理页之查看报名名单的实现
javascript·css·html·查看报名名单
新*8 小时前
从一段 WebSocket 代码聊开:bytes 不是 zlib、binaryType 决定一切,15MB 大消息的零拷贝优化
javascript·python·websocket·性能优化·blob·zlib·arraybuffer
David猪大卫9 小时前
【C++修炼】map 和 set 的使用
c语言·开发语言·数据结构·c++·经验分享·笔记·学习
OpsEye9 小时前
别再挨个充会员了:多模型编码,最麻烦的从来不是选模型
javascript·ai编程
fengci.10 小时前
CTF2MISC中等部分
开发语言·前端·学习
学以智用11 小时前
jsencrypt.js 完整详解
javascript
xys_67812 小时前
JavaEE通关手册:初识Java
java·开发语言
ShineWinsu13 小时前
对于Qt:QTableWidget常见属性以及QTableWidgetItem类的解析
开发语言·c++·qt·gui·客户端·表格·qtablewidget