Si vous êtes là, c’est sûrement grâce à mon post LinkedIn lol 😅 Pas de panique, je ne vends rien. Je veux juste vous montrer comment créer vos propres pages SEO par secteur, rapidement et sans prise de tête. Avec Framer, Airtable et n8n, on peut générer 100 pages en quelques minutes. Je vous explique tout, étape par étape, avec les ressources prêtes à l’emploi.
Base Airtable SEO PROGRAMMATIQUE 👉 Accéder à la base
Prompt Anthropic pour la génération de pages 👉 Voir le prompt
Workflow n8n SEO PROGRAMMATIQUE 👉 Télécharger le fichier
Pourquoi le SEO programmatique change tout pour le b2b ?

Le B2B, ce n’est pas un bloc unique. Derrière ce mot, il y a en réalité une mosaïque de sous-marchés, chacun avec ses métiers, ses problématiques et ses mots-clés.
Prenons un exemple simple : si vous ciblez le B2B en général, une seule page générique ne suffira pas. Une entreprise de nettoyage industriel ne se reconnaîtra pas dans les mêmes besoins qu’une agence de communication ou qu’un cabinet d’expertise comptable. Alors, est-ce qu’il vaut mieux publier une seule page vague pour “B2B”, ou bien créer 50 pages qui couvrent les sous-secteurs, les métiers et les besoins concrets ?
C’est là que le SEO programmatique prend tout son sens. Au lieu de se limiter à un message global, il devient possible de décliner votre contenu secteur par secteur : une page dédiée pour l’hôtellerie, une autre pour l’immobilier, une autre pour la restauration, et ainsi de suite.
En pratique, ça veut dire que vous pouvez parler directement le langage de chaque cible, sans multiplier les efforts manuels. Chaque page reprend la même structure, le même design, mais avec un contenu adapté à son marché. Résultat : plus de précision, plus de pertinence, et surtout plus de chances d’apparaître là où vos prospects cherchent vraiment.
Exemples de stratégies programmatiques utilisées par les leaders du web
Entreprise / Site | Utilisation du SEO programmatique | Exemple de page |
---|---|---|
Indeed | Génère des offres d’emploi par métier et ville, comme « offres {job} à {ville} ». | indeed.com/jobs?q=plombier&l=paris |
Doctolib | Crée des pages pour chaque spécialité médicale et chaque ville, ex. « dentiste à {ville} ». | doctolib.fr/dentiste/paris |
Leboncoin Immobilier | Propose des résultats pour « appartement à louer à {ville} », déclinés sur toutes les communes. | leboncoin.fr/immobilier/appartements/paris |
ManoMano | Développe des fiches conseils et produits pour « {outil} pas cher », « {outil} professionnel », etc. | manomano.fr/perceuse |
Yelp | Liste « les meilleurs {commerce} à {ville} », appliqué à restaurants, coiffeurs, garages… | yelp.fr/paris/restaurants |
Publie des pages agence automatisation par secteur B2B, comme « Agence automatisation pour les plombiers ». | ||
Expedia | Crée des pages pour « vols {ville} → {ville} », couvrant toutes les combinaisons possibles. | expedia.fr/Vols |
Crunchbase | Met en avant des fiches pour chaque startup par secteur, pays et levée de fonds. | crunchbase.com/hub/europe-startups |
Allociné | Produit des pages pour « films {année} », « meilleurs {genre} », « cinéma à {ville} ». | allocine.fr/films/genre-13005/ |
Shopify App Store | Classe les « meilleures apps {fonction} pour {besoin} », ex. SEO, email, analytics. | apps.shopify.com/seo |
Les trois outils indispensables pour mettre en place la stratégie SEO programmatique par secteur
Au fond, j'ai pas cherché compliqué. Trois outils suffisent pour transformer une idée en 100 pages SEO prêtes à sortir.
Airtable → c’est la mémoire. On y note tout : les secteurs, les titres, les descriptions, les slugs… C’est notre table de vérité, celle qui alimente tout le reste.
n8n → c’est le lien. Il prend les données d’Airtable, fait bosser l’IA (Anthropic) pour générer du contenu, et envoie tout proprement à Framer. C’est lui qui orchestre sans jamais se fatiguer.
Framer → c’est la vitrine. On crée un seul modèle de page, et Framer le duplique à l’infini avec les infos qui viennent d’Airtable. Résultat : 100 pages en 3 minutes, toutes prêtes à ranker.
Trois briques, un seul système. La donnée entre, les pages sortent.
Étape 1 : Créer un template Framer qui tient la route pour faire du SEO programmatique

Avant de penser à remplir Airtable, il faut poser les fondations du projet : le modèle de page dans Framer. C’est lui qui dicte les règles du jeu. Si vous sautez cette étape, vous allez vite vous retrouver avec des pages cassées, moches, ou illisibles. Et là, adieu le SEO “100 pages en 3 minutes” 😂.
Pourquoi structurer sa page Framer avant de penser à Airtable
Avant de penser aux bases de données ou à l’automatisation, il y a une étape qui fait souvent sourire les débutants parce qu’elle paraît simple, presque banale, mais qui change absolument tout : la structure du template Framer.
Beaucoup se disent “on branchera Airtable, l’IA écrira le texte, et ça tiendra bien dans la page”. C’est exactement l’erreur à ne pas commettre. Parce que la vérité, c’est que Framer a des limites physiques. Chaque bloc a une largeur, une hauteur, une respiration.
Si vous laissez l’IA écrire librement, elle va générer un titre de 20 caractères sur une page et de 120 sur une autre, un paragraphe d’une ligne ici et un roman là-bas. Résultat : vos 100 pages générées n’ont plus rien d’homogène, et l’utilisateur le ressent immédiatement.
La règle est simple : Framer fixe le cadre, Anthropic doit écrire dedans. Et pour que ça marche, il faut connaître exactement la capacité de chaque bloc, poser des limites en nombre de caractères, et les transmettre dans le prompt.
Les limites de Framer et pourquoi poser des règles dès le départ
Prenons un exemple simple.
Vous ouvrez votre template Framer, vous avez un joli titre H1 qui tient parfaitement sur une ligne. Il fait 41 caractères. L’équilibre est là, la page respire. Maintenant, imaginez que l’IA décide d’écrire un titre de 58 caractères. Sur votre design, il passe sur deux lignes. Le header, qui devait être impactant et clair, devient lourd et déséquilibré.
Ça n’a l’air de rien, mais répétez ce problème sur 100 pages, et votre site entier perd en crédibilité.
C’est exactement pour éviter ça qu’on compte les caractères. On ne laisse pas l’IA improviser, on lui dit :
“Écris un titre H1 clair, entre 40 et 50 caractères.”
“Fais un meta title de maximum 60 caractères.”
“Rédige une meta description de 140 à 160 caractères.”
“Écris un paragraphe d’environ 300 caractères.”
En posant ces règles, on s’assure que chaque texte rentre parfaitement dans le cadre prévu par Framer.
Comment trouver vos propres limites de caractères directement dans Framer
Quand on parle de SEO programmatique, chaque détail compte. Et sur Framer, la longueur des textes peut complètement casser ou sublimer votre design. Un H1 trop long déborde, une meta description trop courte paraît vide, et un paragraphe trop long se transforme vite en pavé indigeste.
La question, c’est donc : comment savoir où mettre la limite ?
C’est simple : ouvrez votre template Framer et testez par vous-même.
Ajoutez des titres de différentes longueurs pour voir quand le H1 passe sur deux lignes.
Rédigez plusieurs versions de meta descriptions pour vérifier à quel moment elles sont tronquées.
Remplissez vos paragraphes avec plus ou moins de texte pour savoir à partir de quand ça devient lourd à lire.
Une fois que vous avez identifié ces seuils, notez-les quelque part. Ce ne sont pas de simples chiffres : ce sont vos règles de jeu. Et ce sont elles que vous donnerez à Anthropic (Claude) pour que chaque génération de contenu respecte vos contraintes et tienne parfaitement dans votre design Framer.
Exemples pratiques : H1, H2, meta title, meta description, paragraphe
Pour rendre ça clair, prenons les blocs un par un.
H1 – Titre principal
Votre design accepte un titre de 41 caractères. C’est parfait, il tient sur une seule ligne.
Vous passez à 58 → le texte déborde, le header est déformé.
Solution : notez que le H1 doit rester sous 50 caractères.
👉 Plus tard, dans le prompt Anthropic, vous écrirez :
“Écris un titre H1 clair et optimisé, maximum 50 caractères.”
Paragraphe
Votre bloc texte est prévu pour environ 320 caractères. Le rendu est lisible, équilibré, agréable.
Si le paragraphe en fait 750, ça devient un pavé indigestible.
Si au contraire il en fait 80, ça fait vide et amateur.
Solution : notez que vos paragraphes doivent rester entre 250 et 400 caractères.
👉 Plus tard, dans le prompt Anthropic, vous écrirez :
“Rédige un paragraphe clair et lisible, entre 250 et 400 caractères.”
H2 – Sous-titre
Votre page a des sous-titres pour rythmer le contenu. À 35 caractères, le H2 est parfait, il tient sur une ligne.
À 70 caractères, il déborde, devient trop lourd.
À 10 caractères, il ne donne aucune information utile.
Solution : notez que les H2 doivent être compris entre 25 et 45 caractères.
👉 Plus tard, dans le prompt Anthropic, vous écrirez :
“Écris un titre H2 simple et précis, maximum 45 caractères.”
Meta Title
Le meta title est ce qui s’affiche en bleu dans Google. Avec 55–60 caractères, il est lisible en entier et attire le clic.
En dessous de 40, il est trop vague. Au-dessus de 60, Google coupe et vous perdez l’accroche.
Solution : notez que le meta title doit être entre 55 et 60 caractères.
👉 Plus tard, dans le prompt Anthropic, vous écrirez :
“Écris un meta title attractif et optimisé, 60 caractères maximum.”
Meta Description
La meta description, c’est la phrase sous le titre Google. Elle doit donner envie. Entre 140 et 160 caractères, elle est complète sans être coupée.
À 100 caractères, elle est trop courte et peu engageante. À 180, Google tronque et le message est perdu.
Solution : notez que la meta description doit être entre 140 et 160 caractères.
👉 Plus tard, dans le prompt Anthropic, vous écrirez :
“Rédige une meta description engageante entre 140 et 160 caractères.”
Vérifier vos textes avec un simple compteur de caractères avant de publier

Une fois les règles posées et les textes générés par Anthropic, il reste une étape que beaucoup oublient : vérifier. Même avec des consignes précises, l’IA peut dépasser un peu.
Pour ça, pas besoin d’un outil complexe. On utilise compteur-de-caracteres.com. Vous copiez le texte généré, vous collez dans l’outil, et vous savez immédiatement si vous êtes dans la limite. Si ça dépasse, on ajuste. Si c’est trop court, on complète.
C’est rapide, mais ça garantit que vos 100 pages sortent homogènes et propres.
Pourquoi cette rigueur rend vos pages SEO programmatiques plus pro et cohérentes
Certains diront : “Un titre qui déborde un peu, ce n’est pas si grave.”
Sauf que le problème, ce n’est pas une page. C’est 100 pages.
Et une erreur multipliée par 100 devient un site qui paraît amateur.
Le but de cette étape, c’est d’éviter ça. Avec des règles simples, notées une fois, et respectées systématiquement, vous obtenez un site qui respire la cohérence et le professionnalisme.


Bloqué dans cette étape ?
N’hésitez pas à me contacter, je vous aiderai avec plaisir.
Étape 2 : Structurer sa base Airtable pour réussir son SEO programmatique

Maintenant que vous avez compris avec Framer comment poser des limites de caractères pour chaque bloc (H1, H2, paragraphe, meta title, meta description), il est temps de passer à l’étape suivante : créer la base Airtable qui va contenir toutes ces données.
Pourquoi Airtable ? Parce que c’est là que vous allez organiser chaque élément qui sera injecté dans Framer. C’est la pièce centrale de la machine. Si Framer est le moule et Anthropic l’écrivain, Airtable est le classeur où tout est rangé avec méthode. Et si le classeur est mal fichu ? Vous imaginez déjà le résultat : pages incomplètes, champs mal reliés, rendu amateur.
Si au contraire votre base est propre et structurée dès le départ, vous n’avez plus qu’à appuyer sur un bouton pour que 10, 100 ou 1000 pages sortent toutes alignées.
👉 Si vous voulez l’exemple de ma base de données que j’ai utilisée pour mettre en place du SEO programmatique pour mon agence d’automatisation 0vni, elle est ici Base Airtable SEO PROGRAMMATIQUE
Pourquoi utiliser Airtable quand on veut faire du SEO programmatique
On pourrait penser qu’un simple tableur Excel suffirait. Mais non. Airtable n’est pas qu’un tableau : c’est une base de données vivante et connectée.
Elle vous permet de :
créer des champs clairs et typés (texte, long texte, URL, sélecteurs, etc.),
gérer vos données comme si c’était un CMS,
connecter directement vos données à Framer ou à n8n,
avoir une vision structurée de toutes vos pages en préparation, générées ou publiées.
C’est ce qui rend votre stratégie scalable : vous ne gérez pas “un tableau”, vous gérez une usine à contenu.
Comment transformer un design Framer en colonnes dans Airtable
Souvenez-vous : dans Framer, chaque bloc est devenu une variable avec un nombre de caractères à respecter. Maintenant, dans Airtable, chaque variable devient une colonne. Et chaque ligne correspondra à une page à générer.
La vraie question à se poser, c’est donc :
👉 “Quels blocs de mon design Framer doivent être transformés en colonnes Airtable, et avec quelles contraintes ?”
Réponse : H1, H2, paragraphe, meta title, meta description, et bien sûr un slug pour identifier la page.
Exemple d’une base Airtable adaptée au SEO programmatique
Voici la structure type d’une base Airtable adaptée au SEO :
Nom du champ | Type Airtable | Rôle | Règle de caractères | Exemple de donnée |
---|---|---|---|---|
Slug | Texte (unique) | Identifiant unique de la page, utilisé comme URL par Framer | Pas trop long (max ~50 caractères) |
|
Titre H1 | Texte court | Titre principal de la page | 40–50 caractères | “SEO programmatique pour l’hôtellerie” |
Sous-titre H2 | Texte court | Sous-titre pour rythmer la lecture | 25–45 caractères | “Automatiser son contenu en quelques minutes” |
Paragraphe | Texte long | Bloc de texte principal | 250–400 caractères | “Avec Framer, Airtable et n8n, vous pouvez générer…” |
Meta Title | Texte court | Titre SEO qui s’affiche dans Google | 55–60 caractères | “Créer 100 pages SEO avec Framer et Airtable” |
Meta Description | Texte long | Description SEO pour Google | 140–160 caractères | “Découvrez comment créer rapidement des pages SEO…” |
Statut | Liste déroulante | Suivi de l’avancement (ex. brouillon, validé, publié) | — | “Validé” |
Date de génération | Champ date | Pour savoir quand la page a été générée | — |
|
Comment l’utiliser au quotidien
Chaque ligne de votre base Airtable = une page générée.
Ligne 1 : slug
seo-programmatique-hotellerie
, H1 calibré, meta title, meta description, paragraphe.Ligne 2 : slug
seo-programmatique-immobilier
, et ainsi de suite.
Vous pouvez gérer 10, 50 ou 500 lignes, et c’est toujours la même logique : chaque cellule correspond à une variable que Framer affichera automatiquement.
Étape 3 : Automatiser la génération des pages SEO programmatiques avec n8n et Anthropic

Bon, jusque-là, on a avancé méthodiquement :
Dans Framer, on a posé les règles du jeu (chaque bloc = une limite de caractères).
Dans Airtable, on a construit notre base, bien propre, avec toutes les colonnes qui correspondent exactement aux variables du template.
Mais soyons honnêtes : à ce stade, vos cases Airtable sont encore vides. Vous avez une belle structure, un tableau prêt à accueillir du contenu, mais… personne ne va écrire à la main 100 H1, 100 meta descriptions, 100 paragraphes calibrés. Ça prendrait des semaines et ça n’aurait plus aucun sens.
C’est là qu’entre en scène n8n. On pourrait dire que c’est le chef d’orchestre. Son rôle :
détecter automatiquement quand une nouvelle ligne doit être remplie,
demander à Anthropic d’écrire le contenu selon vos règles de caractères,
nettoyer la sortie (parce que les IA adorent rajouter des guillemets ou des balises parasites),
et réinjecter tout ça dans Airtable sans que vous ne touchiez à rien.
PS : j’ai fait un petit comparatif des meilleurs outils d’automatisation (Zapier, Make, n8n). Vous pouvez le consulter ici 👉 Zapier, Make, n8n : lequel choisir pour automatiser votre entreprise en 2025 ?
Pourquoi n8n et Anthropic sont indispensables pour générer du contenu SEO programmatique
Imaginez : votre workflow n8n tourne en arrière-plan et vérifie régulièrement votre base Airtable.
👉 “Tiens, est-ce qu’il y a une page à compléter ?”
Oui ? → Il envoie le secteur à Anthropic.
Non ? → Il attend la prochaine vérification.
Par défaut, on peut très bien configurer le trigger toutes les 4 minutes. Mais rien n’empêche d’aller beaucoup plus vite et de le passer à toutes les 10 secondes si vous voulez un flux continu de génération.
Anthropic reçoit alors le secteur (par exemple immobilier), suit toutes vos règles, et génère un contenu complet calibré champ par champ : H1, H2, meta title, meta description, paragraphes, services, avant/après… jusqu’à 35 champs remplis en une seule fois.
Le plus pratique ? Tout est automatiquement réinjecté dans Airtable. Vous ouvrez la base et la ligne est déjà remplie avec un contenu structuré, prêt à être utilisé dans Framer.
Le vrai coût d’une page SEO programmatique générée automatiquement
Chaque génération d’une page complète vous revient à environ 0,08 €.
Oui, quelques centimes pour 35 champs calibrés, soit une page SEO clé en main.
Faites le calcul :
100 pages = 8 €
1 000 pages = 80 €
👉 À comparer avec le coût d’un rédacteur ou d’une équipe qui produirait manuellement la même quantité de contenu. Ici, c’est quasi instantané, et toujours homogène.
Les 5 étapes du workflow n8n pour mettre en place votre SEO programmatique
Votre workflow “SEO PROGRAMMATIQUE” contient 5 briques principales :
Schedule Trigger → déclenchement toutes les 4 minutes.
Search records (Airtable) → récupère une ligne vide à remplir.
Message a model (Anthropic) → génère le contenu calibré.
Code (JS) → nettoie la sortie JSON pour corriger les erreurs.
Update record (Airtable) → met à jour la ligne avec les bons textes.
Vous pouvez télécharger directement le workflow ici 👉 Workflow n8n SEO PROGRAMMATIQUE et l’importer dans n8n. Vous aurez simplement à remplacer les credentials par les vôtres.
1. Le Schedule Trigger

C’est lui qui démarre l'automatisation. Toutes les 4 minutes, il lance le workflow.
Pas besoin d’appuyer sur un bouton, tout est automatique.
Question rhétorique : Est-ce qu’on a vraiment envie de lancer 100 fois un bouton manuellement ? Non. Le trigger fait ce travail répétitif pour vous.
2. Search records (Airtable)

Ici, n8n va chercher une ligne vide dans Airtable.
Le filtre est clair : ={titre_page} = BLANK()
.
Ça veut dire que tant que titre_page
n’est pas rempli, cette ligne est considérée comme “à traiter”.
Résultat : vous pouvez remplir Airtable à l’avance avec 50 secteurs, et le workflow les traitera un par un, calmement, toutes les 4 minutes.
3. Message a model (Anthropic)

C’est la pièce maîtresse. On utilise Claude Opus (4.1) avec des paramètres très précis :
maxTokens = 8000 → pour que l’IA ait assez de place pour générer les 35 champs en une seule fois.
temperature = 0.3 → faible créativité, plus de cohérence, parfait pour du SEO.
Le prompt que vous avez construit est d’une précision extrême :
ton amical, pro, simple, jamais froid,
vocabulaire sectoriel adapté (immobilier, hôtellerie, restauration, e-commerce…),
interdiction d’inventer des chiffres,
obligation de respecter les longueurs au caractère près (40–50, 140–160, etc.),
sortie en JSON minifié, une seule ligne, sans balises parasites.
👉 Résultat attendu : 35 champs propres, prêts à être stockés dans Airtable.
4. Le Code (JS)

Anthropic fait le job, mais il y a un problème : parfois, l’IA génère un JSON incomplet ou mal fermé. Exemple : une chaîne non terminée, une accolade manquante.
Le node Code sert à ça :
il nettoie le JSON de tout ce qui n’est pas exploitable,
il corrige les chaînes non terminées,
il ferme les accolades manquantes,
et il renvoie un JSON exploitable pour Airtable.
Sans ce node, votre workflow planterait régulièrement. Avec ce node, il est robuste et supporte les petites erreurs de l’IA.
5. Update record (Airtable)

La dernière étape : réinjecter tout ça dans Airtable.
Le mapping est complet : chaque champ généré par Anthropic est relié à la bonne colonne dans Airtable.
Exemple :
titre_page
→ “={{ $json.titre_page }}`meta_description
→ “={{ $json.meta_description }}`Slug
→ “={{ $json.Slug }}`etc., pour les 35 champs.
Chaque ligne devient donc une page entièrement remplie, avec un contenu calibré, prêt à être récupéré par Framer.
Étape 4 : Connecter Airtable à Framer pour publier automatiquement vos pages SEO programmatiques
Jusqu’ici, on a bien avancé :
Étape 1 : on a posé les bases avec un template Framer solide, calibré pour que vos textes rentrent parfaitement dans le design.
Étape 2 : on a structuré Airtable pour transformer chaque bloc en colonne et chaque ligne en future page SEO.
Étape 3 : on a automatisé la génération de contenu avec n8n et Anthropic, histoire de remplir automatiquement toutes ces colonnes sans perdre de temps.
👉 Maintenant, on arrive à l’Étape 4. Et c’est une étape clé, parce que c’est ici que tout converge : on va connecter Airtable à Framer pour transformer vos données en pages prêtes à publier.
Le but ? Faire en sorte qu’une ligne dans Airtable = une page complète en ligne.
1.Ouvrir le CMS dans Framer et préparer la connexion avec Airtable

La première chose à faire, c’est de passer de votre design statique à un site dynamique. Pour ça, direction le CMS de Framer.
Dans le menu de gauche, cliquez sur CMS.
👉 C’est ici que vont être stockées et synchronisées toutes vos données.En haut à droite, cherchez la zone Synced.
👉 Cet encart sert à connecter Framer avec des bases de données externes.Cliquez sur le bouton +.
👉 Une fenêtre va s’ouvrir avec toutes les intégrations possibles.
À ce stade, vous dites clairement à Framer :
“Ne reste pas sur mon design figé, va chercher mes données dans une base externe et prépare-toi à générer mes pages automatiquement.”
Et c’est exactement ce qu’il nous faut, puisque notre base Airtable a déjà été remplie avec du contenu grâce à n8n et Anthropic.
2. Connecter la base Airtable

Dans la liste des intégrations disponibles, sélectionnez Airtable. C’est elle qui servira de passerelle entre votre base et Framer.
Une fois Airtable choisi, Framer vous demandera de vous authentifier. Vous avez deux options :
Coller votre clé API Airtable et l’ID de la base (méthode classique, qui vous donne un contrôle total).
Utiliser l’authentification directe proposée par Framer (plus rapide, mais équivalente en résultat).
Une fois connecté, Framer va vous proposer de choisir la table à synchroniser. Sélectionnez celle qui contient vos données SEO : slugs, H1 calibrés, H2, meta titles, meta descriptions, paragraphes, etc.
Cliquez sur Sync, et Framer importe immédiatement toutes vos lignes. Vous verrez alors apparaître vos entrées directement dans le CMS, exactement comme dans ta capture d’écran : Hôtellerie, Plombiers, Laboratoires d’analyses médicales…
Chaque ligne de la base devient une entrée CMS distincte, prête à être utilisée pour générer une page. C’est le moment où votre travail préparatoire (Airtable + n8n) se matérialise enfin dans Framer.
👉 Pour résumer : une ligne dans Airtable = une entrée CMS dans Framer.
3. Définir le template principal dans Framer

Maintenant que vos données sont bien synchronisées, il faut expliquer à Framer comment les afficher. C’est ici qu’intervient le template principal.
Retournez dans l’onglet Pages à gauche, et ouvrez le design que vous aviez créé au tout début du projet. Ce modèle de page contient déjà la structure prévue : H1, H2, paragraphe, meta title, meta description, etc. Pour l’instant, ces blocs sont encore statiques.
En haut à droite, vous verrez l’option Template Page. Cliquez dessus pour transformer cette page en modèle CMS. Cela signifie que Framer va utiliser cette mise en page comme référence et la dupliquer automatiquement pour chaque entrée issue d’Airtable.
À partir de ce moment-là, vous n’avez plus une seule page, mais un moule dynamique. Chaque ligne Airtable alimente le template et donne naissance à une page unique, avec son propre contenu et son propre slug.
👉 Exemple concret : votre design devient la matrice, et Framer génère automatiquement une version personnalisée pour “Hôtellerie”, une autre pour “Plombiers”, une autre encore pour “Laboratoires”.
4. Relier les variables Airtable au template Framer

Maintenant que votre page a été définie comme template, il faut indiquer à Framer quoi mettre où. Sans cette étape, votre design resterait une coquille vide.
Ouvrez le template et cliquez sur un bloc de texte, par exemple le H1. À droite, dans le panneau latéral, vous verrez une section Content. Par défaut, elle affiche du texte statique. Cliquez sur Set Variable : une liste déroulante apparaît, reprenant les champs de votre collection CMS (ceux importés depuis Airtable). Sélectionnez le champ Titre H1
.
Immédiatement, le texte du bloc change : il n’est plus figé, il devient une variable. Selon la ligne Airtable affichée, ce bloc prendra automatiquement la valeur correspondante.
Répétez l’opération pour chaque élément de la page :
H2 → relié au champ
Sous-titre H2
Paragraphe → relié au champ
Paragraphe
Meta Title → relié au champ
Meta Title
Meta Description → relié au champ
Meta Description
Slug → relié à la colonne
Slug
, pour générer l’URL de la pageImages éventuelles → reliées à une colonne Airtable contenant une URL d’image
👉 À chaque fois que vous associez un champ, Framer comprend que ce bloc doit se mettre à jour automatiquement en fonction de la ligne Airtable. Vous n’éditez plus du contenu, vous éditez des variables.
Petit conseil : renommez clairement vos blocs dans la hiérarchie (ex. “H1 Principal”, “Meta Description SEO”) pour vous y retrouver facilement, surtout si votre template contient beaucoup d’éléments.
5. Vérifier la cohérence avant la mise en ligne

Une fois toutes les variables connectées, vous pourriez être tenté de publier immédiatement. Mauvaise idée : il faut d’abord tester le rendu.
Dans Framer, naviguez entre les différentes entrées CMS (Hôtellerie, Plombiers, Laboratoires…). À chaque fois, votre template se recharge avec les données correspondantes. C’est le moment de vérifier trois choses essentielles :
La mise en page
Est-ce que le H1 tient bien sur une ligne, comme prévu ?
Les paragraphes respectent-ils la densité de texte que vous avez définie (ni trop courts, ni trop longs) ?
Les sous-titres rythment-ils correctement la page ?
La lisibilité SEO
Le meta title respecte-t-il la limite de 60 caractères ?
La meta description ne dépasse-t-elle pas 160 caractères ?
Le slug est-il clair, concis et sans accents ni espaces ?
L’expérience utilisateur
Quand on fait défiler la page, est-ce que tout reste harmonieux ?
Y a-t-il des blocs vides si certains champs Airtable n’ont pas été remplis ?
Les images (si présentes) s’affichent-elles correctement ?
Si un problème apparaît (par exemple, un paragraphe trop long qui casse le design), corrigez-le directement dans Airtable. Le gros avantage de cette méthode, c’est que vous n’avez pas besoin de toucher au design : vous ajustez la donnée, et le rendu se met à jour automatiquement.
👉 Cette étape de validation est cruciale : une erreur multipliée par 100 pages devient immédiatement visible et nuit à la crédibilité de tout le site.
6. Générer et publier toutes les pages

Une fois que tout est correctement relié et testé, vient le moment de vérité : la mise en ligne.
Retournez dans l’onglet CMS > Airtable. Vous y retrouvez toutes les entrées synchronisées depuis votre base : chaque ligne correspond à une page distincte. Grâce au template, Framer sait déjà comment afficher chaque page, il ne reste plus qu’à les publier.
En haut à droite de l’interface, cliquez sur Publish. Framer va générer l’ensemble des pages dynamiques en respectant :
les slugs définis dans Airtable (ex.
/hotellerie
,/plombiers
,/laboratoires
),les contenus de chaque champ (H1, H2, paragraphes, meta…),
la mise en forme du template choisi.
👉 En une seule action, toutes vos pages sont en ligne.
👉 Si vous aviez 50 lignes dans Airtable, vous avez maintenant 50 pages accessibles à leur propre URL.
👉 Et si vous ajoutez demain 10 nouvelles lignes, il vous suffira de cliquer à nouveau sur Publish pour mettre à jour le site.
C’est à ce stade que la logique du SEO programmatique prend tout son sens : vous ne publiez plus une page à la fois, mais des dizaines, voire des centaines, sans effort supplémentaire.
Suivi et mise à jour automatique des pages
Le SEO programmatique n’est pas un travail que l’on fait une fois pour toutes. C’est un système vivant, qui doit évoluer avec votre marché, vos services et les retours de Google. L’avantage de travailler avec Airtable et Framer, c’est que chaque page générée reste entièrement pilotée par vos données.
Prenons un exemple concret. Vous avez déjà publié vos pages pour les secteurs “Hôtellerie”, “Plomberie” et “Laboratoires médicaux”. Quelques semaines plus tard, vous remarquez dans Google Search Console que la page Plomberie génère des impressions, mais peu de clics. La meta description est peut-être trop vague, ou le H1 pas assez accrocheur.
Avec un site classique, il faudrait ouvrir la page dans l’éditeur, modifier le texte manuellement, republier… et répéter cette gymnastique sur chaque page concernée. Ici, c’est beaucoup plus simple :
Ouvrez Airtable et retrouvez la ligne correspondant à “Plombiers”.
Modifiez directement la cellule du H1 ou de la meta description.
Sauvegardez : la donnée est proprement stockée.
Retournez dans Framer et cliquez sur Publish.
En un seul clic, la modification est répercutée en ligne. Le design ne bouge pas, le template reste identique, seule la donnée a changé.
👉 C’est ce qui fait la force du SEO programmatique : un site entièrement dynamique, où chaque champ peut être mis à jour en continu sans effort.
Les limites et pièges à éviter dans le SEO programmatique

Le SEO programmatique a un côté grisant : on appuie sur un bouton, et d’un coup, des dizaines voire des centaines de pages sortent toutes prêtes à être publiées. Mais comme souvent avec l’automatisation, le risque est de confondre vitesse et précipitation. Pour que la stratégie fonctionne, il faut être conscient de ses limites et éviter certains pièges classiques.
Des contenus trop similaires générés par l’IA
Les modèles d’IA (même les plus avancés comme Anthropic ou GPT) ont tendance à produire des textes proches quand les consignes sont similaires. Résultat : vos pages pour “Plombiers”, “Électriciens” et “Menuisiers” peuvent finir par se ressembler un peu trop. Aux yeux de Google, ça s’appelle du duplicate content ou du near duplicate, et c’est rarement récompensé.
👉 La solution :
Variez vos prompts et incluez du vocabulaire spécifique au secteur.
Ajoutez des champs uniques dans Airtable (ex. “Exemple métier”, “Avantage clé”, “Problème fréquent”).
Relisez systématiquement un échantillon de pages pour détecter les doublons trop évidents.
Publier trop de pages sans stratégie
Un des grands dangers du SEO programmatique, c’est la tentation du volume brut. On alimente Airtable avec 500 secteurs, on lance le workflow, et on publie tout d’un coup. Problème : Google n’aime pas les sites qui bombardent d’un seul coup des centaines de pages presque vides ou trop génériques. Vous risquez de créer du “thin content”, c’est-à-dire des pages indexées mais qui n’apportent aucune valeur réelle.
👉 La solution :
Commencez petit (20–30 pages), analysez les résultats, puis montez en charge.
Priorisez les secteurs où la concurrence est faible ou mal optimisée.
Ajoutez des éléments différenciants : FAQ, visuels, études de cas… bref, tout ce qui donne plus de densité à la page.
L’équilibre entre quantité et qualité
Le SEO programmatique n’est pas une excuse pour publier du contenu bâclé. Oui, vous pouvez générer 1 000 pages pour 80 €, mais si elles sont pauvres, impersonnelles ou mal calibrées, elles ne feront pas mieux qu’un vieux blog abandonné. Le secret, c’est de trouver le bon compromis :
assez de pages pour couvrir votre marché,
mais suffisamment de soin pour que chaque page ait sa chance de se positionner.
👉 La solution :
Fixez des règles strictes dans vos prompts (longueur, ton, interdiction de chiffres inventés).
Validez toujours vos champs critiques (H1, meta title, meta description).
Rappelez-vous que 100 pages utiles valent mieux que 500 pages invisibles.