В наше время мобильные устройства стали неотъемлемой частью повседневной жизни людей. Они используются для поиска информации, покупок, общения и многих других целей. Поэтому очень важно иметь адаптивный и удобный для использования сайт на смартфонах.
Разберём вашу задачу и предложим решение: что делать в первую очередь, сколько это займёт и во что обойдётся.
Проектирование интерфейсовЧто такое мобильный UX?
Мобильный пользовательский опыт (UX) - это способность пользователя комфортно взаимодействовать с вашим веб-сайтом на мобильном устройстве. Хороший мобильный UX обеспечивает удобство использования, быструю навигацию и приятный внешний вид сайта на маленьких экранах.
Адаптивный дизайн
Один из ключевых аспектов создания мобильного UX - это адаптивный дизайн. Адаптивность означает, что ваш сайт должен автоматически изменяться и приспосабливаться к разным размерам экранов мобильных устройств. Это позволяет пользователям легко читать содержимое и взаимодействовать с сайтом, не прибегая к зумированию или горизонтальной прокрутке.
Расположение элементов
Правильное расположение элементов на странице также играет важную роль в создании удобного мобильного UX. Важные элементы, такие как кнопки вызова действий (CTA), поиск и меню, должны быть размещены таким образом, чтобы они были легко доступными для пользователей одним пальцем без необходимости сильно двигать руку.
Оптимизация скорости загрузки
Быстрая загрузка страницы - еще один фактор, который влияет на мобильный UX. Медленно загружающиеся страницы могут вызывать раздражение у пользователей и приводить к потере посетителей. Чтобы оптимизировать скорость загрузки, уменьшите размер изображений, минимизируйте использование скриптов и стилей, а также используйте кэширование.
Тестирование на разных устройствах
Важно тестировать ваш сайт на различных устройствах перед его запуском. Это поможет выявить возможные проблемы с отображением и функциональностью на разных экранах. Используйте инструменты для эмуляции мобильных устройств или просто проверьте сайт на реальных смартфонах.
Три способа обслужить телефон
Заявки с мобильных приходят не только в розницу: на сайтах, которые мы ведём, доля посещений с телефонов держится в районе двух третей, в том числе у производственных компаний и страниц услуг. Поэтому вопрос не в том, делать ли мобильную версию, а в том, каким способом и насколько аккуратно.
- Адаптивная вёрстка. Один адрес, один HTML, стили переключаются медиавыражениями. Правки делаются в одном месте, поисковые системы индексируют один документ. Этот вариант мы рекомендуем по умолчанию.
- Отдельная мобильная версия на поддомене вида m.site.ru. Каждую правку контента приходится дублировать, и рано или поздно версии расходятся.
- Динамическая выдача. Адрес один, но сервер по User-Agent отдаёт разную разметку. Нужны корректный заголовок Vary и аккуратное кеширование, иначе посетитель получит из кеша чужую версию.
Брейкпоинты от контента и mobile first
Распространённая ошибка — сначала выбрать «стандартные» ширины, а потом втискивать в них блоки. Правильнее наоборот: растягивать окно браузера от 320 px вверх и отмечать точки, где что-то выглядит плохо — заголовок разваливается на пять строк, колонки становятся слишком узкими, таблица уходит за край. Эти точки и становятся медиавыражениями. Обычно их 4–6, и они близки к привычным 576, 768, 1024 и 1280 px, но совпадение не обязательно.
Мобильную ширину верстаем первой: базовые стили описывают одноколоночный вид, а медиавыражения с min-width добавляют колонки по мере роста экрана. Добавлять сложность проще, чем отменять уже написанные десктопные правила.
Сетка и типографика
- CSS Grid с repeat(auto-fit, minmax(280px, 1fr)) раскладывает карточки по ширине контейнера без единого медиавыражения.
- Flexbox с flex-wrap решает ту же задачу для строк из элементов разной ширины: фильтров, тегов, кнопок.
- clamp() задаёт размер шрифта и отступов с нижней границей, плавным ростом и верхним пределом — например, clamp(28px, 4vw, 48px).
- Container queries нужны, когда блок должен реагировать на ширину своего контейнера, а не окна: карточка живёт и в узкой колонке, и во всю ширину.
Основной текст на мобильном — не мельче 16 px: иначе iOS сам масштабирует страницу при фокусе в поле ввода. Длина строки в читаемом тексте — примерно 60–75 символов, и задаётся она ограничением ширины блока, а не уменьшением кегля. И строка, без которой всё остальное бессмысленно: мета-тег viewport со значением width=device-width, initial-scale=1. Без него браузер телефона рисует страницу как десктопную и уменьшает её целиком.
Что проверять на каждой ширине
| Ширина экрана | Устройство | Что смотрим | Частая поломка |
|---|---|---|---|
| 320–374 px | Старые и компактные телефоны | Ничего не выходит за край, кнопки не наезжают друг на друга | Горизонтальная прокрутка из-за широкой картинки или длинного слова |
| 375–575 px | Основная масса смартфонов | Меню, форма заявки, карточка товара, телефон в шапке | Фиксированная шапка перекрывает первый экран |
| 576–767 px | Крупные телефоны, узкие окна | Переход с одной колонки на две, таблицы | Таблица прайса ломает вёрстку вместо прокрутки внутри блока |
| 768–1023 px | Планшеты вертикально | Промежуточное меню, отступы, зоны нажатия | Выпадающее меню по наведению не открывается тапом |
| 1024–1279 px | Планшет в альбоме, ноутбуки | Первый экран целиком, боковая колонка | Кнопка первого экрана уходит ниже сгиба |
| 1280 px и шире | Мониторы | Максимальная ширина контейнера | Текст растянут во всю ширину и не читается |
Изображения под мобильный экран
Картинки — главный источник лишнего веса: незачем отдавать телефону файл шириной 2000 px, если он отрисуется в 360 px.
- Готовим несколько размеров и подключаем через srcset и sizes — браузер сам выберет подходящий по ширине и плотности пикселей.
- Отдаём WebP или AVIF с запасным JPEG через picture и source.
- Ставим loading="lazy" и decoding="async" всему, что ниже первого экрана. Картинке первого экрана ленивую загрузку не ставим.
- Прописываем ширину и высоту или aspect-ratio, чтобы страница не прыгала при догрузке — это метрика CLS в Core Web Vitals.
- Логотипы и иконки держим в SVG.
Отдельно проверяем фоновые картинки из CSS: они проходят мимо srcset и часто оказываются самым тяжёлым файлом на странице.
Сенсорное управление и формы
Всё, что открывается по наведению, на тапе либо не работает, либо срабатывает со второго касания. Выпадающие меню и подсказки переводим на клик или оборачиваем в @media (hover: hover) с отдельным поведением для сенсорных экранов. Зона нажатия — не меньше 44–48 px по обеим сторонам, с зазором между соседними ссылками. Полям форм задаём правильные type и inputmode: телефон вызывает цифровую клавиатуру, почта — клавиатуру с символом собаки, и опечаток в заявках становится меньше.
Горизонтальную прокрутку часто «лечат» правилом overflow-x: hidden у html и body. Полоса пропадает, но ломаются прилипающие элементы. Аккуратнее работает overflow-x: clip, а правильнее — найти блок, который вылезает за край, и починить его.
Как проверять, кроме эмулятора
- Плавно растянуть окно от 320 px до максимума: поломки находятся между брейкпоинтами, а не на них.
- Открыть сайт минимум на одном iPhone и одном Android: Safari и Chrome по-разному ведут себя с высотой экрана и фиксированными элементами.
- Повернуть телефон: первый экран высотой 100vh в альбомной ориентации часто превращается в пустоту.
- Заполнить форму с открытой клавиатурой и убедиться, что она не перекрывает поле.
- Замерить PageSpeed Insights и Lighthouse отдельно для мобильной вкладки.
- Увеличить страницу до 200 процентов: запрет масштабирования через user-scalable=no мы не ставим.
Чаще всего находится одно и то же: адаптирована главная, но не карточка товара, статья или страница благодарности; формы и всплывающие окна не попали в проверку, и заявку с телефона отправить нельзя; таблицы оставлены как есть вместо обёртки с прокруткой или перестроения в карточки; телефон грузит те же мегабайты, что и десктоп. Почти всё это правится точечно, без переделки сайта. Если адаптивность собрана наполовину, начинаем с разбора по этим пунктам — создание адаптивного сайта или доработка текущего.
Заключение
Создание адаптивного и удобного для использования сайта на смартфонах - это важный шаг для повышения мобильного UX. Учтите все вышеупомянутые факторы, чтобы обеспечить лучший пользовательский опыт и удовлетворенность ваших посетителей.
На проекте это отдельный этап: проектирование интерфейсов — сценарии, прототипы и проверка на живых пользователях.
Отдельно разбираем продвижение мобильной версии сайта — что входит в работу, как замеряем скорость на телефоне и по каким показателям считаем результат.











