Подготовка к 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="//'));

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

РубрикиCMS

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

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