如果我只想让抓取工具访问index.php,这会有用吗?
User-agent: *
Disallow: /
Allow: /index.php
Run Code Online (Sandbox Code Playgroud) 我即将创建一个robots.txt文件.
我正在使用记事本.
我该如何保存文件?UTF8,ANSI还是什么?
还应该是资本R吗?
在文件中,我指定了一个站点地图位置.这应该是资本S吗?
User-agent: *
Sitemap: http://www.domain.se/sitemap.xml
Run Code Online (Sandbox Code Playgroud)
谢谢
出于某种原因,我想通过PHP脚本提供我的robots.txt.我已经设置了apache,以便robots.txt文件请求(实际上所有文件请求)都来自单个PHP脚本.
我用来渲染robots.txt的代码是:
echo "User-agent: wget\n";
echo "Disallow: /\n";
Run Code Online (Sandbox Code Playgroud)
但是,它不处理换行符.如何正确地服务robots.txt,以便搜索引擎(或任何客户端)正确看到它?我是否必须为txt文件发送一些特殊标题?
现在我有以下代码:
header("Content-Type: text/plain");
echo "User-agent: wget\n";
echo "Disallow: /\n";
Run Code Online (Sandbox Code Playgroud)
它仍然不显示换行符(请参阅http://sarcastic-quotes.com/robots.txt).
有人提到它很好,没有在浏览器中显示.只是好奇这个如何正确显示:http://en.wikipedia.org/robots.txt
我通过wget下载了我的和维基百科,看到这个:
$ file en.wikipedia.org/robots.txt
en.wikipedia.org/robots.txt: UTF-8 Unicode English text
$ file sarcastic-quotes.com/robots.txt
sarcastic-quotes.com/robots.txt: ASCII text
Run Code Online (Sandbox Code Playgroud)
主要问题是我没有设置标题.但是,还有另一个内部错误,它将Content-Type设为html.(这是因为我的请求实际上是通过内部代理提供的,但这是另一个问题).
浏览器不显示换行符的一些注释只是半正确的 - >如果content-type是text/plain,现代浏览器会正确显示换行符.我选择的答案与真正的问题非常匹配,并且没有上述略有误导性的误解:).谢谢大家的帮助和时间!
谢谢
J.P
我想将这些资源的请求重定向到我的CDN.有没有理由不这样做?
不幸的是,我有一些不区分大小写的服务器,短期内无法更换.有些目录需要从抓取中排除,所以我必须Disallow
在我的robots.txt
.我们/Img/
以此为例.如果我把它全部保持小写......
User-agent: *
Disallow: /img/
Run Code Online (Sandbox Code Playgroud)
...它没有映射到实际的物理路径,并且地址带有/Img/
或未/IMG/
应用Disallow
指令.Crawlers会将这些变体视为不同的路径.
在这件事上看看微软的robots.txt很有趣.他们可能使用IIS服务器,而SERP只是充满了不允许的地址 - 仅限于其他情况.
我能做什么?
陈述以下内容是否有效(并且有效)?
User-agent: *
Disallow: /Img/
Disallow: /img/
Disallow: /IMG/
Run Code Online (Sandbox Code Playgroud) 我在ASP MVC.NET项目中读过一篇关于忽略某些url机器人的文章.在他的文章中,作者说我们应该在这样的一些off控制器中添加一些动作.在此示例中,他将操作添加到Home Controller:
#region -- Robots() Method --
public ActionResult Robots()
{
Response.ContentType = "text/plain";
return View();
}
#endregion
Run Code Online (Sandbox Code Playgroud)
然后我们应该在我们的项目中添加一个Robots.cshtml文件
@{
Layout = null;
}
# robots.txt for @this.Request.Url.Host
User-agent: *
Disallow: /Administration/
Disallow: /Account/
Run Code Online (Sandbox Code Playgroud)
最后我们应该将这行代码添加到 Gloabal.asax
routes.MapRoute("Robots.txt",
"robots.txt",
new { controller = "Home", action = "Robots" });
Run Code Online (Sandbox Code Playgroud)
我的问题是机器人是否抓取了具有[授权]属性的控制器Administration
?
我在根目录中有以下robots.txt的网站:
User-agent: *
Disabled: /
User-agent: Googlebot
Disabled: /
User-agent: Googlebot-Image
Disallow: /
Run Code Online (Sandbox Code Playgroud)
Googlebots会整天扫描此网站中的网页.我的文件或Google有问题吗?
我只是不断收到消息
"在过去的24小时内,Googlebot在尝试访问您的robots.txt时遇到了1个错误.为了确保我们没有抓取该文件中列出的任何网页,我们推迟了抓取.您的网站的整体robots.txt错误率为100.0 %.您可以在网站站长工具中查看有关这些错误的更多详细信息."
我搜索了它并告诉我在我的网站上添加robots.txt
当我在Google网站管理员工具上测试robots.txt时,无法获取robots.txt.
我想也许robots.txt被我的网站阻止了,但是当我测试它时说GWT允许.
' http://momentcamofficial.com/robots.txt '这里是robots.txt的内容:User-agent:*Disallow:
那么为什么robots.txt无法被Google获取?我错过了什么......有人能帮助我吗???
比方说,我有一个动态页面,可以URL's
根据用户输入创建.例如:www.XXXXXXX.com/browse
<--------(浏览为页面)
每次用户输入一些查询时,它都会生成更多页面.例如:www.XXXXXXX.com/browse/abcd
<--------(abcd是新页面)
现在,我希望Google抓取此"浏览"页面,但不抓取它生成的子页面.
我想把它添加到我的robots.txt页面; "不允许:/ browse /"
这是正确的做法吗?还是会阻止Googlebot抓取"浏览"页面?我该怎么做才能获得最佳效果?
我在日志中注意到Chrome要求的是robots.txt
我期望的所有内容.
[...]
2017-09-17 15:22:35 - (sanic)[INFO]: Goin' Fast @ http://0.0.0.0:8080
2017-09-17 15:22:35 - (sanic)[INFO]: Starting worker [26704]
2017-09-17 15:22:39 - (network)[INFO][127.0.0.1:36312]: GET http://localhost:8080/ 200 148
2017-09-17 15:22:39 - (sanic)[ERROR]: Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/sanic/app.py", line 493, in handle_request
handler, args, kwargs, uri = self.router.get(request)
File "/usr/local/lib/python3.5/dist-packages/sanic/router.py", line 307, in get
return self._get(request.path, request.method, '')
File "/usr/local/lib/python3.5/dist-packages/sanic/router.py", line 356, in _get
raise NotFound('Requested URL {} not found'.format(url))
sanic.exceptions.NotFound: Requested URL /robots.txt not found
2017-09-17 15:22:39 - (network)[INFO][127.0.0.1:36316]: …
Run Code Online (Sandbox Code Playgroud)