ruby-on-rails - 如何让谷歌忘记我有一个使用 Heroku SSL 的 SSL 站点

标签 ruby-on-rails ssl heroku google-search-console

我有一个网站,http://www.scubastic.com ,我将其用作 Ruby on Rails 开发和 SEO 黑客的 Playground 应用程序。我遇到了一个我自己似乎无法解决的问题,它围绕着 SSL、SEO 和 Heroku。

TL;DR:我有一个 SSL 站点,但我禁用了它,但 Google 仍然记得该 SSL 站点。当 SSL 站点仍然响应但出现证书错误时,如何让 Google 切换到非 SSL 站点?

基本上,当我第一次创建 Scubastic.com 时,我将设置 Heroku SSL 作为学习它的练习。我安装了 Google Web Master Tools 并开始研究 SEO 的各个方面。在我满意之后,我禁用了 Heroku SSL 并停止了每月账单。

现在我有一个非常有趣的问题。 Google 似乎无法忘记我网站的 HTTPS 版本,而且索引非常陈旧。更糟糕的是,人们在 Google 中获得的链接用 SSL 证书问题(*.herokuapp.com 证书与 www.scubastic.com 问题不匹配)来迎接他们,这对我的网页排名没有任何帮助。如果我手动点击 SSL 错误,我确实会到达该网站。我觉得这很奇怪,因为我完全删除了 Heroku SSL,而应用程序仍然响应 SSL 请求……对我来说,这是 Heroku 中的一个错误,我希望我能更好地控制这种情况。唉,我转向尝试在应用程序层处理这个问题,因为 SSL 请求仍然会到达 Rails 堆栈(即使这些请求根本不应该响应!)

因此,我修复 Google 索引的第一个尝试是设置一个 301 Moved Permanently 重定向,如果任何请求作为 SSL 进入应用程序。

class ApplicationController < ActionController::Base

  before_filter :redirect_ssl

  private 

  #only need this until Google doesn't link to HTTPS anymore
  def redirect_ssl
    if request.ssl?
      redirect_to "http://#{request.host_with_port}#{request.fullpath}", 
                  :status => :moved_permanently
    end
  end
end

如果您转到 Google 并搜索我的站点名称,您可以看到我遇到的问题:

https://www.google.com/?q=scubastic

我基本上只是希望 Google 停止链接到我的 SSL 站点并刷新最新内容。

预先感谢您的帮助。

最佳答案

我能够通过我的原始帖子和很大的耐心解决这个问题。谷歌花了 5 天时间更新其索引,但现在谷歌提供给我网站的链接是非 ssl 版本。

关于ruby-on-rails - 如何让谷歌忘记我有一个使用 Heroku SSL 的 SSL 站点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14896479/

相关文章:

ruby-on-rails - Rails 3 路由没有为新 View 和编辑 View 生成正确的路径

spring - 我如何在 spring 应用程序中配置 ssl 工件?

java - Nginx SSL 终止代理到 tomcat 8

java - 进行网络服务调用时出现异常

ruby-on-rails - 点击服务器错误 : unitialized constant Config (migration from SQLite to Postgres)

javascript - 排除 Rails 部署的 Heroku ExecJS 程序错误

ruby-on-rails - 为什么更新模型文件时需要重启服务器?

ruby-on-rails - 让 Byebug 在不退出 Pry 的情况下完成执行

ruby-on-rails - 让 devise、omniauth 和 google 工作的正确配置行是什么?

php - 是否可以将 index.html 推送到 heroku?