2016-10-17 25 views
1

的出现在谷歌搜索结果页面我有一个ExpressJS Web应用程序,一个用于内部用途,我不希望谷歌索引。因此,我已实现了以下路线:网站尽管适当的robots.txt配置

app.get('/robots.txt', function(req,res) { 
    res.set('Content-Type', 'text/plain'); 
    res.send('User-agent: *\nDisallow: /'); 
} 

我证实,这是工作的罚款,通过点击URL和检查的反应,这是

User-agent: * 
Disallow:/

虽然如此,我可以看到当我搜索网站标题时,我的网页结果显示在Google上。该应用程序已在线一年左右,所以它不能被缓存的结果。有没有其他可能的原因,为什么会发生这种情况?任何解决方法?

+0

不要这些页面,您不希望Google索引有保障?如果Google无法索引安全页面,如您需要登录'是用于内部purposes'给我报价,确实会告诉我你需要某种认证。 – Keith

+0

是的,他们有OAuth2身份验证。登录页面是索引的页面 – nikjohn

+0

如果它是内部的,并且您想强制它是内部的。您可以检查IP地址。无论您在网站上放置什么元标记,都无法保证您的网页无法获得索引。谷歌可能会服从机器人。txt&'meta name',但是不能保证其他索引服务也会这样做。 – Keith

回答

0

https://webmasters.stackexchange.com/questions/54879/does-google-ignore-robots-txt

谷歌仍然会看到robots.txt所封锁的网站,甚至可以列出它们在搜索结果中。

当整个域/子域被阻止时,情况尤其如此。 Google将列出与这些文字相关的链接由于此网站的robots.txt,此结果的说明不可用 - 请通过链接https://support.google.com/webmasters/answer/156449了解更多信息。

<meta name="robots" content="noindex, nofollow">添加到您的页面输出中。

编辑 从评论discission:

如果允许使用robots.txt一个页面,但使用meta标签被索引阻止它,Googlebot会访问该网页,阅读元标记,然后不索引它。

因此为了防止谷歌爬取你的网站:在robots.txt中使用deny,不需要meta标签。
如果存在指向您网站的外部链接:在robots.txt中使用allow,请在Google出现的那些网页上使用noindex,nofollow。

如何easely看到谷歌有哪些网页:

使用site:stackoverflow.com作为搜索查询,而谷歌将列出的网站已收录的基本所有页面。

要了解更多有关谷歌如何抓取您的网页: https://support.google.com/webmasters/topic/4617736?hl=en&ref_topic=4589290

此外,请记住,谷歌并不是唯一的搜索引擎。有bing,雅虎,百度和其他搜索引擎,并不是所有的meta标签或robots.txt都很好,有的甚至假装成另一个搜索引擎,所以他们的抓取并没有被阻止。

+0

啊机器人元没有设置。我会设置。感谢您的回答。根据您的体验需要多长时间才能在Google上更新索引? – nikjohn

+0

取决于您抓取的频率。如果您的网站经常更新并且在一天之内有很多外部链接指向您。如果您是来自网络的隐藏网站,则可能需要一个月或两个月。 – Tschallacka

+1

这是一个很好的解决方案,但我想补充一点,如果您添加漫游器元标记,则还需要在robots.txt中取消拦截该网站。否则,Google将永远不会抓取这些网页,因此也绝不会看到漫游器元标记。 – plasticinsect