Подготовка к https. Ссылки в WordPress.

Перед переездом сайта на безопасное соединение (SSL / HTTPS), нужно все внутренние ссылки сделать относительными, то есть без явного указания протокола. Делается это простым убиранием http: и оставлением двух слешей в начале. То есть ссылки будут вида <a href=»//example.com/this-page/».

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

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

Предлагаю простое, удобное и быстрое решение. Нужно выполнить всего 3 запроса к базе. Привожу их ниже:

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://','iframe src="//'));

Не забудьте предварительно сделать бэкап базы. Успехов)

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

  • Егор
    23.05.2018, 02:06

    Новичку подскажите, пожалуйста, каким образом сделать эти запросы?

    • FladeX
      23.05.2018, 09:30

      Удобнее всего — через phpMyAdmin, который установлен почти на всех хостингах.