site map generated

This commit is contained in:
Selvi 2025-07-11 21:06:16 +05:30
parent eefbe49481
commit 6f25c5e7ad
5 changed files with 78 additions and 3 deletions

View File

@ -234,7 +234,7 @@ export default function Contact() {
</div> </div>
</div> </div>
<div className="contact2-section sp3"> <div className="contact2-section">
<div className="mapouter"> <div className="mapouter">
<div className="gmap_canvas"> <div className="gmap_canvas">
<iframe <iframe

View File

@ -3,7 +3,7 @@ import Link from 'next/link';
export default function Section1() { export default function Section1() {
return ( return (
<> <>
<div className="pricing-lan-section-area sp1 py-5"> <div className="pricing-lan-section-area sp4">
<div className="container"> <div className="container">
<div className="row"> <div className="row">
<div className="col-lg-12 m-auto"> <div className="col-lg-12 m-auto">

View File

@ -7,7 +7,8 @@
"build": "next build", "build": "next build",
"start": "next start", "start": "next start",
"lint": "next lint", "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": { "dependencies": {
"aos": "^2.3.4", "aos": "^2.3.4",

1
public/sitemap.xml Normal file

File diff suppressed because one or more lines are too long

View 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();