web-dev-qa-db-fra.com

Changer le HTML avec JavaScript est-il mauvais pour le référencement?

Création d'applications Web Je n'ai pas à m'inquiéter autant de la SEO que des applications de back-end, donc changer le code HTML de manière dynamique n'est pas un problème.

J'utilise backbone.js avec un site frontal que je suis en train de construire et le site est un site basé sur les visites guidées, comportant plusieurs sections dans le déroulement de la défilement.

Ainsi, lors du chargement de la page, je stocke le code HTML d'origine dans une variable origHtml, puis je règle le code HTML pour qu'il prenne la forme this.$el.find('.section-one').html('<h1>Welcome</h1>');.

Ceci est une partie d'une animation sur laquelle je travaille, puis après qu'une animation se produise, ce bloc est invisible et je réinitialise ce code HTML à celui d'origine.

Ce n'est pas absolument nécessaire de le faire de cette façon, mais j'aime jouer avec backbone.js/javascript et je suis curieux de savoir s'il s'agit d'un problème. Parce que je pourrais simplement créer une section supplémentaire et hide/display:none lorsque cela convient, mais j'essaie d'éviter d'utiliser hide/display:nonehttp: // css -tricks.com/places-its-tempting-to-use-display-none-but-dont/ (un article que j'ai lu il y a quelque temps).

Je veux dire que c'est juste expérimenter/apprendre pour moi quel est le moyen optimal de manipuler HTML pour les sites web frontaux?

PS: Je comprends que certaines personnes peuvent dire que vous devez fournir des solutions de secours aux utilisateurs non-JavaScript, et je réponds non, toute personne qui n'a pas de navigateur qui prend en charge JavaScript ou qui n'a pas activé JavaScript ne devrait pas figurer sur mon site. comme moins de 2% (peut être faux) mais c'est très faible.

Supplémentaire: Si c'est mauvais pour le référencement, je pense qu'il serait toujours correct d'utiliser position:absolute et de définir opacity:0 sur le élément que je veux masquer, ou utiliser margin-right: -9999 ou même display:none Je m'en fiche, j'aime bien la méthode JavaScript, mais je voudrais comprendre ce qui est le mieux.

4
Mike

Un moteur de recherche examinera le code HTML que vous avez fourni au début. Tout ce qui va suivre sera ignoré. Cependant, Google a indiqué qu’il procédait maintenant à un examen rudimentaire du script. Qu'ils considèrent le HTML modifié dans cet examen, nous ne le saurons pas.

Ainsi, tout code HTML ajouté ou modifié après le téléchargement initial sera probablement ignoré. Que vous considériez qu’une bonne ou une mauvaise chose est à vous de savoir.

5
Rob

Pour répondre à ta question:

Changer le HTML avec JavaScript est-il mauvais pour le référencement?

Dans votre cas, oui. Ne manipulez pas d'importants facteurs de référencement tels que H1, H2, balises Title, img alt text, etc. à l'aide de JavaScript. Si vous souhaitez que Google vous récompense pour ces facteurs, vous devez disposer de facteurs SEO de base.

Je l'ai appris à la dure. J'avais un site Web n ° 1 qui paraissait incroyable pour un utilisateur réel (pas un bot), mais pour Google, cela ressemblait à de la merde (c'est-à-dire sans texte/contenu). C'était semblable à ce que vous décrivez et reposait beaucoup sur JavaScript. Finalement, lorsque Google est devenu plus intelligent, mon site Web a été supprimé et ne figure même plus dans les 10 premières pages.

Pour savoir avec certitude comment Google voit votre page, consultez la version en cache. Si vous recherchez un site Web sur Google, cliquez sur "Afficher en cache" dans la petite liste déroulante située en regard du lien. Vous verrez ainsi comment Google le visualise et cela répondra directement à votre question.

Il est regrettable que Google n'utilise pas leurs ressources apparemment infinies pour créer un meilleur Google-bot qui rend JavaScript (c'est-à-dire un navigateur sans tête intégré), mais jusqu'à ce qu'ils le fassent (si jamais), vous devriez commencer à coder en dur les choses qui importent.

1
de Raad

En 2018, les réponses ci-dessus sont probablement fausses. Il existe de bonnes preuves que les robots Google s'attendent à ce que le contenu soit dynamique et fasse son travail en conséquence. Après tout, la très grande majorité du contenu Web est dynamique à un degré ou un autre de nos jours, et Google ne fournirait pas de résultats de recherche très utiles ou précieux s'ils l'ignoraient.

https://searchengineland.com/tested-googlebot-crawls-javascript-heres-learned-220157

https://medium.freecodecamp.org/seo-vs-react-is-it-neccessary-to-render-react-pages-in-the-backend-74ce5015c0c9

https://medium.com/@l.mugnaini/spa-and-seo-is-googlebot-able-to-render-a-single-page-application-1f74e706ab11

https://stackoverflow.com/questions/13499040/how-do-search-engines-deal-with-angularjs-applications?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa

0
abalter