(请在域名后加上/robots.txt)
但谷歌不能!
我知道我可以在网站的根目录中找到robots.txt文件,但是我的中没有robots.txt文件,而且这个robots.txt是由WordPress制作的虚拟文件。 现在如何阻止wordpress这样做?!
OR 如果我无法阻止wordpress显示虚拟robots.txt文件,我怎样才能阻止google在我的网站上查找?也许是一个.htaccess代码或什么?
感谢
答案 0 :(得分:1)
不知道这是否有帮助。但我答应在robots.txt上为WordPres / Joomla / PHPBB维护一篇文章。它仍处于工作状态。这是:
基本上我正在做的是设置默认的robot.txt并使用.haccess文件修改apache以强制加载自定义robots.php。为什么?那么这解决了大多数问题,而不仅仅是这里的问题。它也适用于免费托管,可以创建各种问题(一些禁止txt文件!一些overthe robots.txt等)。
这是代码
# BEGIN Robots
<IfModule mod_rewrite.c>
<FilesMatch "^robots.(txt|php)$">
Header Set Last-Modified "Tue, 01 Jan 2013 12:00:00 GMT"
</FilesMatch>
RewriteEngine On
RewriteBase /
RewriteRule ^(robots)\.txt$ /$1.php [L]
</IfModule>
# END Robots
User-agent: *
Disallow: /cgi-bin/
Disallow: /feed/
Disallow: /wp-admin/
Disallow: /wp-content/plugins/
Sitemap: http://{PUT YOUR DOMAIN}/sitemap.xml
Crawl-delay: 4
<?php
$start = "2013/01/01"; // Date you started your blog YYYY/MM/DD
$average = 30; // Number of posts you make per month
$sitemap = "http://{PUT YOUR DOMAIN}/sitemap.xml";
// Is blog old enough
$old = ($average/30)*(time()-strtotime($start)) > 3600*24*360? true : false;
// Output proper headers
header ('Content-Type: text/plain');
header ('Cache-Control: private, pre-check=0, post-check=0, max-age=36000');
header ('Expires: ' . gmstrftime('%a, %d %b %Y %H:%M:%S GMT', time() + 36000));
header ('Last-Modified: ' . gmstrftime('%a, %d %b %Y %H:%M:%S GMT', time() - 36000));
if ($old) { $custom = date("Y/m");
echo <<< ROBOTS
User-agent: *
Disallow: /cgi-bin/
Disallow: /feed/
Disallow: /wp-admin/
Disallow: /wp-content/plugins/
Disallow: /$custom
Sitemap: $sitemap
Crawl-delay: 4
ROBOTS;
} else { $custom = date("Y");
echo <<< ROBOTS
User-agent: *
Disallow: /cgi-bin/
Disallow: /feed/
Disallow: /wp-admin/
Disallow: /wp-content/plugins/
Disallow: /archives/
Disallow: /tag/
Disallow: /$custom
Sitemap: $sitemap
Crawl-delay: 4
ROBOTS;
}
exit; ?>