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
This commit is contained in:
Claude
2026-02-16 19:33:23 +00:00
parent 9cb49af079
commit a057f1901f
14 changed files with 225 additions and 25 deletions

View File

@@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 180 180" width="180" height="180">
<rect width="180" height="180" rx="32" fill="#1B2A4A"/>
<text x="90" y="130" text-anchor="middle" font-family="Inter, Arial, sans-serif" font-weight="800" font-size="120" fill="#FFFFFF">H</text>
<rect x="105" y="35" width="22" height="22" rx="5" fill="#E8772E"/>
</svg>

After

Width:  |  Height:  |  Size: 364 B

5
public/favicon.svg Normal file
View File

@@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" width="32" height="32">
<rect width="32" height="32" rx="6" fill="#1B2A4A"/>
<text x="16" y="23" text-anchor="middle" font-family="Inter, Arial, sans-serif" font-weight="800" font-size="20" fill="#FFFFFF">H</text>
<rect x="18" y="7" width="4" height="4" rx="1" fill="#E8772E"/>
</svg>

After

Width:  |  Height:  |  Size: 351 B

5
public/icon-192.svg Normal file
View File

@@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 192" width="192" height="192">
<rect width="192" height="192" rx="32" fill="#1B2A4A"/>
<text x="96" y="137" text-anchor="middle" font-family="Inter, Arial, sans-serif" font-weight="800" font-size="128" fill="#FFFFFF">H</text>
<rect x="112" y="37" width="24" height="24" rx="5" fill="#E8772E"/>
</svg>

After

Width:  |  Height:  |  Size: 364 B

5
public/icon-512.svg Normal file
View File

@@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" width="512" height="512">
<rect width="512" height="512" rx="64" fill="#1B2A4A"/>
<text x="256" y="365" text-anchor="middle" font-family="Inter, Arial, sans-serif" font-weight="800" font-size="340" fill="#FFFFFF">H</text>
<rect x="295" y="95" width="60" height="60" rx="12" fill="#E8772E"/>
</svg>

After

Width:  |  Height:  |  Size: 366 B

21
public/site.webmanifest Normal file
View File

@@ -0,0 +1,21 @@
{
"name": "HookLab - Sites web pour artisans du Nord",
"short_name": "HookLab",
"description": "Création de sites internet et référencement Google pour artisans du bâtiment dans le Nord (59).",
"start_url": "/",
"display": "standalone",
"background_color": "#F7F8FA",
"theme_color": "#1B2A4A",
"icons": [
{
"src": "/icon-192.svg",
"sizes": "192x192",
"type": "image/svg+xml"
},
{
"src": "/icon-512.svg",
"sizes": "512x512",
"type": "image/svg+xml"
}
]
}