À la lecture de cette question est longue, permettez-moi de vous fournir un résumé en une phrase: Je dois obtenir que Google désindexe les URL contenant des paramètres avec certaines valeurs ajoutées
J'ai un site web example.com
avec des traductions en langue.
Il y avait beaucoup de traductions mais je les ai toutes supprimées pour ne conserver que les options anglais (par défaut) et français.
Quand on sélectionne une option de langue, un paramètre est ajouté à l'URL. Par exemple, la page d'accueil:
https://example.com (par défaut) https://example.com/main?l=fr_FR (français)
J'ai ajouté un fichier robots.txt pour empêcher Google d'explorer les traductions dans les langues suivantes:
# robots.txt generated at http://www.mcanerin.com
User-agent: *
Disallow:
Disallow: /cgi-bin/
Disallow: /*?l=
Donc, les pages contenant "? L =" ne doivent pas être explorées. J'ai vérifié GWT à l'aide de l'outil de test de robots. Ça marche.
Toutefois, avec les améliorations HTML, les URL de traduction de langue précédemment analysées restent indexées. Internet dit d'ajouter un 404 à l'en-tête des URL supprimées pour que Googles sache le désindexer.
J'ai vérifié ce que mon CMS allait afficher si je visitais l'une des URL qui ne devraient plus exister.
Cette URL a été répertoriée dans GWT sous les balises de titre en double (une des raisons pour lesquelles je souhaite effacer mes URL)
https://example.com/reports/view/884?l=vi_VN&l=hy_AM
Cette URL ne doit pas exister - j'ai supprimé les traductions de langue. La page se charge alors qu'elle ne devrait pas! J'ai joué autour. J'ai tapé example.com?whatever123
Il semble que les paramètres se chargent toujours tant que tout ce qui précède le point d'interrogation est une véritable URL.
Donc, si Google a indexé toutes ces URL avec des paramètres, comment puis-je les supprimer? Je ne peux pas vérifier si un 404 est généré car la page est toujours chargée car il s'agit d'un paramètre qui doit être désindexé.
Tous les permaliens seront indexés par SE, excluez les permaliens avec un symbole ?
, =
et &
.
User-agent: *
Disallow:
Disallow: /cgi-bin/
Disallow: /*?*
Disallow: /*?
Disallow: /*=*
Disallow: /*=
Disallow: /*&*
Disallow: /*&
Allow: /
Bloque tous les formats permaliens comme /main?l=de_DE
ou /main?l=Any_Value_Here
, à l'exception de /main?l=fr_FR
de la forme SE.
User-agent: *
Disallow:
Disallow: /cgi-bin/
Disallow: /main?l=*
Allow: /
Allow: /main?l=fr_FR
Je voudrais réécrire vos URL pour que la langue soit un répertoire:
/main
/fr_FR/main
Cela a deux avantages:
Voir: Comment dois-je structurer mes URL pour le référencement et la localisation?
Si vous ne pouvez pas faire cela, vous pouvez ne pas indexer le contenu en fonction des valeurs de paramètre. L'option la plus simple est d'utiliser un balise meta robots noindex . Vous pouvez insérer une balise uniquement lorsque le paramètre a une valeur que vous ne souhaitez pas que Google inclue dans l'index.
Vous pouvez faire plusieurs choses:
Ce qui m'amène à la seconde:
Puisque vous voulez "désindexer" les anciennes URL, pourquoi ne pas les "corriger" ou renvoyer 404 ou 410 sur les vraies incorrectes.
utilisez rel = "canonical" pour indiquer à Google quelle est la bonne page (bien qu'il s'agisse d'un contenu "autre")
utilisez google webmastertools et spécifiez l’utilisation d’un paramètre. Pour le paramètre l =, vous pouvez spécifier "traduit"