Developpez.com

Le Club des Développeurs et IT Pro

Enfin une solution pour référencer les pages en AJAX ?

Google propose une nouvelle syntaxe des URL pour mieux les indexer

Le 2009-10-09 10:21:41, par Gordon Fowler, Expert éminent sénior
Google propose une nouvelle norme pour que les moteurs de recherche puissent indexer correctement les parties des sites réalisées en JavaScript (et plus particulièrement en AJAX).

Jusqu'à présent, les "robots" des moteurs de recherche ne comprennent de l'AJAX que les codes assez simples. Dès qu'il se complexifie, les "bots" sont alors désarmés.
Cette faiblesse permet à des sites de créer des parties malicieuses difficilement identifiables. Elle oblige surtout les développeurs Web à créer un doublon en HTML de leurs contenus édités en JavaScript, le HTML étant, à l'inverse de ce langage, parfaitement compris par les moteurs de recherche.

Pour remédier à cette situation, Google propose une nouvelle syntaxe pour les adresses des sites (URL) : "à la place d'URL du type http://example.com/page?query#state, nous aimerions proposer l'ajout d'un segment d'URL pour rendre possible leur reconnaissance, ce qui donnerait une URL du type : http://example.com/page?query#[FRAGMENTTOKEN]", expliquent les développeurs de Google, "en se fondant sur notre expérience des URL […] nous porposont l'utilisation du point d'exclamation. L'URL proposée qui pourrait être montrée dans les résultats de recherches pourrait alors être : http://example.com/page?query#!state."

La démarche introduirait de nouvelles possibilités de lectures pour les "bots" d'indexation.

Les robots de Google, détectant cette syntaxe, là remplacerait automatiquement par "_escaped_fragment_ " et renverrait cette nouvelle URL ("http://example.com/page?query&_e...ragment_=state" au site visité. Le serveur du site visité saurait alors qu'un "bot" est en train de l'explorer (puisqu'il utilise une autre URL que celle des internautes) et pourrait renvoyer un contenu en HTML à celui-ci.

Comme un dessin vaut mieux qu'un long discours, voici un schéma résumant la solution proposée :



Les auteurs de cette propositions sollicitent la communauté des développeurs Webs : "Les feedback seront plus que bienvenus — n'hésitez surtout pas à nous laisser vos commentaires" insiste l'équipe de Google.

Vos retours peuvent être communiqué à l'équipe sur la page de présentation de la proposition.

AJAX est un ensemble de technologies Web très populaire, souvent rattaché à la définition du fameux "Web 2.0" puisqu'il permet la création d'interfaces utilisateurs simplifiées et dynamiques. (notamment pour les fonctions d'édition et de gestion) – comme par exemple pour les paniers d'achat sur les sites de vente en ligne.

AJAX est un acronyme qui signifie "Asynchronous JavaScript and XML" (ou "XML et Javascript asynchrones".

Lire aussi :

La rubrique AJAX (avec des cours et des exemples d'application) de Développez.com
Et la rubrique Développement Web (actu, forums, tutos).

Et vous ? :

Pensez-vous que la proposition de Google soit bonne ?
N'oblige-t-elle pas toujours le développeur à produire un doublon de son contenu en HTML ?
  Discussion forum
12 commentaires
  • neo.51
    Expert éminent
    Sur le principe c'est bien qu'on ai des méthodes pour améliorer le référencement en ajax.

    Mais bon c'est quand même fort que la solution de google pour faire mieux indexer de l'ajax c'est que tous les développeurs facilitent le travail des robots google et pas google qui améliore ses robots pour s'adapter.
  • vintz72
    Membre averti
    Envoyé par neo.51
    Sur le principe c'est bien qu'on ai des méthodes pour améliorer le référencement en ajax.

    Mais bon c'est quand même fort que la solution de google pour faire mieux indexer de l'ajax c'est que tous les développeurs facilitent le travail des robots google et pas google qui améliore ses robots pour s'adapter.
    Je ne vois pas comment ils pourraient s'adapter : dans les URL de pages Ajax, tu n'as pas l'information des requêtes dynamiques. Donc tu ne peux pas deviner ce qui a été fait. Proposer un format pour ajouter des informations me semblent donc plutôt pertinent !
  • kaymak
    Membre émérite
    Envoyé par vintz72
    Je ne vois pas comment ils pourraient s'adapter : dans les URL de pages Ajax, tu n'as pas l'information des requêtes dynamiques. Donc tu ne peux pas deviner ce qui a été fait. Proposer un format pour ajouter des informations me semblent donc plutôt pertinent !
    oué oué c'est ça. Tu as bcp de temps à perdre à reprendre tes apps ajax pour faire plaisir à google ?
    Alors que eux, ont l'argent et les moyens (Moteur js v8 hein) de faire un moteur d'interprétation js... ?
    Moi je n'ai pas les thunes, mes clients non plus en ce moment, ou plutôt pas pour ce genre de mise à jour.
  • NoP
    Membre du Club
    C'est naze.

    Je m'explique : Qu'est ce qui garanti au robot que les 2 pages de ces 2 adresses différentes auront le même contenu ?

    On imagine facilement les détournements qu'il sera possible de faire.

    Un truc comme ça et c'est la mort assuré de tous les moteurs de recherches, avec retour aux bon vieux annuaires de liens notés
  • Gordon Fowler
    Expert éminent sénior
    Envoyé par kaymak
    Alors que eux, ont l'argent et les moyens (Moteur js v8 hein) de faire un moteur d'interprétation js... ?
    Bonjour,

    C'est une remarque pertinente, à laquelle Google avait pensée.
    Leur argumentation - qui vaut ce qu'elle vaut - est qu'une telle solution demande beaucoup d'argent. Ils peuvent se l'offrir mais, d'après eux, pas tous leurs concurrents.

    Les développeurs ayant voulu faire une solution qui serait adoptée par tous, ils ont donc voulu en imaginer une qui marcherait aussi pour les moteurs de recherche avec moins de ressources financières.

    D'où leur proposition.

    Bien cordialement,

    Gordon
  • Droup
    Membre régulier
    Il ne faut pas oublier une chose :
    Si vous voulez que votre site soit le mieux référencer possible, c'est à vous de faire la démarche afin qu' les moteurs de recherche le propose dans les premiers résultats.

    Si vous ne faites rien pour améliorer son indexation, je ne vois pas pourquoi google le ferait pour vous.

    Maintenant, Google propose une solution aux développeurs, pour faire référencer leurs sites en AJAX, à eux maintenant de l'appliquer.
  • kaymak
    Membre émérite
    et pourquoi on n'utilise pas le user agent ? Après a charge de chacun de le faire. Là ils me font porter le chapeau de leur réussite économique.
  • ludosoft
    Membre habitué
    Bonjour,

    A mon avis, question référencement, on arrive clairement dans une impasse technique.
    Comment rendre indexable une applet Java ? Une anim Flash ? Silverlight ? Une app Java script ?
    Il me semble qu'à la base ces technos n'ont pas été pensées pour être référençables mais pour combler des manques fonctionnels du HTML.

    Donc au lieu de bricoler des trucs tordus, bancales et d'emmer... tout le monde avec des "guide lines" débiles, je préconiserait plutôt d'utiliser les technos pour ce à quoi elles sont destinées à l'origine.
    Et si ça va pas avec ce qu'on a sous la main, c'est qu'il faut inventer autre chose... HTML 5 est une piste à suivre, pas une réponse.

    Il faut être clair, un programme JS, Java ou AS c'est impossible à référencer car ça ne fonctionne pas sur un modèle de "pages" comme un site web. C'est une suites d'instructions, point. C'est pas un texte littéraire. Alors contraindre son code ou encore le taguer avec des "@Strong" ou des "@RegardeLeBeauLienPourAllerSurMonSiteQuiParleDeLaReproductionDesMouchesEnAsieDuSudEst" (les codeurs Java comprendront), je pense que c'est une ânerie de continuer dans la voie proposée par GG.

    Edit : quelques corrections... Désolé pour le ton un peut sec
  • Envoyé par ludosoft
    Bonjour,

    A mon avis, question référencement, on arrive clairement dans une impasse technique.
    Comment rendre indexable une applet Java ? Une anim Flash ? Silverlight ? Une app Java script ?
    Il me semble qu'à la base ces technos n'ont pas été pensées pour être référençables mais pour combler des manques fonctionnels du HTML.

    Donc au lieu de bricoler des trucs tordus, bancales et d'emmer... tout le monde avec des "guide lines" débiles, je préconiserait plutôt d'utiliser les technos pour ce à quoi elles sont destinées à l'origine.
    Et si ça va pas avec ce qu'on a sous la main, c'est qu'il faut inventer autre chose... HTML 5 est une piste à suivre, pas une réponse.

    Il faut être clair, un programme JS, Java ou AS c'est impossible à référencer car ça ne fonctionne pas sur un modèle de "pages" comme un site web. C'est une suites d'instructions, point. C'est pas un texte littéraire. Alors contraindre son code ou encore le taguer avec des "@Strong" ou des "@RegardeLeBeauLienPourAllerSurMonSiteQuiParleDeLaReproductionDesMouchesEnAsieDuSudEst" (les codeurs Java comprendront), je pense que c'est une ânerie de continuer dans la voie proposée par GG.

    Edit : quelques corrections... Désolé pour le ton un peut sec
    on appelle ca des meta data ... va revoir ta copie ... et franchement taggé ces données pour obtenir de l indexation par google c'est pas chère payer

    EDIT : en fait j ai parlé un peu vite ..

    Il existe plusieurs méthodes pour pouvoir indexer des fichiers flashs compilés

    1) Décompilés le flash et faire du full text
    2) Associé des méta data sur le fichier

    Pour ce qui est des sites à contenu ajax, on peut très bien imaginer d'avoir pour une url indexé par google en basé sur du url rewrtring avec en plus une règle définit par l'éditeur de contenu sur la translation de l association pattern = règle

    Mais ce qui demande aux développeurs de développer des moteurs de règles pour l'interprétation des scripts js

    ce qui correspondrait plus à un http://site.com/some_information_indexable?$pattern=state1
  • ludosoft
    Membre habitué
    Envoyé par *alexandre*
    on appelle ca des meta data ... va revoir ta copie ... et franchement taggé ces données pour obtenir de l indexation par google c'est pas chère payer
    Effectivement un tag est une méta-donnée, merci pour la précision. Et je suis d'accord que c'est cher payé : GG a quasiment (si ce n'est déjà fait) le pouvoir d'imposer ce qu'il veux en matière de référencement. Ca fait peur...

    Il existe plusieurs méthodes pour pouvoir indexer des fichiers flashs compilés

    1) Décompilés le flash et faire du full text
    2) Associé des méta data sur le fichier
    Mais ça ne permet pas de tomber sur une "page" précise, si ? Ou plutôt, dans le cas de Flash, un moment précis dans la time line ou encore un état spécifique atteint après l'exécution d'un bout de code AS...

    Pour ce qui est des sites à contenu ajax, on peut très bien imaginer d'avoir pour une url indexé par google en basé sur du url rewrtring avec en plus une règle définit par l'éditeur de contenu sur la translation de l association pattern = règle

    Mais ce qui demande aux développeurs de développer des moteurs de règles pour l'interprétation des scripts js

    ce qui correspondrait plus à un http://site.com/some_information_indexable?$pattern=state1
    C'est là que je me dit que ça commence à coincer. Ca fait, à mon avis, beaucoup trop de complications. Toute cette énergie, tout ce temps passé à trafiquer et maintenir des scripts pour le seul bon plaisir du robot d'indexation... Il doit bien y avoir un moyen de simplifier tout ça quand même, car ça ne me semble pas très passionnant comme boulot.

    Edit : il serait bien d'avoir l'avis de référenceurs professionnels qui font aussi du dev. Sont-il près à ajouter la charge supplémentaire qu'implique la proposition de GG ? Leurs clients sont-il près à payer plus cher les prestations de référencement ?