Page en double : Google n'a pas choisi la même URL canonique que l'utilisateur

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [Problème] Page en double : Google n'a pas choisi la même URL canonique que l'utilisateur

    Bonjour,
    Je possède un site www.pierbiau.com, J4.4.5, Php 8.1.28, et je reçois de temps à autre des messages de la GSC, dont voici un "récurrent" :

    "La page n'est pas indexée : Page en double : Google n'a pas choisi la même URL canonique que l'utilisateur".
    J'ai lu l'ensemble des articles présentés par google à ce sujet, mais j'avoue ne plus rien comprendre après avoir lu tout cela... Voici une capture d'écran d'une url en particulier, qui dans les 2 cas renvoie, visuellement parlant, à la même page, à savoir :
    Cliquez sur l'image pour l'afficher en taille normale

Nom : page en double GSC.jpg 
Affichages : 173 
Taille : 89,3 Ko 
ID : 2062894

    Est-il possible d'indiquer à google le choix de la page à retenir ? Si oui, comment le lui indiquer ?
    Remerciements d'avance pour vos réponses,
    Pierre​​
    Fichiers joints

  • #2
    Bonjour,

    En fouillant dans les forums (chose que j'ai fait au départ, mais ou je n'ai pas trouvé exactement les termes de ma recherche), j'ai trouvé un sujet qui semble se rapprocher de ma problématique : https://forum.joomla.fr/forum/joomla-4-x-aa/questions-g%C3%A9n%C3%A9rales-aa/2062621-redirection-http-vers-https

    J'ai du coup réalisé plusieurs tests, en suivant l'explication de "daneel" :
    1) Pour le bon fonctionnement du certificat sur https://www.ssllabs.com/ssltest/​ : j'obtiens un "A"
    2) Pour les tests de redirection sur https://www.redirection-web.net/​ :
    - http://pierbiau.com/​ > Redirection permanente (301) vers https://pierbiau.com/
    - http://www.pierbiau.com/ > Redirection permanente (301) vers https://www.pierbiau.com/
    -
    https://www.pierbiau.com/​ > Accès direct (200)
    - https://pierbiau.com/​ > Accès direct (200)

    Je suppose donc que le fichier .htaccess est bien "configuré". Je possède également un sitemap que j'ai envoyé à la GSC lors de la refondation de mon site sous J4.

    Que faire ?
    Remerciements,
    Pierre

    ​​​

    Commentaire


    • #3
      Bonjour,

      1. Tu as presque bon si ce n'est d'avoir un seul accès direct, le reste en redirection.
      Pour faire simple, tu dois combiner le fait d'être en https sans www, le reste en redirection.
      Vérifie tes modifications et teste à nouveau. l'url avec www en https doit rediriger sur l'url https SANS www tout simplement.

      2. Le sitemap n'est qu'une indication optionnelle pour les moteurs de recherche.
      Si tu utilise un composant comme osmap, je te conseille de créer une redirection qui masque l'url d'origine pour laisser "sitemap.xml" à la racine du site.
      Ainsi les autres moteurs de recherches détecteront la présence de ce sitemap.xml (voir les discussions précédentes, au besoin je remets le bon code à copier/coller dans le htaccess)

      Tu peux aussi préciser l'url dans robots.txt
      Instructions et explications sur la manière de faire référence à un fichier sitemap.xml dans le fichier robots.txt


      3. Tu dois t'en douter, tu est en concurrence avec ton site eproshopping.
      On peut améliorer cela si tu veux.
      Joomla User Group (JUG) Lille : https://www.facebook.com/groups/JUGLille/

      Commentaire


      • #4
        Bonjour,
        Merci pour ces premiers éléments de réponse rapides.
        1) Grace à vos explications, j'ai bien compris la théorie, à savoir " l'url avec www en https doit rediriger sur l'url https SANS www tout simplement." : par contre, n'étant pas du tout informaticien, mais très néophyte en la matière, comment dois-je m'y prendre ?
        C'est à dire que j'ai rapatrié le fichier "_.htaccess" (celui présent à la racine du site) via FTP sur mon ordinateur (et j'en garde une sauvegarde ou cas ou des problèmes surviendraient par la suite), et je sais l'ouvrir grace à Notepad++ et rajouter du code. Par contre, j'ai 4 lignes ou est présent l'ordre "Rewrite Engine On" : quel code rajouter pour mon cas précis, et surtout à quel endroit de ce fichier.
        Enfin, j'ai noté qu'il existe un autre fichier ".htaccess" (sans la barre du 8 du clavier), présent cette fois dans le dossier www. Faut-il également le modifier ?
        Voici les captures d'écran du "_.htaccess" pour les 4 positions du "Rewrite Engine On" :

        Cliquez sur l'image pour l'afficher en taille normale

Nom : rewrite engine on L 62.jpg 
Affichages : 136 
Taille : 25,1 Ko 
ID : 2062914 Cliquez sur l'image pour l'afficher en taille normale

Nom : rewrite engine on L 124.jpg 
Affichages : 124 
Taille : 25,6 Ko 
ID : 2062915 Cliquez sur l'image pour l'afficher en taille normale

Nom : Sans titre 450.jpg 
Affichages : 122 
Taille : 26,5 Ko 
ID : 2062916 Cliquez sur l'image pour l'afficher en taille normale

Nom : rewrite engine on L 334.jpg 
Affichages : 121 
Taille : 41,9 Ko 
ID : 2062917

        2) En effet, j'utilise OSmap free, dont voici une capture d'écran ou apparaissent là aussi des problème similaires :

        Cliquez sur l'image pour l'afficher en taille normale

Nom : osmap free.jpg 
Affichages : 125 
Taille : 154,3 Ko 
ID : 2062918

        Comment dois-je procéder "pas à pas" (là encore) pour créer une redirection qui masque l'url d'origine pour laisser "sitemap.xml" à la racine du site. j'ai trouvé via ftp le dossier "pierbiau/www/plugins/osmap", mais je ne sais pas ou se trouve le plan de site. Peut-être puis-je le récupérer depuis le back-end en .xml, et ensuite simplement le déposer à la racine du site (avant le dossier www) ?

        3) Je prendrais le temps de lire votre lien avant de vous questionner.
        4) Ok, je souhaite améliorer tout cela.

        Encore merci, à bientôt,
        Pierre

        Commentaire


        • #5
          Bonjour

          Pour ce qui est du / des fichiers .htaccess, je n'ai pas tout compris càd que tu parles d'un fichier nommé _.htaccess (pour le clin d'oeil, c'est amusant, à mes yeux "belges", de lire "la barre du 8" parce que je ne sais pas ce que cela veut dire. En Belgique on dit "underscore", le mot anglais donc et sous le chiffre 8 de mon clavier j'ai le point d'exclamation).

          Clin d'oeil à part; le nom du fichier qui est traité par ton serveur Apache est ".htaccess" (sans la barre) et donc, si les captures d'écrans que tu as fournis concernaient le fichier "_.htaccess" sache donc que ce fichier-là ne sert à rien. Il n'est utilisé par personne; c'est juste une sauvegarde que tu avais fait à un moment donné. Tu peux supprimer _.htaccess, ton site n'en serait aucune affecté.

          Le fichier que tu devrais adapter est donc ".htaccess".

          Et, sache, ce fichier est très "précieux": fais toujours une copie avant de le modifier parce qu'une erreur est vite commise et si tu as une sauvegarde; tu pourras vite revenir en arrière.

          Si tu apportes des modifications, tu devras veiller à sauver le fichier au format UTF-8 NoBom (des éditeurs comme Notepad++ si tu es sous Windows permettent de t'en assurer).

          Pour ce qui est de la redirection, personnellement, j'ai opté pour forcer et "https" et "www" et tu peux trouver mon "snippets" ici : https://www.avonture.be/blog/apache-...le-hstspreload. Tu souhaites faire le contraire; j'avais fait ça il y a quelques années (pas www) mais j'en suis revenu (avec www) (et oh! mazette, j'ai oublié de le faire sur mon blog, ouch!!! ).

          Le fait de forcer le préfixe www. me parraissait le meilleur choix pour distinguer mon site principal (www donc) des autres sites (comme p.ex. https://docker.avonture.be/ pour prendre cet exemple).

          En terme de SEO, je t'avoue que je n'ai aucune compétence quand à savoir si c'est mieux www ou pas www mais oui, c'est mieux de forcer l'un et de ne pas autoriser l'autre (ce que j'ai oublié de faire sur mon blog; bougre d'idiot que je suis).

          daneel aime ceci.
          Christophe (cavo789)
          Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
          Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

          Commentaire


          • #6
            Bonjour,
            Merci pour votre intervention. En effet, je viens maintenant d'apprendre le terme "underscore" que je ne connaissais pas : je pense que les informaticiens français le connaissent, mais pas le grand public dont je fais partie... (à moins que je ne sois tout seul dans l'ignorance)
            Ok pour le fichier ".htaccess", situé dans le dossier www, qui est le seul à conserver donc.

            Pour ma problématique de référencement de la GSC, au vu de vos nouvelles explications, je pense que j'ai tout d'abord besoin de comprendre l'ensemble des subtilités (avec/sans www, http et/ou https), je m'explique :
            1) Dans mon esprit et dans les souhaits des internautes qui me recherchent via un moteur de recherche, je ne possède qu'un seul site officiel ou je présente mon entreprise.
            2) Pour des raisons de sécurisations, j'ai fait la démarche du "https", en pensant que je n'aurais qu'une seule et unique url pour mon site officiel, le "https" remplaçant toutes les autres.
            3) Je viens de comprendre que se rajoute aussi le "avec ou sans www" : quel est l'intérêt du "avec ou sans www" du point de vue du référencement du site ?
            Du coup, j'ai maintenant 4 urls différentes qui mènent au même site, du point de vue du contenu visible par les internautes : cela me paraît compliqué pour un moteur de recherche de trier un seul site avec 4 accès différents, on a l'impression de se prendre les pieds dans le tapis.

            Ce que je souhaiterais, c'est être bien entendu le mieux référencé possible, et j'ai pensé que les alertes de la GSC allaient en ce sens : je vois de votre côté que vous êtes revenu en arrière d'une démarche "j'avais fait ça il y a quelques années (pas www) mais j'en suis revenu (avec www)"
            Du coup, si je comprends mieux les choses à présent, tout est une question de compromis : il n'existe pas une seule voie unique qui serait nécessairement meilleure qu'une autre ?
            slts,
            Pierre

            Commentaire


            • #7
              Hello

              Si tu as suivi le lien que j'avais donné, il "suffit" donc d'éditer le fichier .htaccess qui se trouve à la racine de ton site et de copier/coller le bloc ci-dessous.

              Cela forcera la version "https avec www" et, donc, tu n'auras plus la version sans http (puisque https sera forcé) et tu n'auras plus la version sans www (puisque www sera forcé).

              Code:
              <IfModule mod_rewrite.c>
              
              # Rewrite the URL to force https and www.
              RewriteEngine On
              
              # Compliant with hstspreload.org : first redirect to https if needed
              RewriteCond %{HTTPS} !=on
              RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
              
              # then redirect to www. when the prefix wasn't mentioned
              # hstspreload.org seems to not really like to make the two at once
              RewriteCond %{HTTP_HOST} !^www\.
              RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
              
              </IfModule>​
              daneel aime ceci.
              Christophe (cavo789)
              Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
              Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

              Commentaire


              • #8
                Bonjour,
                Oui, j'ai bien suivi le lien, et je vais ce week-end réaliser cette opération dans le .htaccess. Dernière chose > j'insère bien le code suivant :

                # Rewrite the URL to force https and www.
                RewriteEngine On

                # Compliant with hstspreload.org : first redirect to https if needed
                RewriteCond %{HTTPS} !=on
                RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

                # then redirect to www. when the prefix wasn't mentioned
                # hstspreload.org seems to not really like to make the two at once
                RewriteCond %{HTTP_HOST} !^www\.
                RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]


                juste en dessous de "<IfModule mod_rewrite.c>" ou bien en dessous de "RewriteEngine On" ? En utilisant la fonction rechercher de Notepad ++, j'ai une seule ligne dans le fichier "<IfModule mod_rewrite.c>", qui se termine également après pas mal de lignes de codes à "</IfModule>". Bien entendu, je sauvegarde le fichier de départ dans un dossier à part au cas ou un problème surviendrait pour le remettre à sa place le temps de voir.

                Remerciements pour votre patience au vu de mes questions...
                Cordialement,
                Pierre



                ​​

                Commentaire


                • #9
                  La place n'est pas très importante du moment où tu ne le mets pas n'importe où ;-)

                  Copie le bloc au tout début ou à la toute fin du fichier, cela devrait passer sans heurts.
                  Christophe (cavo789)
                  Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
                  Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

                  Commentaire


                  • #10
                    Bonjour,
                    Je viens de modifier le fichier ".htaccess" présent dans www, en y insérant le codage fourni par "copier / coller" tout à la fin (encodage en UTF-8 No Bom). Le site fonctionne en front end (ouf). Voici les résultats obtenus après vérification auprès de https://www.redirection-web.net/​​ :

                    - http://pierbiau.com/​ > Redirection permanente (301) vers https://pierbiau.com/> Redirection permanente vers https://www.pierbiau.com/
                    - http://www.pierbiau.com/ > Redirection permanente (301) vers https://www.pierbiau.com/
                    -
                    https://www.pierbiau.com/​ > Accès direct (200)
                    - https://pierbiau.com/​ > Redirection permanente vers https://www.pierbiau.com/

                    Donc, si j'ai bien tout compris, tout accès au site renvoi maintenant, au final, à un seule et unique url "https://www.pierbiau.com/" > Du coup, lors des prochaines indexations de la GSC, tout sera "lu" comme "https://www.pierbiau.com", et la gsc n'aura plus plusieurs accès pour la même page, mais un seul et unique, donc plus de problème de double contenu ?

                    Que dois-je faire avec la gsc :
                    1) Je laisse le temps faire son travail "naturellement", à chaque fois que mon site sera vu par Google ?
                    2) Je confirme "Valider" la correction" dès à présent pour indiquer à google que j'ai fait le nécessaire ?

                    Si ce premier point est dans la bonne voie, je vais ensuite m'attaquer au fichier robot.txt avec mon sitemap.xml.

                    Remerciements,
                    Pierre​

                    Commentaire


                    • #11
                      Envoyé par Pierre débutant Voir le message
                      Bonjour,

                      Que dois-je faire avec la gsc :
                      1) Je laisse le temps faire son travail "naturellement", à chaque fois que mon site sera vu par Google ?
                      2) Je confirme "Valider" la correction" dès à présent pour indiquer à google que j'ai fait le nécessaire ?

                      La validation va permettre à Google de relancer, il faudra un peu de temps avant que tout se réorganise mais cela fonctionne.

                      Donc double oui


                      Joomla User Group (JUG) Lille : https://www.facebook.com/groups/JUGLille/

                      Commentaire


                      • #12
                        Bonjour,
                        Donc double oui
                        Merci pour ces confirmations : j'ai fait le nécessaire du côté de la gsc, j'attends que google termine la validation.
                        Comme me l'a indiqué cavo789, j'ai supprimé le "_.htaccess" qui était une ancienne sauvegarde : tout s'est très bien passé.

                        Passons à présent à :
                        2. Le sitemap n'est qu'une indication optionnelle pour les moteurs de recherche.
                        Si tu utilise un composant comme osmap, je te conseille de créer une redirection qui masque l'url d'origine pour laisser "sitemap.xml" à la racine du site.
                        Ainsi les autres moteurs de recherches détecteront la présence de ce sitemap.xml (voir les discussions précédentes, au besoin je remets le bon code à copier/coller dans le htaccess)

                        Tu peux aussi préciser l'url dans robots.txt

                        Robots.txt : indiquer l'emplacement du fichier sitemap XML
                        Instructions et explications sur la manière de faire référence à un fichier sitemap.xml dans le fichier robots.txt

                        Instructions et explications sur la manière de faire référence à un fichier sitemap.xml dans le fichier robots.txt
                        1) Pour robots.txt, je suis capable d'insérer le code suivant en fin de fichier : "Sitemap: http://www.pierbiau.com/sitemap.xml". Mais lequel des 2 fichiers dois-je modifier : robots.txt (qui s'ouvre avec writer) ou robots.txt.dist (qui s'ouvre avec notepad ou le bloc-note) ? Bien entendu, j'encoderais en UTF-8 No Bom. J'ai ouvert les 2 fichiers après les avoir rapatriés, ils possèdent le même contenu...

                        2) J'utilise bien osmap free, dont voici le lien xml obtenu depuis l'administration : "https://www.pierbiau.com/component/osmap/?view=xml&id=3&format=xml". Comment dois-je procéder pour "créer une redirection qui masque l'url d'origine pour laisser sitemap.xml à la racine du site" ? Pour moi, la racine du site c'est www sous ftp. Je n'ai trouvé aucun fichier sitemap.xml dans www/components/com_osmap ...

                        Remerciements,
                        Pierre

                        Commentaire


                        • #13
                          Envoyé par Pierre débutant Voir le message

                          1) Pour robots.txt, je suis capable d'insérer le code suivant en fin de fichier : "Sitemap: http://www.pierbiau.com/sitemap.xml". Mais lequel des 2 fichiers dois-je modifier : robots.txt (qui s'ouvre avec writer) ou robots.txt.dist (qui s'ouvre avec notepad ou le bloc-note) ? Bien entendu, j'encoderais en UTF-8 No Bom. J'ai ouvert les 2 fichiers après les avoir rapatriés, ils possèdent le même contenu...

                          2) J'utilise bien osmap free, dont voici le lien xml obtenu depuis l'administration : "https://www.pierbiau.com/component/osmap/?view=xml&amp;id=3&amp;format=xml". Comment dois-je procéder pour "créer une redirection qui masque l'url d'origine pour laisser sitemap.xml à la racine du site" ? Pour moi, la racine du site c'est www sous ftp. Je n'ai trouvé aucun fichier sitemap.xml dans www/components/com_osmap ...
                          1. le fichier robots.txt.dist est un exemple fourni par joomla, tu peux le supprimer.

                          2. en fait la redirection est dynamique, cela consiste à faire croire que l'url https://www.pierbiau.com/sitemap.xml existe lors que c'est simplement le contenu généré l'extension osmap.
                          L'avantage, c'est que le sitemap.xml à la racine sera pris en compte par les autres moteurs de recherche mais aussi par les scripts malveillants.
                          Pour éviter les scripts qui solliciterait volontairement l'url pour consommer de la ressource (attaque deni de service), une solution consiste à mettre en cache
                          via un plugin : https://addondev.com/extensions/site...he/description

                          Pour ce qui est de la règle que l'on doit écrire dans le fichier .htaccess, normalement c'est :

                          Code:
                          ​
                          RewriteEngine On
                          RewriteCond %{REQUEST_URI} ^/sitemap.xml
                          RewriteRule .* https://www.pierbiau.com/index.php?option=com_osmap&amp;view=xml&amp;tmpl=component&amp;id=3&amp;format=xml
                          Un peu d'explication...
                          1. Activation de la réécriture
                          2. condition (rewritecond) : si on essaye de lire sitemap.xml à la racine
                          3. règle (RewriteRule) : alors on applique la lecture vers le plan de site 3

                          Tu n'est pas obligé d'écrire "RewriteEngine On"
                          si tu place les deux lignes (RewriteCond et RewriteRule) après un RewriteEngine On déjà existant.

                          On peut aussi eviter de mettre le nom de domaine dans la règle mais cela ne fonctionne pas toujours.

                          Comme pour les redirections précédentes et indiqué par cavo789, la place n'est pas très importante du moment où tu ne le mets pas n'importe où
                          au tout début ou à la toute fin du fichier, cela devrait passer sans heurts.​

                          Dernière édition par daneel à 24/06/2024, 10h54
                          Joomla User Group (JUG) Lille : https://www.facebook.com/groups/JUGLille/

                          Commentaire


                          • #14
                            Bonjour,
                            Merci pour toutes ces précisions. Je pense être en mesure d'effectuer ces opérations pour mener à bien ce point là.
                            Par contre, je me pose les questions suivantes avant de prendre ma décision définitive, à savoir :
                            1)
                            Pour éviter les scripts qui solliciterait volontairement l'url pour consommer de la ressource (attaque deni de service), une solution consiste à mettre en cache
                            via un plugin : https://addondev.com/extensions/site...he/description
                            Ce plugin, n'étant pas "natif joomla", se mettra t'il à jour automatiquement, ou devrais-je de mon propre chef me rendre de temps à autre sur le site du développeur pour télécharger la dernière MAJ ?
                            Egalement, il suffit simplement de télécharger le plugin, qui va gérer de lui même "la mise en cache", ou bien dois-je le paramétrer ?

                            2) Est-il possible de fournir mon plan de site aux autres moteurs de recherches (les plus importants j'entends), comme je l'ai transmis à google par le biais de gsc ? Autrement dit, les autres moteurs de recherches possèdent-ils un service spécifique, à l'image de google, qui veut bien recevoir les sitemaps qu'on lui fournirait ?

                            Merci pour vos réponse qui m'aideront à faire mon choix.
                            Cordialement,
                            Pierre

                            Commentaire


                            • #15
                              Pour te répondre,

                              1) le plugin qui met en cache n'est pas obligatoire, c'est une mesure préventive créé par développeur indépendant. Je l'ai donné à titre d'information.
                              Les mises à jour de ce plugin sont rares mais c'est suivi. Comme toutes les extensions tierces dispo sur l'annuaire des extensions ( extensions.joomla.org), il alertera en cas de mise à jour.
                              Sincèrement, très peu de personnes l'utilisent car les attaques sur le chargement du plan de site xml sont rares et tu peux avoir déjà d'autres mesures de sécurité en place ( de l'hébergeur, cloudflare, etc.)

                              2) Mis à part la soumission de l'url sur GSC, la plupart des autres moteurs de recherche récupèrent le plan de site xml via l'url : nomdedomaine.com/sitemap.xml
                              Les robots d'indexation vérifie aussi la présence de l'url dans robots.txt
                              Toutefois, tu peux aussi voir la soumission sur bing : https://www.bing.com/webmasters/about?cc=fr

                              Pour duckduckgo par exemple, c'est automatique donc rien à prévoir ( il utilise diverses sources dont les résultats de bing ).





                              Dernière édition par daneel à 26/06/2024, 11h13
                              Joomla User Group (JUG) Lille : https://www.facebook.com/groups/JUGLille/

                              Commentaire

                              Annonce

                              Réduire
                              Aucune annonce pour le moment.

                              Partenaire de l'association

                              Réduire

                              Hébergeur Web PlanetHoster
                              Travaille ...
                              X