Je crée un plugin pour Wordpress avec une fonction permettant de mettre à jour le fichier robots.txt ou de le créer s'il n'existe pas encore.
Jusqu'à présent, j'ai cette fonction:
function roots_robots() {
echo "Disallow: /cgi-binn";
echo "Disallow: /wp-adminn";
echo "Disallow: /wp-includesn";
echo "Disallow: /wp-content/pluginsn";
echo "Disallow: /pluginsn";
echo "Disallow: /wp-content/cachen";
echo "Disallow: /wp-content/themesn";
echo "Disallow: /trackbackn";
echo "Disallow: /feedn";
echo "Disallow: /commentsn";
echo "Disallow: /category/*/*n";
echo "Disallow: */trackbackn";
echo "Disallow: */feedn";
echo "Disallow: */commentsn";
echo "Disallow: /*?*n";
echo "Disallow: /*?n";
echo "Allow: /wp-content/uploadsn";
echo "Allow: /assetsn";
echo "n";
}
add_action("do_robots", "roots_robots");
Le fichier robots.txt n'est pas mis à jour, ai-je oublié quelque chose? De plus, y a-t-il un moyen de vérifier d'abord s'il existe déjà et si ce n'est pas créer le fichier?
J’ai trouvé quelque chose dans le plugin kb-robots mais je ne suis pas sûr de l’ajouter à ma fonction.
function kb_robotstxt(){
# this is to make it work for demos and testing. Without this, plugin would only act when robots.txt is in a valid place. With this, it will act whenever robots.txt is appended to blog URL
# (even if blog is in a subdirectory)
$request = str_replace( get_bloginfo("url"), "", "http://".$_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"] );
if ( (get_bloginfo("url")."/robots.txt" != "http://".$_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"]) && ("/robots.txt" != $_SERVER["REQUEST_URI"]) && ("robots.txt" != $_SERVER["REQUEST_URI"]) )
return; // checking whether they"re requesting robots.txt
$robotstxt = get_option("kb_robotstxt");
if ( !$robotstxt)
return;
header("Content-type: text/plain");
print $robotstxt;
die;
}
Merci!
Réponses:
1 pour la réponse № 1Vous devez enregistrer les données dans le fichier et non les exporter au navigateur. Check-out contenu_entrée_fichier. Vous devez également vous assurer que le fichier est accessible en écriture par le serveur Web.