ruby-on-rails - Ruby on Rails 允许跟踪/索引 protected 页面

标签 ruby-on-rails ruby facebook seo

我需要允许为 Facebook 共享的用户保护页面建立索引。基本上,我有一个提供优惠券的 RoR 应用程序,我需要用户能够在 facebook 上分享优惠券。唯一的问题是用户必须有一个帐户才能查看每张优惠券页面上的所有优惠券详细信息。我希望他们能够通过指向该优惠券的链接共享优惠券(仅标题,价格),但如果用户没有帐户,优惠券的链接实际上将重定向到注册页面。因此,当 Facebook(和其他索引机器人)从优惠券 URL 中提取信息时,它们也会被重定向到注册页面并索引注册页面信息而不是优惠券页面信息。

有什么方法可以让抓取工具为每个优惠券页面编制索引,但将实际用户重定向到注册页面?

最佳答案

Found this post ...最终使用给出的第二个答案。在优惠券 Controller 的显示方法中,我刚刚将我的 before_filter 更新为如下内容:

if ( !request.env["HTTP_USER_AGENT"].match(/\(.*https?:\/\/.*\)/) && !user_signed_in? )
     redirect_to new_user_registration_path
end

因此,当发出查看优惠券的请求时,它将允许机器人通过索引页面,但会将未登录的用户重定向到注册或登录。真的只对我的 Facebook 分享有用,但我肯定会帮助 SEO 和其他索引。我使用 Facebook 开发者工具来验证它是否正确编入索引。

希望这对其他人有帮助。

关于ruby-on-rails - Ruby on Rails 允许跟踪/索引 protected 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23205269/

相关文章:

ruby-on-rails - Rails 中复杂的多对多关系

ruby-on-rails - 为什么我要将 Angular 与 Ruby on Rails 结合使用?

ruby - 设计:在特定情况下是否可以不发送确认电子邮件? (即使可确认处于事件状态)

ruby-on-rails - 无法在 Ubuntu 14.04 上安装 kgio 2.8.1

android - 使用 AccessibilityService 从 (Facebook) RecyclerView 读取文本

iphone - 如何将带有参数的 block 传递给方法

ruby-on-rails - 工厂未注册

ruby-on-rails - 如何将数据属性添加到 Rails 单选按钮?

ruby - 如何从 Watir-Webdriver 更改 Opera 的代理设置?

facebook - 如何将 Facebook iFrame-App 加载到配置文件页面上的应用程序选项卡