You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
1.2 KiB
31 lines
1.2 KiB
// next-sitemap.config.js
|
|
module.exports = {
|
|
siteUrl: 'https://duasapp.com', // Replace with your site's URL
|
|
generateRobotsTxt: true, // Generates robots.txt alongside the sitemap
|
|
changefreq: 'monthly', // Set the frequency of page changes
|
|
priority: 0.8, // Default priority for pages
|
|
sitemapSize: 5000, // Maximum entries per sitemap file
|
|
exclude: ['/admin/*', '/dashboard/*', '/404*'], // Exclude specific paths
|
|
additionalPaths: async (config) => {
|
|
// Custom static paths
|
|
const staticPaths = [
|
|
await config.transform(config, '/about'),
|
|
];
|
|
|
|
// Dynamic Dua paths (replace this with API call or database query in production)
|
|
const duaSlugs = ["etiquette-of-reciting-the-request-for-entry", "etiquettes-of-carrying-the-janazah", "dua-abu-hamza-thumali"]; // Example dynamic IDs
|
|
const dynamicPaths = duaSlugs.map((slug) => ({
|
|
loc: `/duas/${slug}`,
|
|
lastmod: new Date().toISOString(),
|
|
changefreq: 'monthly',
|
|
priority: 0.9,
|
|
}));
|
|
|
|
return [...staticPaths, ...dynamicPaths];
|
|
},
|
|
robotsTxtOptions: {
|
|
additionalSitemaps: [
|
|
'https://duasapp.com/sitemap-0.xml', // Add other sitemaps if necessary
|
|
],
|
|
},
|
|
};
|