Mise en production
Publier sur Cloudflare Pages
Domaine déjà acquis : gregoireriobeassurance.com. Plan Free. Pas de serveur à louer. SSL inclus.
Cible
https://gregoireriobeassurance.com — projet Pages gregoire-riobe-assurance. Le build Grok (Vercel) reste intact : Cloudflare est un second canal, déclenché par npm run build:cloudflare.
01
Créer le compte Cloudflare
Allez sur dash.cloudflare.com, créez un compte (plan Free suffisant). Confirmez l’e-mail. Vous n’avez pas besoin d’un plan payant pour Pages ni pour le SSL.
02
Rattacher le domaine à Cloudflare DNS
Workers & Pages n’accepte un domaine personnalisé que si la zone DNS est chez Cloudflare, ou via un CNAME chez l’ancien registrar. La voie propre : ajouter gregoireriobeassurance.com comme site (Add a site), choisir le plan Free, puis remplacer les nameservers chez le registrar (OVH, Gandi, IONOS, etc.) par ceux indiqués (ex. ada.ns.cloudflare.com / bob.ns.cloudflare.com). Propagation : 1 à 24 h, souvent 15 min.
03
Télécharger le pack de déploiement
Sur ce site, page Téléchargements : fichier cloudflare-pages-upload.zip. Dézippez-le sur votre ordinateur. Le dossier obtenu contient le site déjà compilé (HTML, images, worker Pages). C’est ce dossier que Cloudflare va servir.
04
Créer le projet Pages
Dans le tableau de bord : Workers & Pages → Create → Pages → Upload assets. Nom du projet : gregoire-riobe-assurance (il produira une URL *.pages.dev). Glissez le contenu dézippé (pas le zip lui-même, le dossier). Deploy. En 30 secondes le site est en ligne sur https://gregoire-riobe-assurance.pages.dev.
05
Brancher gregoireriobeassurance.com
Projet Pages → Custom domains → Set up a domain. Saisissez gregoireriobeassurance.com, puis recommencez pour www.gregoireriobeassurance.com. Cloudflare crée automatiquement l’enregistrement CNAME (aplatissement de l’apex) et active le certificat SSL Universal. Statut : Active une fois le DNS vert.
06
Forcer HTTPS et www → apex
SSL/TLS → Overview : mode Full (strict). SSL/TLS → Edge Certificates : Always Use HTTPS = On. Rules → Redirect Rules (ou le fichier _redirects déjà dans le pack) : www vers https://gregoireriobeassurance.com. HSTS optionnel après 48 h stables.
07
Vérifier le site
Ouvrez https://gregoireriobeassurance.com. Contrôlez l’accueil, une fiche expertise, le formulaire devis, le clic-to-call, le cadenas HTTPS. Dans Search Console, ajoutez la propriété URL prefix https://gregoireriobeassurance.com et envoyez le sitemap.
DNS à obtenir (zone Cloudflare)
| Type | Nom | Cible | Proxy |
|---|---|---|---|
| CNAME | @ | gregoire-riobe-assurance.pages.dev | Proxied (orange) |
| CNAME | www | gregoire-riobe-assurance.pages.dev | Proxied (orange) |
Si vous ajoutez le domaine depuis l’écran Custom domains de Pages, ces lignes sont créées toutes seules. Ne créez pas un A vers une IP Pages.
Variante GitHub (mises à jour auto)
- Workers & Pages → Create → Pages → Connect to Git → GitHub.
- Dépôt du projet, branche main.
- Build command :
npm run build:cloudflare - Output directory :
dist - Environment variable :
NODE_VERSION=22 - Save and Deploy. Chaque push reconstruit le site.
E-mail du domaine
Cloudflare Email Routing (gratuit) : contact@gregoireriobeassurance.com → votre Gmail. DNS → Email → Email Routing → Enable, ajouter l’adresse, suivre les MX Cloudflare. Ne pas garder les MX de l’ancien hébergeur en parallèle.
1. Cache et règles de sécurité
Déjà dans le pack : en-têtes HSTS, CSP, X-Frame-Options, cache immutable des /assets et /fonts (1 an), images 30 jours, HTML 5 min au CDN. À activer une fois le domaine vert :
- SSL/TLS → Overview : Full (strict). Edge Certificates : Always Use HTTPS, TLS 1.2 minimum, Automatic HTTPS Rewrites.
- Security → Settings : Security Level Medium, Bot Fight Mode On. Email Obfuscation Off (sinon le mailto contact@ se casse). Hotlink Protection On.
- Security → WAF → Custom rules : bloquer les chemins
/wp-admin,/wp-login.php,/xmlrpc.php(Action : Block). - Caching → Configuration : Browser Cache TTL = Respect Existing Headers. Caching → Cache Rules : (a) URI Path contains /assets ou /fonts → Eligible, Edge TTL 1 year. (b) URI Path contains /images → Eligible, Edge TTL 1 month.
- Attendre 48 h stables, puis SSL/TLS → HSTS : Enable + Include subdomains + Preload, max-age 12 months. Soumettre le domaine à hstspreload.org.
2. SEO technique et vitesse
Déjà dans le code : polices auto-hébergées (plus de Google Fonts), images WebP + srcset, preload LCP, sitemap.xml, JSON-LD cabinet / FAQ / fil d’Ariane, Open Graph complet, canoniques, pages projet en noindex, 404 soignée.
- Search Console → ajouter
https://gregoireriobeassurance.com→ sitemap/sitemap.xml. - Google Business Profile : NAP identique au footer (9 Rue du Petit Port, 72300 Sablé-sur-Sarthe, 06 88 60 22 02).
- Speed Insights / PageSpeed : viser LCP sous 2,5 s. Le hero n’utilise plus que ~50 ko WebP sur mobile.
- Indexation : seules les pages cabinet, expertises, devis, contact, zones, mentions. Charte / docs / Cloudflare restent noindex.
Checklist go-live
- https://gregoireriobeassurance.com s’ouvre, cadenas visible
- www redirige vers l’apex en HTTPS
- Page Devis + clic-to-call 06 88 60 22 02
- NAP identique au footer
- Search Console + Google Business Profile
- Numéro ORIAS à coller dès obtention