Skip to content

Add 3D scroll animation demo with Four cleaning phases - #4

Open
matheoceleste-sudo wants to merge 32 commits into
productionfrom
claude/video-review-vsax28
Open

Add 3D scroll animation demo with Four cleaning phases#4
matheoceleste-sudo wants to merge 32 commits into
productionfrom
claude/video-review-vsax28

Conversation

@matheoceleste-sudo

Copy link
Copy Markdown
Owner

Summary

This PR adds a new interactive 3D scroll animation demo (scroll-3d-demo.html) that showcases the MathClean brand through a multi-phase scrolling experience. The demo features Four distinct cleaning service phases (Boat, Textile, Jet Interior, and Car) with synchronized 3D object animations, dynamic camera movements, and phase-based visual transitions.

Key Features

  • Four-Phase Animation Sequence: Progressive scroll-triggered transitions between boat cleaning, textile cleaning, jet interior cleaning, and car cleaning scenes
  • 3D Object Rendering: Custom Three.js geometries for each phase (boat with hull/cabin/mast, jet interior with fuselage/seats/window, car with chassis/cabin/wheels, textile plane)
  • Scroll-Synchronized Controls: GSAP ScrollTrigger integration for smooth camera positioning, object rotation, and visibility toggling based on scroll progress
  • Dynamic Visual Feedback:
    • Real-time scroll progress and camera zoom display
    • Phase labels and titles that update with scroll position
    • Background color lerping between phase-specific colors
    • Continuous object rotation animations
  • Responsive Design: Mobile-optimized layout with adjusted font sizes and spacing for smaller screens
  • Professional UI: Fixed header, stats panel, and footer with gradient background and glassmorphism effects

Technical Implementation

  • Uses Three.js for 3D scene management with PerspectiveCamera, WebGLRenderer, and standard materials
  • Implements GSAP ScrollTrigger for scroll event tracking and animation synchronization
  • Leverages MeshStandardMaterial for realistic lighting with metalness and roughness properties
  • Includes ambient, directional, and point lighting for enhanced 3D depth perception
  • Responsive canvas rendering with proper pixel ratio handling

Test Plan

N/A - This is a new demo file with no automated tests. Visual verification of the scroll animation, phase transitions, and 3D object rendering can be performed by opening the HTML file in a modern browser and scrolling through the full viewport height.

https://claude.ai/code/session_017YjS2TKuHBScCCiw9ENrE7

claude added 5 commits July 11, 2026 13:39
Interactive animation showcasing cleaning services with 4-phase scroll journey:
- Phase 1: Boat cleaning with 3D model
- Phase 2: Boat textile/upholstery cleaning
- Phase 3: Jet interior with premium seating
- Phase 4: Car detailing

Features:
- Smooth camera movement tied to scroll progress
- Dynamic background color transitions
- Rotating 3D objects with metallic materials
- Phase labels and progress tracking
- Responsive design

Uses Three.js for 3D rendering and GSAP ScrollTrigger for scroll animations.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017YjS2TKuHBScCCiw9ENrE7
Scroll-driven journey through 4 realistic scenes (Pexels photos):
boat cleaning, marine upholstery, private jet interior, car detailing.
Crossfade + Ken Burns zoom + parallax text, MathClean branding
(gold/dark, Cormorant Garamond), progress bar, dots, final CTA.
Single self-contained file, no JS dependencies, CSS gradient
fallbacks if an image fails to load.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017YjS2TKuHBScCCiw9ENrE7
- Reinsert complete site (index, assets, 9 service pages, 6 zone pages,
  robots.txt, sitemap.xml) under mathclean-site/
- Rebuild experience page: scenes now transition by decomposing into a
  3D tile grid that scatters radially, flips 180° and reassembles into
  the next photo, driven by scroll (wave stagger from center, eased,
  reduced-motion fallback)
- Enrich all 6 zone pages with unique local content (1500+ visible
  characters each) plus a "Pourquoi choisir MathClean" section
- Link the 3D experience from the homepage menu and sitemap

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017YjS2TKuHBScCCiw9ENrE7
- Homepage hero: sticky 4-scene photo journey; scrolling zooms into the
  current image while it fades to reveal the next (boat, marine
  upholstery, jet interior, car detailing), with per-scene captions
  linking to service pages, dots, cue, reduced-motion fallback and CSS
  gradient fallbacks
- Base updated to latest site version (reservation page, anim.css/js,
  filled service pages)
- Service pages: unique "zones d'intervention" copy (400+ chars each),
  Seine-et-Marne (77) link added
- Zone pages re-enriched with unique local content (1500+ chars)
- Standalone experience.html removed (now on homepage)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017YjS2TKuHBScCCiw9ENrE7
… page

- Homepage: majestic yacht photo as first scene; every service card now
  shows a real photo
- Service pages: service photo as subhero background; automobile page
  lists 9 add-on options (10-20 EUR) to raise average basket
- Reservation page rebuilt:
  * month calendar (book any future date, past days disabled)
  * car: two 3h slots (9-12 / 13-16) with option checkboxes and live
    price estimate; textiles (sofa/mattress/rug): 1h slots from 9h to 20h
  * cross-blocking: a car slot blocks overlapping textile hours and
    vice versa (persisted in localStorage on the device)
  * quote-only services: slots replaced by a required detailed
    description plus unlimited photo/video attachments
- merci.html: animated thank-you page (emoji, recontact message, back
  home button) shared by booking and quote forms via formsubmit _next
  redirect wired in app.js

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017YjS2TKuHBScCCiw9ENrE7
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jul 11, 2026

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Updated (UTC)
🔵 In progress
View logs
cloudflare-docs c9edb4e Jul 25 2026, 03:42 PM

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jul 11, 2026

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Updated (UTC)
🔵 In progress
View logs
mathclean c9edb4e Jul 25 2026, 04:13 PM

claude added 23 commits July 12, 2026 02:16
- New service: nettoyage d'avion (dedicated SEO page with jet photo,
  aerodrome coverage, 400+ chars zones section; card on homepage;
  option in booking picker as quote-based; linked in all footers and
  sitemap; hero jet caption now links to it)
- Booking: new required vehicle step for car cleaning — Citadine 29 EUR,
  Berline 39, SUV/4x4 49, Monospace/Van 59; estimate = vehicle + options
- Car options revised: coffre 5, poils d'animaux 5 (10 if heavy,
  mutually exclusive pair), shampoing sièges 10, jantes 20
- All "dès 49 €" car prices updated to 29 EUR across homepage (FAQ,
  JSON-LD, cards, hero caption), automobile service page (tier price
  list) and zone pages; trunk option 10 -> 5 EUR in FAQ

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017YjS2TKuHBScCCiw9ENrE7
- Homepage scene 1: new yacht photo (pointed bow, 3/4 front view,
  docked at port) with a canvas water-jet animation — continuous spray
  from off-screen bottom-right sweeping across the hull; while the
  visitor holds the mouse down the jet originates from the cursor and
  follows it, reverting to auto mode on release; ballistic droplets
  with splash particles, fades out on scroll, disabled for
  prefers-reduced-motion
- Car cleaning description detailed with emojis (full interior
  vacuuming, carpet shampoo, high-temperature allergen/dust-mite
  disinfection on seats, steering wheel, mats and flat surfaces) on the
  automobile service page and homepage FAQ (+ JSON-LD)
- Airplane service now also in hero subtitle and the contact form's
  service selector

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017YjS2TKuHBScCCiw9ENrE7
- Fix mobile nav bug: the drawer was position:fixed inside the fixed
  header whose scrolled-state backdrop-filter turns it into a containing
  block, breaking the drawer once the page scrolls (menu items drifted
  off-screen). Replaced with an absolute panel anchored under the
  header — immune to backdrop-filter, scrollable, solid background
- Remove the water-jet canvas animation from the homepage hero
- Floating "Réserver" pill bottom-right on every page (except booking
  and thank-you pages), injected via app.js with path-aware link
- Header: gold pill now "Réserver" -> reservation.html; "Contact" link
  added next to FAQ on all 18 pages
- Homepage contact section: "Des questions à nous poser ?" /
  "Nous contacter" replace the old quote wording
- Booking page: detailed-description textarea and photo/video upload
  now live inside step 2 in the left column (bound to the form via the
  form attribute); the calendar stays visible for quote requests as an
  optional desired date

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017YjS2TKuHBScCCiw9ENrE7
- Every quote/booking CTA on the 10 service pages now deep-links to
  reservation.html?service=<name>; the booking page reads the param and
  preselects the service so the flow continues immediately
- Selecting a service auto-scrolls to the next step; a helper message
  under the disabled submit button explains exactly what is missing
  (describe your need / pick vehicle / date / slot)
- Forms (booking + homepage contact) now submit via AJAX to formsubmit
  and always land on merci.html; classic POST with _next kept as
  network-failure fallback; button shows "Envoi en cours…" while sending
- merci.html: added bold underlined "Retour au site" text link under
  the existing back-home button

Verified end-to-end in headless Chromium: service page CTA ->
preselected quote -> submit -> merci.html; calendar booking -> submit ->
merci.html with the slot blocked on return.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017YjS2TKuHBScCCiw9ENrE7
- Reviews section replaced with the infinite-scroll marquee from the
  user's MAJ2 design (6 reviews, duplicated track, pause on hover,
  edge fade mask, reduced-motion fallback)
- New #tarifs section with three pricing cards (Automobile from 29 EUR
  with vehicle tiers and +5 EUR trunk option, Ameublement from 39 EUR
  featured, Sur mesure on quote incl. boat/plane) — prices aligned with
  current offer, CTAs deep-link to the booking page; "Tarifs" added to
  the homepage menu
- Both formsubmit endpoints (homepage contact + booking) now point to
  matheoceleste@gmail.com
- Fixed unclosed @media braces from CSS extraction that swallowed the
  pricing rules

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017YjS2TKuHBScCCiw9ENrE7
- CRITICAL FIX: 9/10 service pages had a canonical URL missing the
  /services/ path segment, pointing to a 404 instead of the real page —
  this actively harms indexing/ranking. Fixed to match actual file paths.
- Added Service + BreadcrumbList JSON-LD to all 10 service pages, and
  LocalBusiness + BreadcrumbList JSON-LD to all 6 zone pages (previously
  only the homepage had structured data)
- Reinforced target keywords the user wants to rank for: "nettoyage
  voiture" added alongside "nettoyage automobile" in title/meta/body;
  "nettoyage de textile" added to canapé/matelas/tapis meta
  descriptions and to the homepage services intro
- Added role="img" aria-label to the 4 hero background-image divs
  (previously zero alt/accessible text on any photo site-wide)
- Added Tremblay-en-France (93290, HQ city) to the Seine-Saint-Denis
  zone page city list and to the canapé service page body copy
- sitemap.xml: added <lastmod> to every URL

Verified: all JSON-LD blocks parse as valid JSON, every canonical now
resolves to an existing file, pages render with no console errors.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017YjS2TKuHBScCCiw9ENrE7
- Created zones/val-de-marne-94.html and zones/val-doise-95.html: every
  service page already claimed coverage of these two departments in
  body text, but no landing page existed for them (unlike the other 6
  departments) - direct gap vs. the "8 Departements" homepage stat.
  Same template as existing zone pages: unique 1250-1450+ char content,
  city lists, LocalBusiness + BreadcrumbList JSON-LD, canonical.
- Wired the 2 new pages everywhere: homepage zones grid (now 8) and
  footer, all 10 service pages (body city links + footer), all 6
  existing zone pages' footers, and sitemap.xml
- Added a favicon (existing lion.svg) to all 19 previously-faviconless
  pages
- Fixed homepage LocalBusiness JSON-LD areaServed list: was missing
  Seine-et-Marne, Val-de-Marne and Val-d'Oise entirely

Verified across all 21 HTML pages: every JSON-LD block parses as valid
JSON, every canonical resolves to an existing file, zero broken
internal links, new pages render correctly with correct title/H1.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017YjS2TKuHBScCCiw9ENrE7
Homepage hero: punchier headline "Comme neuf. Sans effort." with a
trust-badge row (intervention sous 24h / devis gratuit / experts 7j/7)
and two clear CTAs (Réserver mon intervention / Demander un devis) —
kept the existing yacht scene and scroll journey untouched.

Booking page: added the G-Clean-style wizard chrome on top of the
existing flow — a rating/trust pill (4,9/5 · +250 avis · dès 29 €), a
sticky "ÉTAPE 0X / 04" progress bar with a gold fill and step labels
(Prestation / Détails / Date & créneau / Coordonnées) that advances as
the user completes each stage, and a "Besoin d'aide ?" phone line. All
existing logic is preserved intact: vehicle tiers, options, calendar,
1h/3h slots, cross-blocking, quote mode with photo/video upload, and the
merci.html redirect.

Verified in-browser: hero renders with badges over the yacht; progress
bar steps 01→02→03→04 (38%→62%→100%) as service/vehicle/date/slot are
chosen; no console errors.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017YjS2TKuHBScCCiw9ENrE7
…py fixes

- Reservation: the 'décrire votre besoin' textarea now renders as a full
  dark rectangle like the other fields (it sits outside <form> via the
  form= attribute, so the global 'form textarea' rule never reached it —
  added dedicated #stepDevis styling)
- Homepage hero: added a 'Prochaines disponibilités' panel (city · day ·
  hour, days computed dynamically in JS) and kept the trust markers
  (Intervention sous 24h / Devis gratuit / Experts qualifiés); reservation
  trust pill now also shows 'Intervention sous 24h · Experts qualifiés'
- Replaced 'premium' wording in the hero eyebrow and subtitle with
  'Service de nettoyage à Paris & Île-de-France'
- Services nav item is now a dropdown: opens on hover (desktop) and on
  click (desktop + mobile, inline accordion), listing all 10 services
  each suffixed 'à Paris'; applied to every page
- Added an 'Autres services' section with a photo card per service at the
  bottom of all 18 service and zone pages, linking to each service page
  (span images given display:block so the 118px thumbnail renders; dark
  fallback colour if a photo fails to load)

Verified in-browser: dropdown hover+click, dispo dates, autres grid
(9 cards, 118px thumbs), textarea 597x170 dark; all JSON-LD valid, no
broken internal links, no console errors.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017YjS2TKuHBScCCiw9ENrE7
- Homepage hero journey reordered: first scene is now a bright cosy
  living room (light colours), and the yacht moved to the final scene.
  New scene order: salon → automobile → jet → bateau (yacht). Captions
  updated to match; added a dark scrim over the scenes so the white hero
  text stays readable over the lighter first image.
- Added a 'Qui sommes-nous' presentation section right after the hero
  (before the stats band): a warm, trust-building intro of MathClean
  (744 chars, well over the 300 requested) in a two-column layout with a
  photo and the lion signature 'Une exigence de roi'.

Verified in-browser: first scene shows the light interior with readable
text, last scene shows 'Nettoyage de bateau' (yacht), presentation
renders in two columns; no console errors.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017YjS2TKuHBScCCiw9ENrE7
…ayout

- New light palette (cream / beige / off-white) applied site-wide by
  repurposing the CSS variables plus a dedicated light-theme override
  block; text is now dark ink, gold accents deepened for contrast on
  light.
- Body now carries a fixed living-room (salon) background image, the
  same on every page; content sits in centred cream "sheets" (the
  section .wrap becomes an A4-like column) floating over that background.
- Homepage: replaced the dark immersive multi-photo scroll hero with a
  clean light hero (same headline, badges, dispo panel and CTAs) that
  fits the single fixed-background model requested.
- Patched page-inline dark styles (reservation trust pill, progress bar,
  merci page, grey #d8d4ca text) with !important overrides so they read
  correctly on cream.

Verified in-browser across home, service, reservation and merci pages:
consistent cream sheets, readable dark text, gold accents, no console
errors; all JSON-LD valid, no broken links.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017YjS2TKuHBScCCiw9ENrE7
…otos

- Darkened all body text to near-black (--blanc #12100c, --gris #39332a)
  and overrode the hardcoded light greys (#cdc9bf / #d8d4ca) used by
  prose, city chips, pricing lists, autres-services and svc-anim copy so
  everything reads as black on the cream sheets.
- Restored the animated immersive photo hero on the homepage (salon →
  car → jet → yacht scroll journey) while the rest of the site keeps the
  light cream theme; scoped the hero's text/badges/dispo back to light so
  they stay readable over the dark photos, and made the homepage header
  (brand + menu) light while it sits over that hero, dark once scrolled.
- Replaced the SVG "before/after" animations on the 9 service pages with
  real 16:10 service photos (car, sofa, mattress, rug, boat, terrace,
  premises, office, post-works), each themed to its page.

Verified in-browser: hero h1/badges light over dark photos; header brand
light on hero; service prose text near-black; svc-shot photos in place,
zero anim-stage left; all JSON-LD valid, no console errors.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017YjS2TKuHBScCCiw9ENrE7
- New conditions-generales.html (light theme, same header/footer/menu),
  13 articles covering: objet, identité, devis, prix, paiement,
  exécution (obligation de moyens), obligations du client, annulation,
  droit de rétractation (L221-18/L221-25), responsabilité & assurance,
  réclamations, RGPD, médiation & droit applicable.
- Marked with a visible "à compléter / faire valider par un juriste"
  notice and [bracketed] placeholders for the legal details not on file
  (forme juridique, SIRET, TVA, assurance, médiateur, dates).
- Linked from the homepage footer; noindex,follow.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017YjS2TKuHBScCCiw9ENrE7
Reverts the conditions-generales.html page and its homepage footer link:
the user wanted general terms to attach to their quotes, not a site page.
The terms are delivered separately as an editable Word document and a
print-ready PDF.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017YjS2TKuHBScCCiw9ENrE7
…chies

- Ajout d'une image Open Graph de marque (1200x630) + balises og:image/twitter:card sur les 20 pages
- Ajout des balises og:site_name, og:locale et Twitter Card summary_large_image
- Balises Open Graph complètes ajoutées à reservation.html
- Balises géo locales (geo.region FR-IDF, geo.placename) + robots max-image-preview
- LocalBusiness JSON-LD enrichi : logo, géoloc, horaires structurés, catalogue d'offres (9 services), paiements, email
- Ajout d'un schéma WebSite sur la page d'accueil
- Sitemap : dates mises à jour, changefreq, balise image Google

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017YjS2TKuHBScCCiw9ENrE7
- 190 photos de contenu converties de background-image CSS vers de vraies balises <img>
- Attribut alt descriptif et optimisé SEO sur chaque image (indexation Google Images)
- loading=lazy + decoding=async pour la performance (Core Web Vitals)
- width/height explicites pour éviter le décalage de mise en page (CLS)
- Photos concernées : cartes services accueil, photo équipe, photo principale de chaque service (svc-shot), grilles 'autres services' (ac-img)
- CSS mis à jour avec object-fit:cover pour un rendu identique
- Animations hero (.jimg) et fonds hero (.subhero) conservés en décoratif

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017YjS2TKuHBScCCiw9ENrE7
- CTA 'Laissez-nous un avis Google' dans la section Avis clients (logo Google officiel)
- Bouton configurable via une seule variable GOOGLE_PLACE_ID dans app.js
- Fallback vers une recherche Google Maps tant que la fiche n'est pas créée
- Style assorti au thème (carte crème, étoiles dorées, bouton or)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017YjS2TKuHBScCCiw9ENrE7
…le Business

- Adresse LocalBusiness mise a jour vers l'adresse reelle de la fiche Google (4 Rue Nicolas Copernic, 93290 Tremblay-en-France)
- Coordonnees geographiques corrigees pour Tremblay-en-France
- Coherence NAP (Nom-Adresse-Telephone) site <-> fiche Google pour renforcer le referencement local

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017YjS2TKuHBScCCiw9ENrE7
- 3 pages legales creees (mentions-legales, politique-confidentialite, politique-cookies)
- Adaptees au statut auto-entrepreneur (TVA art. 293 B), infos reelles pre-remplies, SIRET a completer
- Liens legaux ajoutes dans le pied de page des 20 pages du site
- Bandeau cookies discret et non-bloquant (site sans traceur publicitaire)
- Pages ajoutees au sitemap (priorite basse)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017YjS2TKuHBScCCiw9ENrE7
- Le bouton 'Services' n'entraine plus la fermeture du menu mobile (exclusion de .sub-toggle du handler de fermeture)
- Auparavant : taper Services ouvrait le sous-menu ET fermait le menu simultanement -> rien ne s'affichait
- Noms des services affiches en entier sur mobile (white-space:normal, plus de troncature a droite)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017YjS2TKuHBScCCiw9ENrE7
- Section 'a propos' (accueil) : paragraphe et signature passes en texte tres fonce (etaient gris clair #d8d4ca / blanc #f5f2ea)
- Section garanties (pages service/zone) : descriptions passees en fonce (etaient #d8d4ca sur creme)
- Variable --gris du theme clair assombrie (#2a251d) pour renforcer tout le texte secondaire
- Hero anime conserve en texte clair (sur photos sombres)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017YjS2TKuHBScCCiw9ENrE7
…page)

- Ajout par service d'un bloc unique : 'Pourquoi nous', methode etape par etape, FAQ
- Contenu specifique a chaque prestation (automobile, avion, bateau, bureau, canape, chantier, locaux, matelas, tapis, terrasse)
- Schema FAQPage (JSON-LD) ajoute sur chaque page -> eligibilite aux resultats enrichis Google
- Texte en fonce, lisible sur creme

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017YjS2TKuHBScCCiw9ENrE7
- Analyse des concurrents (injection-extraction, sec en 2h, anti-acariens, produits ecolo, ciblage par ville, credit impot)
- Chaque page service : +2 sections (produits eco-responsables & materiel pro + 'Ou faire nettoyer' avec villes ciblees et adresse cliquable Google Maps)
- Meta descriptions reecrites avec mots-cles a forte intention
- Pages services passees de ~5200 a 8500-10850 caracteres de contenu unique
- Nouvelle page 'Astuces & conseils' (contenu editorial, liens internes, schema Article + FAQPage)
- Lien 'Astuces & conseils' ajoute au pied de page de tout le site + sitemap
- Adresse (NAP) alignee sur la fiche Google Business pour le referencement local

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017YjS2TKuHBScCCiw9ENrE7
claude added 4 commits July 25, 2026 00:14
- Nouveau logo 'MC' (cercle dore + initiales serif) sur les 25 pages (header + signature + favicon)
- Favicon lion.svg mis a jour avec le monogramme
- Image de partage social (og-image) regeneree avec le monogramme MC

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017YjS2TKuHBScCCiw9ENrE7
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants