| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- /** @type {import('next-sitemap').IConfig} */
- module.exports = {
- siteUrl: process.env.NEXT_PUBLIC_SITE_URL || 'https://roocode.com',
- generateRobotsTxt: true,
- generateIndexSitemap: false, // We don't need index sitemap for a small site
- changefreq: 'monthly',
- priority: 0.7,
- sitemapSize: 5000,
- exclude: [
- '/api/*',
- '/server-sitemap-index.xml',
- '/404',
- '/500',
- '/_not-found',
- ],
- robotsTxtOptions: {
- policies: [
- {
- userAgent: '*',
- allow: '/',
- },
- ],
- additionalSitemaps: [
- // Add any additional sitemaps here if needed in the future
- ],
- },
- // Custom transform function to set specific priorities and change frequencies
- transform: async (config, path) => {
- // Set custom priority for specific pages
- let priority = config.priority;
- let changefreq = config.changefreq;
-
- if (path === '/') {
- priority = 1.0;
- changefreq = 'yearly';
- } else if (path === '/enterprise' || path === '/evals') {
- priority = 0.8;
- changefreq = 'monthly';
- } else if (path === '/privacy' || path === '/terms') {
- priority = 0.5;
- changefreq = 'yearly';
- }
-
- return {
- loc: path,
- changefreq,
- priority,
- lastmod: config.autoLastmod ? new Date().toISOString() : undefined,
- alternateRefs: config.alternateRefs ?? [],
- };
- },
- additionalPaths: async (config) => {
- // Add any additional paths that might not be automatically discovered
- // This is useful for dynamic routes or API-generated pages
- // Add the /evals page since it's a dynamic route
- return [{
- loc: '/evals',
- changefreq: 'monthly',
- priority: 0.8,
- lastmod: new Date().toISOString(),
- }];
-
- // Add the /evals page since it's a dynamic route
- result.push({
- loc: '/evals',
- changefreq: 'monthly',
- priority: 0.8,
- lastmod: new Date().toISOString(),
- });
-
- return result;
- },
- };
|