1486 sujets

Web Mobile et responsive web design

Bonjour
Dans mon site il y a plusieurs fichiers qui exploitent la base de données, dont un fichier qui affiche les données page par page qui fonctionne très bien. La raison de ce mode page par page est de pouvoir afficher ou imprimer sur une seule page format A4 plus de 70 champs (descriptif + résultat) de longueur variable.
Inutile de préciser que l'accès à la base est bloquée pour les mobiles.

Ce fichier génère une série d'autres fichiers, ce qui est normal car c'est son but, mais il provoque les erreurs SEO :
"Page en double sans URLcanonique sélectionnée par l'utilisateur".

Ce fichier https://encheresdebridge.fr/base/saisies/liste_encheres.php génère donc les fichiers :
https://encheresdebridge.fr/base/saisies/liste_encheres.php?debut=0
dito/?debut=1
dito/?debut=2
etc.. jusquà 70

Je suppose qu'il y a bien d'autres sites qui font de l'affichage page par page. Une aide pour résoudre ce problème serait bienvenue.
Modérateur
Bonjour,

L'étape 1 consiste a bien vérifier qu'il n'y a pas d'autres pages sur le site qui génèrent les mêmes contenus. Ce n'est pas toujours facile. Parfois c'est juste un "www." qui, quand on le rajoute à l'url, permet de voir le même contenu. Par exemple si https://encheresdebridge.fr/base/saisies/liste_encheres.php?debut=0 et https://www.encheresdebridge.fr/base/saisies/liste_encheres.php?debut=0 permettent d'afficher la page 0, ça suffit pour que les moteurs de recherche parlent de "Page en double sans URL canonique sélectionnée par l'utilisateur".

Ensuite, l'étape 2 consiste pour toutes les pages du site à ajouter dans le code html dans la partie <head> de ces pages une balise <link> définissant l'url dite canonique de ces pages.

Exemple pour la page https://encheresdebridge.fr/base/saisies/liste_encheres.php?debut=0 :
<link rel="canonical" href="https://encheresdebridge.fr/base/saisies/liste_encheres.php?debut=0">


Si l'url https://www.encheresdebridge.fr/base/saisies/liste_encheres.php?debut=0 (avec "www." en début d'url) permet aussi d'afficher le même contenu, on mettra dans le code HTML la même url canonique que pour l'url précédente (sans le "www." en début d'url) https://encheresdebridge.fr/base/saisies/liste_encheres.php?debut=0, c'est à dire dans les deux cas :
<link rel="canonical" href="https://encheresdebridge.fr/base/saisies/liste_encheres.php?debut=0">


Par ailleurs, https://encheresdebridge.fr/base/saisies/liste_encheres.php affiche la page 0 (c'est à dire le même contenu que https://encheresdebridge.fr/base/saisies/liste_encheres.php?debut=0). Il faut donc s'assurer que https://encheresdebridge.fr/base/saisies/liste_encheres.php a bien comme url canonique l'url de la page 0, c'est à dire :
<link rel="canonical" href="https://encheresdebridge.fr/base/saisies/liste_encheres.php?debut=0">


Il se peut qu'il y ait d'autres doublons du même genre dans le site. Je n'ai pas vérifié.

Et pour bien faire, il faudrait que toutes les pages du site ait une url canonique précisée dans leur code html (en mettant la même url canonique pour les pages affichant le même contenu), et pas seulement celles identifiées comme ayant un problème.

Amicalement,
Modifié par parsimonhi (27 Jul 2023 - 13:31)
Bonjour
Merci de ta réponse si rapide
J'ai carrément supprimé la propriété www du site, elle ne générait aucun clic.
Toutes les pages du site dont je souhaitait l'indexation contiennent la balise canonical (il y a 34 pages indexées).
Et bizarrement celles que je ne souhaite pas voir indexées, et ou j'ai donc omis volontairement la balise cannonical, provoquent un message d'erreur de Google "Pages explorées mais non indexées".
Suite à ta réponse j'ai fait la modif suivante :
Dans mon sytème page par page la partie navigation du script est :

if (isset($_GET['debut'])) {
   $a_partir_de = $_GET['debut'];
}
else {
   $a_partir_de = 0;
}
// création des boutons précédent et suivant
// si on est au premier, pas de précédent
// si on est au dernier, pas de suivant
if ($a_partir_de == 0) {
   $precedent = " ";
   $suivant   = "<a href='liste_encheres.php?debut=".($a_partir_de + 1)." '>[suivant =>]</a>";//en principe a apartir de +1
 
   echo "<div id = 'suivant'>$suivant</div>";   
}
elseif ($a_partir_de == $dernier)
{
$precedent = "<a href='liste_encheres.php?debut=".($a_partir_de - 1)."'>[<= precedent]</a>";
$premier = "<a href='liste_encheres.php?debut=0'>[I<== premier]</a>";
$suivant  = " ";
$fin = " ";

echo "<div id = 'precedent'>$precedent</div>";
echo "<div id = 'premier'>$premier</div>";
echo "<div id = 'precedent'>$precedent</div>";
echo "<div id = 'premier'>$premier</div>";

}//fin elseif

else{
$precedent = "<a href='liste_encheres.php?debut=".($a_partir_de -1)."'>[<= precedent]</a>";	
$suivant = "<a href='liste_encheres.php?debut=".($a_partir_de + 1)."'>[suivant =>]</a>";
$fin = "<a href='liste_encheres.php?debut=".($dernier)."'>[fin ==>I]</a>";
$premier = "<a href='liste_encheres.php?debut=0'>[I<== premier]</a>";

   echo "<div id = 'suivant'>$suivant</div>";
   echo "<div id = 'precedent'>$precedent</div>";
   echo "<div id = 'fin'>$fin</div>";
   echo "<div id = 'premier'>$premier</div>";

}//fin else[code=php]

[/code]
et la requête se compose de et finit par (j'ai allégé, car il y a plus de 70 items) :

$reponse = $bdd->query('SELECT nom,base_systeme,ouv_mineure,etc...,entame_roi_SA,neuf_10_SA from encheres  ORDER BY nom LIMIT '.$a_partir_de.','.$dernier.' ' );

Dans le head du fichier il y avait avant ma modif :

<link rel = "canonical" href = "https://encheresdebridge.fr/base/saisies/liste_encheres.php">

J'ai remplacé cette directive par :


<link rel = "canonical" 
href = "https://encheresdebridge.fr/base/saisies/liste_encheres.php?debut=<?php if (isset($_GET['debut'])) {
   $a_partir_de = $_GET['debut'];
}  ?>  " />

D'ailleurs si ça t'intéresse d'avoir le fichier complet, pas de problème.

Suite à cette modif, aucun problème à l'exploration en ligne. Par contre si je teste l'URL du fichier dans la console, elle indique en retour "Google ne reconnait pas cette URL". Et si je teste en ligne, Google indique "Soft 404"

Malheureusement ce n'est pas la seule erreur : Je m'échine depuis un an à supprimer 6 erreurs de redirection. Parfois Google m'annonce qu'il a validé mes corrections, puis quelque temps après il réitère le même message d'erreur sans que je n'ai modifié quoi que ce soit. La logique de Google est parfois vraiment étrange et déroutante. Mais il faut dire que je ne suis qu'un amateur.
Cordialement et encore merci