Sitemap
How we generate the sitemap for the website.
next-forge automatically generates the sitemap for the website using Next.js's built-in sitemap generation functionality (sitemap.ts). The generation process scans different directories in the project and creates sitemap entries for various types of content:
Page Collection
The system first scans the app directory to collect all page routes:
- Reads all directories in the
appfolder - Filters out:
- Directories starting with underscore (
_) which are typically internal/private routes - Directories starting with parentheses (
() which are usually Next.js route groups
- Directories starting with underscore (
- Uses the remaining directory names as valid page routes
Content Collection
The system fetches content from the CMS to include in the sitemap:
Blog Posts
- Fetches all published blog posts via
blog.getPosts()from@repo/cms - Extracts the
_slugfrom each post to generate URLs under/blog/
Legal Pages
- Fetches all legal pages via
legal.getPosts()from@repo/cms - Extracts the
_slugfrom each page to generate URLs under/legal/
Sitemap Generation
The final sitemap is generated by combining all these routes:
- Adds the base URL as the root entry
- Adds all page routes prefixed with the base URL
- Adds all blog posts under the
blog/path - Adds all legal pages under the
legal/path
Each sitemap entry includes:
- A full URL (combining the base URL with the route)
- A
lastModifiedtimestamp (set to the current date)
The sitemap is automatically regenerated during each build, ensuring it stays up to date with your content.