Ecrasement des fichiers robots.txt et sitemap.xml à chaque modif enregistrée

Démarré par Lionel, Juil 17, 2022, 10:58 AM

« précédent - suivant »

Lionel

Écrasement des fichiers robots.txt et sitemap.xml à chaque modif enregistrée dans l'administration du cms

J'édite le fichier robots.txt pour restreindre ou bloquer certains robots, par exemple :

User-agent: *
Crawl-delay: 2
User-agent: AhrefsBot
Disallow: /
User-agent: BLEXBot
Disallow: /
User-agent: BUbiNG
Disallow: /
User-agent: dotBot
Disallow: /

Mais ce fichier est écrasé à chaque accès admin par celui ci-dessous, généré par le cms :

User-agent: *
Allow: /
Sitemap: https://mon-site.fr/sitemap.xml

D'une part, les informations sont fausses sur :

https://doc.deltacms.fr/referencement

car ce fichier robots.txt n'interdit rien du tout, voir ci-dessous le contenu de cette page  :

**************** début de la copie
Sitemap.xml / Robots.txt
Le deuxième est la génération/mise à jour des fichiers sitemap.xml et robots.txt.

Sitemap.xml

Le fichier sitemap XML (sitemap.xml) est un fichier texte au format XML (langage de balisage extensible) contenant une liste de toutes les sous-pages du site Web sous forme de lien. Les robots des moteurs de recherches analysent ce fichier et il est donc très important.
Le fichier robots.txt quant à lui sert à indiquer aux moteurs de recherches ce qui leur est interdit/autorisé : ATTENTION, ce n'est pas avec ce fichier que l'on interdit l'indexation d'une page particulière, en tout cas pas seulement, et il faudra employer d'autres mécanismes si ce but est recherché.

Robots.txt

Le fichier robots.txt généré par Deltacms interdit l'accès aux dossiers critiques du CMS : /core/, /module/, /site/data, /site/tmp, /site/backup. Par contre, il autorise : /site/file/ et le fichier sitemap.xml.gz. Il suffit de cliquer sur le bouton bleu Sitemap.xml /Robots.txt pour que les fichiers soient mis à jour (ils sont automatiquement créés au moment de l'installation).
Si au lieu d'un message de succès sur fond vert apparaît le message sur fond rouge "Échec d'écriture, le sitemap n'a pas été mis à jour" il faudra investiguer pour déterminer et résoudre le problème.

Autoriser les robots à référencer le site

Lorsque cette option est active, les robots sont autorisés à parcourir les pages du site. Cette option agit sur le paramétrage du fichier robots.txt.
**************** fin de la copie

D'autre part, il est inutile de préciser "Allow: /" puisque tout indexer est le comportement par défaut des robots, donc,

User-agent: *
Allow: /

équivaut à laisser ce fichier vide, et il est en outre inutile de préciser "Sitemap: https://mon-site.fr/sitemap.xml" car cette précision n'est utile que si le sitemap n'est pas en format xml, qui est le format par défaut de ce fichier, ou si celui-ci ne se trouve pas à la racine du site, donc, la aussi, cette précision équivaut à pas de précision du tout

La régle "Allow" n'est utile que pour permettre d'indexer un sous-dossier dans un dossier "Disallow", comme ce que suggère la doc dans le texte copié ci-dessus pour le dossier /site/file/, ou d'autoriser l'indexation d'un ou de plusieurs fichiers dans ce même dossier

Concernant le fichier sitemap.xml, toutes les pages y sont inscrites, dont les pages orphelines incluant celles en travaux, celles que l'on ne veut pas référencer (par ajout d'une règle dans le robots.txt ou de la balise meta name="robots" dans le fichier head.inc.html pour une page particulière par exemple), et toutes les pages spéciales : erreur302, erreur403, erreur404, ainsi que la page créée pour la recherche, ce qui est totalement aberrant !
Si ce fichier n'était pas systématiquement écrasé ce serait un moindre mal, sinon on devrait pouvoir choisir à minima ce que l'on ne souhaite pas y intégrer

Ces 2 fichiers sont obligatoires de fait, car systématiquement recherchés par tout les crawlers, leur absence génère une erreur 404, ils doivent donc être correctement renseignés, ou laissés vides, il est évidemment souhaitable que ces fichiers ne contiennent que des règles utiles et pertinentes, mais le cms n'offre qu'une alternance : tout autoriser ou tout interdire, on devrait pouvoir disposer d'autres possibilités

En attendant, voici un contournement provisoire : mettre ces fichiers en lecture seule 444

Lionel

Une suggestion : Ce serait pratique de pouvoir éditer ces fichiers depuis l'interface d'administration, comme ce qu'il est possible de faire pour le custom.css ou les 2 fichiers inc.html, et par la même, empêcher leur écrasement par ceux par défaut, au moins pour le robots.txt, le sitemap étant plus complexe à éditer, une liste des pages du site avec des cases à cocher respectives permettrait de ne sélectionner que celles que l'on souhaite indexer
Il s'agit, certes, d'une utilisation avancée du cms, mais l'édition des 3 fichiers sus-cités l'est aussi

Sylvain

Bonjour Lionel,
Si les fichiers robots.txt et sitemap.xml sont modifiés en dehors d'un appui volontaire sur le bouton associé dans configuration du site / référencement il s'agit d'un bug qu'il faudra corriger.
Pour le reste je le mets à la suite du todo pour la prochaine version.
Cordialement
Sylvain

Lionel

Bonjour Sylvain,
Je confirme qu'il s'agit bien d'un bug, que la case "Autoriser les robots à référencer le site" soit cochée ou pas les 2 fichiers sont écrasés par leur valeurs par défaut dès qu'on utilise l'administration, sans cliquer sur le bouton  de création de ces fichiers, bouton sur lequel je n'ai d'ailleurs jamais cliqué
Je viens d'effectuer des tests sur un cms fraîchement installé, ce comportement est identique

Lionel

Mieux : ce comportement se produit aussi sans modifier le site via l'interface d'administration, il suffit juste d'éditer une page pour que robots.txt et sitemap.xml soient écrasés, et ce, que l'on édite la page en administrateur, mais aussi, ce qui pose quand même un gros problème, en éditeur !!
Donc, soit la class SitemapGenerator est une grosse daube, ce qui parait probable, soit la fonction createSitemap du core est à revoir, ce qui est possible
A mon avis cette class relève du superflu dans DeltaCMS, d'une part tant ses possibilités sont limités -> pour le robots.txt c'est binaire : Disallow: / ou Allow: / sans autre choix ou possibilité d'édition, et pour le sitemap c'est toutes les pages qui sont indexées même si on désélectionne la case "Autoriser les robots à référencer le site", ce qui est un non sens total, et d'autre part parce-que les personnes soucieuses du référencement de leur site, le fameux SEO, savent trouver sur Internet tout un tas de sitemap-generator et autres robots.txt-generator, tous plus performant les uns que les autres, et largement plus pertinents que cette class externe implémentée dans le CMS d'origine... Avec les pieds ?

Sylvain

Bonjour Lionel,
Cet écrasement n'existe plus dans la version 4.3.04 de Deltacms.

La maj des fichiers robots.txt et sitemap.xml nécessite un appui volontaire sur le bouton "Générer sitemap.xml et robots.txt" dans Configurer le site / onglet Référencement / bloc Paramètres.

Le contenu des ces 2 fichiers ainsi générés seront revus dans une prochaine version, on en discute.

Cordialement