我需要允许用户保护的Facebook共享页面索引。基本上,我有一个提供优惠券的RoR应用程序,我需要让用户能够在脸书上分享优惠券。唯一的问题是,用户必须拥有一个帐户才能查看每个优惠券页面上的所有优惠券详细信息。我希望他们能够分享优惠券(标题,价格只)与该优惠券的链接,但到优惠券的链接将基本上重定向到注册页面,如果用户没有帐户。因此,当Facebook (和其他索引机器人)从优惠券URL中提取信息时,它们也会被重定向到注册页面,并索引注册页面信息而不是优惠券页面信息。
有没有办法允许爬虫的每个优惠券页面索引,但将实际用户重定向到注册页面?
发布于 2014-04-22 22:34:04
Found this post...最后使用了第二个答案。在优惠券控制器的show方法中,我刚刚将我的before_filter更新为如下内容:
if ( !request.env["HTTP_USER_AGENT"].match(/\(.*https?:\/\/.*\)/) && !user_signed_in? )
redirect_to new_user_registration_path
end因此,当请求查看优惠券时,它将允许机器人通过索引页面,但会将未登录的用户重定向到注册或登录。真的只在我的Facebook分享的情况下有用,但我肯定会帮助SEO和其他索引。我使用Facebook开发人员工具来验证它的索引是否正确。
希望这对其他人有帮助。
https://stackoverflow.com/questions/23205269
复制相似问题