site map generated
This commit is contained in:
parent
eefbe49481
commit
6f25c5e7ad
@ -234,7 +234,7 @@ export default function Contact() {
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="contact2-section sp3">
|
||||
<div className="contact2-section">
|
||||
<div className="mapouter">
|
||||
<div className="gmap_canvas">
|
||||
<iframe
|
||||
|
||||
@ -3,7 +3,7 @@ import Link from 'next/link';
|
||||
export default function Section1() {
|
||||
return (
|
||||
<>
|
||||
<div className="pricing-lan-section-area sp1 py-5">
|
||||
<div className="pricing-lan-section-area sp4">
|
||||
<div className="container">
|
||||
<div className="row">
|
||||
<div className="col-lg-12 m-auto">
|
||||
|
||||
@ -7,7 +7,8 @@
|
||||
"build": "next build",
|
||||
"start": "next start",
|
||||
"lint": "next lint",
|
||||
"sass": "sass --watch public/assets/scss/main.scss:public/assets/css/main.css"
|
||||
"sass": "sass --watch public/assets/scss/main.scss:public/assets/css/main.css",
|
||||
"generate-sitemap": "node scripts/generateSitemap.cjs"
|
||||
},
|
||||
"dependencies": {
|
||||
"aos": "^2.3.4",
|
||||
|
||||
1
public/sitemap.xml
Normal file
1
public/sitemap.xml
Normal file
File diff suppressed because one or more lines are too long
73
scripts/generateSitemap.cjs
Normal file
73
scripts/generateSitemap.cjs
Normal file
@ -0,0 +1,73 @@
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
const { SitemapStream, streamToPromise } = require('sitemap');
|
||||
|
||||
const APP_DIR = path.join(__dirname, '../app');
|
||||
|
||||
function getAppRoutes(dir = APP_DIR, baseRoute = '') {
|
||||
let routes = [];
|
||||
|
||||
const items = fs.readdirSync(dir);
|
||||
items.forEach((item) => {
|
||||
const itemPath = path.join(dir, item);
|
||||
const stat = fs.statSync(itemPath);
|
||||
|
||||
if (stat.isDirectory()) {
|
||||
const newBase = baseRoute + '/' + item;
|
||||
routes = routes.concat(getAppRoutes(itemPath, newBase));
|
||||
} else if (item === 'page.tsx' || item === 'page.js') {
|
||||
routes.push(baseRoute || '/');
|
||||
}
|
||||
});
|
||||
|
||||
return routes;
|
||||
}
|
||||
|
||||
const staticPaths = getAppRoutes().map((url) =>
|
||||
url.endsWith('/') && url !== '/' ? url.slice(0, -1) : url
|
||||
);
|
||||
|
||||
const staticLinks = staticPaths.map((url) => ({
|
||||
url,
|
||||
changefreq: 'weekly',
|
||||
priority: 0.8,
|
||||
}));
|
||||
|
||||
// Example dynamic slugs
|
||||
const tamilCulturePosts = [
|
||||
{ slug: 'instrumental-music' },
|
||||
{ slug: 'bharathnatyam-dance' },
|
||||
{ slug: 'vocal' },
|
||||
];
|
||||
|
||||
const cultureLinks = tamilCulturePosts.map((post) => ({
|
||||
url: `/tamil-culture-post/?slug=${post.slug}`,
|
||||
changefreq: 'weekly',
|
||||
priority: 0.64,
|
||||
}));
|
||||
|
||||
const allLinks = [...staticLinks, ...cultureLinks];
|
||||
|
||||
async function generateSitemap() {
|
||||
try {
|
||||
const sitemap = new SitemapStream({
|
||||
hostname: 'https://tca.metatronnest.com',
|
||||
});
|
||||
|
||||
const outputPath = path.resolve(__dirname, '../public/sitemap.xml');
|
||||
const writeStream = fs.createWriteStream(outputPath);
|
||||
|
||||
sitemap.pipe(writeStream);
|
||||
|
||||
allLinks.forEach((link) => sitemap.write(link));
|
||||
sitemap.end();
|
||||
|
||||
await streamToPromise(sitemap);
|
||||
|
||||
console.log(`✅ sitemap.xml created with ${allLinks.length} URLs!`);
|
||||
} catch (err) {
|
||||
console.error('❌ Error generating sitemap:', err);
|
||||
}
|
||||
}
|
||||
|
||||
generateSitemap();
|
||||
Loading…
x
Reference in New Issue
Block a user