J'ai examiné d'autres questions et réponses, mais aucune ne correspond à mon cas d'utilisation. Franchement, je ne suis même pas sûr de poser la bonne question.
Voici mon scénario: je travaille pour une organisation qui est en train de réécrire son site web.
Supposons que nous voulions répertorier un répertoire avec quelques entrées sur une page Web. Il existe un "composant de répertoire téléphonique", conçu en JavaScript et utilisant les guidons comme modèles. En utilisant grunt, il est tout mis en avant, concaténé et minifié dans un fichier nommé phonebook.js
. Voici comment cela fonctionne:
L'éditeur de contenu ouvre la page où il souhaite insérer le répertoire. Tout ce que cette personne doit faire est d'ouvrir l'éditeur HTML du CMS et insérer ceci:
<div class="phonebook-component"></div>
Et c'est tout.
Maintenant, ce qui se passe, c'est qu'il y a un fichier global.js
qui est chargé avec chaque page. Ce script reconnaît les noms de classe se terminant par -component
. Lorsqu'il reconnaît le composant, il lance un appel de synchronisation pour charger le phonebook.js
. Le composant est inséré et il a l'air magnifique.
Le problème est probablement évident. Lorsque vous examinez le code source, le code source devrait se trouver dans la balise _ div
que j'ai mentionnée. C’est ce que les crawlers voient aussi.
Ma question est: comment puis-je rendre cette crawlable? Y a-t-il un moyen? Toutes mes recherches jusqu’à présent ont abouti à des réponses du type "oh, c’est comme ça que vous rendez votre AJAX SPAs explorable".
oh, voici comment vous rendez votre AJAX SPAs explorable
Cela devrait certainement vous orienter dans la bonne direction. Les moteurs de recherche ont dit t ils ont une norme pour indexer le contenu dynamique et c'est très bien documenté . Si vous ne parvenez pas à ce que votre application soit prise en charge, vous devez déployer davantage d'efforts pour ajouter un moteur de recherche et une version accessible et conviviale de votre contenu.
Pour info, Google traite maintenant JavaScript afin que doive y remédier, du moins en ce qui les concerne.
Tout ce que vous avez à faire est d’utiliser la balise méta pushstate SEO de Google pour le contenu javascript.
Ajoutez simplement cette balise meta dans la section <head>
de votre site.
<meta name="fragment" content="!">
Il s’agit d’une nouvelle amélioration HTML5 dans laquelle les URL de contenu servies par Javascript sont renvoyées avec #! à la fin d'eux aux crawlers. Le contenu javascript est non explorable, mais avec cette balise pushstate SEO, le contenu s'affiche et est stocké sur un serveur basé sur #
. Le contenu de votre site est maintenant visible pour le robot, ce qui le rend exploitable. En savoir plus à ce sujet ici .