Редирект с http на https через htaccess wordpress
301 редирект c http на https через htaccess
301 редирект с http на https позволяет осуществить полный переезд сайта на защищенный протокол после установки SSL-сертификата.
Как сделать 301 редирект с http на https через htaccess
При переезде сайта с http на https (установка SSL-сертификата) потребуется код, который не требует дополнительных модификаций:
Второй метод осуществляет перенос с http://domain.ru на https://domain.ru:
RewriteRule ^(.*)$ https://domain.ru/$1 [R=301,L]
Третий способ выполняет аналогичную функцию, но отключает перенаправление для robots.txt:
RewriteRule ^(.*)$ https://domain.ru/$1 [R=301,L]
В 4-й версии конечным пунктом для пользователя станет https://www.domain.ru:
RewriteRule ^(.*)$ https://www.domain.ru/$1 [R=301,L]
Позволяет сделать форвардинг с http://www.poddomen.domain.ru на https://poddomen.domain.ru:
RewriteCond %
RewriteRule ^(.*)$ https://poddomen.domain.ru/$1 [R=301,L]
Последняя версия, дающая возможность сделать связь между http://poddomen.domain.ru на https://www.poddomen.domain.ru:
RewriteCond %
RewriteRule ^(.*)$ https://www.poddomain.domain.ru/$1 [R=301,L]
Перенаправление с https на http
При необходимости сделать обратную интеграцию и перейти на незащищенную версию протокола можно воспользоваться:
Как это сделать?
Для того, чтобы выполнить правило, потребуется посетить административную панель хостинга (или же зайти через FTP), где в корневой папке сайта лежит файл htaccess.
Вводим нужное нам правило.
Как проверить работу 301 редиректа?
Для этого можно использовать инструмент проверки ответа сервера Яндекса:
Здесь вводим адрес первой страницы и видим следующее:
Как видим правило применилось и работает корректно.
Подписывайтесь на наш канал в Яндекс.Дзен
Подписывайтесь на наши социальные сети
Вам также будет интересно
Комментарии 4
Выдает ошибку — ERR_TOO_MANY_REDIRECTS
(( Как быть?
Добрый день, спасибо за обратную связь, скорей всего у Вас стоит слишком много правил на редиректы. Рекомендую отключить лишние модули на сайте, которые перенаправляют пользователей, так как Ваш сайт на WordPress использовать именно модуль для редиректа, это проще и легче.
Как это сделать описано здесь: https://seopulses.ru/redirect-dlya-sayta-na-wordpress-cherez-plagin-ili-htaccess/
Ты своей говно — статьёй вводишь людей в заблуждение!
Я из-за тебя кучу времени потратил!
Долбоёб — удали свою писанину и не занимайся этим.
Добрый день, спасибо за обратную связь, не могли бы подсказать какой именно момент в инструкции вызвал проблемы?
Как настроить HTTPS для сайта на WordPress
В статье мы расскажем, зачем переводить свой сайт на HTTPS, как подключить SSL на WordPress и как настроить редирект с HTTP на HTTPS.
Зачем переходить на HTTPS
Любое действие в Интернете — это обмен данными. Каждый вбитый в поисковую строку запрос проходит путь от пользователя к серверу и обратно. В основе этого обмена лежит работа интернет-протоколов.
Раньше информация передавалась только через незащищенный протокол HTTP. При таком обмене данные (пароли, реквизиты, номера банковских карт) могли легко перехватить злоумышленники. Поэтому разработали HTTPS — протокол безопасного соединения. Защищенный протокол HTTPS работает по принципу непрерывного обмена ключами шифрования между сервером и браузером.
Чтобы сайт стал работать по безопасному соединению HTTPS, нужен SSL-сертификат. SSL-сертификат — это виртуальный документ, который подтверждает подлинность веб-сайта и гарантирует безопасное соединение. Благодаря SSL-сертификату пользователи понимают, что сайту можно доверять. Для сайтов с активным обменом данными (интернет-магазинов, корпоративных сайтов, крупных проектов) установка SSL не просто хороший тон, а необходимость. Подробнее читайте в статье В чём фишка HTTPS, или зачем мне SSL-сертификат?
Как настроить HTTPS для WordPress
Для сайта, созданного на WordPress, переход с HTTP на HTTPS состоит из трёх этапов:
Рассмотрим каждый из этапов подробнее.
Обеспечьте защиту передаваемых данных
Установите SSL-сертификат, и ваш сайт будет работать по безопасному соединению HTTPS
1 этап. Заказ, активация и установка SSL-сертификата
На первом этапе настройки HTTPS в WordPress нужно заказать SSL-сертификат. Выберите SSL для вашего проекта: Виды SSL-сертификатов, а затем переходите к покупке. Вам помогут инструкции:
После оплаты заказа вам на почту придёт письмо с данными для активации SSL. Следуйте одной из инструкций: Как активировать сертификаты: OrganizationSSL и ExtendedSSL и Как активировать сертификаты: AlphaSSL и DomainSSL.
Если вы установили SSL-сертификат на хостинг, переходите к настройке сайта на HTTPS в WordPress.
2 этап. Перевод сайта на HTTPS
Чтобы ваш сайт открывался по защищённому протоколу, переведите его с HTTP на HTTPS в админ-панели WordPress. Для этого поменяйте две основные ссылки в базе данных сайта.
Перейдите в раздел Настройки. На странице «Общие настройки» в строках «Адрес WordPress (URL)» и «Адрес сайта (URL)» замените префикс http:// на https://. Затем нажмите Сохранить изменения.
WordPress https настройка
Готово, теперь ваш сайт доступен по протоколу HTTPS. Однако все ссылки на сайте и в административной панели продолжат работать по протоколу HTTP.
Чтобы перевести все ссылки на HTTPS, переходите к следующему шагу.
3 этап. Настройка переадресации с HTTP на HTTPS
На этом этапе нужно настроить 301 редирект — он перенаправит все ссылки вашего сайта со старого URL-адреса (http://) на новый (https://). Без редиректа на сайте вместо зелёного замка в строке браузера будет отображаться ошибка смешанного содержимого — «Mixed Content». Также 301 редирект позволит не потерять SEO-позиции сайта.
Настроить редирект с HTTP на HTTPS можно двумя способами:
Мы рекомендуем использовать плагин. Он позволяет настроить редирект на уровне PHP и меняет все ссылки в базе данных сайта автоматически.
Как настроить редирект с помощью плагина Really Simple SSL
Чтобы настроить редирект с помощью плагина:
Перейдите в раздел «Плагины». Нажмите кнопку Добавить новый и в строке поиска введите «Really simple ssl». Затем нажмите Установить:
После установки нажмите Активировать:
После активации плагина нажмите Вперед, активируйте SSL!:
Готово, вы активировали плагин Really Simple SSL. Если вы хотите скорректировать действие плагина, перейдите в Настройки.
Теперь ваш сайт в WordPress будет работать по защищённому протоколу HTTPS. Посетители не будут беспокоиться о сохранности своих данных при работе с вашим сайтом.
Как настроить HTTPS для плагина Elementor
Если вы используете плагин Elementor, то ссылки можно заменить в разделе «Инструменты». Для этого:
Перейдите в раздел Elementor — Инструменты. Выберите вкладку Сменить URL:
Делаем редирект на HTTPS в WordPress — 3 простых шага для создания 301 переадресации
Сделаем при помощи нескольких функций: настройка параметров в админке, назначение правил в htaccess и установка плагина. Если этого не сделать, то сайт будет открываться сразу по двум адресам, что приведет к появлению дублей и понижению позиций. В статье я расскажу 3 простых шага, которые помогут избежать этой ситуации.
Что такое протокол HTTPS
Протокол HTTPS (расшифровка Hypertext Transport Protocol Secure) — это технология, шифрующая информацию между сайтом и пользователем. При вводе информации посетителем и выводе ее на экран, шифруется все, что дает преграду злоумышленникам похитить личные данные.
Технологии применяемые в HTTPS
Почему важно перейти на HTTPS
Причин для перехода на HTTPS может быть несколько.
Общие принципы перехода на HTTPS
Принцип перехода прост, вы покупаете, либо берете бесплатный SSL — сертификат, устанавливаете на сайт (сами или помогает поддержка хостинга), настраиваете элементы для корректного отображения и радуетесь зеленой полоске в браузере. По шагам выглядит так:
Изменение префиксов в панели вордпресса
Для редиректа на HTTPS главной страницы в панели WordPress заходим в настройки, в раздел общие и прописываем там дополнительную букву S, как показано на скриншоте. Теперь заходите на сайт по протоколу, по заранее известным логину и паролю.
После смены адреса и подключив перенаправление при входе в админ-панель придется по новой вводить логин и пароль. Совет если не помните то заранее их восстановите.
Перенаправление остальных элементов
Устанавливаем и вводим настройки, заходим в раздел инструменты > Update URLs. В поле Old URL вводим адрес сайта без протокола, а New URL с ним.
Далее переходим ко второму шагу и отмечаем все галочки кроме последней. Этим действием перезапишем все имеющиеся на сайте объекты, в которых могут содержаться URL без протокола, и нажимаем Update.
Инструмент начнет работу, и после покажет сводную таблицу сколько элементов изменено. После проделанной операции, можно деактивировать и удалить его из WordPress.
Завершающим этапом является добавление в WordPress 301 перенаправления в файле htaccess. Он регулирует работу Apache, определим существует ли этот файл на вашем сайте.
Apache — оболочка на чем работает сервер, это как на компьютере стоит Windows. Некоторые хостинги пренебрегают добавлением в репозиторий ресурса, пытаясь управлять с помощью сервера.
Идем в корень WordPress и смотрим. Если существует, то открываем его для редактирования, если нет, то создаем. Нужно подключиться к сайту через FTP соединение, мы используем FileZilla. Войдя в корневой каталог (определяем корень по папкам wp-content и wp-admin), находим htaccess и кликом правой кнопкой мыши выбираем “Просмотр/Правка”.
После сохранения изменений FileZilla запросит разрешение на перезапись файла htaccess, соглашаемся и программа начнет процесс загрузки.
Это позволит имеющиеся страницы WordPress перевести на https протокол и выводить их автоматически с правильным префиксом. Для проверки работы, зайдите на любую страницу и сотрите букву S, нажмите enter, если редирект с http на https WordPress сработал, то продолжаем.
С помощью плагина Easy HTTPS Redirection
Наиболее простой метод установить плагин, мы советуем Easy HTTPS Redirection. В данном случаем остальные действия делать не нужно. Установив, переходим к настройке.
Какие проблемы могут возникнуть при переходе на HTTPS
Проблем при переходе на HTTPS немного. Первая причина не убраны со страницы все исходящие и внутренние ссылки с протоколом HTTP. Далее редиректы, неправильно прописанные в htaccess. Не знание специфики WordPress, что и где нужно менять. Что делать в таких ситуациях:
Если удобнее учится по видео, то смотрите наш обучающий ролик.
Чеклист всех операций
Мы смогли поставить редирект на HTTPS в cms WordPress и сертификат работает правильно. После всех операций, сайт должен быстро проиндексироваться поисковыми системами и обновлен в выдаче.
Редирект для сайта на WordPress: через плагин или htaccess
Редиректы для сайта на CMS WordPress можно выполнить добавив записи в файл htaccess, ознакомится с чем можно в статье ниже.
301 редирект для сайта на WordPress
Для этого переходим в административную панель сайта во вкладку «Плагины»-«Добавить новый», где в поиске вводим «redirection».
Устанавливаем появившийся плагин (автор John Gadley) и активируем его.
Переходим в настройки.
Соглашаемся с базовыми настройками.
Система проверит сайт и завершаем настройку.
Дожидаемся установки и переходим в интерфейс плагина.
Чтобы сделать редирект с одной страницы на другую потребуется перейти в «Редирект».
Далее «Добавляем новый».
Все готово в списке появится.
Редирект с http на https для WordPress
Чтобы включить настройку потребуется перейти в вкладку «Сайт» и включить опцию:
Force a redirect from HTTP to HTTPS
С WWW на без WWW и наоборот
В этой же вкладке сайт необходимо поставить галочку у нужного пункта.
Важно! По умолчанию настройка не делает никаких изменений в этом плане.
Как сделать редирект через файл htaccess
Для того, чтобы перенаправить пользователя с одной страницы на другую требуется использовать следующую комбинацию:
Redirect 301 site.ru/page1/ site.ru/page2/
Важно! Можно записывать адреса в относительном виде, например, /page1/ и /page2/.
Также допускается использование конструкции:
Redirect permanent site.ru/page1/ site.ru/page2/
Для того, чтобы выполнить правило, потребуется посетить административную панель хостинга (или же зайти через FTP), где в корневой папке сайта лежит файл htaccess.
Вводим нужное нам правило.
Как сделать перенаправление на другой домен?
В этом случае необходимо автоматически перекидывать всех пользователей с домена domain1.ru на domain2.ru при помощи функции:
RewriteRule ^(.*)$ http://www.domain2/$1 [R=301,L]
Переадресация с http на https
При переезде сайта с http на https (установка SSL-сертификата) потребуется код, который не требует дополнительных модификаций:
Второй метод осуществляет перенос с http://domain.ru на https://domain.ru:
RewriteRule ^(.*)$ https://domain.ru/$1 [R=301,L]
Третий способ выполняет аналогичную функцию, но отключает перенаправление для robots.txt:
RewriteRule ^(.*)$ https://domain.ru/$1 [R=301,L]
В 4-й версии конечным пунктом для пользователя станет https://www.domain.ru:
RewriteRule ^(.*)$ https://www.domain.ru/$1 [R=301,L]
Позволяет сделать форвардинг с http://www.poddomen.domain.ru на https://poddomen.domain.ru:
RewriteCond %
RewriteRule ^(.*)$ https://poddomen.domain.ru/$1 [R=301,L]
Последняя версия, дающая возможность сделать связь между http://poddomen.domain.ru на https://www.poddomen.domain.ru:
RewriteCond %
RewriteRule ^(.*)$ https://www.poddomain.domain.ru/$1 [R=301,L]
301 редирект с домена без WWW на с WWW
В функции ниже осуществляется переход из www.poddomen.domain.ru на poddomen.domain.ru:
RewriteCond %
RewriteRule ^(.*)$ http://poddomen.domain.ru/$1 [R=301,L]
Если же первый способ не помог можно использовать данную версию:
RewriteCond %
RewriteRule ^(.*)$ http://poddomen.domain.ru/$1 [R=301,L]
С www на без WWW
RewriteCond %
RewriteRule ^(.*)$ http://www.poddomen.domain.ru/$1 [R=301,L]
Также имеется второй метод не требующий ввода доменного имени:
C https на http
При необходимости сделать обратную интеграцию и перейти на незащищенную версию протокола можно воспользоваться:
301 редирект на http для одной страницы
В этой ситуации подойдет:
Второй метод осуществляет общий переезд на защищенный протокол (https), но одна страница останется на старом протоколе (http). Этот способ подойдет для интеграции 1С Bitrix с 1С Предприятие, так как система не может работать с защищенным протоколом:
Для готовой интеграции с 1С-Битрикс, формула позволяющая исключить директорию bitrix/admin/1c_exchange.php из общего правила:
RewriteCond %
Форвардинг на https для конкретной страницы
Для этой цели можно воспользоваться:
RewriteCond %
С несуществующего файла
В этом случае можно будет применить:
RewriteRule ^(.*)$ /poddomen/script.php [R=301,L]
Также подойдет второй способ:
RewriteCond %
Перевод сайта WordPress на HTTPS: инструкция технического перехода
Вводная часть
Начало года хороший повод, улучшить оптимизацию сайта и первыми шагами я выбрал скорость загрузки и переход на HTTPS. О том, что Google ввел «благосклонность» к сайтам, работающим по протоколу HTTPS, вместо HTTP, написано много статей и известно всем интересующимся оптимизацией своего сайта.
HTTPS и HTTP
Что такое HTTPS и чем он (протокол) отличается от HTTP лучше почитать более компетентные ресурсы. Безопасный протокол соединения (HTTPS) напрямую связан с получением сайтом сертификата безопасности, SSL. Покупая, вернее арендуя, домен по своим паспортным данным, вы уже имеете самый слабый сертификат безопасности. Но этот сертификат на дает вам, «зеленый замок» в адресной строке браузера.
Зачем переходить на HTTPS
Опять-таки, о мотивациях перехода на HTTPS написано масса статей. Я перечислю те причины перехода на HTTPS, которые мотивировали меня:
Три мифа о SSL
Миф 1. Для SSL нужен отдельный IP. Это не так. На моем хостинге, только моих сайтов две дюжины, и IP я не покупал и все сайты перевел на SSL, причем, бесплатно. Более того, на VDS у меня есть отдельный IP, а стоимость SSL(V) 500 рублей на каждый домен.
Миф 3. Для некоммерческих сайтов SSL не нужен. Посмотрим 31 января 2017 года. Именно тогда выйдет новый, Chrom 5.6 с красными флагами для всех небезопасных сайтов. Смотрим Вышел. Сайты http Grome не открывает.
Напористость Google в процессе сертификации сайтов, рано или поздно, перекинется и на Яндекс, а вот он предупреждать не будет и введет новый фильтр для «Небезопасных сайтов».
Перевод сайта WordPress на HTTPS — Задача
Важно! Задача перехода на HTTPS для сайта WordPress, состоит из трех взаимосвязанных, но практически независимых задач:
Перечисленные задачи не нужно растягивать по времени и лучше выполнить последовательно. Ненужно делать сначала переадресацию сайта, а потом получать сертификат, во всем должна быть логика.
Примечание: На момент выхода статьи, я еще не готов сказать, что дал мне переход на HTTPS (SSL), кроме потраченного времени и «зеленого замка» в адресной строке.
Техническое подключение защищенного протокола SSL
На сегодня, есть несколько схем подключения защищенного протокола SSL: платные и бесплатные.
Примечание: В предоставлении хостинг компанией бесплатных SSL сертификатов нет ничего не обычного. С тех пор как появился центр бесплатной сертификации Let’s Encrypt (о нем ниже), любая хостинг компания может установить и бесплатно предлагать сертификацию SSL своим клиентам. Могу посоветовать:
Итак, я могу включить протокол SSL на сервере своего хостера.
Включить протокол SSL на сервере своего хостера
Шаг 1. Предварительная проверка сайта
Начнем с проверки, Вдруг ваш домен уже имеет сертификат. Предлагаю следующий инструмент проверки: ( https://www.sslshopper.com/ ).
Шаг 2. Для домена сайта, в административной панели, включаем поддержку режима SSL.
Шаг 3. Подключение сертификата на сервере хостинга
Смотрим в панели DirectAdmin. Вкладка «SSL сертификаты». Повторюсь, мой провайдер предлагает стандартные варианты получить сертификат безопасности и среди них, вариант: Free & automatic certificate from Let’s Encrypt.
Мой сайт некоммерческий и мне вполне достаточно, получить сертификат на Let’s Encrypt (https://letsencrypt.org/ru/), тип сертификата: Internet Security Research Group (ISRG).
Примечание: В рекомендации Google о переходе на HTTPS (support.google.com/webmasters/answer/6073543?hl=ru), говориться о приоритете 2048-бит по отношению к 1024-битному ключу, о ничего нет и большем размере.
Бесплатный сертификат Internet Security Research Group (ISRG) для некоммерческих сайтов получен от Let’s Encrypt. Чтобы сертификат включился фактически должно пройти время.
Вернемся к проверке на сайт «SSL Certificate Comparison and Reviews» (https://www.sslshopper.com/). Делаем проверку, видим совсем другую картину.
Перевод сайта WordPress на HTTPS проверка
Как видим, сертификат есть. Получение сертификата SSL, это лишь начало. Всё самое «интересное» впереди.
Что делать на сайте WordPress после подключения SSL сертификата
Переадресация http на https
Способ 1. Мне опять везет, я делаю это из панели своего хостинг провайдера.
Способ 3. Работает при доступности сайта по двум протоколам: http и https и не отменяет первые два пункта. Идете в панель сайта WordPress, на вкладку Настройки>> Общие>>Адрес сайта и Адрес сайта WordPress. В этих двух формах, вписываем домен сайта сайт с https.
Если сайт не был доступен по https, вы потеряете доступ в панель. Чтобы восстановить доступ, читаем тут или смотрим видео по ссылке: https://video.wordpress.com/embed/crY8Zadu?hd=1.
Первая проверка перевода сайта WordPress на HTTPS
Меняем ссылки сайта WordPress
Для сайтов WordPress, в отличие от сайтов на Joomla, нужно все существующие ссылки на сайте перевести в протокол https. Было бы хорошо, чтобы все внешние ссылки, тоже были безопасными. Если это не возможно, на этих страницах, вместо зеленого замка в строке браузере, будет предупреждение о наличие на сайте небезопасного контента. Называется эта ошибка, Mixed Content (смешанное содержание).
Относительный адрес: /image.jpg
Относительный адрес вне зависимости от протокола: //sitename.ru/image.jpg
Абсолютный адрес разрешенный SSL: https://sitename.ru/image.jpg
Абсолютный адрес Mixed Content: http://sitename.ru/image.jpg
Самый простой способ это сделать, установить специализированный плагин WordPress. Я пробовал два плагина:
Примечательно. В каждом из этих плагинов сказано, что они работают самостоятельно и лучше их ставить в одиночестве. У меня на практике и первый и второй плагины в одиночестве не работают до конца правильно, только в паре.
Нужно ли менять адреса в настройке Общие
Это важно! Если вы сделали переадресацию http на https в панели хостинга, то НЕ НУЖНО менять адреса в настройке Общие. Этим вы создадите циклическую переадресацию и сайт (вернее админ панель) будет недоступна. Исправить это не сложно (видео выше).
Что делать со ссылками в скриптах
Вероятно, у вас есть ссылки в скриптах, например счетчики, а также есть скрипты подключения к библиотекам. Они тоже должны иметь только динамические или безопасные ссылки.
Вторая проверка сайта
Если после смены всех ссылок сайта вы все равно видите предупреждение браузера о ненадежности сайта, делаем вторую проверку в браузере Google Chrome.
Выводы
Перевод сайта WordPress на HTTPS закончен технически. Важно понять следующее: Переход на протокол HTTPS возможно приведет к потере позиций в поисковой выдаче. Ваша следующая задача, минимизировать потери, чтобы это проседание трафика было временным. Об этом в следующей статье: Оптимизация сайта после SSL сертификации.