Перенос сайта WordPress на новый домен может показаться сложной задачей, но при правильном подходе процесс становится управляемым и достаточно простым. Это руководство проведет вас через все этапы, от подготовки до завершающей проверки.
Подготовка к переносу сайта WordPress
Прежде чем начать перенос, необходимо тщательно подготовиться. Правильная подготовка гарантирует минимальное время простоя и предотвращает потерю данных.
Резервное копирование сайта: файлы и база данных
Самый важный шаг – создание полной резервной копии вашего сайта. Это включает в себя копирование всех файлов сайта (изображения, темы, плагины и т.д.) и экспорт базы данных WordPress. Используйте FTP-клиент (например, FileZilla) для скачивания файлов и phpMyAdmin для экспорта базы данных.
Выбор нового домена и хостинга (если требуется)
Если вы также меняете хостинг, убедитесь, что выбрали надежного провайдера с хорошей поддержкой WordPress. Зарегистрируйте новый домен и настройте его.
Создание временной поддомен/папки для переноса (опционально)
Чтобы избежать простоя основного сайта, можно создать временный поддомен или папку на новом хостинге для переноса. Это позволит протестировать сайт перед тем, как сделать его общедоступным.
Перенос файлов сайта WordPress
Существует несколько способов переноса файлов сайта на новый хостинг.
Через FTP/SFTP клиент
Подключитесь к новому хостингу через FTP/SFTP клиент и загрузите все файлы из резервной копии в корневую папку нового сайта (обычно public_html или www).
Через файловый менеджер хостинга
Большинство хостинг-панелей предоставляют файловый менеджер. Вы можете загрузить архив с файлами сайта и распаковать его прямо на сервере.
Использование плагинов для миграции (Duplicator, All-in-One WP Migration и др.)
Плагины, такие как Duplicator и All-in-One WP Migration, автоматизируют процесс миграции. Они создают архив сайта и скрипт для восстановления на новом хостинге. Например, All-in-One WP Migration позволяет скачать архив и загрузить его на новый сервер, упрощая процесс.
<?php
/**
* Пример использования All-in-One WP Migration для создания архива.
*
* Внимание: Это абстрактный пример, основанный на предположении об API плагина.
* Фактический код будет зависеть от конкретной версии плагина.
*/
/**
* Функция для создания архива сайта.
* @return string|bool Путь к архиву или false в случае ошибки.
*/
function create_wp_migration_archive(): string|bool {
try {
// Предполагаем, что есть класс AllInOneWPMigration с методом createArchive
$migration = new AllInOneWPMigration();
$archive_path = $migration->createArchive([
'exclude_media' => false, // Включаем медиафайлы
'exclude_themes' => false, // Включаем темы
'exclude_plugins' => false // Включаем плагины
]);
if ($archive_path) {
return $archive_path;
} else {
return false;
}
} catch (Exception $e) {
error_log('Ошибка при создании архива: ' . $e->getMessage());
return false;
}
}
// Пример использования
$archive_path = create_wp_migration_archive();
if ($archive_path) {
echo "Архив успешно создан по пути: " . $archive_path . "\n";
} else {
echo "Не удалось создать архив.\n";
}
?>
Экспорт и импорт базы данных WordPress
База данных содержит всю информацию о вашем сайте, включая записи, страницы, комментарии и настройки.
Экспорт базы данных через phpMyAdmin
Зайдите в phpMyAdmin на старом хостинге, выберите базу данных WordPress и экспортируйте её в формате SQL. Убедитесь, что выбран вариант экспорта «Quick» или «Быстрый» для простоты.
Создание новой базы данных на новом хостинге
На новом хостинге создайте новую базу данных, пользователя и предоставьте пользователю права на эту базу данных. Запомните имя базы данных, имя пользователя и пароль.
Импорт базы данных через phpMyAdmin
Зайдите в phpMyAdmin на новом хостинге, выберите созданную базу данных и импортируйте SQL-файл, который вы экспортировали ранее. Убедитесь, что кодировка базы данных установлена в utf8mb4_unicode_ci.
Настройка WordPress на новом домене
После переноса файлов и базы данных необходимо настроить WordPress для работы с новым доменом и базой данных.
Обновление URL сайта в базе данных (через phpMyAdmin или плагин)
Вам нужно обновить URL сайта в базе данных. Это можно сделать двумя способами:
-
Через phpMyAdmin: Выполните SQL-запросы для обновления
siteurlиhomeв таблицеwp_options.UPDATE wp_options SET option_value = replace(option_value, 'старый_домен', 'новый_домен') WHERE option_name = 'siteurl'; UPDATE wp_options SET option_value = replace(option_value, 'старый_домен', 'новый_домен') WHERE option_name = 'home'; UPDATE wp_posts SET post_content = replace(post_content, 'старый_домен', 'новый_домен'); UPDATE wp_postmeta SET meta_value = replace(meta_value, 'старый_домен','новый_домен'); -
Через плагин: Используйте плагин, такой как Better Search Replace, чтобы безопасно заменить старый домен на новый во всей базе данных.
Изменение wp-config.php (подключение к новой базе данных)
Отредактируйте файл wp-config.php в корневой папке сайта, указав новые данные для подключения к базе данных (имя базы данных, имя пользователя, пароль и хост).
<?php
/** Название базы данных WordPress */
define( 'DB_NAME', 'имя_базы_данных' );
/** Имя пользователя MySQL */
define( 'DB_USER', 'имя_пользователя' );
/** Пароль к базе данных MySQL */
define( 'DB_PASSWORD', 'пароль' );
/** Имя сервера MySQL */
define( 'DB_HOST', 'localhost' );
?>
Настройка DNS записей для нового домена
В панели управления доменом обновите DNS-записи, чтобы они указывали на IP-адрес нового хостинга. Обычно нужно изменить A-запись и CNAME-запись (для www). Обновление DNS-записей может занять до 48 часов.
Завершение переноса и проверка сайта
После выполнения всех вышеперечисленных шагов необходимо проверить работоспособность сайта.
Очистка кэша WordPress и браузера
Очистите кэш WordPress (если используете плагин кэширования) и кэш браузера, чтобы увидеть последние изменения.
Проверка работоспособности всех страниц и функций
Проверьте, что все страницы, записи, изображения и функции сайта работают корректно. Убедитесь, что формы отправляются, комментарии добавляются и т.д.
Настройка редиректов (301) со старого домена (опционально)
Чтобы не потерять трафик и позиции в поисковых системах, настройте 301 редиректы со старого домена на новый. Это можно сделать через файл .htaccess на старом хостинге или через панель управления хостингом.
#Options +FollowSymLinks
RewriteEngine on
RewriteRule ^(.*)$ http://новый_домен/$1 [R=301,L]
Обновление XML Sitemap и отправка в поисковые системы
Создайте новую карту сайта XML и отправьте её в Google Search Console и другие поисковые системы, чтобы они быстрее проиндексировали ваш сайт на новом домене.
Следуя этому руководству, вы сможете успешно перенести свой сайт WordPress на новый домен, минимизируя риски и время простоя.