在Meteor中,我安装了spiderable
包,允许搜索引擎抓取应用程序。但是,我想排除某些路径被抓取。
例如,example.com/abc/[path]
应该不被抓取,而example.com/[path]
应该被抓取。
我不确定如何做到这一点。一种猜测是在robots.txt
目录中包含/public
,并按照here所述使用正则表达式。但是,网址不包含#!
,就像在此问题中一样。这有关系吗?
我目前的实施有点复杂,而且它基于包README.md
中的以下引用:
为了使网站上的多个网页之间的链接可见 蜘蛛,应用程序必须使用真实链接(例如)而不是 只需在单击元素时重新呈现页面的某些部分。
目前,在呈现页面时,我会测试路径根目录中是否有/abc
,然后设置持久会话变量。这使我可以在我的页面中创建所有路径。链接不包含/abc
前缀。单击链接时,它将检查会话变量是否已设置并附加到onBeforeAction()
函数中的路径,该函数允许呈现正确的模板。在这样做的时候,我希望这些链接不会被蜘蛛看到,但我不确定这种方法的可靠性。
tl; dr - 如何排除某些路径在Meteor中被抓取?
答案 0 :(得分:0)
这取决于您对不想要抓取的文件夹所执行的操作。如果它们只是在服务器端使用,则可以使用/private/
文件夹。如果您希望它们可访问但不可抓取,则可以建立对其中包含/.period/
的文件夹的访问权限,这使得它们对Meteor不可见,但您可以通过connectHandlers
和webApp
进行访问属性类似于我的回答here。
如果您希望Meteor正常处理它们(例如javascript文件),但随后无法访问spiderable包,我建议您在meteor-core中询问。