/ / Fonction Wordpress pour mettre à jour ou créer un fichier robots.txt - wordpress, fonction, robots.txt

Fonction Wordpress pour mettre à jour ou créer un fichier robots.txt - wordpress, fonction, robots.txt

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 № 1

Vous 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.