Comment bloquer le crawl d’un site sauf la page d’accueil

Question sur twitter , juillet 2020

TWITTER 2020

Il suffit de mettre dans /robots.txt les lignes suivantes

User-Agent: *

Disallow: /*

Allow: /$

et je la teste dans l’outil de test du fichier robots.txt fournis par Google sur
https://www.google.com/webmasters/tools/robots-testing-tool où il est possible de faire un fichier robots.txt temporaire et de le tester sur un site (ici, je teste l’url https://www.kysoe.com/)

La solution a donc consisté à ajouter un $ apres le Allow :/

et donc, en gros ce fichier indique :

Disallow: /* –> tu bloques tout

Allow: /$ –> tu autorises quand meme l’url « / » de ton site et seulement celle là

Attention, tous les moteurs de recherche n’acceptent pas la syntaxe * et $ dans les fichiers robots.txt, mais comme Google l’accepte et que Google laisse des miettes à ses concurrents … cela est généralement bon

Des internautes ont réagi en expliquant que cela ne désindexerait pas les pages existantes, et en effet, mettre en place ces règles ne fait rien d’autre que d’empêcher le crawl de toutes les autres pages que la page /.

La question de Virginie porte à confusion : d’un côté, elle souhaite désindexer des pages et de l’autre, empêcher le crawl. Ce n’est pas tout à fait la même chose :

D’autres solutions consistent à ajouter une balise meta robots noindex à toutes les pages, sauf sur /

De spécifier un status code 410 ou 301 vers / … etc.. mais toutes ces solutions nécessitent une action de développement sur le site.

Modifier un /robots.txt est généralement tres simple.

 

Il s’avère qu’il s’agit d’un nouveau site, dont aucune page n’etait encore indéxée et qu’elle ne veut pas encore permettre à Google de crawler. Donc, ma réponse est valable. Mais s’il s’était agi de vraiment désindexer toutes les autres pages, il aurait fallu utiliser des techniques plus avancées : https://support.google.com/webmasters/answer/9689846?hl=fr

‘ai répondu à la question qui aurait du « être »

Je veux empecher le crawl de toutes les pages d’un site sauf la home.

Est-ce que cette syntaxe peut marcher ?

Disallow: /*

Allow: /

réponse : non
voila une syntaxe qui fonctionne

User-Agent: *

Disallow: /*

Allow: /$