Schéma FAQ multilingue avec JavaScript : une solution efficace pour le référencement international

L'optimisation du classement naturel des moteurs de recherche (SEO) passe aujourd'hui par l'intégration données structurées sur votre site Web. Parmi les nombreux types de balisage disponibles, le schema Page FAQ est particulièrement utile pour enrichir les résultats de recherche sur Google et fournir aux utilisateurs des réponses immédiates à leurs requêtes.
Cependant, lors de la gestion d'un site web multilingue, il est essentiel de présenter une FAQ adaptée à chaque langue afin d'améliorer l'expérience utilisateur et d'optimiser le référencement international. Un visiteur anglophone ne devrait pas voir une FAQ en français et vice versa.
Dans cet article, nous allons découvrir comment utiliser JavaScript pour détecter la langue de l'utilisateur et afficher dynamiquement le schéma de FAQ correspondant. Nous expliquerons comment fonctionne le code, pourquoi il est utile et comment vous pouvez l'adapter à vos propres besoins.
Le schéma FAQpage aide les moteurs de recherche à mieux comprendre le contenu d'une page et à l'afficher directement extraits enrichis sous le lien du site dans les résultats de recherche. Ces extraits améliorés offrent une visibilité supplémentaire et améliorent les taux de clics (CTR).
Un schéma bien structuré augmente les chances d'obtenir des positions de premier plan sur Google, en particulier dans les recherches vocales, où les assistants numériques utilisent souvent ces données pour formuler des réponses.
L'affichage d'une FAQ dans la langue de l'utilisateur permet une navigation plus fluide et plus intuitive. Un visiteur qui trouve immédiatement des réponses dans sa langue préférée a plus de chances de rester sur le site et d'interagir avec son contenu.
En adaptant dynamiquement les questions et les réponses aux préférences linguistiques de l'utilisateur, vous évitez les problèmes de compréhension et maximisez la pertinence des informations fournies. Cela contribue également à renforcer la crédibilité et la fiabilité de votre site aux yeux des moteurs de recherche et des visiteurs.
Nous utiliserons JavaScript à :
Le script suivant affiche dynamiquement une FAQ en fonction de la langue détectée par le navigateur.
<script>
document.addEventListener("DOMContentLoaded", function() {
setTimeout(function() {
try {
// Detect user's browser language
var userLang = navigator.language || navigator.userLanguage;
userLang = userLang.split('-')[0]; // Extract the primary language code (e.g., "fr", "en")
// Multilingual FAQ database
var faqEntries = {
"fr": [
{
question: "question 1 FR",
answer: "answer 1 FR"
},
{
question: "question 2 FR",
answer: "answer 2 FR"
}
],
"en": [
{
question: "question 1 EN",
answer: "answer 1 EN"
},
{
question: "question 2 EN",
answer: "answer 2 EN"
}
]
};
// Select the FAQ based on detected language, default to English if not defined
var selectedFAQ = faqEntries[userLang] || faqEntries["en"];
// Generate JSON-LD schema
var faqData = {
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": selectedFAQ.map(entry => ({
"@type": "Question",
"name": entry.question,
"acceptedAnswer": {
"@type": "Answer",
"text": entry.answer
}
}))
};
// Create and insert the JSON-LD script
var scriptTag = document.createElement("script");
scriptTag.type = "application/ld+json";
scriptTag.textContent = JSON.stringify(faqData, null, 2);
document.head.appendChild(scriptTag);
} catch (error) {
console.error("Error generating FAQ schema:", error);
}
}, 1500);
});
</script>
{{blog_article_cta01}}
Le script récupère la langue préférée de l'utilisateur à l'aide de navigator.language. Certaines langues comportant un sous-code (fr-FR, en-US), nous n'en extrayons que la partie principale (fr, en).
Les questions et réponses sont stockées dans un objet FAQEntries, où chaque langue est représentée par un tableau d'objets contenant les questions et réponses correspondantes.
Le script vérifie si la langue de l'utilisateur existe dans FAQEntries. Si ce n'est pas le cas, la version anglaise est sélectionnée par défaut.
Le script convertit la FAQ sélectionnée en JSON-LD objet conforme à Schéma.org recommandations, puis l'injecte dynamiquement dans la <head>section du document HTML.
Si votre site prend en charge plusieurs langues, vous pouvez développer l'objet FAQEntries en ajoutant des entrées pour d'autres langues :
"es": [
{
"question": "question 1 ES",
"answer": "answer 1 ES"
},
{
"question": "question 2 ES",
"answer": "answer 2 ES"
}
]
Vous pouvez personnaliser les questions et les réponses en fonction de votre secteur d'activité. Assurez-vous que les réponses sont claires, précises et optimisées pour correspondre à l'intention de recherche des utilisateurs.
Une fois le script intégré à votre site, vous pouvez vérifier que Google reconnaît correctement votre balisage à l'aide du Outil de test de résultats enrichis:
🔗 https://search.google.com/test/rich-results
Mise en œuvre d'un schéma de page FAQ multilingue via JavaScript est une excellente solution pour optimiser votre référencement international et améliorer l'expérience utilisateur sur votre site web. Ce script vous permet d'afficher dynamiquement les questions et réponses appropriées en fonction de la langue du visiteur tout en respectant les meilleures pratiques de Google en matière de données structurées.
En adaptant cette méthode à vos besoins et en testant régulièrement votre schéma, vous maximiserez vos chances d'obtenir un meilleur classement dans les résultats de recherche et d'accroître l'engagement des utilisateurs sur votre site.