Создание поддомена для WordPress: грабли на которые я наступил
Понадобилось мне сделать поддомен для тестовой версии сайта. Думал, дело на 5 минут. Захожу в панель хостинга, создаю поддомен, указываю папку. Вроде всё. Захожу по адресу — пустая страница. Чёрт.
Оказалось, для поддомена нужно отдельно настроить nginx. На FastPanel (а у меня она) поддомены создаются в разделе «Сайты». Добавил запись, указал корневую папку, и через пару минут поддомен заработал.
Но если делаете поддомен для WordPress — есть нюанс. Нужно создать отдельную базу данных и отдельную установку WordPress. Нельзя просто скопировать файлы в папку поддомена — база будет та же, и всё сломается.
Я для тестовой версии поставил свежий WordPress с нуля, импортировал посты через плагин. Всё работает, можно править шаблон не боясь сломать основной сайт.
Ещё вариант: использую поддомен для статической версии блога. Сгенерировал HTML через Simply Static и залил на поддомен. Получился сайт, который грузится за 0.05с.
Больше статей про WordPress — от установки до продвижения — я собрал в сводном гайде.
Расскажу подробнее, как я создавал поддомен для тестовой версии сайта и на какие грабли наступил. Понадобилось мне сделать поддомен для тестовой версии сайта. Думал, дело на пять минут: зашёл, создал, готово. Как же я ошибался. Создание поддомена оказалось задачей с подводными камнями, особенно если вы работаете с WordPress. Поделюсь опытом, чтобы вы не наступали на те же грабли.
Итак, задача: мне нужна была тестовая площадка, где можно экспериментировать с темой и настройками, не рискуя основным сайтом. Логичное решение — поддомен вроде test.mysurik.ru. Я думал, что это элементарно: захожу в панель хостинга, создаю поддомен, указываю папку. Вроде всё. Но когда я зашёл по адресу — увидел пустую страницу. Чёрт. Поддомен создался, но не работал. Пришлось разбираться, почему.
Оказалось, для поддомена нужно отдельно настроить веб-сервер. На моём хостинге FastPanel поддомены создаются в разделе «Сайты». Я думал, что достаточно записать DNS-запись, но нет: нужно было добавить поддомен как отдельный сайт в панели, указать корневую папку и настроить веб-сервер. Я добавил запись, указал корневую папку, и через пару минут поддомен заработал. Урок: в панелях типа FastPanel поддомен — это отдельный «сайт», который нужно правильно настроить, а не просто DNS-запись.
Но главные грабли ждали меня дальше, когда дело дошло до WordPress. Если вы делаете поддомен для WordPress — есть нюанс, о котором я не подумал сразу. Нужно создать отдельную базу данных и отдельную установку WordPress. Нельзя просто скопировать файлы в папку поддомена — база будет та же, и всё сломается. Понимаете, WordPress хранит ссылки и настройки в базе. Если две установки используют одну базу — они конфликтуют, и сайт превращается в кашу. Я потратил время, чтобы это понять.
Для тестовой версии я поставил свежий WordPress с нуля в папку поддомена и создал для него отдельную базу данных. Потом импортировал посты через плагин. Всё работает: тестовая версия полностью независима от основного сайта. Я могу править шаблон, экспериментировать с настройками, тестировать плагины — и не бояться сломать основной сайт. Это именно то, что нужно для безопасной разработки. Отдельная база — залог того, что тестовая площадка не повредит боевому сайту.
Почему тестовая площадка так важна? Я раньше экспериментировал прямо на боевом сайте: менял шаблон, ставил плагины — и когда что-то ломалось, разбирался на глазах у читателей. Это было плохо: сломанный сайт — это упущенные посетители и негатив. Теперь всё иначе: сначала я всё проверяю на тестовом поддомене, убеждаюсь, что работает, и только потом переношу на основной сайт. Тестовая площадка — это безопасность и спокойствие. Она окупается при каждом эксперименте.
Ещё вариант использования поддомена, который я нашёл — статическая версия блога. Я сгенерировал HTML через плагин Simply Static и залил на поддомен. Получился статический сайт без PHP и базы данных, который грузится за 0.05 секунды. Статический сайт — это максимально быстрая версия, потому что ему не нужно ничего обрабатывать на сервере. Для определённых задач это отличный вариант: скорость на высоте. Я использую статический поддомен как ультрабыструю витрину контента.
Что я вынес из этой истории? Первое — поддомен в панели — это не просто DNS, а отдельный сайт, который нужно правильно настроить. Второе — для WordPress нужна отдельная база данных и отдельная установка, нельзя копировать файлы в общую базу. Третье — тестовая площадка на поддомене — это безопасный способ экспериментировать без риска для основного сайта. Четвёртое — поддомены можно использовать не только для тестов, но и для статических версий. Грабли превратились в полезные знания.
Если вам нужно сделать поддомен для тестов — мой совет: делайте всё правильно с первого раза. Создайте поддомен в панели как отдельный сайт, поставьте свежий WordPress, создайте отдельную базу данных, импортируйте контент. Не пытайтесь сэкономить время и просто скопировать файлы — это сломает всё. Правильный подход займёт час, но сэкономит вам дни отладки. Тестовая площадка — это инвестиция в ваше спокойствие. Сделайте её один раз — и пользуйтесь годами.
Подведу итог. Создание поддомена для WordPress — задача с граблями: настройка веб-сервера, отдельная база данных, отдельная установка. Я наступил на эти грабли и разобрался. Теперь у меня есть тестовая площадка, где я безопасно экспериментирую, и статическая версия, которая грузится за 0.05 секунды. Если вам нужен поддомен — настройте его правильно с первого раза, и он будет служить вам верой и правдой. Не бойтесь экспериментировать на тестовой площадке — для этого она и существует.
Расскажу ещё о деталях, которые стоит знать при работе с поддоменами. Первое — про SSL-сертификаты. Для каждого поддомена нужен свой SSL-сертификат. Хорошая новость: в современных панелях и через Let’s Encrypt сертификаты выдаются автоматически. Я настроил автопродление, и про SSL можно забыть. Но проверьте, что сертификат поддомена выпущен и работает: зайти по https:// поддомена. Без HTTPS поддомен будет пугать посетителей предупреждением браузера.
Второе — про DNS. Поддомен требует правильной DNS-записи: A-запись, указывающая на сервер. Обычно панели создают её автоматически при создании поддомена. Но если поддомен не работает, проверьте DNS в первую очередь: правильно ли указан адрес, не остались ли старые записи. Я как-то потратил время, а оказалось — старый кеш DNS показывал неверный адрес. DNS — это основа, проверяйте её первой.
Третье — про robots.txt. Для тестового поддомена обязательно закройте его от индексации. Добавьте в robots.txt запрет для всех поисковых роботов и установите мета-тег noindex. Иначе поисковики проиндексируют тестовую версию, и в выдаче появятся дубли. Я сразу закрыл тестовый поддомен от индексации. Тестовые страницы не должны попадать в поиск — это правило гигиены. Не пропускайте этот шаг.
Четвёртое — про ссылки в базе. Если вы импортируете контент на тестовый поддомен, ссылки внутри контента будут вести на основной сайт. Это нормально для теста, но может запутать. Я использовал плагин для замены ссылок на тестовые, чтобы проверить сайт целиком. Потом при переносе на основной — заменил обратно. Контроль ссылок — часть работы с тестовой площадкой. Помните о ссылках, и не будет сюрпризов.
Пятое — про скорость статической версии. Мой статический поддомен грузится за 0.05 секунды, и это не предел. Статика — это готовые HTML-файлы, которые сервер отдаёт без обработки. Такой скорости не достичь с динамическим WordPress. Для определённых задач статика — идеал. Но у неё есть минус: контент нужно перегенерировать после изменений. Я перегенерирую статику после каждой статьи. Это рутина, но скорость того стоит.
Ещё один момент — про кеширование на тестовой площадке. Для чистоты тестов я отключаю кеш на тестовом поддомене или использую отдельный кеш. Иначе можно протестировать закешированную версию и не увидеть реальной картины. Тесты должны быть честными. Я тестирую на тестовой площадке без кеша, а кеш проверяю отдельно. Так я вижу и реальную скорость, и работу кеша. Честное тестирование — точные выводы.
И про то, что поддомен — это не навсегда. Когда тестовый проект готов, я либо переношу его на основной сайт, либо удаляю. Не держите мусорные поддомены годами: они занимают ресурсы и могут протекать в поиск. Я держу только те поддомены, которые реально использую. Порядок в поддоменах — порядок в голове. Периодически проверяйте, что у вас есть, и удаляйте лишнее.
И несколько финальных мыслей. Первое — про бэкапы тестовой площадки. Тестовая площадка тоже требует бэкапов, особенно если вы много экспериментируете. Я делаю бэкап тестового поддомена перед важными изменениями. Если эксперимент провалился — откатываюсь. Бэкап тестовой площадки — это страховка для экспериментов. Не экономьте на защите даже тестовых данных.
Второе — про права доступа к тестовой площадке. Если над сайтом работает несколько человек, ограничьте доступ к тестовому поддомену. Можно поставить пароль на поддомен или ограничить доступ по IP. Тестовая площадка — это внутренняя кухня, она не для посторонних глаз. Я защищаю тестовый поддомен от чужих глаз. Защищённая тестовая площадка — меньше рисков и вопросов.
И третье — про документирование. Запишите, как настроен ваш поддомен: папка, база, адрес, пароли. Когда поддоменов станет несколько, без записей будет путаница. Я веду заметки по всем своим поддоменам. Пять минут записи — часы сэкономленного времени в будущем. Документируйте свою инфраструктуру, и она будет под контролем. Организованность — это профессионализм.
В итоге мой опыт с поддоменами можно свести к нескольким правилам: настройте поддомен как отдельный сайт, дайте WordPress отдельную базу, закройте тестовую площадку от индексации, защитите её паролем, делайте бэкапы и документируйте. Следуйте этим правилам — и поддомены будут работать без сюрпризов. Я прошёл путь от пустой страницы до отлаженной системы и делюсь им с вами. Удачи в настройке поддоменов!
И напоследок: тестовая площадка на поддомене — это подарок себе. Возможность экспериментировать без страха сломать основной сайт — бесценна. Сделайте её один раз, и каждый эксперимент будет приносить радость, а не страх. Именно так я работаю сейчас — спокойно и уверенно.