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生成

相关推荐
努力学习的小廉1 小时前
【C++】 —— 笔试刷题day_20
开发语言·c++
西柚小萌新2 小时前
【Python爬虫基础篇】--1.基础概念
开发语言·爬虫·python
ghost1432 小时前
C#学习第17天:序列化和反序列化
开发语言·学习·c#
難釋懷3 小时前
bash的特性-bash中的引号
开发语言·chrome·bash
BillKu3 小时前
Vue3 + TypeScript中provide和inject的用法示例
javascript·vue.js·typescript
培根芝士3 小时前
Electron打包支持多语言
前端·javascript·electron
Hello eveybody4 小时前
C++按位与(&)、按位或(|)和按位异或(^)
开发语言·c++
6v6-博客4 小时前
2024年网站开发语言选择指南:PHP/Java/Node.js/Python如何选型?
java·开发语言·php
被AI抢饭碗的人4 小时前
c++:c++中的输入输出(二)
开发语言·c++