Перенос сайта на WordPress на новый домен

Мой блог — это первый сайт, который я решил поставить на WordPress. Вообще не люблю делать сайты на разных движках, все они какие-то неудобные в плане их изменения. Все они заточены под обычных пользователей, но никак не под программистов, которые захотят изменить тот или иной функционал. Делать целый блог на самописном движке было лениво, к тому же вордпресс слишком уж все нахваливали, да и у всех «коллег» блоги на этом движке, поэтому и сам решил с ним столкнуться.

Проблемы, с которыми я столкнулся описывать не буду, их много и они не интересны, в этом посте расскажу только про одну, это перенос сайта на другой домен. Изначально блог был на локалке с адресом http://localhost/Blog, настроив его как следует и зарегистрировав домен надо было его переносить. Проблема была в том, что залить базу и файлы и сменить данные в wp-config.php недостаточно. URL сайта прописывается в базе данных, причем не только как настройка, но и во всех добавляемых картинках, ссылках и т.д. записывается абсолютные пути.

Для того, чтобы сайт нормально лёг на новый домен и в базе везде попрописывался новый домен нужно выполнить 3 запроса:

UPDATE wp_options SET option_value = REPLACE(option_value, ‘$old_url’, ‘$new_url’) WHERE option_name = ‘home’ OR option_name = ‘siteurl’

UPDATE wp_posts SET guid = REPLACE(guid, ‘$old_url’,'$new_url’)

UPDATE wp_posts SET post_content = REPLACE(post_content, ‘$old_url’, ‘$new_url’)

Запросы можно выполнить в phpMyAdmin. Для себя я сделал минискриптик (скачать), с помощью которого можно сделать все эти шаги лишь указав новый домен. Скачанный архив разархивируем в корневую папку сайта и в браузере выполняем http://сайт/change_domen.php , заполняем поле »Новый домен», жмем кнопку и всё готово. После этого скрипт нужно удалить, иначе кто угодно сможет менять домен. Мой блог перенесся на новый домен без каких либо проблем, надеюсь ваши сайты перенесутся точно так же.

Похожие записи

  • Нет похожих записей

Комментариев (2).

  1. Ваолис

    Эти три запроса у всех выдают ошибку. Уже НЕ раз везде написано.

  2. Юрий

    Будет лажа от таких запросов… Серелизованные массивы хранят еще длину строки. И если новый домен > или < старого то после такой замены все опции слетят….

Ваш комментарий

Я не робот