diff --git a/next-sitemap.config.js b/next-sitemap.config.js
index 123be27..09005b5 100755
--- a/next-sitemap.config.js
+++ b/next-sitemap.config.js
@@ -1,8 +1,44 @@
+const fs = require('fs');
+const path = require('path');
+
+// Helper function to recursively get all routes from app/ folder
+function getAllAppRoutes(dir = 'app', prefix = '') {
+ const routes = [];
+ const items = fs.readdirSync(dir);
+
+ items.forEach((item) => {
+ const fullPath = path.join(dir, item);
+ const stat = fs.statSync(fullPath);
+
+ if (stat.isDirectory()) {
+ if (item === 'api') return; // skip API routes
+ routes.push(...getAllAppRoutes(fullPath, `${prefix}/${item}`));
+ } else if (item.endsWith('.js') || item.endsWith('.tsx')) {
+ let route = `${prefix}/${item.replace(/\.js|\.tsx$/, '')}`;
+ if (route.endsWith('/page')) route = route.replace('/page', '');
+ routes.push(route);
+ }
+ });
+
+ return routes;
+}
+
/** @type {import('next-sitemap').IConfig} */
const config = {
- siteUrl: 'https://dsavisualizer.in', // <-- Update this to your custom domain
+ siteUrl: 'https://dsavisualizer.in',
generateRobotsTxt: true,
sitemapSize: 5000,
+ transform: async (config, path) => ({
+ loc: path,
+ lastmod: new Date().toISOString(),
+ }),
+ additionalPaths: async (config) => {
+ const appRoutes = getAllAppRoutes(); // auto-detect all pages
+ return appRoutes.map(route => ({
+ loc: route,
+ lastmod: new Date().toISOString(),
+ }));
+ },
};
module.exports = config;
\ No newline at end of file
diff --git a/public/sitemap-0.xml b/public/sitemap-0.xml
index c25e354..b1574c6 100755
--- a/public/sitemap-0.xml
+++ b/public/sitemap-0.xml
@@ -1,48 +1,4 @@
-https://dsavisualizer.in/blogs/Content/timeRequired2025-07-15T17:13:06.119Zdaily0.7
-https://dsavisualizer.in/blogs/Content/dsaWebDev2025-07-15T17:13:06.120Zdaily0.7
-https://dsavisualizer.in/blogs/Content/whatIsDS2025-07-15T17:13:06.120Zdaily0.7
-https://dsavisualizer.in/login2025-07-15T17:13:06.120Zdaily0.7
-https://dsavisualizer.in2025-07-15T17:13:06.120Zdaily0.7
-https://dsavisualizer.in/visualizer/linkedList/operations/comparison2025-07-15T17:13:06.120Zdaily0.7
-https://dsavisualizer.in/blogs2025-07-15T17:13:06.120Zdaily0.7
-https://dsavisualizer.in/visualizer/linkedList/types/circular2025-07-15T17:13:06.120Zdaily0.7
-https://dsavisualizer.in/visualizer/linkedList/operations/merge2025-07-15T17:13:06.120Zdaily0.7
-https://dsavisualizer.in/visualizer/linkedList/types/doubly2025-07-15T17:13:06.120Zdaily0.7
-https://dsavisualizer.in/visualizer/queue/implementation/array2025-07-15T17:13:06.120Zdaily0.7
-https://dsavisualizer.in/visualizer/linkedList/operations/reverse2025-07-15T17:13:06.120Zdaily0.7
-https://dsavisualizer.in/visualizer/linkedList/types/singly2025-07-15T17:13:06.120Zdaily0.7
-https://dsavisualizer.in/visualizer/queue/implementation/linkedList2025-07-15T17:13:06.120Zdaily0.7
-https://dsavisualizer.in/visualizer/queue/types/deque2025-07-15T17:13:06.120Zdaily0.7
-https://dsavisualizer.in/visualizer/queue/types/circular2025-07-15T17:13:06.120Zdaily0.7
-https://dsavisualizer.in/visualizer/linkedList/operations/deletion2025-07-15T17:13:06.120Zdaily0.7
-https://dsavisualizer.in/visualizer/queue/operations/enqueue-dequeue2025-07-15T17:13:06.120Zdaily0.7
-https://dsavisualizer.in/visualizer/linkedList/operations/traversal2025-07-15T17:13:06.120Zdaily0.7
-https://dsavisualizer.in/visualizer/queue/types/multiple2025-07-15T17:13:06.120Zdaily0.7
-https://dsavisualizer.in/visualizer/queue/types/singleEnded2025-07-15T17:13:06.120Zdaily0.7
-https://dsavisualizer.in/visualizer/searching/binarysearch2025-07-15T17:13:06.120Zdaily0.7
-https://dsavisualizer.in/visualizer/sorting/bubblesort2025-07-15T17:13:06.120Zdaily0.7
-https://dsavisualizer.in/visualizer/sorting/mergesort2025-07-15T17:13:06.120Zdaily0.7
-https://dsavisualizer.in/visualizer/searching/linearsearch2025-07-15T17:13:06.120Zdaily0.7
-https://dsavisualizer.in/visualizer/sorting/quicksort2025-07-15T17:13:06.120Zdaily0.7
-https://dsavisualizer.in/visualizer/queue/operations/isfull2025-07-15T17:13:06.120Zdaily0.7
-https://dsavisualizer.in/visualizer/queue/types/priority2025-07-15T17:13:06.120Zdaily0.7
-https://dsavisualizer.in/visualizer/sorting/selectionsort2025-07-15T17:13:06.120Zdaily0.7
-https://dsavisualizer.in/visualizer/stack/implementation/usingLinkedList2025-07-15T17:13:06.120Zdaily0.7
-https://dsavisualizer.in/visualizer/sorting/insertionsort2025-07-15T17:13:06.120Zdaily0.7
-https://dsavisualizer.in/visualizer/linkedList/operations/insertion2025-07-15T17:13:06.120Zdaily0.7
-https://dsavisualizer.in/visualizer/stack/polish/postfix2025-07-15T17:13:06.120Zdaily0.7
-https://dsavisualizer.in/visualizer/queue/operations/peek-front2025-07-15T17:13:06.120Zdaily0.7
-https://dsavisualizer.in/visualizer/stack/implementation/usingArray2025-07-15T17:13:06.120Zdaily0.7
-https://dsavisualizer.in/visualizer/trees/traversing/in-order2025-07-15T17:13:06.120Zdaily0.7
-https://dsavisualizer.in/visualizer/trees/binaryTree/types2025-07-15T17:13:06.120Zdaily0.7
-https://dsavisualizer.in/visualizer/queue/operations/isempty2025-07-15T17:13:06.120Zdaily0.7
-https://dsavisualizer.in/visualizer2025-07-15T17:13:06.120Zdaily0.7
-https://dsavisualizer.in/visualizer/stack/peek2025-07-15T17:13:06.120Zdaily0.7
-https://dsavisualizer.in/visualizer/stack/isempty2025-07-15T17:13:06.120Zdaily0.7
-https://dsavisualizer.in/visualizer/stack/isfull2025-07-15T17:13:06.120Zdaily0.7
-https://dsavisualizer.in/visualizer/stack/push-pop2025-07-15T17:13:06.120Zdaily0.7
-https://dsavisualizer.in/visualizer/stack/polish/prefix2025-07-15T17:13:06.120Zdaily0.7
-https://dsavisualizer.in/blogs/Content/dsaDifferent2025-07-15T17:13:06.120Zdaily0.7
+https://dsavisualizer.in/contexts/AuthContext2025-10-04T18:29:23.213Z
\ No newline at end of file
diff --git a/public/sitemap.xml b/public/sitemap.xml
index 39fed00..ee6c9a7 100755
--- a/public/sitemap.xml
+++ b/public/sitemap.xml
@@ -1,3 +1,4 @@
+https://dsavisualizer.in/sitemap-0.xml
\ No newline at end of file