Meteor - 如何排除某些路径被抓取?

时间:2015-01-19 02:51:20

标签: javascript meteor web-crawler single-page-application hashbang

在Meteor中,我安装了spiderable包,允许搜索引擎抓取应用程序。但是,我想排除某些路径被抓取。

例如,example.com/abc/[path]应该被抓取,而example.com/[path]应该被抓取。

我不确定如何做到这一点。一种猜测是在robots.txt目录中包含/public,并按照here所述使用正则表达式。但是,网址不包含#!,就像在此问题中一样。这有关系吗?


我目前的实施有点复杂,而且它基于包README.md中的以下引用:

  

为了使网站上的多个网页之间的链接可见   蜘蛛,应用程序必须使用真实链接(例如)而不是   只需在单击元素时重新呈现页面的某些部分。

目前,在呈现页面时,我会测试路径根目录中是否有/abc,然后设置持久会话变量。这使我可以在我的页面中创建所有路径。链接包含/abc前缀。单击链接时,它将检查会话变量是否已设置并附加到onBeforeAction()函数中的路径,该函数允许呈现正确的模板。在这样做的时候,我希望这些链接不会被蜘蛛看到,但我不确定这种方法的可靠性。


tl; dr - 如何排除某些路径在Meteor中被抓取?

1 个答案:

答案 0 :(得分:0)

这取决于您对不想要抓取的文件夹所执行的操作。如果它们只是在服务器端使用,则可以使用/private/文件夹。如果您希望它们可访问但不可抓取,则可以建立对其中包含/.period/的文件夹的访问权限,这使得它们对Meteor不可见,但您可以通过connectHandlerswebApp进行访问属性类似于我的回答here

如果您希望Meteor正常处理它们(例如javascript文件),但随后无法访问spiderable包,我建议您在meteor-core中询问。