2009-05-05 12 views
17

Est-ce que les moteurs de recherche tels que Google indexent les pages Web générées par JavaScript? Lorsque vous cliquez avec le bouton droit et sélectionnez Afficher la source dans une page générée par JavaScript (par exemple, en utilisant GWT), vous ne voyez pas le code HTML généré dynamiquement. Je suppose que si un moteur de recherche ne peut pas voir le HTML généré, il n'y a pas grand chose à indexer, non?Les moteurs de recherche peuvent-ils indexer les pages Web générées par JavaScript?

Répondre

12

Votre soupçon est correct - le contenu généré par JS ne peut pas être considéré comme visible par les robots de recherche. Il n'a pas non plus été vu par tous ceux qui ont désactivé JS - et, la dernière fois, j'ai ajouté des tests sur un site sur lequel je travaillais (un grand site grand public avec des centaines de milliers de visiteurs uniques par mois) , environ 10% des utilisateurs n'exécutaient pas Javascript sous quelque forme que ce soit. Cela inclut les robots de recherche, les navigateurs PC avec JS désactivés, de nombreux mobiles, aveugles utilisant des lecteurs d'écran ... etc

C'est pourquoi le contenu généré via JS (sans option de repli) est une très mauvaise idée.

Retour aux sources. Tout d'abord, créez votre site en utilisant bare-bones (X) HTML, sur des principes de type REST (au moins dans la mesure où les requêtes POST sont nécessaires pour les changements d'état). Balisage sémantique simple, et oubliez CSS et Javascript.

La première chose à faire est de bien faire les choses, et de faire en sorte que votre site entier (ou autant de sens) fonctionne bien de cette façon pour les robots de recherche et les agents utilisateurs de type Lynx.

Ensuite, ajoutez un calque visuel: CSS/graphics/media pour le vernis visuel, mais ne changez pas significativement votre balisage HTML (X) original; permettre au site texte original de rester intact et fonctionnel. Gardez votre balisage propre!

Troisièmement est d'ajouter un couche comportementale: Javascript (Ajax). Offrez des choses qui rendent l'expérience plus rapide, plus fluide, plus agréable pour les utilisateurs/navigateurs avec JS compatible Ajax ... mais seulement pour ces utilisateurs. Les utilisateurs sans Javascript sont toujours les bienvenus; et ainsi sont les robots de recherche, les malvoyants, de nombreux mobiles, etc.

Ceci est appelé amélioration progressive dans les cercles de conception de sites Web. Faites comme ça et votre site fonctionne, sous une forme raisonnable, pour tout le monde.

+9

Ce conseil ne s'applique que si le site est un site basé sur le contenu. Si le site est riche en interactions, comme google maps, vous ne le feriez pas comme cette réponse l'a suggéré. – Chii

+0

Je dois dire que je ne suis pas entièrement d'accord là-bas; Il n'y a pas de raison intrinsèque pour laquelle les agents utilisateurs sans Ajax (robots de recherche, la plupart des mobiles, etc) devraient être refusés si cela est utile et pertinent. L'essentiel est le mode d'interaction: si l'interaction doit être multidimensionnelle et continue (comme un jeu FPS), alors, bien sûr, le texte n'a aucun sens. Mais Google Maps * pourrait * être utilement implémenté dans une version HTML standard. C'est bien de ne pas s'inquiéter des moteurs de recherche pour les sections connectées uniquement, ou d'utiliser uniquement Ajax si vous êtes sûr que vos utilisateurs ont tous Ajax (par exemple sur un intranet), mais ce sont des exceptions. – mattandrews

+0

Les personnes aveugles n'ont aucun problème avec le contenu généré par javascript ... – Knarf

7

si un moteur de recherche peut aussi ne pas voir le code HTML généré alors il n'y a pas grand-chose à l'index

Cela résume bien. Techniquement, rien n'empêche un moteur de recherche d'implémenter un moteur javascript pour leur bot/spider, mais ce n'est normalement pas fait. Ils pourraient, mais ils ne le feront pas. D'un autre côté, vous pouvez flairer l'agent utilisateur d'un moteur de recherche et lui rendre une information lisible. Mais les moteurs de recherche n'aiment généralement pas cela et vont vous pénaliser assez sévèrement s'ils détectent des différences avec ce que vous envoyez à un navigateur normal.

1

Google travaille sur l'exécution de Javascript simple pour découvrir du contenu - mais ils n'exécutent certainement pas de scripts complets. Si vous êtes préoccupé par le référencement, vous devez envisager de fournir des versions statiques de pages.

+0

Des références/liens sur google qui travaillent à sa mise en œuvre? –

+0

Recherchez les vidéos des webmasters de matt cutts sur YouTube. Il y en avait un sur JavaScript. –

+0

ce lien: https://developers.google.com/webmasters/ajax-crawling/docs/html-snapshot – phabtar

6

Une bonne règle: si vous pouvez le voir dans Lynx, il peut être indexé par Google.

Lynx est un excellent test car il vous donne également une idée de la façon dont les lecteurs d'écran pour les aveugles verront également votre page.

+1

L'hypothèse sur le lynx et les aveugles n'est pas correcte. Les personnes aveugles n'ont aucun problème avec le contenu généré par javascript sur les pages Web. Un meilleur navigateur pour voir ce que les personnes aveugles verront comme «liens». Mais pour vérifier s'il peut être indexé par Google, vous devriez utiliser lynx. Lynx pour Google Liens pour les personnes aveugles – Knarf

2

Il y a plusieurs façons de gérer cela dans GWT, this est une excellente discussion sur le sujet. Il semble que la meilleure option consiste à diffuser du contenu SEO statique lorsque l'utilisateur-agent est un bot, à condition que le contenu du SEO soit identique à ce qui est servi via la route GWT. Cela peut être beaucoup de travail, mais si vous voulez vraiment une application GWT entièrement riche qui est optimisée pour les moteurs de recherche, il peut en valoir la peine.

1

Jetez un oeil au manifeste Single Page Interface sur la façon dont une application SPI (AJAX intensive) peut être indexée par Google et d'autres robots d'exploration. La difficulté dépend du framework Web utilisé.

0

Même s'ils exécutent les JavaScript de base SURTOUT DES SITES WEB ET USAGES LIBRARIESFRAMEWORKS, je ne pense pas qu'un bot comme google bot ou tout autre araignée chargera également Js fichiers liés à la page Web et sans les charger le code JS sera produire des erreurs.

/*Correct Me If I am wrong*/