Перенос сайта WordPress на другой домен / как изменить ссылки в постах

Есть сайт на WordPress. И по той или иной причине Вы захотели переехать на новый домен.
Мы не будем описывать в данной статья правильную установку 301 редиректа. Об этом поговорим позже.
А остановимся на проблеме с внутренними ссылками в статьях.
И как их справить чтобы линк шел на новый домен.

Некоторые неопытные разработчики, а их достаточно большое количество в комьюнити WordPress, вместо ссылки <a href=»/post/1200″></a> используют ссылки с указанием домена <a href=»http://it-insider.ru/post/1200″></a>

И после того как вы полностью перенесли свой WordPress  сайт на новый домен, в постах останутся ссылки, которые ведут на старый домен. Для поисковых систем они будут внешними, что очень плохо с точки зрения SEO!

Эта проблема решается достаточно просто.
Достаточно отредактировать все посты, и удалить http://it-insider.ru из ссылки  <a href=»http://it-insider.ru/post/1200″></a> , чтобы получилось <a href=»/post/1200″></a>

Ручной вариант редактиравания мы не рассматриваем, так как при большом количестве публикаций, займет много времени.
Сделаем все одним махом ))

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

* Рекомендую сделать полный бэкап сайта, перед работой с БД WordPress. Опытные пользователи могут пропустить этот пункт.

1. Коннектимся через putty к серверу.
2. Подключаемся к MySql

# mysql -uUserName -pMysqlUserPass
, где UserName — логин доступа к mysql
MysqlUserPass — пароль доступа к mysql

3. Выбираем Базу Данных нашего сайта, с которой и будем работать дальше.
В коммандной строке mysql:

> use wordpress_db;
,где wordpress_db — имя базы нашего wordpress сайта.

посмотреть все базы можно командой
> show databases;
или взфть имя базы из конфигурационного файла WordPress — /wp-config.php

4. В таблицах post_content и post_content_filtered убираем префикс ссылки http://it-insider.ru

Выполняем следующие sql команды:

> UPDATE wp_posts SET post_content = REPLACE (post_content, 'http://it-insider.ru/', '/');
> UPDATE wp_posts SET post_content_filtered = REPLACE (post_content_filtered, 'http://it-insider.ru/', '/');

И Все! — сылки приняли правильный вид с линковкой на новый домен.
Проверьте несколько постов после выполнения операции.

Если у вас нет доступа в Вашему серверу через ssh, то можно обойтись интерфейсом, который предоставляет хостинг. Например Cpanel или phpMyadmin. Главное, найти возможность исполнения sql команд и доступ к базе данных WordPress сайта.

C линковкой в постах при смене домена проблема решена!

Возможно, Вам будут интересны матрасы ровно на сайте eShopes.com