Contexte

LCDC est une conciergerie et blanchisserie qui intervient sur Port-la-Nouvelle, Sigean et les communes voisines de la côte audoise : entretien de logements saisonniers, gestion du linge, accueil des locataires. Une activité très locale, très concurrentielle, où l’essentiel de la demande naît d’une recherche Google faite depuis un téléphone.

L’enjeu du site n’est donc pas la vitrine pour la vitrine : il faut apparaître sur les bonnes requêtes locales et convertir en demande de devis, tout en donnant à une activité de service une image haut de gamme.

Page de demande de devis du site LCDC.

Direction artistique

Fond sombre, typographie très large, scroll fluide (Lenis) et révélations au défilement (Framer Motion) : la mise en scène doit évoquer la prestation soignée plutôt que la liste de services. Un CTA « Demander un devis » reste accessible en permanence, doublé d’une barre fixe sur mobile où se fait l’essentiel du trafic.

Rendu : pré-rendu statique natif

Le site est construit avec React Router v8 en « framework mode », en pré-rendu statique natif (ssr: false + prerender). Chaque page est générée en HTML au build puis hydratée côté client.

Le détour vaut d’être expliqué : le projet est d’abord passé par React Router v6 avec un outil de pré-rendu tiers, avant d’être migré vers le pré-rendu natif de la v7 puis de la v8. Le gain est direct : title, description, canonical et balises Open Graph sont dans le HTML livré, donc lisibles par Google comme par les robots de Facebook, LinkedIn ou WhatsApp, sans dépendre d’un service de rendu externe.

Un détail de déploiement mérite d’être noté : sur Vercel, cleanUrls redirige les URL en .html et cassait la réécriture vers le fallback SPA. Le build recopie donc ce fallback en 404.html, ce qui rend un vrai statut HTTP 404 sur la page d’erreur au lieu d’un 200 déguisé.

Référencement local

  • 6 pages « service + ville » prérendues (conciergerie et blanchisserie à Port-la-Nouvelle, Sigean, Gruissan…), une intention de recherche par page.
  • Données structurées LocalBusiness enrichies (geo, areaServed, priceRange, logo) et FAQPage sur la foire aux questions.
  • Titres formulés « service + commune », un seul <h1> par page, sitemap.xml et robots.txt.
  • Site bilingue FR / EN, l’anglais servi sous /en, car la clientèle saisonnière est largement étrangère.
Page « Nos clients » du site LCDC avec témoignage et chiffres clés.

Autonomie du client et vie privée

Le contenu éditorial et les photos sont pilotés par Sveltia CMS, un CMS git-based : chaque enregistrement crée un commit, Vercel redéploie, la page est à jour. Aucun serveur à maintenir, aucun abonnement.

Trois choix vont dans le même sens sur la vie privée : polices auto-hébergées via Fontsource (zéro requête vers Google Fonts), mesure d’audience Umami sans cookie, et Cloudflare Turnstile plutôt qu’un captcha traçant. Résultat : pas de bandeau de consentement obligatoire, et un simple bandeau d’information.

Le formulaire de devis passe par une fonction serverless et Resend, protégé par trois couches : champ piège, rejet silencieux des envois trop rapides, puis vérification Turnstile.

Où en est le projet

Le site est développé et déployé sur un environnement de préproduction Vercel. Restent à finaliser, côté client : contenus et photos définitifs, éléments légaux, autorisations de droit à l’image des biens présentés, authentification GitHub du CMS pour l’édition en ligne, et bascule sur le domaine définitif.

Livrables clés

  • Site vitrine bilingue prérendu (accueil, à propos, clients, contact, mentions légales)
  • 6 pages d’atterrissage « service + ville » pour le SEO local
  • Interface d’édition de contenu pour le client (Sveltia CMS)
  • Formulaire de devis avec protection anti-robot à trois couches
  • Mesure d’audience sans cookie et documentation de reprise