WordPress: перенос сайта на другой сервер, переименование таблиц в БД, миграция (24.01.2011). Печать
2011 - Январь
24.01.2011 21:36
Save & Share

Миграция у WordPress или хотя бы изменение префикса у таблиц - это просто ужасный гемор, если делать это впервые и даже не с кривыми руками. С коим я и столкнулся.

В интернете пишут: кому-то везет, кому-то нет; и уж если не повезет - то совсем плохо будет. Поехала разметка, не мог попасть в административную панель, сдохли плагины, ...
Joomla же повела себя вообще без стервозности: перенеслась как часы. Этот факт делает Joomla все-таки в лидерах; я конечно понимаю, что ее изучать сложнее - но зато целее нервы!

Проблему я решил. Причем совершенно случайно. Мне не помог ни гугл, ни сайты по WordPress. Итак, алгоритм переноса сайта/базы MySQL:
- отключаем все плагины;
- делаем экспорт базы MySQL (например, средствами PhpMyAdmin);
- меняем в экспортном файле префиксы таблиц руками, никакой автозамены! Их всего 10-30 исправлений; автозамена фатальна, т.к. и таблицы начинаются с "wp_" по умолчанию, и некоторые функции WordPress - тоже. Вы можете не менять стандартный префикс "wp_", но когда (например) у вас кончится лимит БД под ваши поддомены - вы их начнете объединять, и тут уникальность префикса таблицы вам поможет.
- меняем автозаменой во всей БД ссылки старого домена на новый;
- импортируем измененную на компьютере базу MySQL в конечное местоположение;

- запоминаем все уникальные права для папок/файлов на FTP (отличные от 755/644);
- копируем файлы с сайта на компьютер.
- на компьютере редактируем файл wp-config.php программой Notepad++, выставляя в нем новое название БД, реквизиты доступа и новый префикс таблиц MySQL. Почему именно этой программой: файл нужно обязательно сохранять в кодировку utf-8; в некоторых случаях, как в моем, - в utf-8 без BOM. Если сохранить в любом другом формате - возникнут глюки, что я писал выше. Вы будете думать, что у вас слетела CSS, или не достает файлов, или база MySQL неисправна - ничего подобного;
- копируем файлы сайта с компьютера на виртуальную площадку, конечное местоположение;
- выставляем права для тех папок, которые мы запоминали.
- заходим в админку, включаем плагины.

- может не пустить в админку, выдав сообщение "у вас недостаточно полномочий для доступа к этой странице". Решается из PhpMyAdmin: ищем в "ваш-старый-префикс_options" строчку "ваш-старый префикс_user_roles", меняете старый префикс на новый; ищем в "ваш-старый-префикс_usermeta" строчку "ваш-старый префикс_capabilities", меняете старый префикс на новый.

Обновлено ( 15.06.2011 08:39 )