Если сайт нормально открывается на компьютере, но «ломается» или вообще не грузится на телефоне — дело почти всегда в одном из трёх мест: адаптивной вёрстке, отдельном мобильном поддомене (m.site.ru) или кэше на стороне пользователя. Проверять нужно именно в этом порядке.
Как быстро найти причину
- Откройте сайт в режиме инкогнито на телефоне — если проблема пропала, дело в кэше или куках браузера.
- Проверьте, есть ли у сайта отдельный мобильный поддомен (например m.example.ru) — иногда он живёт своей жизнью и падает отдельно от основного сайта.
- Откройте инструменты разработчика в десктопном браузере (F12), включите эмуляцию мобильного устройства и посмотрите вкладку Console — там обычно видны ошибки JS или незагруженные файлы стилей.
- Проверьте медиа-запросы (@media) в CSS — если на сайте нет адаптивной вёрстки вовсе, мобильная версия не «не работает», а просто отсутствует как класс.
Почему верстка едет именно на мобильных
Чаще всего виноваты: фиксированная ширина блоков в пикселях вместо процентов или vw/vh, отсутствие мета-тега viewport в head, слишком тяжёлые изображения без версий под маленький экран (из-за чего страница просто не успевает догрузиться на мобильном интернете), либо конфликт JS-скриптов, которые по-разному ведут себя touch-событиями вместо click.
Что делать, если это WordPress или другая CMS
- Отключите мобильные плагины по одному и проверяйте результат — часто конфликт дают именно они, а не тема.
- Проверьте, не подключена ли отдельная мобильная тема или AMP-модуль, который давно не обновлялся.
- Сбросьте кэш плагинов кэширования (WP Rocket, W3 Total Cache и т.п.) отдельно для мобильной версии — у некоторых из них кэш для десктопа и мобилок хранится раздельно.
Если после всех проверок сайт по-прежнему не открывается с телефона, но открывается с компьютера — с высокой вероятностью проблема на стороне мобильного оператора или DNS, а не самого сайта: попробуйте открыть страницу через мобильный интернет другого оператора или через Wi-Fi.
Если ни один из пунктов не помог, стоит посмотреть логи веб-сервера за момент обращения с мобильного устройства — там будет виден код ответа (200, 404, 500) и станет понятно, отдаёт ли сервер контент вообще или проблема чисто на стороне отображения в браузере.