CDN для сайта автоателье — картинки быстрее, Google доволен
На сайте автоателье — десятки фото работ. Перетяжка салонов, шумоизоляция, детейлинг. Каждая страница услуги — 5-10 снимков в высоком качестве. Все они лежали на том же VPS, что и сам сайт.
Задача
Сайт на Next.js. Картинок много, сервер один — в одном дата-центре. Пользователь в Новосибирске открывает страницу, и каждая фотография летит из Москвы. PageSpeed ругался на загрузку изображений. Решил это починить.
Что было
- Все картинки на том же VPS, что и сайт
- Сервер в одном дата-центре — далёким пользователям медленно
- PageSpeed подсвечивал проблемы с изображениями
- Никакого кеширования — каждый запрос напрямую к серверу
Что сделали
1. S3-хранилище
Перенёс все изображения в облачное хранилище Beget S3. Картинки теперь живут отдельно от сервера — VPS разгружен, можно менять хостинг не трогая медиа.
2. CDN поверх S3
Включил Beget CDN поверх хранилища. Сеть серверов по стране — картинка отдаётся с ближайшего узла. Пользователь в Новосибирске получает фото не из Москвы, а из Новосибирска.
3. Код сайта
Написал функцию cdnImage() — она подставляет CDN-домен для всех картинок. Обновил компоненты: блог, страницы услуг, главную. Если CDN-адрес не задан в переменных окружения — сайт работает напрямую с сервера. Переключение — одна строчка в .env.
Результат
Картинки отдаются с ближайшего узла CDN. Сервер больше не тратит ресурсы на раздачу статики. А главное — это напрямую влияет на SEO.
Зачем это для SEO
Клиент спросил — зачем вообще CDN, если сайт и так работает? Объясняю.
Google использует Core Web Vitals как фактор ранжирования. Три метрики: LCP, INP, CLS. Для сайта с большими фотографиями критична первая — LCP (Largest Contentful Paint). Это время до отрисовки самого крупного элемента на экране. Обычно это фото. CDN сокращает доставку картинки — LCP падает.
Дальше — поведенческие факторы. Страница грузится быстро — пользователь не уходит. Меньше отказов — лучше позиции. На мобильном разница заметнее, а Google индексирует мобильную версию первой.
Короче: CDN — это не техническая блажь. Это прямое влияние на то, где сайт стоит в поиске.
Хотите так же?
Напишите @eldarmarketing — обсудим вашу задачу.