Перенос сайта, работающего на движке WordPress, на новый домен

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

Есть несколько вариантов но мне нравится этот:

  1. Зайдите в phpMyAdmin и выберите базу данных.
  2. Нажмите на вкладку «SQL» и поочередно выполните следующие 3 запроса, заменивhttps://domain.ru и https://newdomain.ru соответственно на старый и новый адреса сайта (обратите внимание, что в конце адреса не должно быть слеша):
UPDATE wp_options SET option_value = replace(option_value, 'https://domain.ru', 'https://newdomain.ru') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET guid = replace(guid, 'https://domain.ru','https://newdomain.ru');
UPDATE wp_posts SET post_content = replace(post_content, 'https://domain.ru', 'https://newdomain.ru');

А здесь более расширенно по всем типам

#posts
UPDATE wp_posts SET guid = REPLACE (guid, 'old_domain.com/', 'new_domain.com/');
UPDATE wp_posts SET post_excerpt = REPLACE (post_excerpt, 'old_domain.com/', 'new_domain.com/');
UPDATE wp_posts SET post_content = REPLACE (post_content, 'old_domain.com/', 'new_domain.com/');
UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, 'old_domain.com/', 'new_domain.com/');
 
#comments
UPDATE wp_comments SET comment_author_url = REPLACE (comment_author_url, 'old_domain.com/', 'new_domain.com/');
UPDATE wp_comments SET comment_content = REPLACE (comment_content, 'old_domain.com/', 'new_domain.com/');
UPDATE wp_commentmeta SET meta_value = REPLACE (meta_value, 'old_domain.com/', 'new_domain.com/');
 
#links
UPDATE wp_links SET link_url = REPLACE (link_url, 'old_domain.com/', 'new_domain.com/');
UPDATE wp_links SET link_rss = REPLACE (link_rss, 'old_domain.com/', 'new_domain.com/');
 
#options
UPDATE wp_options SET option_value = REPLACE (option_value, 'old_domain.com/', 'new_domain.com/');
 
#usermeta
UPDATE wp_usermeta SET meta_value = REPLACE (meta_value, 'old_domain.com/', 'new_domain.com/');
 
#posts
UPDATE wp_posts SET guid = REPLACE (guid, 'old_domain.com', 'new_domain.com');
UPDATE wp_posts SET post_excerpt = REPLACE (post_excerpt, 'old_domain.com', 'new_domain.com');
UPDATE wp_posts SET post_content = REPLACE (post_content, 'old_domain.com', 'new_domain.com');
UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, 'old_domain.com', 'new_domain.com');
 
#comments
UPDATE wp_comments SET comment_author_url = REPLACE (comment_author_url, 'old_domain.com', 'new_domain.com');
UPDATE wp_comments SET comment_content = REPLACE (comment_content, 'old_domain.com', 'new_domain.com');
UPDATE wp_commentmeta SET meta_value = REPLACE (meta_value, 'old_domain.com', 'new_domain.com');
 
#Links
UPDATE wp_links SET link_url = REPLACE (link_url, 'old_domain.com', 'new_domain.com');
UPDATE wp_links SET link_rss = REPLACE (link_rss, 'old_domain.com', 'new_domain.com');
 
#options
UPDATE wp_options SET option_value = REPLACE (option_value, 'old_domain.com', 'new_domain.com');
 
#usermeta
UPDATE wp_usermeta SET meta_value = REPLACE (meta_value, 'old_domain.com', 'new_domain.com');

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

Может возникнуть ошибка после смены почты админа «Вам запрещено просматривать эту страницу» — фиксим в  user_meta поле wp_capabilities

#from
a:1:{s:13:"administrator";b:1;}
#to
a:1:{s:13:"administrator";s:1:"1";}

Готово. Теперь сайт будет открываться по новому адресу.

Включение 301 редиректа со старого домена на новый

Осталось сделать чтоб при открытии любой страницы сайта по старому домену посетитель автоматически попадал на ту же страницу, но только в новом домене.

Для этого замените содержимое .htaccess (файл находится в корне папки старого домена), на следующее (вместо new-site.ua укажите новый домен):

<FilesMatch "robots.txt$">
RewriteEngine off
</FilesMatch>
#Options +FollowSymlinks
Options +SymLinksIfOwnerMatch
RewriteEngine on
RewriteRule (.*) https://www.wpdew.com/$1 [R=301,L]

Все, процедура переноса WordPress-сайта законченна.

Относительно того как сохранить PR и тИЦ сайта.

Вышеуказанная настройка пере адресации позволяет перенести на новое доменное имя Google PR, тут не должно быть проблем.

По поводу тИЦ Яндекса:  создайте на старом домене файл robots.txt и укажите в нем:

User-Agent: *
Disallow:
Host: new-site.ua

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
× iOs app

To install this Web App in your iPhone/iPad press iOs sourse and then Add to Home Screen.