J'ai un projet SPA (application à une seule page) qui fonctionne à 100% avec AngularJS, avec tout son contenu généré dynamiquement via JavaScript du côté client! Comme vous le savez, cela signifie qu’il n’ya aucune possibilité d’exploration et que je n’ai pas besoin d’utiliser des navigateurs sans tête pour générer des instantanés HTML, je pourrais le générer moi-même côté serveur en fonction de l’agent utilisateur sans duplication de code.
Je n'essaie pas de tromper les moteurs de recherche ni de fournir des données différentes, mais j'essaie de fournir des pages entièrement lisibles pour SE avec une mise en page HTML simplifiée et simplifiée.
Ma question est la suivante: si j’ai généré et livré une mise en page différente ou une capture instantanée HTML différente aux moteurs de recherche (tout en conservant les mêmes données/contenus réels), s’agit-il de dissimulation ou de violation du référencement naturel?
J'ai lu de nombreuses informations dans le centre d'aide pour les webmasters de Google et dans d'autres sources sur Internet sans réponse précise.
Vous devez implémenter AJAX explorable .
<meta name="fragment" content="!">
www.example.com/?_escaped_fragment_=
NE PAS fonder votre décision concernant l'instantané sur l'agent d'utilisateur. Googlebot veut pouvoir voir et restituer votre page de la même manière que les internautes (pour les captures d'écran par exemple). Servir un contenu différent en fonction de l'agent de l'utilisateur est considéré comme une dissimulation.
La balise méta et le paramètre constituent la méthode approuvée par Google pour fournir un instantané HTML de votre application à une seule page.
Je ne me souviens plus des références à présent, mais cela ne dérange pas Google. En fait, ils le font eux-mêmes (un peu) dans Angular docs. Ils rendent une version différente du code HTML à Google (par exemple, la navigation ne fonctionne pas normalement).
Chaque article de SEO traitant de la question traite également de l’utilisation de la technique (phantomJS explore le site et envoie le résultat HTML au moteur de recherche. Parfois, l’exploration est effectuée à l’avance et est mise en cache pour éviter une pénalité de latence imposée par Google).
Il existe même des services hébergés/en nuage qui font cela pour votre application afin que vous n'ayez pas à faire la majeure partie de la configuration.