Клонирование WordPress на поддомен для безопасного тестирования

Копирование живого сайта WordPress на поддомен — простой и безопасный способ протестировать обновления, плагины и дизайн без риска вывести продакшн из строя. Ниже — подробная последовательность действий, рекомендации по проверкам и несколько альтернативных подходов, чтобы вы могли выбрать метод, который подходит вашей команде.
Зачем нужен поддомен для тестирования
Поддомен — это отдельный адрес вида test.example.com, который размещается рядом с основным сайтом, но логически отделён от него. Преимущества:
- Изоляция: любые ошибки не влияют на основной сайт.
- Удобство доступа: команда и заказчики могут проверять изменения онлайн.
- Экономия ресурсов: обычно не нужно покупать новый хостинг.
Важно: не оставляйте тестовый сайт открытым для поисковых систем. Закройте индексацию и доступ через базовую авторизацию или пароль.
Шаг 1: Создание поддомена
- Войдите в панель хостинга (например, cPanel).
- Перейдите в раздел Domains -> Subdomains.
- Введите имя поддомена (например, staging или test) и нажмите Create.
Примечание: Многие хостинги позволяют создавать неограниченное число поддоменов. Для корпоративных сайтов согласуйте имя с командой и системой деплоя.
Шаг 2: Копирование файлов сайта
Есть два основных способа получить файлы сайта:
- Через FTP/SFTP (рекомендуется для больших сайтов).
- Через файловый менеджер в панели управления (быстро и удобно).
Рекомендуемый FTP-клиент — FileZilla (бесплатный, простой). Подключитесь с данными, предоставленными хостером (host, username, password, port). В левой панели — локальные файлы, в правой — файлы сайта. Скачайте содержимое public_html (или корня сайта) в локальную папку.
Через cPanel: Files -> File Manager -> public_html. В настройках включите “Show hidden files”.
Выделите все файлы, кроме cgi-bin, нажмите Copy и укажите путь в папке поддомена (обычно publichtml/имяподдомена). Это создаст зеркальную копию файлов на сервере.
Совет: если сайт большой, используйте архивирование на сервере (создайте zip в File Manager), скачайте архив и распакуйте в папке поддомена — так процесс быстрее и менее чувствителен к прерываниям.
Шаг 3: Экспорт и импорт базы данных
База данных хранит содержимое, настройки и связи внутри WordPress. Процесс клонирования базы:
В cPanel перейдите в Databases -> MySQL Databases.
Создайте новую базу и нового пользователя с паролем. Назначьте пользователя базе с правами ALL PRIVILEGES.
Откройте phpMyAdmin -> выберите старую базу -> Export -> Quick -> SQL. Скачайте файл .sql.
В phpMyAdmin выберите новую базу -> Import -> загрузите .sql файл и запустите импорт.
Если экспорт выдает ошибки по объему, используйте архивирование SQL (gzip) или экспортуйте по таблицам.
Шаг 4: Изменение настроек в wp-config.php
В корне файлов сайта найдите wp-config.php и обновите данные подключения к новой базе:
define('DB_NAME', 'new_database_name');
define('DB_USER', 'new_db_user');
define('DB_PASSWORD', 'new_password');
define('DB_HOST', 'localhost');Сохраните файл и убедитесь, что сайт под поддоменом загружается — возможно, появится ошибка базы данных до выполнения следующего шага.
Шаг 5: Обновление URL в базе данных
WordPress хранит абсолютные URL в базе (например, в таблицах wp_options, wp_posts, wp_postmeta). Неправильные ссылки приведут к загрузке ресурсов с продакшн-сайта или к неработающим ссылкам.
Рекомендации:
- Используйте плагин WP Migrate DB (бесплатная версия для поиска и замены URL). Или Duplicator/All-in-One WP Migration для полного клонирования.
- В WP Migrate DB: Tools -> Migrate DB -> Custom Find & Replace. В поле Find введите //oldsite.com, в Replace — //staging.example.com, затем выполните экспорт и импорт.
Альтернатива для продвинутых: выполнить search-replace через WP-CLI:
wp search-replace 'https://example.com' 'https://staging.example.com' --skip-columns=guidВажно: делайте резервную копию базы перед массовой заменой.
Две альтернативы ручному способу
Вариант 1: Встроенный staging от хостинга
Если хостинг поддерживает staging (Softaculous/Installatron или собственный менеджер), процесс сводится к нескольким кликам:
- Создайте поддомен.
- В разделе WordPress Manager by Softaculous выберите сайт -> Staging.
- Укажите поддомен и запустите процесс.
Преимущества: автоматизация, минимальный риск ошибок, часто встроенная синхронизация обратно в продакшн.
Вариант 2: Плагины для клонирования
Популярные плагины: Duplicator, All-in-One WP Migration, WP Staging. Они позволяют:
- Создать пакет сайта (файлы + база).
- Развернуть пакет на поддомене.
Минусы: некоторые функции доступны только в премиум-версиях; большие сайты могут требовать платного хостинга или командной работы.
Проверки и тесты после клонирования
Критерии приёмки:
- Сайт на поддомене загружается без ошибок.
- Внешние запросы (оплата, почта) либо отключены, либо перенаправлены на тестовый режим.
- Изображения и медиа отображаются корректно.
- Линки внутри сайта ведут на поддомен, а не на продакшн.
- Поисковые системы запрещены (robots.txt и meta robots noindex).
Тестовые сценарии:
- Открыть главную страницу — проверить 200 OK.
- Зайти в пару записей/страниц — проверить отображение изображений.
- Выполнить поиск по сайту — убедиться в корректных результатах.
- Протестировать форму обратной связи — убедиться, что письма идут в тестовый ящик.
- Тестировать обновления плагинов и темы на поддомене.
Ролевые чек-листы
Разработчик:
- Проверил работу основных функций (CRUD для постов).
- Провёл поиск и замену URL.
- Убедился в работоспособности кеша и правил .htaccess.
Системный администратор:
- Создал поддомен и права доступа.
- Настроил базовую авторизацию (HTTP auth) для защиты.
- Проверил права на файлы и безопасность.
Контент-менеджер:
- Проверил отображение медиа и форматирование.
- Убедился, что виджеты и меню работают корректно.
Мини-методология клонирования (шаги для SOP)
- Создать поддомен и директорию.
- Создать новую базу данных и пользователя.
- Сделать полную резервную копию продакшна (файлы + база).
- Скопировать файлы на поддомен (через FTP или File Manager).
- Экспортировать и импортировать базу через phpMyAdmin или WP-CLI.
- Обновить wp-config.php.
- Выполнить поиск и замену URL.
- Закрыть доступ для поисковых систем.
- Пройти чек-лист тестирования.
- Документировать изменения в issue-tracker.
Сравнение подходов
| Метод | Сложность | Скорость | Контроль | Подходит для |
|---|---|---|---|---|
| Ручной (FTP + phpMyAdmin) | Средняя | Средняя | Высокий | Малые и средние сайты, полный контроль |
| Хостинг staging | Низкая | Быстрая | Ограниченный | Быстрая проверка, хостинг поддерживает |
| Плагин (Duplicator) | Низкая | Средняя | Средний | Пользователи без доступа к хостингу |
| WP-CLI | Высокая | Быстрая | Высокий | Администраторы серверов, автоматизация |
Меры безопасности и конфиденциальности
- Отключите индексацию: в админке WordPress Settings -> Reading -> Discourage search engines.
- Добавьте HTTP Basic Auth на поддомен или защитите через VPN для команды.
- Отключите платежные шлюзы или переключите в тестовый режим.
- Если вы работаете с персональными данными, убедитесь в соответствии GDPR/локальным законам: используйте обезличивание данных или работайте с копией, где личная информация заменена тестовыми значениями.
Критерии приёмки
- Все ссылки и ресурсы указывают на поддомен.
- Нет видимых ошибок в PHP/JS консоли.
- Основные бизнес-процессы (публикация, регистрация, поиск) работают.
- Тестовая среда защищена от публичного доступа.
Частые проблемы и как их решать
- Белый экран или ошибка соединения с базой — проверьте wp-config.php и креды базы.
- Ссылки ведут на продакшн — выполните поиск и замену URL или используйте WP-CLI.
- Большой размер базы — экспортируйте частями или используйте компрессию.
- Плагин кэширования мешает — очистите кэш и временно отключите плагин.
Шаблон задач для тикета при клонировании
Название: Клонирование сайта на staging.example.com
Описание:
- Создать поддомен staging.example.com
- Скопировать файлы в public_html/staging
- Создать базу staging_db и пользователя staging_user
- Экспорт/import базы, заменить URL
- Обновить wp-config.php
- Защитить поддомен HTTP auth
- Провести тесты по чек-листу
Короткое объявление для команды (100–200 слов)
Мы создаём staging-сайт для безопасного тестирования обновлений и плагинов. Поддомен staging.example.com будет зеркалом текущего сайта: файлы и база данных будут скопированы, а URL заменены. Сайт будет защищён базовой авторизацией и закрыт для индексации. Пожалуйста, используйте staging для установки и тестирования любых изменений перед публикацией на продакшене. После завершения работ мы синхронизируем изменения и задокументируем релиз.
1‑строчный глоссарий
- Поддомен — отдельный адрес вида sub.example.com, изолированный от основного домена.
- FTP/SFTP — протоколы для передачи файлов между локальной машиной и сервером.
- phpMyAdmin — веб-интерфейс для управления MySQL базами.
- WP-CLI — интерфейс командной строки для управления WordPress.
Итог и рекомендации
Создание копии сайта на поддомене — обязательная практика при внесении изменений в WordPress. Выберите метод в зависимости от размера сайта и уровня доступа: ручной для полного контроля, staging от хостинга для скорости, плагины для удобства. Всегда делайте резервные копии перед любыми операциями и защищайте тестовый сайт от посторонних.
Важно: документируйте все шаги и храните доступы в менеджере паролей. Это упростит повторяемость и уменьшит риск ошибок при следующих клонированиях.
Похожие материалы
Как создать и использовать аватар в Instagram
Developer-бета iOS 17, iPadOS 17, watchOS 10, macOS
Взлом Wi‑Fi: методы и защита
Суммирование в Google Sheets — числа, ячейки, матрицы
Разблокировка iPhone с Apple Watch