Делаем правильный перенос сайта на WordPress с домена на домен


Ну вот я уже докатился до подобного и пишу о правильности переноса вордпрессовского сайта… Парадокс, но мне на почту люди пишут вопросы о том, почему эта простая операция у них не получается. Признаться честно, меня эти вопросы несколько удивляют, так как  все можно найти легко в сети, уж всяких блогомэйкеров чуть менее, чем дофига. Тем не менее, для тех людей, которые решили перейти на мои выгодные по цене и весьма надежные хостинги ihc.ru (этот хостинг я использую уже седьмой год и весьма доволен его работой – надежный, постоянно делаются бэкапы для тех, кто это забывает делать, защищенный опять же для различных рассеянных веб-мастеров, которые забывают защищать самые взламываемые движки WordPress и Joomla! и относительно дешевый, его рекомендую практически всегда) и webhost1.ru (использую только около года, сказать ничего не могу про надежность, так как он дешевый и позволяет пачками делать LandingPage за мизерную сумму размещения – 50 сайтов за 127 рублей в месяц, это даром фактически), став при этом моими рефералами, а, значит, как бы наняли меня за это в помощь, я всегда помогаю. Однако вопрос переноса сайта поставил меня в тупик, не думал, что могут возникнуть трудности у кого-либо.

Как вы все знаете, перенос вордпрессовского сайта с локального сервера прост до безобразия. Мы просто делаем бэкап базы, архивируем все файлы сайта и все это переливаем на хостинг, где потом в файле wp-config.php нужно поправить данные для соединения с базой данных. Я не буду в 100500 раз писать о том, как это делать, так как в сети этой информации уйма и вы с легкостью найдете ее.

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

Наверняка вы сталкивались с подобным хотя бы раз. Когда все сделали как раньше, когда «переливали» сайт на Вордпресс с локальной машины. Прописали все нужные параметры в конфиге, а сайт все равно как ссылался на старый домен, так и продолжает ссылаться и переходить туда, если у вас в сети есть какой-то показной хостинг, на котором вы делаете работу и потом ее демонстрируете заказчику. Дело в том, что база данных хранит ссылки на старый домен, которые всего тремя запросами нужно видоизменить к новому домену.

Итак, запустить phpMyAdmin и в закладке SQL введите либо все три нижеприведенных запроса, объединив их в один, либо сделайте все поочередно. Как сказал Гагарин, поехали!

Три запроса к wordpress при переносе домена

Запрос в phpMyAdmin

Давайте немного остановимся на технических нюансах, иначе можно сделать себе базу мигом неработоспособной. Помните о префиксах wp? Все таблицы имеют префикс, обычно это wp_, но если вы все же решили ввести свой префикс, то нужно помнить об этом.

UPDATE wp_options SET option_value=REPLACE(option_value,'http://old.site.ru','http://newsite.ru') WHERE option_name='home' OR option_name='siteurl';
UPDATE wp_posts SET post_content=REPLACE(post_content,'http://old.site.ru','http://newsite.ru');
UPDATE wp_postmeta SET meta_value=REPLACE(meta_value,'http://old.site.ru','http://newsite.ru');

Итак, что делает каждый запрос? Конечно, если не интересно копаться в дебрях WordPress, то просто можете скопировать этот код и тупо его отредактировать или же скачать мой генератор скрипта и уже на нем сгенерировать нужный запрос. Но лучше будет все же понимать, что здесь творится.

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

UPDATE wp_options SET option_value=REPLACE(option_value,'http://old.site.ru','http://newsite.ru') WHERE option_name='home'OR option_name='siteurl';

Второй запрос просто меняет url в содержимом постов. Тут все достаточно просто и прозаично.

UPDATE wp_posts SET post_content=REPLACE(post_content,'http://old.site.ru','http://newsite.ru');

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

UPDATE wp_postmeta SET meta_value=REPLACE(meta_value,'http://old.site.ru','http://newsite.ru');

В принципе, если у вас обычный статический сайт без комментариев и RSS ленты, то на этом все. Однако при переносе блога может потребоваться замена url домена, если в комментариях делались ссылки на страницы блога. Делается это с помощью запроса:

UPDATE wp_comments SET comment_content=REPLACE(comment_content,'http://old.site.ru','http://newsite.ru');
UPDATE wp_comments SET comment_author_url=REPLACE(comment_author_url,'http://old.site.ru','http://newsite.ru');

Таким нехитрым способом заканчивается перенос сайта с домена на домен. Да, я сам давным-давно на это нарвался. Тем не менее, даже сейчас люди при переносе своего сайта на WordPressс домена на домен забывают выполнять эти запросы, сталкиваясь потом с рядом проблем. Это своеобразная шпаргалка.

Комментарии

10 комментариев на “Делаем правильный перенос сайта на WordPress с домена на домен”
  1. Виктор:

    Привет воспользовался данной инструкцией по переносу домена на домен. Не знаю откуда беда, но может вы поможете. В опере не отображается логотип сайта в закладка, в хроме отображается логотип хостинга, а в мозилле все отображается правильно. Уже чистил браузеры, прошло почти 2 месяца. В опере и хроме логотип отображается только в админ-панели сайта, а на страницах не хочет!

    • admin:

      Странно, а база была слита нормально? Просто эти три команды заменяют пути со старого хостинга на новый и все

      • Виктор:

        Сайт работает нормально, все перенеслось. Я наверное ошибся в тексте, дело не в логотипе, а иконке сайта, она почему-то не отображается в опере и хроме, а вот в мозилла полностью открывает. Браузеры чистил, но за 2 месяца, иконка в опере так и не появилась, а вот в хроме иконка от хостинга!

      • Виктор:

        Мои ненужные комментарии можете удалить, я разберусь сам, наверное все таки это кэш браузеры…

  2. Виктор:

    Спасибо за статью перенос сайта произошел идеально!

  3. Виктор:

    Привет! Помоги! Иконка сайта так и не появилась у меня! В базе wp_posts в пункте guid остались адреса старого домена, может это причина?! Иконка есть только в админ панели и в браузерах мозилла, опера и хром, но в последних двух на страницах сайте её нет иже пол года, и с других ПК тоже самое!

  4. Виктор:

    И вот спустя пол года я нашел причину отсутствия иконки на сайте, что я не делал все не получалось, ни скрипты ни админ панель не помогли! Все оказалось довольно просто на вордпресс так же как и на юкоз, иконку нужно загружать в корень сайта через файл менеджер, под названием favicon.ico и все!

  5. Анастасия:

    Чаще всего это случается, когда вы пользуетесь услугой простого хостинга сайтов. В чём главная цель разработчика при переносе сайта с одного сервера на другой?

    • admin:

      Цель? Все просто — сейчас хостеры стали задирать цены. И просто приходится искать более выгодное предложение. Потому и переносятся сайты с хостинга на хостинг

  6. Юлия:

    Но не так все просто. Как-то после очередного переезда у меня напрочь перестали работать виджеты сайт отображался криво. Я погуглил и нашёл причину – недостаточно просто перенести сайт , нужно еще и правильно поменять его имя с учетом синтаксиса современных баз данных. И я решил поделиться своим способом переноса Вордпресса на новый домен и хостинг и со своими читателями.

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

Внимание! Не будут добавляться комментарии в виде откровенного спама или прямого анкора на свои сайты. Все спамеры будут передаваться в базу Akismet

Подтвердите, что Вы не бот — выберите человечка с поднятой рукой: