1. Home
  2. /
  3. Уроки wordpress
  4. /
  5. Переходим на новый протокол...

Переходим на новый протокол в WordPress

SSL сертификаты

Для настройки HTTPS на вашем сайте, вам сперва потребуется приобрести SSL сертификат. Рекомендую рассматривать только крупных и проверенных поставщиков SSL сертификатов, например Let’s Encrypt (халява), Comodo, Thawte, VeriSign, GeoTrust и GoDaddy. Чаще всего сертификаты от этих поставщиков можно приобрести у вашего хостинг-провайдера или регистратора доменных имен.

Редактирование .htaccess лучше опять таки делать по инструкции хостинг провайдера или заплатить умным людям за адов труд пересаживания WordPress на новый протокол.

Мой хостер рекомендовал код для .htaccess

# Force HTTPS
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Если вы храбрый и рукастый, то вам придётся смириться со встречей с MySQL.

Идём к базе данных и выполняем бэкап базы данных перед внесением изменений!
Вас интересуют таблицы: wp_posts, wp_postmeta, wp_comments и столбики: post_content,meta_value,guid,comment_author_url,comment_content

UPDATE wp_options SET option_value = REPLACE(option_value, 'http://vl-icu.ru/', 'https://vl-icu.ru/') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET post_content = REPLACE (post_content, 'http://vl-icu.ru/', 'https://vl-icu.ru/');
UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, 'http://vl-icu.ru/','https://vl-icu.ru/');
UPDATE wp_comments SET comment_content = REPLACE (comment_content, 'http://vl-icu.ru/', 'https://vl-icu.ru/');
UPDATE wp_comments SET comment_author_url = REPLACE (comment_author_url, 'http://vl-icu.ru/','https://vl-icu.ru/');
UPDATE wp_posts SET guid = REPLACE (guid, 'http://vl-icu.ru/', 'https://vl-icu.ru/') WHERE post_type = 'attachment'; 

Хотите быть проще ловите подарочек– полдня искала это чудо!

Ещё вариант решения проблем с адресами изображений

На сайте могут быть тысячи страниц и сотни тысяч изображений, прямо в контенте, и они с ВАШЕГО сайта. Проблема в том, что эти изображения имеют HTTP-ссылки и хорошо сделать эти ссылки относительными (относительно протокола).(example.com- ВАШ сайт)

Относительные URL (относительно протокола)

Вы знаете, это такие URL-адреса, которые начинаются с двух слэшей. Пример: <img decoding="async" src="//example.com/image.jpg" alt="image"> Они – ваши друзья. Они будут подгружать ресурсы для того протокола, который задан для страницы. Ссылки, которые являются относительными, тоже будут вполне приемлемы: <img decoding="async" src="/images/image.jpg" alt="image">

Проблема сложнее: изображения в старом контенте

На сайте были тысячи страниц и сотни тысяч изображений. Прямо в контенте. Проблема в том, что эти изображения имеют HTTP-ссылки. Первое, что мы сделали – это выполнили несколько SQL-запросов для исправления URL в базе данных. По большей части мы просто исправили src изображений, сделав их относительными (относительно протокола).
UPDATE wp_posts 
SET   post_content = ( Replace (post_content, "src='http://", "src='//") )
WHERE  Instr(post_content, 'jpeg') > 0 
        OR Instr(post_content, 'jpg') > 0 
        OR Instr(post_content, 'gif') > 0 
        OR Instr(post_content, 'png') > 0;

И еще один запрос для отлова изображений с одинарными кавычками:

UPDATE wp_posts 
SET   post_content = ( Replace (post_content, "src='http://", "src='//") )
WHERE  Instr(post_content, 'jpeg') > 0 
        OR Instr(post_content, 'jpg') > 0 
        OR Instr(post_content, 'gif') > 0 
        OR Instr(post_content, 'png') > 0;

Произвольные поля мы поправили аналогичным образом:

UPDATE wp_postmeta 
SET meta_value=(REPLACE (meta_value, 'iframe src="http://example.com','iframe src="//'));

Просмотрите ссылки в файлах шаблонов и стилей- это лучше ручками, ибо надёжнее…

Идете в панель сайта WordPress, на вкладку Настройки>> Общие>>Адрес сайта и Адрес сайта WordPress. В этих двух формах, вписываем домен сайта с https

Делаем копии всех изменяемых файлов!

В конфигурационном файле (wp-config.php) добавляется новая строка при чём до счастья от использования!

define('FORCE_SSL_ADMIN', true);  
if (isset($_SERVER['HTTP_X_HTTPS'])&&$_SERVER['HTTP_X_HTTPS']==1)
    $_SERVER['HTTPS']='on';
    /* That's all, stop editing! Happy blogging.*/

Конечно, есть плагины типа Relative URL и Easy HTTPS (SSL) Redirection, которые помогают осуществить переход, но иногда приходится работать ручками.

Вот и сказочке конец, кто не вымер- МОЛОДЕЦ!


следующий


  1. Home
  2. /
  3. Уроки wordpress
  4. /
  5. Переходим на новый протокол...

Архивы

Рубрики

Друзья сайта

Метки

Яндекс.Метрика