& dans les liens accepté par google?

Nouveau WRInaute
bonjour,
mes pages etant générées par xml,xslt et php, je viens de me rendre compte que mes liens sortent avec un & au milieu
<a href="page2.php?var1=1&amp;var2=1">lien</a>
ca n'a pas l'ai de poser problème a internet explorer et netscape, qui les transforme en &, mais es-ce que quand google va parcourir mon site il va bien les interpreter et les transformer en &?

(c'est que j'ai essayé http://www.delorie.com/web//lynxview pour voir comment mon site passerait en 'texte seulement' et les &amp; sont conservés et gachent tout..)
 
WRInaute occasionnel
Salut Evaness,
evaness a dit:
&, mais es-ce que quand google va parcourir mon site il va bien les interpreter et les transformer en &?
Mettre & amp; pour codé un & est LA manière de faire. C'est la seule qui soit du code HTML valide. Et comme Google suis les recommandations du W3C, pas de problème !
En effet, & sert en HTML de caractère d'échappement pour les caractère spéciaux et doit donc lui même être échappé...

Mirgolth

PS: L'espace en trop est la pour assurer que l'expression ne sera pas interprétée.
 
WRInaute discret
Pourtant Lynx ne reconnaît pas ses caractères et ne les suit pas quand ils sont des liens.
De plus quand on veut faire une redirection .htaccess ce type de caractères ne passent pas d'où l'intérêt du rewriting.

Désolé si je me suis gouré mais je pensais que Google avait du mal avec ce type de caractère.

@+
GP
 
WRInaute discret
peut etre que lynx ne suit pas ce caractère spécial parce que justement il est spécial !
Autrement dit : il sert à définir les caractères spéciaux, mais aussi à séparer les variables dans les url.
Moi je conseille de mettre & tout court, et non &amp; dans l'url.
Si tu mets
&amp;var1=
google va considérer que la variable est amp;var1 et non var1
Par contre, je ne vois pas ce que php peut modifier dans tes url. Si tu mets & il affiche &, et c'est tout !
Si tu peux expliquer ce point.

A+.
 
WRInaute discret
Mirgolth a dit:
Mettre & amp; pour codé un & (....)
PS: L'espace en trop est la pour assurer que l'expression ne sera pas interprétée.
Donc, pour écrire & il faut mettre & et pour écrire &amp; dans ce forum, il faut écrire &amp;amp; (ca devient difficile à écrire par contre.)

A+, Nico.
 
WRInaute discret
Bonjour

Ce qu'à écrit Mirgolth m'apparaît tout à fait exact, extrait des recommandations:

Les auteurs devraient utiliser « &amp; » ( code décimal ASCII 38 ) au lieu de « & », pour éviter toute confusion avec le début d'une référence de caractère (délimiteur ouvrant de référence d'entité), Les auteurs devraient également utiliser « &amp; » dans les valeurs d'attributs, étant donné que les références de caractères sont admises dans les valeurs d'attribut de type « CDATA ».

Quoi que "devraient" n'implique pas en soit une obligation. Pour lynx, je comprends assez mal le comportement décrit puisque je n'ai jamais rencontré de problème d'interprétation des entitées HTML avec lynx. C'est peut-être une anomalie de l'émulateur utilisé?

Google n'a aucun problème avec "&amp;", par contre il ne faut pas utiliser plus de 2 variables GET, il semblerait que google permettrait maintenant 3 variables GET... à confirmer.

Tisha
 
WRInaute occasionnel
Bon, je répond à tout le monde et pas forcement dans l'ordre :

galle a dit:
Autrement dit : il sert à définir les caractères spéciaux, mais aussi à séparer les variables dans les url.
Tout à fait donc en HTML pour ecrire une URL avec variable tu utilise &amp; que le naviguateur/robot interpretera comme & que le serveur interpretera comme un séparateur de variable...

galle a dit:
Moi je conseille de mettre & tout court, et non & dans l'url.
Si tu mets
&amp;var1=
google va considérer que la variable est amp;var1 et non var1
Jamais entendu de parler de ça et puis ça n'est pas plus complique de faire les choses bien.

Par contre, je ne vois pas ce que php peut modifier dans tes url. Si tu mets & il affiche &, et c'est tout !
Si tu peux expliquer ce point.
Un htmlentities() avant d'affiché les URL je suppose, ou une fonction similaire.

Tisha a dit:
Quoi que "devraient" n'implique pas en soit une obligation
Je crois que si en XML et donc en XHTML. En tous cas pour le validateur du W3C c'est obligatoire sur mon site.

Mirgolth
 
Nouveau WRInaute
merci a tous, je suppose donc que Google accepte bien les &amp;

pour les curieux qui se demandent d'ou ils viennent en php, ils viennet d'un fichier xslt:
<a href="page2.php?var1={var1}&amp;var2={var2}"><xsl:value-of select="TLien"/></a>
combiné ensuite a un fichier xml avec sablotron et la fonction xslt_process().
(car on ne peut pas mettre juste un & en xslt, sinon il attend une entité)
 
Discussions similaires
Haut