Правила Google
В Google есть конкретные рекомендации по перемещению сайта для начала использования SSL
Использование перенаправлений 301 на стороне сервера
Перенаправьте пользователей и поисковые системы на страницу или ресурс HTTPS с помощью перенаправления HTTP на сервере 301.
...
Миграция с HTTP на HTTPS
Если вы переносите свой сайт с HTTP на HTTPS, Google воспринимает это просто как перемещение сайта с изменениями URL.Это может временно повлиять на некоторые из ваших номеров трафика.
https://support.google.com/webmasters/answer/6073543
Это считается как перемещение сайта с изменением URL
Перемещение сайта с изменениями URL
URL-адреса страниц изменяются.
Например: протокол изменяется с http://www.example.com на https://www.example.com
...
Ожидайте временные колебания рейтинга сайта во время перемещения.
При любых значительных изменениях сайта вы можете столкнуться с колебаниями рейтинга, когда Google повторно сканирует и переиндексирует ваш сайт.Как правило, веб-сайт среднего размера может занять несколько недель для перемещения большинства страниц в нашем индексе;большие сайты могут занять больше времени.Скорость, с которой робот Googlebot и наши системы обнаруживают и обрабатывают перемещенные URL-адреса, во многом зависит от количества URL-адресов и скорости вашего сервера.Отправка карты сайта может помочь ускорить процесс обнаружения, и можно перемещать сайт по разделам.
https://support.google.com/webmasters/answer/34437
Перенаправление в Ruby
Итак,В вашем случае вы хотите убедиться, что вы используете 301 перенаправления.По умолчанию redirect_to использует 302 в Ruby.
v2.3: https://api.rubyonrails.org/v2.3/classes/ActionController/Base.html#M001811
v5.2.1: https://api.rubyonrails.org/v5.2.1/classes/ActionController/Redirecting.html#method-i-redirect_to
Перенаправление происходит как заголовок 302 Found, если иное не указано с помощью: statusопция:
Обновлен код для Rails 2.3
redirect_to("https://#{request.host}#{request.request_uri}", :status => 301) unless request.ssl?
Альтернативный код для Rails 3.1 +
Использование force_ssl , как указано в https://edgeguides.rubyonrails.org/configuring.html
config.force_ssl принудительно обслуживает все запросы через HTTPS с помощью промежуточного программного обеспечения ActionDispatch :: SSL и устанавливаетconfig.action_mailer.default_url_options, чтобы быть {протокол: 'https'}.
config.force_ssl = true
Проблемы с индексацией
Но у вас могут возникнуть временные проблемы с индексацией.Чтобы помочь Google быстрее находить новые HTTPS-страницы, вы должны создать карту сайта с новыми HTTPS-страницами и добавить ее в консоль поиска Google https://search.google.com/search-console/about.
Подробнее о форматах карты сайта, которые Google использует в Google, см. https://support.google.com/webmasters/answer/183668принимает.