Вот возникла такая необходимость и теперь, когда всё уже позади, я напишу, как это сделать.

Основные моменты переноса:

I. Перенос БД.

a. Экспорт.

b. Смена домена при переносе БД.

c. Импорт.

II. Установка WP.

III. Установка wp в другой каталог.

IV. Перенос файлов.

V. Редирект или закрытие комментирования.

I. Перенос БД.

I a. Экспорт.

Заходим в phpMyAdmin на старом хостинге выбираем MySQL базу, в которой наши таблицы WordPress’a [дальше по тексту будет использовать сокращение WP] и делаем экспорт их во внешний файл. Для этого переходим на вкладку Export выбираем таблицы с вордпрессом, это все таблицы начинающиеся на wp_* [по дефолту для экспорта выбираються все таблицы в выбранной нами базе] и жмём Go. [на скриншоте нужная нам база так и называется [u]wordpress[/u]]

Получаем архив wordpress.sql.zip

Содержание

I b. Смена домена при переносе БД.

Теперь рассмотрим вариант, если домен у нас меняется. [если остаётся прежним, этот пункт пропускаем]
Допустим домен был my.blog.org, а теперь blog.com. Дело в том, что все ссылки в базе будут вести на my.blog.org это очень легко исправить. Берём файл wordpress.sql.zip и распаковываем его архиватором [я использую 7-Zip], на выходе будет папка с файлом wordpress.sql собственно это и есть сами таблицы WP. Теперь нам потребуется любой текстовой редактор с нормальной поддержкой Юникода. У меня, например, стоит Notepad2 или ещё лучше Notepad++.

Берём, и открывает им файл wordpress.sql [если предупредит об открытии файла большого размера ничего страшного открывайте (=] теперь жмём магическое сочетание клавиш Ctrl+H и получаем окошко замены текста, в верхнее поле вводим старый домен в нижнее новый, проверяем и жмём Replace All и сохраняем. Собственно все.

Содержание

I c. Импорт.

Теперь идём в phpMyAdmin на новом хостинге выбираем базу [в данном случае она назывется [u]ilab_wordpress[/u]], которую будем использовать для WordPress’a [если её нет создаём]. Проверяем кодировку базы, должна стоять utf8_unicode_ci [в которой была прошлая наша база]. У меня вот, например, создалась база, но с кодировкой [u]latin1_swedish_ci[/u] по дефолту.
Выбираем базу [u]ilab_wordpress[/u] и переходим на вкладку Operations и в разделе Collation выставляем utf8_unicode_ci и жмём Go. Если всё прошло удачно мы видим:

Your SQL query has been executed successfully
SQL query:
ALTER DATABASE `ilabmsks_test` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci


Ещё раз проверим кодировку.

Всё ok.
Выбираем нашу подготовленную бд и переходим на вкладку Import и импортируем в неё наш wordpress.sql.zip или если мы меняли домен наш обновлённый wordpress.sql.

Примечание: может вываливатся ошибка при импорте wordpress.sql.ZIP:

Error
Error in ZIP archive: CRC32 checksum is not equal with the value in header information.


Для её обхода попробуйте распаковать наш wordpress.sql.zip и импортировать непосредственно wordpress.sql

Если всё успешно получаем примерно такое сообщение:

Import has been successfully finished, 144 queries executed.


Идём и любуемся на наши таблицы (=

Содержание

II. Установка WP.

Прописываем нашу базу в настройках WP в файле wp-config.php
Всё как обычно копируем файлы wordpress на сервер и все. И теперь набрав http:// blog.com/wp-admin/index.php мы получим окно с входом в админку WP и можем использовать старые имя и пароль. Проходить процедуру установки [http:// blog.com/wp-admin/install.php] нам теперь не к чему, цель установки заключается в создании таблиц с параметрами в базе, а они уже у нас есть там (=
Кстати, как справедливо заметил пользователь Everouge, устанавливать именно «новыйчистый» WP совсем не обязательно, можно перенести файлы WP со старого хостинга.

Не забываем что в папке с WP должен лежать файл .htaccess со следующим содержанием

Содержание

III. Установка WP в другой каталог.

Рассмотрим теперь небольшой пример, если вы захотели устанавливать WP не в корень, а например, создали каталог [скажем “wp”]и хотите поместить его туда, НО в таком случае наш блог будет доступен уже по адресу http:// blog.org /wp/ а не http:// blog.org /. Так вот, если вам это так нужно [ну например, если вы хотите установить несколько WordPress’ов] и вас это устраивает, то проблем нет. А вот если вы хотите что бы он лежал в каталоге http:// blog.org /wp/ но доступен был по адресу http:// blog.org / то вот тут нужно сделать небольшой финт ушами (( -> (/) -> /)/)
Для этого нужно скопировать index.php и .htaccess из папки /wp/ в корневую папку, т.е. на каталог выше и немного изменить index.php, а именно:
Строчку require(‘./wp-blog-header.php’); на require(‘./wp/wp-blog-header.php’);
Разберёмся с .htaccess
Не знаю насколько правильно, но у меня они отлиичаются, тот который в корне от того который в /wp/
Отличаются двумя строчками:
это который в /wp/

RewriteBase /wp/
RewriteRule . /wp/index.php [L]

который на каталог выше, т.е. в корне

RewriteBase /
RewriteRule . /index.php [L]

Содержание

IV. Перенос файлов.

Чтобы все ссылки на файлы, ссылающиеся на ваш сайт в блоге остались рабочие достаточно разместить файлы на новом сервере также как они были на старом относительно корневого каталога.

Содержание

V. Редирект или закрытие комментирования.

Ну и на последок.
Что делать со старым сайтом ? тут два варианта:
I. Сделать редирект
II. Сделать пост о переезде и установить сайт в режиме read-only.
Первое реализовать просто через тот же .htaccess http://ru.wikipedia.org/wiki/Htaccess
Второй тоже просто сделать. Cообщаем читателям новость о переезде и закрываем комментирование на старом сайте. Закрытие комментирование делается через один простой SQL запрос к нашей базе WP в phpMyAdmin:

update wp_posts set comment_status=’closed’

Содержание

Вот собственно и всё, критика приветствуется (=

Спасибо за помощь в моём переезде форуму maxsite.org в лице Ю.Б. и Flector, а также спасибо bagzilla :smile: