Редактирование URL изображений в WordPress после установки SSL-сертификата

После установки SSL-сертификата на свой сайт вы можете столкнуться с одной неприятностью: все ваши изображения перестанут выводиться. Не стоит паниковать – просто прочтите эту статью, в которой будет показана методика исправления ссылок на изображения.

links_update

При установке SSL-сертификата ваш адрес сайта несколько меняется, и это небольшое изменение приводит к тому, что некоторые элементы вашего сайта могут перестать работать. Все элементы вашего сайта были перенесены на https, а изображения по-прежнему указывают на http, вследствие чего они перестают выводиться.

Это означает, что вы должны откорректировать все ссылки на изображения, заменив http на https. Звучит ужасно, не правда ли? Однако вам не придется вручную искать и редактировать каждое отдельное изображение, которое вы загружали. Вы можете отредактировать URL либо вручную через базу данных, либо автоматически с помощью удобных плагинов.

Если вы успешно перенесли свой сайт на защищенный URL адрес, однако изображения перестали корректно работать, данная статья поможет вам устранить эту проблему.

Поиск и замена с помощью запросов

Вы можете изменить свои ссылки на изображения вручную в базе данных, однако предупреждаю сразу: если вы допустите какую-либо ошибку, ваш сайт может перестать работать. Я покажу вам, какие изменения потребуются, но учтите, что вы их вносите на свой страх и риск.

Я рекомендую вам использовать проверенный плагин, чтобы случайно не сломать сайт. Перед этим лучше всего сделать бэкап своего сайта.

Итак, заходим в phpMyAdmin и выбираем требуемую базу данных сайта, после чего переходим на вкладку Query. В поле SQL Query в самом низу страницы вводим следующий запрос, после чего щелкаем по Go:

UPDATE wp_posts SET `post_content` = REPLACE (`post_content`, 'src="http://www.your-site.com', 'src="https://www.your-site.com');

Убедитесь в том, что вместо www.your-site.com задано ваше реальное доменное имя. Также измените префикс wp таблицы wp_posts, если вы используете свое значение. Если вы работаете с мультисайтами, то в таком случае вам понадобится выполнить также следующий запрос:

UPDATE wp_2_posts SET `post_content` = REPLACE (`post_content`, 'src="http://www.your-site.com', 'src="https://www.your-site.com');

Замените 2 в wp_2_posts на корректный ID вашего сайта. Вам нужно будет выполнить этот запрос для всех сайтов в вашей сети. Зачастую это не требуется, однако в некоторых случаях вам тоже может понадобиться откорректировать ссылки на изображения – к примеру, если ваша сеть использует подпапки и ваши сайты не привязаны к различным доменам.

Также вам нужно будет выполнить следующий запрос, чтобы обновить GUID для изображений, которые заданы как вложения:

UPDATE wp_posts SET `guid` = REPLACE (`guid`, 'http://www.your-site.com', 'https://www.your-site.com') WHERE post_type = 'attachment';

По аналогии с первым примером, вам также понадобится сменить доменное имя на актуальный URL и задать новый префикс таблицы (если вы не используете стандартный). Возможно, вам понадобится выполнить этот запрос для всех сайтов вашей сети.

UPDATE wp_2_posts SET `guid` = REPLACE (`guid`, 'http://www.your-site.com', 'https://www.your-site.com') WHERE post_type = 'attachment';

Не забудьте сменить 2 в wp_2_posts на актуальный ID сайта в вашей сети.

URL-адреса ваших изображений должны перейти на https. Если это не произошло, попробуйте еще раз выполнить запросы. Выполняйте их поочередно, а не все сразу.

Поиск и замена ссылок на изображения с помощью плагинов

Использование плагинов для поиска и замены изображений на сайте является более простым методом, нежели внесение изменений вручную. Вряд ли вы сможете допустить такую ошибку, которая нарушит работу вашего сайта. Однако вам все равно придется несколько раз проверить то, что вы вводите, поскольку вы по-прежнему можете ошибиться.

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

Better Search Replace

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

Все, что вам нужно – это установить плагин в WordPress. Интересная возможность плагина — тестовый запуск, позволяющий понять, какие таблицы будут затронуты в результате внесения необходимых изменений.  Это поможет избежать ошибок, что делает плагин Better Search Replace ценным инструментом в вашем арсенале средств.

Search and Replace

Search and Replace – плагин, который умеет гораздо больше, нежели просто изменить ссылки на изображения на вашем сайте. Вы можете использовать этот плагин для изменения URL и домена сайта, восстановления и сохранения вашей базы данных, смены префиксов таблиц и т.д.

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

Плагин работает только с PHP 5.4 и выше. Он включает в себя поддержку мультисайтов.

WP Migrate DB

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

Источник: wpmu.org

Блог про WordPress
Комментарии: 15
  1. Дмитрий Донченко

    А если вы лентяй, или боитесь редактировать данные в базе данных, можете просто воспользоваться вот таким плагином: https://wordpress.org/plugins/https-redirection/

  2. Надежда

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

    1. mwa

      Можете скинуть ваш чудо плагин? буду очень благодарен

  3. Инна

    с базой данных работать не очень и трудно…
    если только если в ней не нужно менять 2-3 строк))))))))

  4. Владимир

    Я просто скачиваю базу данных и редактирую автозаменной в текстовом редакторе все вхождения http://адрес_сайта на https://адрес_сайта. Тоже самое автозаменой по всем файлам в папке с файлами.

    При переходе на другой домен, действия те же.

  5. Виталий

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

    По той же причине, не рекомендую проводить поиск-замену в файле БД с помощью текстового редактора.

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

    1. Дмитрий (автор)

      В противном случае будет вылезать ошибка о смешанном содержимом при попытке доступа к странице по HTTPS (т.к. все вложения должны быть тоже доступны по HTTPS).

  6. Piramidos

    Я когда SSL к сайтам прилеплял, то я не стал тогда заморачиваться, а установил плагин под названием «ssl insecure content fixer», поставил галочку напротив «исправить всё» и вуаля — всё открывается посредством https.

    1. Дмитрий (автор)

      Можно и с помощью плагинов, да.

  7. Александр

    Из всего предложенного наиболее полезным оказался Better Search Replace. Он помог вычислить и устранить ошибки. Но по прежнему некоторые картинки отказываются показываться в постах. Причем не только на странице, но и в редакторе. Хотя на вид их адреса уже исправлены. Очень много адресов картинок отмечены как неправильные, но при этом показываются. В общем теперь бардак на сайте и как его устранить не понятно.

    1. Дмитрий (автор)

      Проверяйте, возможно, что-то с адресами. Еще вариант — плагины кэширования могут кэшировать старый результат. Лучше их отключать на время редактирования (если такие плагины вообще стоят).

  8. Николай

    Наконец-то я решил свою проблему, уууууу!!! Ура!!! Ахах :-) А то сертификат кончился, а ссылки на изображения с «s» остались :-) Better Search Replace из-за русского перевода помог лучше, а запускал в холостом режиме, понять не мог что за «Dry» :-) Ах да, для просмотра изменений в браузере на всякий пожарный очищайте хэш и куки, а то много чего кэшируется.

    1. Дмитрий (автор)

      Сертификат кончился — надо продлевать, а не откатываться к http :)

  9. cosmos

    Здрасвуйте, сайт сменил протокол, замок выдает в случае подмены всех ссылок в постах, пишет что нужны картинки, на замок что-бы сменить данный сайт, посоветуйте команду, в случае моём. Торгую ссылками.

  10. LeW0

    херню какую-то несешь

Добавить комментарий

Получать новые комментарии по электронной почте.