Для склейки поддоменов используйте 301 (Moved Permanently). 307 — неправильный выбор для этой задачи.
Разница между 301 и 307
301 — постоянный редирект: «Эта страница переехала навсегда, обновите свои записи». Поисковики передают ссылочный вес, обновляют индекс.
307 — временный редирект: «Страница временно по другому адресу, скоро вернётся». Поисковики НЕ передают вес и сохраняют старый URL в индексе.
Почему 301 — единственный правильный вариант для склейки
- Google передаёт ~95% ссылочного веса через 301 (с 2016 года — 100%, по заявлению Google)
- Яндекс склеивает домены только через 301. При 307 — считает сайты отдельными
- 307 не обновит URL в индексе — старые страницы останутся в выдаче
Когда использовать 307
- Временные технические работы (сайт на обслуживании)
- A/B-тестирование (пользователь видит другую версию, но URL должен остаться в индексе)
- Географические редиректы (пользователь из другой страны → локальная версия)
Частая ошибка
302 вместо 301. Многие CMS и серверы по умолчанию отдают 302 (Found). Проверьте через DevTools → Network → статус-код. Если видите 302 при склейке — исправьте на 301.
На практике рекомендую сначала проверить структуру поддоменов через инструменты вроде Screaming Frog или Netpeak Spider — важно убедиться, что все технические дубли (с www/без www, http/https) тоже склеены через 301. Лично столкнулся с ситуацией, когда клиент использовал цепочку из 307 → 302 → 301, и Яндексу потребовалось 3 месяца на переиндексацию из-за такой «матрешки».
Для массовых редиректов удобно использовать шаблоны в .htaccess (Apache) или конфиге Nginx — например, склеить все поддомены example.com → example.ru одной строкой. Но помните: если поддомены были отдельными проектами, подготовьте перелинковку и обновление внутренних ссылок, иначе часть трафика может «просесть» во время переходного периода (обычно 2-4 недели в Google).