# ============================================================= # robots.txt — Swapland (https://swapland.fr) # Révision du 12/08/2026 — audit SEO New Keys # # RÈGLE D'OR, à relire avant toute modification de ce fichier : # NE JAMAIS bloquer au crawl une URL qu'on veut désindexer. # Une URL en Disallow ne peut pas être lue par Google : il l'indexe # à l'aveugle, sans jamais voir la balise noindex, en devinant le sujet # depuis l'URL et les liens entrants. C'est exactement ce qui a produit # la fuite /authentification?back= — des centaines de positions sur des # noms de véhicules, avec 100 % de rebond, impossibles à faire tomber. # # Page à sortir de l'index -> # ET AUCUN Disallow ici. # Paramètre sans valeur SEO -> Disallow ici, à condition qu'AUCUN lien # interne ni externe ne pointe dessus. # ============================================================= User-agent: * # ── Rendu : Google doit pouvoir charger CSS, JS, polices et images ── # Ces Allow sont plus spécifiques que les Disallow de répertoires # plus bas : ils gagnent (règle du motif le plus long). Allow: /*.css$ Allow: /*.js$ Allow: /*.png$ Allow: /*.jpg$ Allow: /*.jpeg$ Allow: /*.gif$ Allow: /*.svg$ Allow: /*.webp$ Allow: /*.avif$ Allow: /*.woff$ Allow: /*.woff2$ Allow: /*.ico$ # Les motifs ci-dessous sont plus longs que « Disallow: /modules/ » # (9 caractères) : sans eux, les assets des modules resteraient bloqués. Allow: */modules/*.css Allow: */modules/*.js Allow: */modules/*.png Allow: */modules/*.jpg Allow: */modules/*.jpeg Allow: */modules/*.gif Allow: */modules/*.svg Allow: */modules/*.webp Allow: */modules/*.avif Allow: */modules/*.woff Allow: */modules/*.woff2 Allow: /js/jquery/* # ── Paramètres d'URL sans valeur SEO ───────────────────────── # Tri, devise, jetons, paramètres de session et de tracking technique. # Aucun n'est censé recevoir de lien interne. # # ATTENTION — NE PAS RAJOUTER ICI : # ?page= ?p= ?resultsPerPage= -> c'est la PAGINATION. La bloquer coupe # le maillage vers 90 % du catalogue. # ?back= -> c'est la fuite /authentification. # ?angle= ?type= ?diametre= ?fabricant= # -> ce sont les FACETTES. Elles se traitent # au canonical, jamais ici. « coussinet de # bielle » ranke via ?type= : le bloquer # ferait perdre une position acquise. Disallow: /*?order= Disallow: /*?orderby= Disallow: /*&orderby= Disallow: /*?orderway= Disallow: /*&orderway= Disallow: /*?productListView= Disallow: /*?n= Disallow: /*&n= Disallow: /*?id_currency= Disallow: /*&id_currency= Disallow: /*?tag= Disallow: /*&tag= Disallow: /*?token= Disallow: /*&token= Disallow: /*?rand= Disallow: /*&rand= Disallow: /*?from= Disallow: /*&from= Disallow: /*?PageSpeed= Disallow: /*&PageSpeed= # ── ÉTAPE 2 — à retirer APRÈS extension du noindex dans head.tpl ── # Ces paramètres et ces contrôleurs sont aujourd'hui bloqués au crawl # sans qu'aucun noindex ne soit lisible derrière : c'est le mécanisme # /authentification, encore armé. La recherche interne est le prochain # candidat — l'URL porte le mot tapé par l'internaute dans son titre. # Séquence obligatoire : (1) étendre head.tpl, (2) vérifier à la main que # /recherche?s=test porte bien noindex,follow, (3) SEULEMENT ensuite # supprimer ce bloc. Jamais l'inverse. Disallow: /recherche Disallow: /fr/recherche Disallow: /*?s= Disallow: /*&s= Disallow: /*?q= Disallow: /*&q= Disallow: /*?search_query= Disallow: /*&search_query= Disallow: /*?selected_filters= Disallow: /*&selected_filters= Disallow: /*controller=search Disallow: /*controller=identity Disallow: /*controller=history Disallow: /*controller=guest-tracking Disallow: /*controller=discount Disallow: /*controller=order-detail Disallow: /*controller=order-follow Disallow: /*controller=order-slip Disallow: /*controller=order-return Disallow: /*controller=order-confirmation Disallow: /*controller=registration Disallow: /*controller=product-sort Disallow: /*controller=pagination Disallow: /identite Disallow: /historique-des-commandes Disallow: /suivi-commande-invite Disallow: /bons-de-reduction Disallow: /details-de-la-commande Disallow: /confirmation-commande Disallow: /avoirs Disallow: /fr/identite Disallow: /fr/historique-des-commandes Disallow: /fr/suivi-commande-invite Disallow: /fr/bons-de-reduction Disallow: /fr/details-de-la-commande Disallow: /fr/confirmation-commande Disallow: /fr/avoirs # ── Contrôleurs purement techniques (jamais de page HTML) ──── # Ceux-ci n'ont pas de version « page » à désindexer : rien à lire, # donc rien à indexer à l'aveugle. Ils peuvent rester bloqués. Disallow: /*controller=get-file Disallow: /*controller=images.inc Disallow: /*controller=init Disallow: /*controller=header Disallow: /*controller=footer Disallow: /*controller=statistics Disallow: /*controller=attachment Disallow: /*controller=pdf-invoice Disallow: /*controller=pdf-order-return Disallow: /*controller=pdf-order-slip # ── Répertoires système ────────────────────────────────────── # Les Allow d'extensions en tête du fichier restent prioritaires : # les .css et .js de /modules/ et /js/ continuent d'être servis à Google. Disallow: /app/ Disallow: /cache/ Disallow: /classes/ Disallow: /config/ Disallow: /controllers/ Disallow: /download/ Disallow: /js/ Disallow: /localization/ Disallow: /log/ Disallow: /mails/ Disallow: /modules/ Disallow: /override/ Disallow: /pdf/ Disallow: /src/ Disallow: /tools/ Disallow: /translations/ Disallow: /upload/ Disallow: /var/ Disallow: /vendor/ Disallow: /webservice/ Disallow: /fr/app/ Disallow: /fr/cache/ Disallow: /fr/classes/ Disallow: /fr/config/ Disallow: /fr/controllers/ Disallow: /fr/download/ Disallow: /fr/js/ Disallow: /fr/localization/ Disallow: /fr/log/ Disallow: /fr/mails/ Disallow: /fr/modules/ Disallow: /fr/override/ Disallow: /fr/pdf/ Disallow: /fr/src/ Disallow: /fr/tools/ Disallow: /fr/translations/ Disallow: /fr/upload/ Disallow: /fr/var/ Disallow: /fr/vendor/ Disallow: /fr/webservice/ # ── Sitemap ────────────────────────────────────────────────── # Sitemap maître du module gsitemap (nommage standard PrestaShop # {id_shop}_index_sitemap.xml). Il référence 1_fr_0_sitemap.xml et # 1_fr_1_sitemap.xml. Rien à créer ni à renommer : /sitemap.xml n'existe # pas sur PrestaShop et c'est normal. Une seule ligne Sitemap suffit, # les fichiers enfants sont découverts via l'index. Sitemap: https://swapland.fr/1_index_sitemap.xml