web-dev-qa-db-fra.com

robots.txt non mis à jour

Aujourd'hui, j'ai reçu un courrier électronique de Webmaster Tools indiquant que "Googlebot ne peut pas accéder aux fichiers CSS et JS". Je me suis donc mis à mettre à jour mon fichier robots.txt situé à la racine de mon serveur.

Contenu d'origine:

User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-content/plugins/
Disallow: /wp-content/themes/ #<--CAUSE OF THE PROBLEM

Sitemap: http://example.com/sitemapindex.xml

J'ai supprimé la ligne "Disallow:/wp-content/themes /" du fichier et re-téléchargé le fichier, mais lorsque j'ai visualisé le nouveau fichier dans mon navigateur, rien n'a changé. J'ai ensuite procédé comme suit:

1) Supprimé le fichier .txt de la racine

2) Cache effacé (cache total W3)

Mais le fichier robots.txt était toujours visible dans mon navigateur. Cela ne peut signifier qu'une chose, que le fichier était virtuellement généré, non? J'ai même visionné dans un navigateur différent pour m'assurer qu'il n'y avait pas de mise en cache.

Après de nombreuses recherches, je n'ai trouvé aucune réponse quant à la raison pour laquelle mon fichier robots.txt ne serait pas mis à jour ou à quel endroit il est généré.

Est-ce que quelqu'un ici a une idée de ce qui se passe?

Quelques plugins que j'utilise:

1) Better WordPress Google XML Sitemaps
2) W3 Total Cache
3) Yoast SEO

Toute aide serait très appréciée, merci.

1
user1356029

Normalement, s'il existe un fichier WordPress sur le disque, il sera d'abord servi directement par Apache ou Nginx, avant que WordPress ne soit impliqué.

Ceci est fait dans votre config virtualhost, par exemple. Dans Nginx, vous trouverez généralement ce qui suit, qui lui indique d’essayer les fichiers réels avant de laisser index.php gérer l’URL et générer une page à la demande.

location / {
    index index.php index.html;
    try_files $uri $uri/ /index.php?$args;
}

Donc, si votre fichier robots.txt est ignoré, il se peut que votre configuration de serveur Web soit erronée.

Je viens d'essayer ces trois plugins que vous avez mentionnés avec le thème vingt-quinze et tout fonctionnait bien. Yoast SEO vous permet d'éditer le fichier robots.txt à partir des pages d'administration (allez à SEO> Outils> Editeur de fichiers.)

Si aucun fichier robots.txt n'a été trouvé ou si le contrôle a été passé à WordPress, la sortie par défaut est:

User-agent: *
Disallow: /wp-admin/

Voir wp-includes/functions.php pour voir comment cela fonctionne, mais ne modifiez jamais les fichiers core.

Cela peut être personnalisé avec des actions et des filtres - par exemple, le plug-in BWP Sitemaps ajoute une ligne Sitemap:.

Si vous ne trouvez pas de plug-in (ou quoi que ce soit dans votre thème) qui se raccorde à do_robots ou do_robotstxt, il s'agit d'un hack pour le fichier functions.php de votre thème qui fera probablement l'affaire.

/**
 * Remove unwanted 'themes' from robots.txt with find/replace
 * @param string $input original robots.txt content
 *
 * @return string mixed
 */
function patch_robots_file( $input ) {
    return str_replace( 'Disallow: /wp-content/themes/', '', $input );
}

add_filter( 'robots_txt', 'patch_robots_file' );
1
William Turrell