Гид по технологиям

Как перенести WordPress с localhost на живой сервер

• 7 min read • WordPress • Обновлено 21 Nov 2025
Перенос WordPress с localhost на сервер
Перенос WordPress с localhost на сервер

TL;DR

Краткий план: создайте базу данных и пользователя на хостинге, экспортируйте базу данных с localhost через phpMyAdmin, импортируйте её на сервер, загрузите файлы сайта в public_html, отредактируйте wp-config.php и обновите URL сайта. Резервные копии и проверка сериализованных ссылок обязательны. Ниже — пошаговая инструкция, контрольный список, варианты отката и советы по безопасности.

Скриншот интерфейса хостинга

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

Основной план действий

  1. На хостинге создайте базу данных и пользователя.
  2. На локальной машине экспортируйте базу данных (SQL-файл).
  3. На хостинге импортируйте SQL в новую базу через phpMyAdmin.
  4. Скопируйте файлы WordPress из локального каталога в public_html (zip → распаковка).
  5. Отредактируйте wp-config.php: DB_NAME, DB_USER, DB_PASSWORD, а при необходимости добавьте WP_HOME и WP_SITEURL.
  6. Проверьте URL в базе (учтите сериализованные строки) и права на файлы, выключите режим отладки.

1. Создание новой базы данных на живом сервере

Войдите в cPanel. В разделе Databases откройте MySQL Databases.

Создание базы данных в cPanel

В поле “New Database” введите имя базы и нажмите Create Database. На следующем экране используйте Go back чтобы вернуться.

Подтверждение создания базы данных

Создание пользователя базы данных

В поле для пользователя введите имя и надёжный пароль. Нажмите Create user и запишите логин и пароль — они понадобятся в wp-config.php.

Создание пользователя базы данных

Нажмите Go back.

Назначение пользователя к базе

В разделе Add user to database выберите созданного пользователя и базу, затем Add. На следующем экране поставьте All Privileges и Make Changes.

Назначение прав пользователя базе

Проверьте, что пользователь присутствует в списке базы, затем вернитесь на главную страницу cPanel.

Список баз данных и пользователей

2. Экспорт базы данных с localhost

Откройте phpMyAdmin на локальной машине и выберите базу данных WordPress.

Список баз данных в локальном phpMyAdmin

Выберите базу, поставьте флажок Check all и в выпадающем списке выберите Export.

Выбор таблиц для экспорта

Оставьте формат SQL и нажмите Go. Сохраните файл с расширением .sql.

Экспорт базы данных в SQL

Важно: если в проекте используются сереализованные данные (напр., опции с путями), простой поиск-замена в SQL может повредить сериализованные строки. Далее показаны безопасные варианты исправления URL.

3. Импорт базы данных на сервер

В cPanel откройте phpMyAdmin.

phpMyAdmin в cPanel

Выберите созданную базу в левой панели и перейдите на вкладку Import. Загрузите .sql файл с локальной машины.

Импорт SQL файла в phpMyAdmin

Если импорт прошёл успешно, вы увидите список таблиц базы данных. При ошибках проверьте кодировку (обычно UTF-8) и максимальный размер загрузки.

Важно: если файл слишком большой, используйте SSH/CLI (mysql < dump.sql) или разбейте файл. Также можно загрузить файл через FTP и импортировать через командную строку на сервере.

4. Перенос файлов сайта на хостинг

В локальном каталоге WordPress найдите папку с wp-admin, wp-content и wp-includes. Архивируйте её в ZIP.

В cPanel откройте File Manager, выберите Document root для нужного домена и нажмите Go.

Выбор корневой папки сайта в File Manager

Откройте public_html в левой панели и нажмите Upload.

Загрузчик файлов в cPanel

Загрузите ZIP-файл и после завершения нажмите Back to. Если архива не видно — нажмите Refresh.

Архив в public_html

Выделите ZIP и нажмите Extract. После распаковки удалите архив.

Извлечение архива через File Manager

Если вы предпочитаете SFTP/SSH, распакуйте локально и загрузите файлы по SFTP в public_html. Для больших сайтов это обычно быстрее и надёжнее.

5. Редактирование wp-config.php

В File Manager выберите wp-config.php и откройте в редакторе кода.

Редактор кода в cPanel

Замените DB_NAME, DB_USER и DB_PASSWORD на значения вашей созданной базы и пользователя.

Изменение настроек базы в wp-config.php

Проверьте, есть ли константы WP_HOME и WP_SITEURL. Если нет, добавьте:

define('WP_HOME','https://ваш-домен.ru');
define('WP_SITEURL','https://ваш-домен.ru');

Замените https://ваш-домен.ru на реальный URL вашего сайта и сохраните файл.

6. Обновление URL в базе и работа с сериализацией

После импорта сайт может всё ещё содержать локальные URL (пример: http://localhost или http://localhost:8888). Простая строковая замена в SQL может нарушить сериализованные записи. Рекомендуемые безопасные способы:

  • WP-CLI: выполните команду wp search-replace ‘http://localhost’ ‘https://ваш-домен.ru’ –skip-columns=guid –recurse-objects –all-tables
  • Скрипт для сериализованного поиска-замены (Interconnect/it Serialized Search Replace)
  • Плагин Better Search Replace (только если вы доверяете плагина и доступен админ)

Выберите WP-CLI, если у вас есть SSH-доступ: это быстрее и безопаснее для больших баз.

7. Проверка и отладка

  • Откройте сайт в браузере по домену. Проверьте главную страницу и несколько внутренних страниц.
  • Войдите в админ-панель /wp-admin.
  • Проверьте работу мультимедиа, меню, виджетов и форм — они часто завязаны на абсолютные URL.
  • Если появляются ошибки PHP, временно включите отображение ошибок в журнале, но оставьте WP_DEBUG=false в продакшене.

Если сайт не открывается — проверьте:

  • Параметры подключения к базе в wp-config.php
  • Наличие таблиц в базе
  • Права на файлы и папки
  • .htaccess (для ЧПУ) и модуль mod_rewrite

Контрольный список перед сменой DNS

  • Сохранена резервная копия локальной базы (dump.sql)
  • Сохранена резервная копия файлов (zip)
  • Создана база и пользователь на проде
  • Импорт SQL завершён без ошибок
  • В wp-config.php заданы корректные DB_*
  • Выполнен безопасный search-replace для URL
  • Тесты страниц и админ-панели пройдены
  • Права на файлы и папки настроены
  • SSL сертификат установлен или запланирован

Резервная копия и откат (Runbook)

Если что-то пошло не так, последовательность действий для отката:

  1. Переименуйте текущую папку public_html в public_html_bad завися от хостинга.
  2. Восстановите ZIP с резервной копией или загрузите локальную копию файлов.
  3. Замените базу на резервную копию SQL (удалите таблицы и импортируйте старый дамп) или восстановите из бэкапа на хостинге.
  4. Верните прежнее wp-config.php с рабочими настройками.
  5. Очистите кэш сервера и браузера и проверьте сайт.

Критерии приёмки

  • Главная страница загружается по HTTPS без ошибок.
  • Вход в /wp-admin успешен с корректным отображением текущего контента.
  • Медиафайлы доступны и отображаются на страницах.
  • Меню и виджеты работают как на локальном варианте.
  • Формы и пользовательские скрипты проходят минимум базовых тестов.

Безопасность и доводка после переноса

  • Установите правильные права: папки 755, файлы 644, wp-config.php 600 (если позволяет хостинг).
  • Отключите отображение ошибок: define(‘WP_DEBUG’, false).
  • Проверьте и обновите ключи безопасности в wp-config.php (AUTH_KEY и другие). Их можно сгенерировать на официальном генераторе ключей.
  • Установите SSL (Let’s Encrypt или платный сертификат) и перенаправление на HTTPS.
  • Ограничьте доступ к /wp-admin по IP, если это возможно.

Частые проблемы и способы их решения

  • Ошибка «Error establishing a database connection»: проверьте DB_NAME, DB_USER, DB_PASSWORD и DB_HOST.
  • Белая страница (White screen of death): включите журналирование ошибок, проверьте память PHP и деактивируйте плагины вручную.
  • Изображения не отображаются: проверьте правильность путей в базе и права на папку wp-content/uploads.
  • Перелинковка ведёт на localhost: выполните корректный search-replace с учётом сериализованных строк.

Альтернативные подходы

  • Плагины миграции (Duplicator, All-in-One WP Migration) автоматизируют процесс, но не всегда подходят для больших сайтов или специфических хостингов.
  • Использование WP-CLI и SFTP/SSH даёт максимальный контроль и подходит для больших объёмов.
  • Создание staging-окружения на хостинге для предварительной проверки перед переключением DNS.

Роли и задачи (кто за что отвечает)

  • Разработчик: экспорт/импорт базы, корректный search-replace, загрузка файлов.
  • Девопс/админ хостинга: создание базы, настройка прав, SSL, доступ SSH.
  • Тестировщик/владелец продукта: проверка функциональности, форм, медиа и SEO.

Краткий словарь

  • wp-config.php — конфигурационный файл WordPress с параметрами подключения к базе и основными константами.
  • phpMyAdmin — веб-интерфейс для работы с MySQL/MariaDB.
  • Сериализация — способ хранения сложных данных (массивов/объектов) в строке; простая замена в таких строках может нарушить данные.

Фактбокс

  • Резервная копия — первейший шаг перед любыми изменениями.
  • Для больших дампов используйте SSH/CLI, а не веб-интерфейс.
  • Всегда проверяйте сериализованные поля при изменении URL.

Заключение

Ручная миграция WordPress требует аккуратности, но даёт полный контроль над процессом. После нескольких повторений последовательность становится рутинной. Для небольших сайтов этот способ прост и эффективен. Для крупных проектов рассмотрите использование WP-CLI, SSH и staging-среды.

Важно: сохраняйте резервные копии до и после каждого крупного шага, проверяйте сериализованные поля и убедитесь, что у вас есть план отката.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро