WOOCOMMERCE wordpress ROBOTS.TXT, que bloquez vous ?

WRInaute occasionnel
hello,

Pouvez vous me dire ce qui se trouve dans le robots.txt de wordpress/woocommerce et ce que vous bloquez ?

Google indexe toutes les pages de categories / catalogue qui ont un ? dans le lien, donc peut etre que c'est une bonne idée de bloquer toutes les pages qui ont un ? dans le lien ?

est-ce correct ?

Disallow: /*?


Merci pour toutes vos astuces en faveur du SEO et pour éviter que des pages inutiles se trouvent dans google (en défaveur de pages plus utiles).
 
WRInaute accro
Juste la base :

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

Et je n'ai aucune url à paramètre qui s'indexe.. Toutes mes url de catégories sont réécrites. S'agissant d'un catalogue relativement restreint et bien segmenté, je n'ai pas de filtres ni de systèmes de tri, ce qui peut aussi expliquer que tout ce qui s'indexe soit très clean.

A noter que je ne me baserais pas sur le robots.txt en correctif. J'activerais déjà des canonical ou noindex au bon endroit (un plugin comme Yoast ou AIOSEO fait bien le job à ce niveau, par exemple).
 
WRInaute occasionnel
Voici mon fichier robots type que je charge a l'installation d'un WP
Les ? que tu mentionne sont souvent les filtres et tri de Woocommerce.

Code:
# Google Image
User-agent: Googlebot-Image
Disallow:
Allow: /*

# global
User-agent: *
Disallow: /cgi-bin/
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-content/plugins/
Disallow: /wp-content/cache/
Disallow: /trackback/
Disallow: /feed/
Disallow: /comments/
Disallow : */?orderby=price
Disallow : */?orderby=rating
Disallow : */?orderby=date
Disallow : */?filter
Allow: /wp-content/uploads/

Sitemap: https://www.example.com/sitemap.xml
 
WRInaute occasionnel
Code:
Disallow: /*?

n'est pas suffisant a la place de ?
Code:
Disallow : */?orderby=price
Disallow : */?orderby=rating
Disallow : */?orderby=date
Disallow : */?filter

C'est la même chose non ?

merci.
 
WRInaute occasionnel
Non ce n'est pas la meme chose !

* remplace une chaine de caracteres
*/? => Tu elimine toutes les urls qui contiennent /? et n'importe quelle chaine de caracteres avant /? soit ton nom de domaine ou nomdedomaine/cequetuveux/
/*? => tu elimine toutes les urls qui contiennent / et n'importe quelle chaine de caracteres entre / et ?

Mon fichier robots tient compte de la construction des pages Woocommerce, tu es donc sur de sortir toutes les url generes par les tri et filtres.
Tu peux t'aider de Google Search Console pour voir les pages qui posent probleme ou tu tapent site:tonnomdedomaine.com dans Google pour voir les pages indexees ; tu verras celle que tu veux sortir.

Il se peut que ton theme generent d'autres urls qui ont besoin d'etre sorties
Par exemple je suis intervenu sur un site qui utilise la template Enfold, j'ai rajoute
Code:
Disallow : */?name

Commence deja par mettre le fichier robots simple et si tu as besoin de plus regarde bien la structure de l'url en faisant attention de ne pas sortir des pages necessaires.

Si tu as un doute, tu peux utiliser Gogole Search Console pour tester ton fichier robots (Exploration > Outil de test du fichier robots.txt)
 
WRInaute occasionnel
Je viens de comprendre ce que tu voulais dire .... Si Disallow: */? ne suffit pas a englober toutes les url contenant /? et n'importe quelle chaine avant incluant orderby=price, orderby=rating etc ....

Oui !
En incluant Disallow: */? tu englobe toutes les urls et donc pas besoin de detailler.
Je prefere detailler afin de ne pas sortir des urls qui pourrait s'averer necessaires ; meme si peu de chance qu'une url avec ? soit necessaire a etre indexe, c'est un choix par securite.
 
WRInaute occasionnel
Merci encore, mais je ne comprends pas bien pour quoi cela ne suffit pas ?
Disallow: /*?
/*? => tu élimine toutes les urls qui contiennent / et n'importe quelle chaine de caracteres entre / et ?

Je ne veux plus indexer aucune url qui a un ?
Ce n'est pas correct ? Quelles urls avec un ? sont utiles a indexer ?

J'ai posté ce message avant de voir ta réponse. Encore merci, je comprends mieux maintenant.
 
WRInaute occasionnel
précisions :
  • le standard ne prévoit pas les * et $ dans les directives, mais Google les gère. Autant le savoir pour les autres moteurs
  • une directive est censée commencer par / qui représente la racine du site.
pour ceux qui ne sont pas à l'aise, j'ai fait une vidéo tuto sur le test du fichier robots.txt



une directive est censée commencer par / qui représente la racine du site ?

Donc ceci serait faux ?

Disallow: */?
 
WRInaute occasionnel
En fait je voudrais arrêter de réfléchir car même moi je me trouve un peu con, donc je vais mettre ton robots.txt
Code:
# Google Image
User-agent: Googlebot-Image
Disallow:
Allow: /*

# global
User-agent: *
Disallow: /cgi-bin/
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-content/plugins/
Disallow: /wp-content/cache/
Disallow: /trackback/
Disallow: /feed/
Disallow: /comments/
Disallow : */?orderby=price
Disallow : */?orderby=rating
Disallow : */?orderby=date
Disallow : */?filter
Allow: /wp-content/uploads/

Par contre même quand je ne eux plus réfléchir on me met des bâtons dans les roues :)
https://yoast.com/wordpress-robots-txt-example/

traduction :

Alors, que devrait être votre fichier robots.txt WordPress? La nôtre est très propre maintenant. Nous ne bloquons plus rien!

Google récupère tout et rend vos pages complètement. Cela signifie que lorsque vous refusez à Google l'accès à vos fichiers CSS ou JavaScript, cela ne vous plaît pas du tout.

Les anciennes meilleures pratiques d'avoir un fichier robots.txt qui bloque l'accès à votre répertoire wp-includes et à votre répertoire plugins ne sont plus valides. C'est pourquoi, dans WordPress 4.0, j'ai ouvert le problème et j'ai écrit le correctif pour supprimer wp-includes /.* du fichier par défaut robots.txt de WordPress.

Beaucoup de thèmes utilisent également des requêtes JavaScript asynchrones, appelées AJAX, pour ajouter du contenu à la page. Par défaut, WordPress les bloquait. J'ai donc créé le ticket pour WordPress pour permettre à Google d'explorer l'URL admin-ajax.php dans wp-admin. Cela a été corrigé dans WordPress 4.4.

Nous ne bloquons pas notre répertoire / wp-content / plugins / car les plugins peuvent générer du code JavaScript ou CSS dont Google a besoin pour afficher la page. Nous ne bloquons pas non plus notre répertoire / wp-includes /, car les JavaScripts par défaut fournis avec WordPress, que de nombreux thèmes utilisent, proviennent de ces répertoires.

Nous ne bloquons pas non plus notre dossier / wp-admin /. La raison est simple: si vous le bloquez, mais que vous le liez quelque part par hasard, les gens pourront toujours faire une simple requête [inurl: wp-admin] dans Google et trouver votre site.

Nous avons toujours pensé que la connexion à votre sitemap XML à partir de votre fichier robots.txt est un non-sens.
 
WRInaute occasionnel
Sur la base de toutes les remarques je viens de faire des tests et adapte mon fichier robot. Je l'ai fait il y a plusieures annees et il necessitait probablement une mise a jour.

Modification
1 - Ok pour ne pas bloquer /wp-includes/
2 - Ok pour ne pas bloquer /wp-content/plugins/
3 - Modifciation de */?orderby=price par /*?orderby=price (et autre similaire) ; cela respecte donc la remarque de Webrankinfo. Ca fonctione de la meme maniere et bloque les urls nomdedomaine.com/?orderby=price ou nomdedomaine.com/category/?orderby=price

Par contre je ne suis pas du tout d'accord avec la remarque de Yoast sur wp-admin. Il ne faut pas faire de lien vers le backoffice et celui ci ne doit pas etre accessible et indexer. Donc meme si par hasard il y a un lien vers l'admin qui a ete fait pour permettre a des utilisateurs de se connecter il faut corriger et mettre en place une connection sur le front.

Concernant le lien vers le fichier sitemap bien sur qu'il faut le declarer dans Google Search Console. Je le laisse dans le fichier robot car je n'ai pas encore d'argument pour me convaincre de le retirer.

Je vais faire la modification sur uniquement un seul de mes sites et vais voir comment cela reagit avec 1 et 2, si je constate des fichiers indexes que je ne souhaite pas je posterai de nouveau sur ce fil.

Tu peux donc charger ce fichier robots

Code:
# Google Image
User-agent: Googlebot-Image
Disallow:
Allow: /*

# global
User-agent: *
Disallow: /cgi-bin/
Disallow: /wp-admin/
Disallow: /wp-content/cache/
Disallow: /trackback/
Disallow: /feed/
Disallow: /comments/
Disallow : /*?orderby=price
Disallow : /*?orderby=rating
Disallow : /*?orderby=date
Disallow : /*?filter
Allow: /wp-content/uploads/

Sitemap: https://www.nomdedomaine.com/sitemap.xml
 
WRInaute occasionnel
Ajout de 2 lignes (tri woocommerce par prix decroissant et popularite)
Disallow : /*?orderby=price-desc
Disallow : /*?orderby=popularity

Cette fois c'est la bonne version

Code:
# Google Image
User-agent: Googlebot-Image
Disallow:
Allow: /*

# global
User-agent: *
Disallow: /cgi-bin/
Disallow: /wp-admin/
Disallow: /wp-content/cache/
Disallow: /trackback/
Disallow: /feed/
Disallow: /comments/
Disallow : /*?orderby=price
Disallow : /*?orderby=price-desc
Disallow : /*?orderby=rating
Disallow : /*?orderby=date
Disallow : /*?orderby=popularity
Disallow : /*?filter
Allow: /wp-content/uploads/

Sitemap: https://www.nomdedomaine.com/sitemap.xml
 
WRInaute accro
Disallow: /*?orderby=

Suffit pour bloquer toutes les url avec le paramètre, quelle que soit sa valeur.

Et ta directive
Allow: /wp-content/uploads/

ne sert à rien ici.
 
WRInaute occasionnel
Effectivement je n'ai jamais compris pourquoi des gens utilises ALLOW alors que par défaut c'est tout ALLOW.

Quand c'est un soit disant expert SEO comme certains que j'ai rencontré, je comprends qu'il rajoute des lignes inutiles pour faire bien et faire croire qu'il ne sert pas à rien ,mais sinon je vois pas :)
 
Discussions similaires
Haut