Привет читатель,
В этой записи мы будем переводить сайт на HTTPS, а также заменять ссылки протокола передачи данных HTTP на HTTPS.
На момент публикации CMS WordPress работает в связке с базой данных MySQL. Я использую MySQL 5.5.

Актуально для WordPress 4.9.4. Для более новых версий, информация может быть недействительна. Внимание! Перед изменением не забывайте о резервных копиях изменяемых файлов и базы данных.


Консоль администратора

Для начала войдите в Консоль управления WordPress » Настройки » Общие.

Впишите новый URL адрес или адрес с https:// в поля:

Адрес WordPress (URL)
Адрес сайта (URL)

Не забудьте сохранить настройки.

Если у вас нет возможности войти в консоль, можно изменить эти значения в файле wp-config.php


.htaccess — конфигурационный файл веб-сервера Apache

Если вы используете «Постоянные ссылки» (Консоль » Настройки » Постоянные ссылки) или другие rewrite и редиректы, тогда необходимо внести изменения в файл .htaccess. Обычно он располагается в корневой директории вашего сайта и может быть «скрыт» или недоступен для редактирования. В этом случае свяжитесь с вашим хостинг-провайдером.

Инструкция по замене доменного имени в файле .htaccess (если вы меняете HTTP на HTTPS этот шаг можно пропустить):

  1. Сделайте резервную копию вашего файла .htaccess. Это не рекомендация, а требование.
  2. Откройте файл .htaccess в текстовом редакторе.
  3. Просмотрите на его содержимое, ищите какие-либо пользовательские записи или переадресации, которые вы вводили ранее. Скопируйте их в другой текстовый файл для безопасного хранения, т.к. необходимо сбросить файл на «стандартный» используя новое доменное имя.
  4. Закройте файл.
  5. В секции «Постоянные ссылки» (Консоль » Настройки » Постоянные ссылки) перепроверьте настройки и нажмите «Сохранить изменения» тем самым WordPress обновит настройки ваших ссылок в файле .htaccess.
  6. Откройте новый файл .htaccess и проверьте, существуют ли ваши пользовательские записи и перенаправления. Если их нет, скопируйте их из сохраненного файла и вставьте их в новый файл .htaccess.
  7. Внесите необходимые изменения в эти пользовательские перезаписи и перенаправления, чтобы отразить новый адрес сайта.
  8. Сохраните файл.
  9. Проверьте эти перенаправления, чтобы убедиться, что они работают.

 

Инструкция для замены HTTP на HTTPS в файле .htaccess (полный отказ от HTTP):

  1. Сделайте резервную копию вашего файла .htaccess. Это не рекомендация, а требование.
  2. Откройте файл .htaccess в текстовом редакторе.
  3. Вставьте после строки RewriteEngine On следующее и сохраните файл:


Изменения в базе данных MySQL

Перед любым вмешательством в базу данных, делайте резервную копию и УБЕДИТЕСЬ, что вы знаете, что меняете. Замените java.md на свой домен.

  • Обновите медиафайлы / изображения, которые используют http в таблице wp_posts.
    Этот запрос обновляет атрибуты src, которые используют двойные кавычки:

Для одинарных кавычек:

  • Обновите любые полные ссылки. Этот запрос обновляет URL-адреса атрибутов href, которые используют двойные кавычки:

Для одинарных кавычек:

  • Перейдем к таблице wp_postmeta.

  • Перейдем к таблице wp_comments. Этот запрос изменяет URL-адреса авторов комментариев, указывающих на http-версию вашего сайта. Это в случае, если вы когда-либо отвечали на чей-либо комментарий.

  • Следующий запрос обновляет содержимое комментариев на вашем сайте. Если в комментариях есть http ссылки вашего сайта, они будут обновлены до https.

На этом основная замена завершена. Вы можете поискать еще ссылки в таблице wp_posts (не учитывая столбец GUID, об этом читайте ниже) и изменить их отдельно следующим запросом (запрос для поиска только на чтение, никаких замен не производится, иными словами запрос безопасен):

Замените WP_DB_NAME на имя вашей базы данных, java.md на ваш домен.

В результатах поиска, будет выведен список постов, в которых найдены ссылки вашего домена с http.


Важная деталь про столбец GUID в таблице wp_posts:

При поиске вашего домена непосредственно в базе данных вы столкнетесь с экземплярами URL-адреса, расположенными в столбце «guid» в таблице wp_posts. Многие рекомендуют заменять GUID в таблице wp_posts, но мы так делать не будем.

Не меняйте содержимое этого поля.

Термин «GUID» означает «глобальный уникальный идентификатор». Это поле, которое предназначено для хранения идентификатора для поста (записи), который: a) является уникальным во всем пространстве и времени, и b) никогда не изменяется. Поле GUID в основном используется для создания фидов WordPress.

Изменение GUID будет означать, что многие сборщики фидов (feedreaders) будут неожиданно отображать ваш контент для читателя , как если бы это был новый контент, возможно, раздражая ваших пользователей (если читатели фидов ещё остались, отпишитесь в комментариях если вы все еще пользуетесь фидами). 😉

Однако вторая часть этого заключается в том, что GUID никогда не должен меняться. Даже если вы перемещаете домены, посты и их версии остаются теми же, даже на новом месте. Сборщики фидов, при изменении URL-адресов, все равно должны знать, что они прочитали некоторые ваши посты раньше, и, следовательно, GUID должен оставаться неизменным.


Why No PadLock? У меня HTTPS а замочек красного цвета, почему?

Если на вашем сайте, на текущей странице остались HTTP ссылки, то в адресной строке браузера будет «красный замок», что говорит о небезопасном соединении. В этом случае, стоит открыть «Исходный код страницы» в браузере и найти все http «хвосты». Вариант проще: воспользоваться сервисом Why No PadLock? 

В результатах будет полный отчёт, со всеми htttp ссылками.

0 0 голоса
Рейтинг статьи