Générer des cas d'usage personnalisés

Utilisez le SEO programmatique pour générer automatiquement des cas d'usage personnalisés.

Couturière travaillant sur des patrons dans un atelier lumineux

La version des cas d’usage personnalisés qui fonctionne en SEO est plus simple qu’elle n’en a l’air : un petit formulaire qui envoie chaque visiteur vers une page déjà construite pour sa situation exacte. Vous publiez une page par combinaison valide de paramètres, et le formulaire sert d’aiguillage. Les moteurs atteignent ces pages par des liens, les visiteurs y arrivent depuis Google ou par le formulaire.

Comment le modèle fonctionne sur Derrick

Le formulaire de Derrick pose deux questions : la donnée que vous avez et celle que vous voulez. Quelqu’un choisit une URL de profil LinkedIn en entrée et le secteur de l’entreprise en sortie, puis arrive sur une page dédiée qui explique comment obtenir un secteur à partir d’une URL de profil LinkedIn. Toutes les pages suivent le même schéma d’URL :

https://your-site.com/use-case/{{output-data}}-from-{{input-data}}

J’ai construit plus de 100 déclinaisons de pages de cette façon, avec des vidéos intégrées. En janvier 2025, deux ans plus tard et sans aucun travail SEO supplémentaire, ces pages apportaient encore 88 clics par jour, soit environ 3 000 par mois, et 107 inscriptions sur une semaine type. Les chiffres sont dans l’étude de cas Derrick.

Le modèle tient parce que chaque page correspond à une tâche précise. Quelqu’un qui cherche comment obtenir le nom d’une entreprise à partir d’un e-mail sait ce qu’il veut faire, et une page qui fait exactement cela le sert mieux qu’une présentation générale du produit. Il en va de même quand un assistant IA cherche un passage sur cette tâche. Le formulaire capte ensuite les personnes déjà sur votre site, qui n’auraient jamais tapé cette requête.

Modéliser les entrées, les sorties et les combinaisons valides

Stockez les entrées, les sorties et leurs combinaisons dans une base de données, et placez le contrôle qualité dans la table des combinaisons. Disons que vous vendez un outil de données B2B avec 12 entrées et 30 sorties. Sur le papier, cela fait 360 pages, mais beaucoup de ces paires n’ont pas de vraie réponse, et une page qui explique ce que votre produit ne sait pas faire n’a aucune raison d’exister.

Voici la table des combinaisons, avec des slugs à la place des identifiants pour la lisibilité :

Entrée Sortie Disponible Méthode Exemple d’entrée Exemple de sortie
linkedin-profile-url industry true Lecture de la page LinkedIn de l’entreprise linkedin.com/in/jane-doe Logiciel
business-email company-name true Rattachement du domaine de l’e-mail à l’entreprise [email protected] Acme
siret address true Recherche dans le registre des entreprises françaises un SIRET à 14 chiffres Adresse du siège
siret personal-phone false

La liste des pages devient alors une requête, et une combinaison sans méthode ni exemple n’est tout simplement pas publiée :

SELECT
  o.slug || '-from-' || i.slug AS page_slug,
  o.label AS output_label,
  i.label AS input_label,
  c.method,
  c.example_input,
  c.example_output
FROM combinations c
JOIN inputs i ON i.id = c.input_id
JOIN outputs o ON o.id = c.output_id
WHERE c.supported
  AND c.method IS NOT NULL
  AND c.example_output IS NOT NULL;

À partir de là, un script Python ou Node.js peut créer les pages, ou vous pouvez synchroniser les lignes vers un CMS headless comme Strapi ou Contentful, ou vers une collection Webflow ou WordPress.

Mètre ruban, ciseaux et dé à coudre sur du lin

Donner à chaque page ce qu’elle seule peut dire

Remplacer deux noms dans un même texte, c’est le schéma pauvre que vise la politique de Google sur l’abus de contenu à grande échelle, introduite en mars 2024. Si deux pages se lisent encore pareil une fois leurs noms retirés, l’une d’elles n’a pas lieu d’être. Voici ce que je fais varier :

Élément de la page Ce qui change Origine
Title, meta description, H1 « Comment trouver {sortie} à partir de {entrée} » inputs, outputs
Où trouver l’entrée L’endroit où se trouve cet identifiant et son format inputs
Méthode Les étapes propres à cette paire combinations.method
Exemple détaillé Un vrai avant et après combinations.example_*
Limites Quand cette recherche échoue et quoi essayer à la place combinations
Vidéo ou capture La procédure sur ce cas précis Médiathèque
Pages liées Même entrée avec d’autres sorties, même sortie avec d’autres entrées Requête sur combinations

Les titres doivent suivre un ordre H1, H2, H3 propre pour que la page se lise logiquement. Si vous utilisez l’IA pour le texte, donnez-lui les champs ci-dessus et faites relire un échantillon : les faits doivent venir de vos données.

Utiliser le formulaire comme aiguillage

Le formulaire n’a besoin que de deux champs et de quelques lignes de script. Rendez-le facile à utiliser sur mobile, et générez la liste des slugs valides à partir de la requête SQL au moment du build.

<form id="use-case-finder">
  <label for="input">J’ai</label>
  <select id="input" required>
    <option value="linkedin-profile-url">une URL de profil LinkedIn</option>
    <option value="business-email">un e-mail professionnel</option>
    <option value="siret">un numéro SIRET</option>
  </select>

  <label for="output">Je veux</label>
  <select id="output" required>
    <option value="industry">le secteur de l’entreprise</option>
    <option value="company-name">le nom de l’entreprise</option>
    <option value="address">l’adresse de l’entreprise</option>
  </select>

  <button type="submit">Voir comment faire</button>
</form>

<script>
  // Généré au build à partir de la requête sur les combinaisons
  const pages = new Set([
    "industry-from-linkedin-profile-url",
    "company-name-from-business-email",
    "address-from-siret",
  ]);

  document.querySelector("#use-case-finder").addEventListener("submit", (event) => {
    event.preventDefault();
    const input = document.querySelector("#input").value;
    const output = document.querySelector("#output").value;
    const slug = `${output}-from-${input}`;
    window.location.assign(
      pages.has(slug) ? `/use-case/${slug}` : `/use-case?missing=${encodeURIComponent(slug)}`
    );
  });
</script>

Une paire sans page mène au hub avec un paramètre missing. Enregistrez ces valeurs : elles vous disent ce que les visiteurs voulaient et que vous ne couvrez pas encore. Donnez au hub une URL canonique sans le paramètre pour que ces visites ne créent pas de doublons.

Ne comptez pas sur les robots pour soumettre votre formulaire. Chaque page a besoin d’un chemin en <a href> classique : un hub qui liste tous les cas d’usage, plus les liens associés du tableau ci-dessus. Ces liens « même entrée » et « même sortie » forment une structure de maillage interne naturelle. Ajoutez un sitemap XML régénéré à chaque publication pour que les nouvelles pages soient découvertes rapidement.

Couturière à sa table près de mannequins

Où appliquer ce modèle ailleurs

Le critère : pouvez-vous lister à l’avance les valeurs des paramètres ? Si oui, chaque combinaison peut devenir une page. Si la valeur n’existe qu’une fois saisie par l’utilisateur, vous construisez un outil, et l’outil mérite une seule bonne page.

Cas d’usage Paramètres Meilleur format
Tarifs par segment Taille d’entreprise, usage prévu Une page par segment
Guides utilisateur Niveau, objectif Une page par paire
Contenu pédagogique Sujet, objectif d’apprentissage Une page par paire
Plans marketing sectoriels Secteur, objectif Une page par paire, avec des recommandations de canaux propres au secteur
Itinéraires de voyage Destination, durée Une page par paire
Programmes d’entraînement Niveau, objectif Une page par paire
Calculateurs de ROI et estimateurs de prix Les chiffres de l’utilisateur Un outil sur une page, plus des scénarios préremplis seulement si leurs valeurs diffèrent vraiment
Recommandations de produits Préférences, navigation Composant sur les pages existantes, sans nouvelle URL
Parcours adaptatifs Interactions sur le site Logique produit, hors de votre plan SEO

Mesurer les combinaisons, puis élargir la matrice

Dans la Search Console, filtrez par schéma d’URL pour voir quelles pages générées obtiennent des impressions et lesquelles méritent du travail. Mixpanel ou Google Analytics montrent le comportement et la conversion sur ces pages, y compris les envois du formulaire. Les logs serveur indiquent quelles pages Googlebot visite souvent et lesquelles il ignore, et un groupe ignoré signale généralement un problème de liens. Le chapitre sur le suivi détaille la mise en place.

Votre prochaine étape : notez vos deux paramètres, listez leurs valeurs et marquez les paires pour lesquelles vous avez une vraie méthode et un vrai exemple. Construisez dix de ces pages avec tous les éléments ci-dessus et lisez-les côte à côte. Si elles se distinguent vraiment, générez le reste et ajoutez le formulaire.