Files
obc-terrassement/app/sitemap.ts
Claude a057f1901f feat: add favicon, structured data & SEO optimization for Google sitelinks
- Add SVG favicon (H logo navy+orange) for all sizes (32, 180, 192, 512)
- Add web manifest (site.webmanifest) for PWA compatibility
- Add theme-color meta tag (#1B2A4A navy)
- Add 3 structured data schemas: LocalBusiness, WebSite, SiteNavigationElement
- WebSite schema enables Google to show site name + search box
- SiteNavigationElement signals main pages for sitelinks display
- Add canonical URLs to all pages (macon, paysagiste, plombier, legal pages)
- Add metadata to pages missing it (mentions-legales, confidentialite, cgv)
- Add candidature/layout.tsx for metadata on client component page
- Optimize sitemap with consistent BASE_URL and candidature/cgv pages
- Add telephone, email, opening hours to LocalBusiness schema

https://claude.ai/code/session_01V8YAjpqRQ3bfBYsABYsEgo
2026-02-16 19:34:36 +00:00

104 lines
2.3 KiB
TypeScript

import type { MetadataRoute } from "next";
const BASE_URL = process.env.NEXT_PUBLIC_APP_URL || "https://hooklab.eu";
export default function sitemap(): MetadataRoute.Sitemap {
const now = new Date();
return [
// Page d'accueil - priorité max
{
url: BASE_URL,
lastModified: now,
changeFrequency: "weekly",
priority: 1.0,
},
// Démos métiers - pages stratégiques SEO
{
url: `${BASE_URL}/macon`,
lastModified: now,
changeFrequency: "monthly",
priority: 0.9,
},
{
url: `${BASE_URL}/paysagiste`,
lastModified: now,
changeFrequency: "monthly",
priority: 0.9,
},
{
url: `${BASE_URL}/plombier`,
lastModified: now,
changeFrequency: "monthly",
priority: 0.9,
},
// Candidature - page importante
{
url: `${BASE_URL}/candidature`,
lastModified: now,
changeFrequency: "monthly",
priority: 0.8,
},
// Pages SEO locales - site internet artisan + ville
{
url: `${BASE_URL}/site-internet-artisan-douai`,
lastModified: now,
changeFrequency: "monthly",
priority: 0.8,
},
{
url: `${BASE_URL}/site-internet-artisan-orchies`,
lastModified: now,
changeFrequency: "monthly",
priority: 0.8,
},
{
url: `${BASE_URL}/site-internet-artisan-valenciennes`,
lastModified: now,
changeFrequency: "monthly",
priority: 0.8,
},
{
url: `${BASE_URL}/site-internet-artisan-saint-amand-les-eaux`,
lastModified: now,
changeFrequency: "monthly",
priority: 0.8,
},
{
url: `${BASE_URL}/site-internet-artisan-arleux`,
lastModified: now,
changeFrequency: "monthly",
priority: 0.8,
},
{
url: `${BASE_URL}/site-internet-artisan-denain`,
lastModified: now,
changeFrequency: "monthly",
priority: 0.8,
},
// Légal
{
url: `${BASE_URL}/cgv`,
lastModified: now,
changeFrequency: "yearly",
priority: 0.3,
},
{
url: `${BASE_URL}/mentions-legales`,
lastModified: now,
changeFrequency: "yearly",
priority: 0.3,
},
{
url: `${BASE_URL}/confidentialite`,
lastModified: now,
changeFrequency: "yearly",
priority: 0.3,
},
];
}