initial
This commit is contained in:
47
web/sitemap.ts
Normal file
47
web/sitemap.ts
Normal file
@@ -0,0 +1,47 @@
|
||||
import { MetadataRoute } from 'next'
|
||||
|
||||
const base = process.env.NEXT_PUBLIC_SITE_URL || 'https://www.cielectrical.com';
|
||||
|
||||
// Main pages with high priority
|
||||
const mainPages = [
|
||||
{ path: '', priority: 1.0, changefreq: 'weekly' },
|
||||
{ path: '/about', priority: 0.8, changefreq: 'monthly' },
|
||||
{ path: '/contact', priority: 0.9, changefreq: 'weekly' },
|
||||
{ path: '/residential', priority: 0.9, changefreq: 'weekly' },
|
||||
{ path: '/commercial', priority: 0.9, changefreq: 'weekly' },
|
||||
{ path: '/reviews', priority: 0.7, changefreq: 'weekly' },
|
||||
];
|
||||
|
||||
// Service pages
|
||||
const servicePages = [
|
||||
{ path: '/corpus-christi/emergency-electrician', priority: 0.8, changefreq: 'weekly' },
|
||||
{ path: '/corpus-christi/panel-upgrades', priority: 0.8, changefreq: 'monthly' },
|
||||
{ path: '/corpus-christi/ev-charger-install', priority: 0.8, changefreq: 'monthly' },
|
||||
{ path: '/projects', priority: 0.7, changefreq: 'monthly' },
|
||||
];
|
||||
|
||||
// Location pages
|
||||
const locationPages = [
|
||||
{ path: '/corpus-christi/electrician', priority: 0.8, changefreq: 'weekly' },
|
||||
{ path: '/flour-bluff/electrician', priority: 0.8, changefreq: 'weekly' },
|
||||
{ path: '/portland-tx/electrician', priority: 0.8, changefreq: 'weekly' },
|
||||
{ path: '/aransas-pass/electrician', priority: 0.8, changefreq: 'weekly' },
|
||||
{ path: '/rockport/electrician', priority: 0.8, changefreq: 'weekly' },
|
||||
];
|
||||
|
||||
// API endpoints (lower priority)
|
||||
const apiPages = [
|
||||
{ path: '/api/contact', priority: 0.1, changefreq: 'never' },
|
||||
];
|
||||
|
||||
// Combine all pages
|
||||
const allPages = [...mainPages, ...servicePages, ...locationPages, ...apiPages];
|
||||
|
||||
export default function sitemap(): MetadataRoute.Sitemap {
|
||||
return allPages.map((page) => ({
|
||||
url: `${base}${page.path}`,
|
||||
lastModified: new Date(),
|
||||
changeFrequency: page.changefreq as 'always' | 'hourly' | 'daily' | 'weekly' | 'monthly' | 'yearly' | 'never',
|
||||
priority: page.priority,
|
||||
}));
|
||||
}
|
||||
Reference in New Issue
Block a user