Информер курса валют ЦБ РФ   •   Магазин расширений
225 просм
0 комм
Поделиться:

Как правильно перенести свой сайт на WordPress на безопасный протокол HTTPS?

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

В последнее время в моду вошла безопасность, а именно – защищенный протокол HTTPS.

Именно поэтому сегодня я покажу свой на 100% рабочий способ переноса вашего сайта на этот протокол.

Вообще существуют несколько типов SSL-сертификатов, бесплатные и платные. Если у вас серьезная организация, которая ведет коммерческую деятельность в Интернете – вам определенно нужно ставить платный сертификат (цена такого сертификата варьируется в районе от 1 000 до 100 000 рублей), так как он подтверждает ваши ИП или другие данные.

Если же у вас небольшой форум или блог по типу моего – вам вполне хватит и бесплатного сертификата. Самый популярный из таких – Let's Encrypt.

Он сейчас есть почти на всех популярных хостингах, так что подключить его к вашему сайту не составит труда.

Я же расскажу, что нужно сделать после того, как вы подключили тот или иной сертификат к своему сайту.

Итак, начнем.

1. Для начала вам необходимо настроить 301 редирект с HTTP на HTTPS. В WordPress это делается несколькими способами.

Первый способ – это через файл .htaccess, который находится в корне вашего сайта. Открываете его и вставляете либо этот код:

RewriteCond %{HTTPS} =off 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]

А если он не работает, то этот:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /(.*) HTTP/ [NC]
RewriteCond %{HTTPS} off [NC]
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI}%{QUERY_STRING} [R=301,QSA,L]

Либо этот:

RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Все коды пишутся сразу после «RewriteEngine On».

Второй способ – это через файл функции. Открываете файл functions.php, который находится в папке /wp-content/themes/ваша_тема/, и в самый низ вставляете:

add_action("init", "redirect_http_to_https");
function redirect_http_to_https() {
	if(is_ssl()) return;

	if(0 === strpos($_SERVER["REQUEST_URI"], "http")) {
		wp_redirect(set_url_scheme($_SERVER["REQUEST_URI"], "https"), 301);
	} else {
		wp_redirect("https://".$_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"], 301);
		exit;
	}
}

Сохраняете изменения в обоих случаях и отправляете файлы обратно на сайт.

2. Далее настраиваем файл robots.txt, который также лежит в корне вашего сайта. Здесь вы правите директиву «Host». И если раньше у вас было что-то вроде:

Host: your_site.ru

Вы всю строку меняете на:

Host: https://your_site.ru

Не забывайте «your_site.ru» изменить на доменное имя вашего сайта. Здесь же вы проставляете корректные ссылки до карты сайта (sitemap). И если раньше у вас было:

Sitemap: http://your_site.ru/sitemap.xml.gz
Sitemap: http://your_site.ru/sitemap.xml

То теперь у вас должно быть:

Sitemap: https://your_site.ru/sitemap.xml.gz
Sitemap: https://your_site.ru/sitemap.xml

Отлично, сохраняем файл robots.txt и отправляем его обратно на сайт.

3. Далее заходим в панель управления вашим сайтом, раздел «Настройки», пункт «Общие»:

Как правильно перенести свой сайт на WordPress на безопасный протокол HTTPS?

Здесь вам необходимо в графы «Адрес WordPress (URL)» и «Адрес сайта (URL)» записать адрес вашего сайта с HTTPS-протоколом.

Как правильно перенести свой сайт на WordPress на безопасный протокол HTTPS?

И в конце страницы жмете «Сохранить изменения».

4. Далее делаем два SQL-запроса к вашей базе данных. Подробнее об этом написано здесь.

Первый запрос – это:

UPDATE wp_posts SET post_content = REPLACE (post_content, 'http://your_site.ru', 'https://your_site.ru');

С помощью него мы меняем адреса у всех изображений в ваших записях. И второй:

UPDATE wp_usermeta SET meta_value = REPLACE (meta_value, 'http://your_site.ru', 'https://your_site.ru');

С помощью него мы меняем адреса у аватаров пользователей.

5. И завершающим, весьма кропотливым пунктом, будет следующее. Вы открываете папку вашей темы сайта в FTP (а еще лучше – выгружаете ее к себе на компьютер) и везде, где есть ссылки на файлы (изображения, скрипты и прочее) без https, вы прописываете с https.

Да, дело не быстрое – но мы же не ерундой с вами занимаемся, так что запаситесь терпением.

Все изменения нужно проделать как в PHP-, так и в CSS-файлах.

После того, как вы проделаете все шаги – очистите кэш на сайте (если, конечно, на вашем сайте установлен какой-либо плагин кэша), затем чистите кэш браузера.

Если вы все сделали правильно, то, посетив свой сайт в адресной строке, вы обнаружите примерно такой зеленый замок:

Как правильно перенести свой сайт на WordPress на безопасный протокол HTTPS?

Это говорит о том, что вы успешно перенесли ваш сайт на защищенный HTTPS-протокол. Если у вас нет замка, замок имеет восклицательный знак или сайт после всех правок вовсе не открывается – пишите об этом в комментариях, я постараюсь вам помочь.

0
комментарий
Оставить комментарий:
Нажимая кнопку «Отправить» вы даете согласие на обработку своих персональных данных.
Ваше Имя
Ваш E-mail
Текст комментария