Сайт не открывается после переезда на другой хостинг: что проверить
В октябре 2026 года мы перенесли два сайта на новый хостинг. Один открылся сразу. Второй — наш собственный design-msk.ru — встретил пустой страницей с ошибкой HTTP 500. Файлы те же, что и вчера, а сайт лежит. Ниже — как мы нашли причину за несколько минут и что стоит проверить при любом переезде.
Что случилось с нашим сайтом
Сайт написан на PHP без CMS и базы данных. При переезде мы скопировали файлы, переключили домен и открыли главную — ошибка 500. Внутренние страницы — тоже 500. При этом второй сайт, перенесённый в тот же день на тот же хостинг, работал.
Причина оказалась простой: новый хостинг по умолчанию включил для сайта PHP 5.3 — версию, поддержка которой закончилась в 2014 году. Код сайта использует возможности PHP 7 и новее, и старый интерпретатор просто не смог его прочитать. Второй сайт был написан в более старом стиле, поэтому на 5.3 и запустился. Переключили версию в панели хостинга на PHP 8 — сайт открылся.
Переезд показал и две скрытые проблемы, которые на старом хостинге себя не проявляли:
- Счётчик посещений мог уронить весь сайт. Он писал лог в папку
logs/и не проверял, получилось ли открыть файл. На PHP 7 это давало бы только предупреждение, на PHP 8 — фатальную ошибку и снова 500, если папки нет или в неё нельзя писать. Переписали так, чтобы при проблеме с логом сайт продолжал работать. - Не доехала карта сайта. Файл
sitemap.xmlне попал на новый сервер, а ссылка на него стоит в robots.txt и в Яндекс Вебмастере. Поисковик получал вместо карты 404, пока мы не заметили.
Диагностика за 10 минут
Ошибка 500 сама по себе ничего не говорит — она значит «на сервере что-то сломалось». Задача — быстро сузить круг. Мы проверяли в таком порядке:
- Открывается ли статика. Откройте в браузере
/robots.txtи файл стилей, например/css/style.css. Если они тоже отдают 500 — проблема в настройках сервера или в.htaccess: хостинг не принимает какую-то директиву. Если открываются — сервер и.htaccessв порядке, ломается PHP. - Работает ли PHP вообще. Откройте любой простой PHP-файл сайта, который ничего не выводит, — у нас это был файл с ценами. Пустая страница с кодом 200 значит, что PHP запускается, а падает конкретный код сайта.
- Какая версия PHP включена. Посмотрите в панели хостинга. Если версия ниже той, под которую писался сайт, — скорее всего, причина здесь. Наш случай решился именно на этом шаге.
- Что в журнале ошибок. У большинства хостингов он есть в панели или в виде файла
error_logв папке сайта. Там будет точная строка и файл, на котором падает код.
Важно: не включайте показ ошибок на работающем сайте «на минутку» — посетители и поисковики увидят пути к файлам. Смотрите журнал ошибок или делайте временный диагностический файл и сразу удаляйте его.
Частые причины поломки после переезда
- Другая версия PHP. Самая частая причина. Старый код может не работать на новом PHP, новый — на старом. Перед переездом узнайте, какая версия стоит сейчас, и включите такую же или проверенную более новую.
- Нет нужных расширений PHP. Например, mbstring для работы с русским текстом или модуль для изображений. На старом хостинге они были включены, на новом — нет.
- Не скопировался
.htaccess. Файлы, начинающиеся с точки, многие FTP-клиенты по умолчанию скрывают и не копируют. Без.htaccessперестают работать адреса страниц, редиректы и защита папок. - Хостинг не принимает директивы из
.htaccess. Например,php_valueилиOptions. Тогда 500 отдают вообще все адреса, включая картинки. - Регистр в именах файлов. На серверах Linux
Logsиlogs— разные папки. Если файлы скачали на Windows и залили обратно, имена могли поменяться, и код перестанет их находить. - Права на запись. Папки для логов, кеша и загрузок должны быть доступны сайту на запись. После копирования права часто сбрасываются.
- Не все файлы доехали. Особенно те, которые сайт создаёт сам: карта сайта, кеш, логи. Их легко исключить из копии и забыть.
Чек-лист переезда
До переезда:
- Запишите версию PHP и список расширений на старом хостинге.
- Сделайте полную копию файлов вместе со скрытыми и базу данных, если она есть.
- Проверьте, где настроена почта домена: если на старом хостинге, её тоже нужно перенести, иначе письма перестанут приходить.
- Уменьшите время жизни DNS-записей заранее, чтобы домен переключился быстрее.
Сразу после переезда:
- Выставьте нужную версию PHP в панели нового хостинга до переключения домена.
- Откройте главную, несколько внутренних страниц, robots.txt и sitemap.xml — все должны отдавать код 200.
- Отправьте тестовую заявку через каждую форму на сайте и проверьте, что письмо пришло.
- Проверьте SSL-сертификат и редирект с http на https.
- Загляните в журнал ошибок: даже если сайт открывается, там могут быть предупреждения, которые сломают его при следующем обновлении PHP.
- В Яндекс Вебмастере проверьте, что карта сайта читается и нет новых ошибок в разделе «Диагностика».
Если после переезда сайт отдаёт ошибку 500, сначала проверьте, открываются ли статичные файлы, затем — работает ли PHP и какая версия включена. В большинстве случаев причина в другой версии PHP, недостающих расширениях или потерянном .htaccess. Чек-лист выше занимает полчаса и избавляет от вечера поисков причины.
Переезжаете или сайт уже не открывается? Мы берём сайты на техническую поддержку и проводим переезды на другой хостинг.