Как заменить все ссылки сайта WordPress при смене домена или протокола с HTTP на HTTPS

AdmiraО сайтах и блогах, Про WordPress1 Comment

Как заменить все ссылки сайта WordPress при смене домена или протокола с HTTP на HTTPS

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

Обычно домен меняют чтобы:

  • сайт было легче запомнить
  • выйти из-под фильтра поисковых систем
  • сменить доменную зону (com, ru, org, by, net и другие)
  • заслужить внимание поисковиков, если у бывшего домена (дропа) была плохая история

Как правило, с подключением нового домена проблем не возникает, достаточно только перенести содержимое сайта (файлы и базу данных), установить 301 редирект и сделать правки в файле  robots.txt.

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

Страшно становится от той мысли, что надо все эти статьи перелопатить и поменять URL адреса ссылок на новые.

То же самое происходит и при смене протокола сайта с http на https — это сравнимо с переносом сайта на другой домен.

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

http://site.com/… — старый адрес сайта

https://site.com/… — новый адрес сайта

Изменять вручную все ссылки — задача категорически неподъемная. Но оказалось решение этой проблемы уже есть.

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

Плагин.

Самый простой способ, чтобы заменить все ссылки в WordPress на новые — использовать специальный плагин Velvet Blues Update URLs.

Для установки этого плагина достаточно в панели управления зайти в Плагины — > Добавить новый и  в строке поиска ввести «Velvet Blues Update URLs». Он находится первым —  жмем Установить и Активировать.

Переходим в Инструменты -> Update URLs. Это выглядит вот так:

Переводим сайт на WordPress на https - пошаговое руководство

Вносите  адреса старого и нового доменов, старый с протоколом HTTP, новый — с HTTPS.

Затем отмечаем, где менять URLы (отмечаем все, кроме последнего окошка чекбокса):

URLs in page content (posts, pages, custom post types, revisions) — в содержании страниц.

URLs in excerpts — в выдержках.

URLs in links — в ссылках.

URLs for attachments (images, documents, general media) — во вложениях (картинки, документы, медиа).

URLs in custom fields and meta boxes — в полях мета данных.

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

Жмете Update URLs NOW и ссылки меняются по всему сайту автоматически.

После замены всех линков плагин Velvet Blues можно удалить.

Замена ссылок в базе данных.

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

Добраться туда можно из панели управления хостинг-аккаунта.

В  панели phpMyAdmin  во вкладке «SQL» нужно ввести запросы БД, чтоб автоматически заменить все ссылки в постах и по сайту.

Команды по замене ссылок:

1. Замена ссылок в полях: Адрес WordPress (URL) и Адрес сайта (URL)
UPDATE `wppm_options` SET `option_value`=REPLACE(`option_value`,’http’,’https’) WHERE `option_name`= ‘home’ OR `option_name`= ‘siteurl’;

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

2. Меняем все URL адреса постов сайта  — здесь замена http на https, но может быть и другое выражение — при смене домена или зоны
UPDATE `wp_posts` SET `guid`= REPLACE(guid,’http’, ‘https’);

3. Замена всех ссылок, которые находятся в тексте постов
UPDATE `wp_posts` SET `post_content`= REPLACE(post_content,’http’, ‘https’);

4 Картинки  и прочее
Они уже заменились в двух предыдущих пунктах, т.к. WordPress считает постами все на сайте — медиа, страницы, записи и складывает это в одну таблицу — wp_posts (префикс wp_ может быть несколько другим)

Сложно это или нет — решать вам.

В сети говорят, что автоматически заменить старые ссылки на новые можно с помощью утилиты «WP-CLI» и PHP-скрипт «Search Replace DB» — не пробовала.

В основном я использовала плагин Velvet Blues Update URLs, как работает замена в базе данных тоже попробовала на одном из тестовых сайтов — работает легко и быстро, если MySQL вас не пугает.

P.S.  Менять ссылки в базе данных мне пришлось только при смене протокола для мультисайта на Вордпресс — там не доступна опция смены адреса WordPress и адреса сайта. Хотя для смены ссылок в постах и на мультисайте плагин отлично справился

One Comment on “Как заменить все ссылки сайта WordPress при смене домена или протокола с HTTP на HTTPS”

  1. Pingback: Переводим сайт на WordPress на https - пошаговое руководство | mArjArI. Создание сайтов

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

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