Запрос на изменение ссылок HTTP на HTTPS для WordPress в MySQL базе данных

Перенос сайта с HTTP на HTTPS и следующие проблемы

Существует несколько плохих советов по обновлению URL-адресов в базе данных WordPress при переносе сайта WordPress с HTTP на HTTPS. Существует множество примеров запросов MySQL, которые выполняют поиск и замену URL-адресов в базе данных WordPress, и они будут изменять URL-адреса от HTTP до HTTPS. Плохой совет, о котором я говорю, — это когда люди предлагают обновить GUID URL-адреса.

URL-адреса в GUID столбце wp_posts таблицы НЕ должны быть изменены при перемещении вашего сайта с HTTP на HTTPS ( см. Это на WordPress.org).

Тем не менее, многие статьи предлагают список запросов для обновления URL-адресов в базе данных WordPress, и у них есть эта плохая команда, которую использовать НЕЛЬЗЯ!:

(НЕ ИСПОЛЬЗУЙТЕ ЭТУ КОМАНДУ!)

UPDATE wp_posts SET guid = replace(guid, 'http://mysite.com','https://mysite.com');

Кроме того, никогда не запускайте запрос «найти и заменить» MySQL, который влияет на всю wp_posts таблицу базы данных WordPress, поскольку это обновит GUID URL-адреса.

Вот мой список MySQL-запросов для безопасного изменения URL-адресов в базе данных WordPress с HTTP на HTTPS.

Wordpress замена http на https

Предварительное условие: измените все экземпляры www.yoursite.com на свои собственные. Если у вас не было www части вашего адреса WordPress (URL) в настройках WordPress, оставьте www здесь. Например, некоторые люди просто используют http://yoursite.com, без www. Кроме того, если у вас есть собственный префикс таблицы в базе данных WordPress, что-то другое, кроме значения по умолчанию wp_, вы должны изменить все экземпляры wp_ своего собственного префикса таблицы.

SQL запросы для базы данных WordPress

Мой список запросов MySQL состоит из восьми шагов:

  1. Обновите любые встроенные вложения / изображения, которые используют http.Это обновляет src атрибуты, которые используют двойные кавычки:
    UPDATE `wp_posts` SET post_content = REPLACE(post_content, 'src="http://www.yoursite.com', 'src="https://www.yoursite.com')
    WHERE post_content LIKE '%src="http://www.yoursite.com%';

    Это касается любых src атрибутов, которые используют одинарные кавычки:

    UPDATE `wp_posts` SET post_content = REPLACE(post_content, 'src='http://www.yoursite.com', 'src='https://www.yoursite.com')
    WHERE post_content LIKE '%src='http://www.yoursite.com%';
  2. Обновите любые жестко закодированные URL-адреса для ссылок. Это обновляет URL-адрес для href атрибутов, которые используют двойные кавычки:
    UPDATE `wp_posts` SET post_content = REPLACE(post_content, 'href="http://www.yoursite.com', 'href="https://www.yoursite.com')
    WHERE post_content LIKE '%href="http://www.yoursite.com%';

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

    UPDATE `wp_posts` SET post_content = REPLACE(post_content, 'href='http://www.yoursite.com', 'href='https://www.yoursite.com')
    WHERE post_content LIKE '%href='http://www.yoursite.com%';
  3. Обновите ссылки «pinged»:
    UPDATE `wp_posts` SET pinged = REPLACE(pinged, 'http://www.yoursite.com', 'https://www.yoursite.com')
    WHERE pinged LIKE '%http://www.yoursite.com%';
  4. Этот шаг является всего лишь шагом подтверждения, чтобы убедиться, что в wp_posts таблице нет оставшихся URL-адресов для вашего сайта , кроме URL-адресов GUID .Вы должны заменить WP_DB_NAMEв начале запроса имя своей базы данных.Это подтвердит, что нигде в wp_posts таблице нет остающегося URL-адреса http за пределами GUID столбца. Это игнорирует URL-адреса в GUID столбце. Этот запрос только ищет; он ничего не заменяет и не вносит никаких изменений. Таким образом, это безопасно запускать. Это безопасный и быстрый способ проверить wp_posts таблицу, игнорируя guid столбец.

    Этот SQL-запрос должен возвращать пустой набор . Это означает, что он не нашел URL-адреса http для вашего сайта. (Это всего лишь 1 запрос. Это 1 очень, очень длинная строка.)

    Не забудьте заменить WP_DB_NAMEв начале запроса имя базы данных.

    SELECT *  FROM `WP_DB_NAME`.`wp_posts` WHERE (CONVERT(`ID` USING utf8) LIKE '%%http://www.yoursite.com%%' OR CONVERT(`post_author` USING utf8) LIKE '%%http://www.yoursite.com%%' OR CONVERT(`post_date` USING utf8) LIKE '%%http://www.yoursite.com%%' OR CONVERT(`post_date_gmt` USING utf8) LIKE '%%http://www.yoursite.com%%' OR CONVERT(`post_content` USING utf8) LIKE '%%http://www.yoursite.com%%' OR CONVERT(`post_title` USING utf8) LIKE '%%http://www.yoursite.com%%' OR CONVERT(`post_excerpt` USING utf8) LIKE '%%http://www.yoursite.com%%' OR CONVERT(`post_status` USING utf8) LIKE '%%http://www.yoursite.com%%' OR CONVERT(`comment_status` USING utf8) LIKE '%%http://www.yoursite.com%%' OR CONVERT(`ping_status` USING utf8) LIKE '%%http://www.yoursite.com%%' OR CONVERT(`post_password` USING utf8) LIKE '%%http://www.yoursite.com%%' OR CONVERT(`post_name` USING utf8) LIKE '%%http://www.yoursite.com%%' OR CONVERT(`to_ping` USING utf8) LIKE '%%http://www.yoursite.com%%' OR CONVERT(`pinged` USING utf8) LIKE '%%http://www.yoursite.com%%' OR CONVERT(`post_modified` USING utf8) LIKE '%%http://www.yoursite.com%%' OR CONVERT(`post_modified_gmt` USING utf8) LIKE '%%http://www.yoursite.com%%' OR CONVERT(`post_content_filtered` USING utf8) LIKE '%%http://www.yoursite.com%%' OR CONVERT(`post_parent` USING utf8) LIKE '%%http://www.yoursite.com%%' OR CONVERT(`menu_order` USING utf8) LIKE '%%http://www.yoursite.com%%' OR CONVERT(`post_type` USING utf8) LIKE '%%http://www.yoursite.com%%' OR CONVERT(`post_mime_type` USING utf8) LIKE '%%http://www.yoursite.com%%' OR CONVERT(`comment_count` USING utf8) LIKE '%%http://www.yoursite.com%%');
  5. Теперь мы переходим к wp_comments таблице. Это изменяет URL-адреса авторов комментариев, указывающих на http-версию вашего сайта. Это в случае, если вы когда-либо отвечали на комментарий, пока ваш URL указывал на http.
    UPDATE `wp_comments` SET comment_author_url = REPLACE(comment_author_url, 'http://www.yoursite.com', 'https://www.yoursite.com')
    WHERE comment_author_url LIKE '%http://www.yoursite.com%';
  6. Это обновляет содержимое комментариев на вашем сайте. Если в комментариях есть ссылки на URL-адрес http на вашем сайте, они будут обновлены до https.
    UPDATE `wp_comments` SET comment_content = REPLACE(comment_content, 'http://www.yoursite.com', 'https://www.yoursite.com')
    WHERE comment_content LIKE '%http://www.yoursite.com%';
  7. Теперь мы переходим к таблице wp_postmeta. Это касается любой персонализированной почты, которая указывает на http-версию вашего сайта.
    UPDATE `wp_postmeta` SET `meta_value` = REPLACE(meta_value, 'http://www.yoursite.com', 'https://www.yoursite.com')
    WHERE meta_value LIKE '%http://www.yoursite.com%';
  8. Теперь мы переходим к таблице wp_options. Обновите «адрес (адрес) WordPress» и «Адрес сайта (URL)». Их можно просто изменить на странице «Панель управления WordPress» -> «Настройки», а не с этими запросами. Вы можете просто перейти на страницу настроек и изменить оба этих поля, чтобы они начинались с https.Но вот запросы, если вы предпочитаете делать это таким образом.Для URL-адреса адреса WordPress вам может потребоваться изменить www.yoursite.com. Если у вас установлен WordPress в другом каталоге, измените его в соответствии с вашим собственным URL-адресом WordPress. Например, некоторые люди устанавливают WordPress в подкаталог с именем «blog», поэтому их адрес WordPress будет https://www.yoursite.com/blog.
    UPDATE `wp_options` SET `option_value` = "https://www.yoursite.com" WHERE `wp_options`.`option_name` = 'siteurl';

    Это обновление URL-адреса сайта (это главная страница вашего сайта):

    UPDATE `wp_options` SET `option_value` = "https://www.yoursite.com" WHERE `wp_options`.`option_name` = 'home';

8 комментариев к “Запрос на изменение ссылок HTTP на HTTPS для WordPress в MySQL базе данных”

  1. Мне, как разработчику сайтов, очень часто приходится этим заниматься переносить сайты с локального и тестового серверов, а также и наоборот, создавать тестовые копии сайтов на субдоменах.

  2. БизнесОбзор

    Спасибо за статью. Пользуюсь обычно плагином Better Search and Replace по той причине, что замена через SQL-запросы затрагивает и сериализованные данные в БД, которые могут испортиться при некорректном изменении длины сериализованных строк. Плагин обрабатывает сериализованные данные корректно.

  3. Плагин WP Migrate DB обычно используется для миграции сайта, однако вы также можете использовать его для поиска и замены старых ссылок на изображения. Он прекрасно подходит для переноса локально разработанного сайта на онлайн-сервер.

  4. Тема ваше сайта похожа на hueman. Если это так подскажите пожалуйста у вас бесплатная версия? Просто думаю стоит ли подключить версию pro.

  5. Для того, чтобы выполнить эти запросы, вам нужно выбрать базу данных в phpMyAdmin, перейти на вкладку SQL, вставить запросы в поле и нажать ок. Тут всё понятно все ссылки и изображения в содержимом постов WordPress имеют абсолютные URL, а значит меняем.

  6. Вместо того, чтобы это сделать, попробуйте поиск по имени и воспользуйтесь утилитой, которая тестирует серверы и может сравнивать. Есть сайты, которых делают ошибки, когда вводят метаданные URL-адресов, таких как: host/domain?server=имя сервера HTTP?server=адрес; домен?server=домен; запрос?server=проверка; домен?server=имя хоста NetBIOS; логин?server=логин; пароль?server=пароль. В такой ситуации может быть произведена ошибка, поэтому служба, необходимая для обновления хоста, может оказаться не в состоянии обновить этот хост при правильном анализе сервера. Сервер можно восстановить или дать другой сервер, который сможет обновить хост. Если вам больше нравиться эта возможность, то из своего почтового клиента создайте новый документ, вставьте его в директорию с текущей базой данных, откройте WordPress и выберите раздел GUIDURL. Чтобы просмотреть список всех обновленных хостов, включите проверку файлов на вирусы и попробуйте обновить их. Если вы не можете выполнить никаких других рекомендаций по обновлению хо

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *