Вступление
Эту статью я хотел начать так: Продолжаем решение проблем, вызванных переводом сайта WordPress на протокол HTTPS и опубликовать её, после статьи о переходе на безопасный протокол HTTPS. Теоретически, обе статьи нужно читать одновременно, а поменять абсолютные ссылки WordPress на относительные ссылки, можно в любое время.
Что такое абсолютные и относительные ссылки
Напомню, абсолютные ссылки WordPress указывают полный URL адрес контента сайта: статьи, медиафайла, тега, внутренней ссылки, формы, архива и т.д. По умолчанию на сайте WordPress все ссылки указываются абсолютными, в виде:
http://ваш_домен/содержание/
Относительная ссылка указывает на объект без протокола, и имеют вид:
//ваш_домен/содержание/ или просто /содержание/
Почему нужно поменять абсолютные ссылки wordpress на относительные при переходе на HTTPS
Если вы перейдете на протокол HTTPS без смены ссылок, то при открытии страницы сайта браузер «увидит», что часть ссылок на вашем сайте, прежде всего внутренние ссылки, ведут на незащищенные ссылки http.
Об этом, браузер сообщит красной или серой (желтой) надписью в адресной строке. Называется такая ошибка «Mixed Content», что значит, смешанное содержание. Смешанное содержание, означает, что на странице присутствуют как защищенные (https), так и не защищенные (http) ссылки.
Ошибка Mixed Content
Немного теории. Ошибка Mixed Content может быть активной или пассивной.
1. Активное смешанное содержание это небезопасные: атрибуты data <object>, <link> исходящая ссылка, src <iframe>, src<script>, атрибут XMLHttpRequest.
Активное смешанное содержание браузеры блокируют и просят разрешить их загрузку. После чего показывают, что ваш ресурс «Ненадежный».
2. Пассивное смешанное содержание, src <audio>, src <img>, src <video>, <object> запросы по http, браузеры НЕ блокируют, но и не показывают, как надежное (серое или желтое обозначение).
Проще говоря, все ссылки сайта, которые будут указывать на «небезопасный» http протокол, будут считаться ошибкой Mixed Content.
Выявление причины ошибки Mixed Content смешанное содержание
Ошибка Mixed Content есть, её нужно исправлять. Выявим причину ошибки, для этого:
На странице сайте, на которой предположительно, ошибка Mixed Content (браузер показывает сайт, как небезопасный), идем на правую кнопку мыши и смотрим ссылку «Просмотр кода» или Ctrl+Shift+I.
На вкладке «Security» видим предупреждение «Mixed content», а под ним ссылку на список «плохих» ссылок.
Ошибка Mixed Content есть
Видим пояснения браузера рядом с небезопасными ссылками: «Это содержание должно также быть подано через HTTPS».
Чтобы исправить ошибку «Mixed Content», не будем танцевать с бубнами и поставим плагин (плагины) WordPress, специально предназначенные для этого.
По рекомендациям и наличию обновления выбираю плагин под названием «HTTP/HTTPS Remover».
поменять абсолютные ссылки WordPress плагином HTTP|HTTPS
Плагин HTTP/HTTPS Remover
Плагин HTTP/HTTPS Remover не имеет настроек, «тупо» меняет все существующие внутренние ссылки сайта WordPress с абсолютных на относительные. Тем самым, после установки и активации плагина, должна устраниться ошибка смешанного содержания.
К сожалению, после установки плагина, я опять вижу ошибку «Mixed Content». Это значит, что на открытой странице есть внешние ссылки, ведущие на ресурсы http, а не https. Для исправления опять идем на правую кнопку мыши, и смотрим код. (кнопка «Посмотреть код» для Chrome).
На вкладке «Security» видим ошибку «Mixed content», а под ним ссылку на список «плохих» ссылок. У меня оказалось не безопасной одна картинка, в виджете на rss ленту.
Убираем «нехорошую» картинку и видим, заветную зеленую картинку в адресной строке браузера «Надежный».
Примечание: На вашем сайте могут быть и другие небезопасные внешние ссылки. Вам придется самостоятельно поискать и проверить их на надежность.
Плагин «Easy HTTPS (SSL)
Переведя несколько сайтов WordPress на протокол https, заметил следующее. Плагин «HTTP/HTTPS Remover» дает отличный результат в симбиозе с плагином «Easy HTTPS (SSL) Redirection». Причем, отдельная установка этих плагин не устраняет ошибку «Mixed content».
Установите плагин Easy HTTPS (SSL), активируйте его и выставите простые настройки.
поменять абсолютные ссылки WordPress плагином Easy HTTPS
Плагин Really Simple SSL
Плагин Really Simple SSL автоматически определяет ваши настройки и настраивает ваш сайт для работы через https. Чтобы он был легким, параметры настроек сведены к минимуму. Одним щелчком мыши весь сайт перейдет на SSL.
Три шага настройки плагина
- Получите сертификат SSL;
- Активируйте этот плагин;
- Включить SSL одним щелчком мыши.
Важно! Всегда делайте резервную копию, прежде чем активировать новый плагин.
Смена адреса сайта в административной панели сайта
Вы знаете, что в консоли на вкладке Настройки>>Общие>>Адрес сайта (WordPress), есть возможность, указав новый адрес сайта, создать переадресацию сайта на новый адрес.
Вопрос, нужно ли указывать новый адрес сайта с https после перехода на безопасный протокол?
Ответ зависит от того, как вы организовали переадресацию сайта после перехода на безопасный протокол. Если вы уже сделали переадресацию сайта в панели хостинга или в файле .htaccess, то меняя адрес сайта (WordPress) в консоли, вы можете получить циклическую переадресацию и потерять доступ к административной панели.
После получения (покупки) сертификата SSL, ваш сайт и панель сайта должны быть доступны по двум протоколам HTTP и HTTPS. В этом случае, можно сменить адрес сайта WordPress в общих настройках из административной панели, указав протокол HTTPS, как основной.
Как корректно проверить доступность сайта по https
Для корректной проверки доступности сайта протоколу https, воспользуйтесь инструментом Яндекс.Вебмастер.
Важно! Недоступность сайта по протоколу HTTPS, а также уже сделанная переадресация, после выполнения этой настройки, приведет к невозможности войти в административную панель сайта.
Исправление этой проблемы очень хорошо показано на этом видео
Если вы не можете исправить эту ошибку по этим подсказкам:
- Идите в базу данных вашего сайта (phpmyadmin).
- Ищите таблицу, «wp_options» (в таблице wp_options лежат данные, связанные с общими настройками сайта);
- Откройте таблицу кнопкой «Исправить»;
- Смените протокол https на http. Он прописан в таблице в явном виде;
- Сохранитесь и войдите на сайт протоколу http.
Выводы
- После перехода на протокол https и БЕЗ создания переадресации http на https, сайт должен быть доступен по двум протоколам. Нужно проверить;
- Плагины указанные выше, нужно ставить только при доступе сайта по протоколу https;
- Возможно, что некоторые внешние ссылки http придется поменять на безопасные (https) вручную или удалить совсем, если они небезопасные;
- Десять раз подумайте, прежде чем делать переадресацию сайта инструментами административной панели WordPress.
Следующий шаг
Теперь, можно заняться SEO и устранить ошибки оптимизации появившихся из-за перехода в безопасный режим. Если, конечно, вы уже получили сертификат безопасности SSL и перешли на протокол HTTPS.
Источник: www.wordpress-abc.ru