Bonjour,

Question bête, si l'on met une URL PHP dans un script schema.org, le séparateur doit-il être & ou & ?

La question concerne la troisième URL dans cette liste, qui ne fait pas l'objet d'un url rewrite.

<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [{
"@type": "ListItem",
"position": 1,
"name": "Voiture",
"item": "https://www.monsite.com/voiture-H.html"
},
{
"@type": "ListItem",
"position": 2,
"name": "Peugeot",
"item": "https://www.monsite.com.com/peugeot-H5AL.html"
},
{
"@type": "ListItem",
"position": 3,
"name": "208",
"item": "https://www.monsite.com/p.php?a=H5--208&c=Voi"
}]
}
</script>


Donc :

"item": "https://www.monsite.com/p.php?a=H5--208&c=Voi"
ou
"item": "https://www.monsite.com/p.php?a=H5--208&amp:c=Voi"

Merci d'avance.
Modifié par boteha_2 (19 Jun 2022 - 16:31)
À mon avis, il faut mettre juste &, parce que les entités H.T.M.L. ne sont pas parsées dans du Javascript : un alert('&amp;') m’affiche bien &amp; et non &.
Bonjour Anedja,

Merci de ton suivi.

Attention, ce n'est pas javascript, c'est json.

Ces liens sont destinés aux moteurs de recherche.

S'ils décident de publier le lien dans une de leurs de pages HTML il faudra &amp;
Font-ils le remplacement automatiquement, c'est un peu cela la question ?
Bonjour gcyrillus,

Merci pour le lien, le conseil est d'échapper avec &amp;, cela semble clair.

Je me demande aussi s'il est utile de traiter l'url avec la fonction urlencode () ou rawurlencode ().

Qu'en penses-tu ?
Modérateur
boteha_2 a écrit :
Bonjour gcyrillus,

Merci pour le lien, le conseil est d'échapper avec &amp;amp;, cela semble clair.

Je me demande aussi s'il est utile de traiter l'url avec la fonction urlencode () ou rawurlencode ().

Qu'en penses-tu ?


C'est ce que j'ai pensé en premier lieu, encoder l'url, et je suis partis dans tous les sens sans y trouver suffisamment de bon sens. Il s'agit d'être bien référencé et de ne pas casser ce qui est déjà fait et ça c'est loin de mes compétences, je n'oserais te conseiller car je n'ai aucune idée de comment est perçu une url encodée et pas encodée pour un moteur de recherche , sont-elles les mêmes ou pas ? et puis comment ou laquelle déclarer en canonique ?

Sujet très intéressant, merci d'avoir posé la question Smiley cligne

Cdt
Bonjour gcyrillus,

En l’occurrence, quand une URL est canonique elle est assez simple et il n'y aura pas de différence entre $url et urlencode ($url).

Quand il y aura une différence c'est que l'URL n'est ps très importante.

Il me semble normal de l'encoder, sans être sûr.
Modérateur
bonsoir boteha_2
merci de ton éclairage, je reste curieux autant que toi d'une réponse argumenéer à propos de la nécessité d'encoder ou pas L’URL dans ce cas de figure.

Cdt
Bonjour,

Pour info j'ai posé la question dans le forum Google d'aide aux webmasters.

Aucune réponse.

Il me semble qu'il existait autrefois en anglais un forum Google plus dynamique.

Si cela marche encore et si quelqu'un connait l'adresse merci de la donner.
Modifié par boteha_2 (22 Jun 2022 - 18:59)
Modérateur
boteha_2 a écrit :
Bonjour,

Pour info j'ai posé la question dans le forum Google d'aide aux webmasters.

Aucune réponse.

Il me semble qu'il existait autrefois en anglais un forum Google plus dynamique.

Si cela marche encore et si quelqu'un connait l'adresse merci de la donner.


Il suffit de mettre la langue dans l'url hl=en une fois, et on passe sur une session en Anglais.

On peut alors trouver : https://support.google.com/google-ads/search?q=schema.org+url+encode&from_promoted_search=true

et tomber sur
https://support.google.com/merchants/answer/6324416 a écrit :

Replace any symbols or spaces with URL encoded entities. For example, if your URL contains an ampersand ( & ), then replace it with %26.


Du coup, cela à l'air de bien répondre à ta questionet aussi en français si tu tape la recherche avant de switcher en anglais Smiley cligne

Cdt
Modifié par gcyrillus (22 Jun 2022 - 22:07)
Bonjour gcyrillus,

Encore merci de ton suivi.

echo urlencode ('https://www.monsite.com/p.php?a=H5--208&c=Voi');


retourne :

https%3A%2F%2Fwww.monsite.com%2Fp.php%3Fa%3DH5--208%26c%3DVoi

Cela me laisse un peu perplexe.

Et contradictoire avec le remplacement de & par &amp;

J'y réfléchis.
Modifié par boteha_2 (22 Jun 2022 - 23:53)
Modérateur
boteha_2 a écrit :
Bonjour gcyrillus,

Encore merci de ton suivi.

echo urlencode ('https://www.monsite.com/p.php?a=H5--208&amp;c=Voi');


retourne :

https%3A%2F%2Fwww.monsite.com%2Fp.php%3Fa%3DH5--208%26c%3DVoi

Cela me laisse un peu perplexe.

Et contradictoire avec le remplacement de &amp; par &amp;amp;

J'y réfléchis.


Idem,
Quid du charset du document lui même ? Est-il toujours nécessaire d'encoder ou échapper certains caractères ?

Cdt
gcyrillus a écrit :
Quid du charset du document lui même ? Est-il toujours nécessaire d'encoder ou échapper certains caractères ?


UTF-8

Mais je pense que le charset du document est sans importance.

L'URL est récupérée par le moteur de recherche, il faut savoir ce que veut le moteur de recherche.

Toutes mes URL qui apparaissent dans le code source ont été traitées par rawurlencode ().

Il semble normal d'appliquer le même traitement aux URL données dans le script json, mais je n'en suis pas sûr.

Par contre je pense que & doit être transformé en &amp; avant d'être encodé par urlencode () ou rawurlencode ().

Autrement dit :

urlencode ('https://www.monsite.com/p.php?a=H5--208&amp;c=Voi');


ou peut-être :

'https://www.monsite.com/' . urlencode ('p.php?a=H5--208&amp;c=Voi');

Modifié par boteha_2 (23 Jun 2022 - 18:56)
boteha_2 a écrit :
Bonjour,

Question bête, si l'on met une URL PHP dans un script schema.org, le séparateur doit-il être &amp; ou &amp;amp; ?

La question concerne la troisième URL dans cette liste, qui ne fait pas l'objet d'un url rewrite.

Merci d'avance.


Hello boteha_2

Sur ce forum, il n'y a aucune question bête
Les réponses qui ont été apportées m'ont bcp aidé, du coup merci pour la question posée Smiley cligne
Bonjour Palot,

Merci de ton message.

Pour info je travaille encore sur le script PHP qui crée les fils d'Ariane.
C'est d'ailleurs un sujet intéressant quand tu veux publier des URL canoniques.
En plus sur le site en question un produit peut appartenir à jusqu'à 3 rayons différents.
Par exemple un cordon DVI-HDMI appartient à 2 rayons : DVI rt HDMI
Vidéo > HDMI > ce cordon
Vidéo > DVI > ce cordon
Idéalement il faudrait 2 fils d'Ariane.

Schema.org n'a pas prévu ce cas, donc je choisis un des 2 fils possibles, a priori celui du rayon le plus populaire, en l’occurrence HDMI.

Une autre question :
Un fil d'Ariane doit-il toujours se terminer par l'URL de la page affichée ?
Il me semble que oui :
Vidéo > HDMI > ce cordon
Non pas seulement :
Vidéo > HDMI