Кейсы

Кейсы из практики

Карточки клиентов на абонентке и попроектных задач: что было, что я сделал, какие получились метрики. Имена клиентов и домены обезличены, потому что NDA. Если узнаёте свою ситуацию, напишите, расскажу детали.

  • Иконка восстановления интернет-магазина после взлома: щит, очищение от вредоносного кода

    Восстановление интернет-магазина после взлома за 6 часов

    Анонимный клиент · OpenCart, ниша медтехники

    OpenCart-магазин с 800 SKU отдавал редиректы на казино со страниц товаров. За 6 часов нашли точку входа, восстановили чистую копию и закрыли уязвимость.

    • 23 минуты Время реакции
    • 6 часов Восстановление
    • 0 Потеряно заказов
    Подробности кейса Свернуть

    Задача

    Сайт начал редиректить с мобильных на казино, в Я.Вебмастере прилетело предупреждение «Опасный сайт». Бэкапы были, но недельной давности – за это время прошло ~200 заказов.

    Результат

    К вечеру того же дня сайт работал чисто, заказы за неделю собрали из старого бэкапа базы и логов почтовика. Через сутки Яндекс снял пометку. С тех пор подключили еженедельные внешние бэкапы и мониторинг – за полгода рецидивов не было.

    Это анонимизированная карточка кейса – реальные имена клиентов и доменов не публикуются. Если хотите детали или обсудить похожую задачу – напишите, расскажу подробнее под NDA.

    Кейсная страница в работе: добавлю разбор по шагам, какие команды использовали для поиска точки входа, как откатывали базу и как теперь устроен мониторинг.

  • Иконка переноса сайта ресторана с Joomla на WordPress

    Перенос сайта ресторана с Joomla 1.5 на WordPress

    Анонимный клиент · сеть из 3 ресторанов в СПб

    Сайт на Joomla 1.5 не обновлялся 11 лет, упирался в PHP 7 на хостинге, который убрали. Перенёс структуру и контент на WordPress за 4 рабочих дня без потери позиций в выдаче.

    • 240 Страниц перенесено
    • 4 дня Срок
    • 0% Просадка трафика
    Подробности кейса Свернуть

    Задача

    Хостер прислал письмо: PHP 5.6 отключают через месяц. Сайт на Joomla 1.5 на нём отказывается работать на любой версии новее. Менеджмент хотел заодно обновить дизайн, но на это не было ни бюджета, ни времени до отключения.

    Результат

    Перенёс на WordPress + тема под существующий макет. Все 240 страниц меню сохранили URL через редиректы 301, поисковый трафик не просел. Сайт пережил отключение PHP 5.6 за неделю до дедлайна.

    Это анонимизированная карточка кейса. Реальные имена и домен не публикую. Если у вас похожая задача с устаревшей CMS, напишите, разберу детали под NDA.

    Из ключевых решений: я не стал пытаться обновлять Joomla 1.5 до 4.x подряд через все версии (это путь в ад с потерей кастомизаций), а сразу спланировал переезд на чистый WordPress. Перед миграцией сделал полный список URL через скрапер, потом сопоставил со страницами на новой CMS, и через .htaccess повесил 301 на все старые адреса. После заливки прогнал robots, sitemap, проверил Search Console и Вебмастер.

    Дизайн оставили «как было» с минимальными правками, чтобы успеть в дедлайн. Через два месяца клиент уже спокойно заказал редизайн у дизайнера, и я подключился на этапе вёрстки.

  • Иконка чистки WordPress-сайта стоматологии от вредоносного кода

    Чистка WordPress-сайта стоматологии от 240+ заражённых файлов

    Анонимный клиент · стоматологическая клиника, СПб

    Сайт перенаправлял мобильных пользователей на фарма-аптеки. В админке висело 6 левых пользователей. За день нашёл точку входа, удалил вредоносные файлы, закрыл дыры. Заявки восстановились на следующее утро.

    • 247 Заражено файлов
    • 6 Левых админ-учёток
    • 8 часов Время чистки
    Подробности кейса Свернуть

    Задача

    Клиент заметил, что с мобильного телефона при заходе на сайт открывается чужой каталог таблеток. Кампания в Яндекс.Директ была остановлена автоматически за подозрительный трафик. Заявок не было третий день.

    Результат

    Очистил сайт за 8 рабочих часов, нашёл и удалил 247 заражённых файлов, выявил уязвимый плагин Slider Revolution версии 4.x. Обновил CMS, плагины, темы. Поставил Wordfence + двухфакторку для админов. Восстановили рекламу, заявки пошли с того же дня.

    Анонимизированная карточка, реальное имя клиники не указываю. Если у вас аналогичная ситуация, напишите, помогу.

    Точкой входа оказался плагин Slider Revolution с известной с 2014 года уязвимостью в загрузке файлов. Сайту было 9 лет, плагин не обновлялся 7. Через эту дыру злоумышленники загрузили шелл, потом по очереди создали скрытые учётки админов и подменили шаблон сайта на условный редирект по User-Agent: с десктопа сайт работал нормально, с мобильного шёл на фарму. Поэтому клиент и не заметил сразу: сам он работал с компьютера.

    После чистки настроил еженедельные внешние бэкапы (раньше было только встроенное хостерское резервирование, на котором тоже была инфекция за неделю до инцидента). Подключил мониторинг изменений файлов с уведомлением в Telegram. С тех пор повторных взломов не было.

    Когда я не подхожу: если сайт уже зашифровали ransomware и нет бэкапов старше заражения, это работа специалистов по форензике, не моя.

  • Иконка ускорения лендинга агентства недвижимости: PageSpeed, Core Web Vitals

    Ускорение лендинга агентства недвижимости: LCP 4.2 → 1.5 секунды

    Анонимный клиент · агентство премиальной недвижимости

    Лендинг с PageSpeed-оценкой 32 на мобильных. После оптимизации – 91. Все Core Web Vitals в зелёной зоне. Стоимость лида в Яндекс.Директе снизилась на 18% за следующий месяц.

    • 4.2с / 1.5с LCP до/после
    • 32 → 91 PageSpeed мобильный
    • −18% Стоимость лида
    Подробности кейса Свернуть

    Задача

    Клиент жаловался, что директолог винит сайт в дорогих лидах: показатель отказов выше 60%, конверсия в заявку ниже 1%. PageSpeed Insights выдавал 32/100 на мобильном. LCP – 4.2 секунды, INP – около 350 мс.

    Результат

    За 12 часов работы: оптимизировал картинки в WebP, перевёл шрифты на self-hosted с preload, выкинул jQuery + лишние плагины WordPress, перенастроил кеширование на хостинге, подключил CDN для статики. LCP 1.5с, FID 80мс, CLS 0.04. PageSpeed 91 на мобильных, 98 на десктопе.

    Анонимизированная карточка. Если хотите похожий разбор для своего сайта, напишите, сделаю бесплатный аудит за 30-40 минут.

    Главный выигрыш дала не одна большая оптимизация, а сумма мелких. Самые жирные источники проблем были типичные для WordPress: 6 плагинов, которые тянули свои jQuery и CSS в head, четыре шрифта Google Fonts с CDN (плюс RU-блокировка временами), картинки в JPG по 800-1200 КБ. После замены на WebP размер главной упал с 4.8 МБ до 980 КБ.

    Отдельная история про шрифты: переехал на self-hosted через @fontsource, оставил два начертания вместо четырёх, добавил preload для двух критических. Это срезало 600 мс с LCP без CDN-фокусов.

    Когда я не подхожу: если у вас Bitrix-магазин с тысячей SKU и кастомизацией от трёх подрядчиков, ускорение там будет комплексным проектом на месяцы. Я делаю до 30 часов работы за раз, дальше нужна команда.

  • Иконка переноса корпоративного сайта на новый хостинг без даунтайма

    Переезд корпоративного сайта на Timeweb с нулевым даунтаймом

    Анонимный клиент · производственная компания, B2B

    Сайт со старого VDS на shared-хостинг Timeweb. 8 ГБ данных, кастомный SMTP, четыре поддомена. Переехали без минуты простоя через DNS-предпереключение и параллельную работу двух копий.

    • 8 ГБ Объём данных
    • 4 Поддоменов
    • 0 минут Простой
    Подробности кейса Свернуть

    Задача

    Хостер старого VDS поднимал ценник в 2.5 раза с нового тарифного плана. Бизнес-критичный сайт: онлайн-каталог для дилеров, личный кабинет, формы запросов. Любой простой – пропавшие заявки и истерика отдела продаж.

    Результат

    Перенёс полностью за один уикенд. Дилеры в понедельник работали с сайтом не зная, что хост поменялся. Все формы и письма работают, поддомены отвечают, SSL валиден на всех.

    Анонимизированная карточка кейса. Если у вас аналогичный переезд на горизонте, напишите, оценю стоимость и риски бесплатно.

    Ключевой приём для нулевого даунтайма: я не переключаю DNS в момент завершения переноса, а заранее снижаю TTL домена до 60 секунд за двое суток до часа Х, копирую сайт на новый хост, поднимаю там полную копию, прогоняю тесты на тестовом домене, потом переключаю A-запись. К моменту переключения большинство DNS-резолверов уже сидит на коротком TTL, и переключение занимает 1-2 минуты для пользователей.

    База данных синхронизировалась через master-slave репликацию между старым и новым серверами на момент переключения. После переключения slave стал master, старый сервер остался read-only ещё неделю на случай отката.

    Когда я не подхожу: переезд e-commerce с тысячами заказов в час, где даже 5-минутный простой стоит сотни тысяч. Там нужен опыт работы с blue-green деплоями и более сложные схемы балансировки.

  • Иконка технического аудита OpenCart-магазина запчастей

    Технический аудит OpenCart-магазина запчастей: 17 проблем найдено, 12 закрыто

    Анонимный клиент · интернет-магазин автозапчастей, ~1500 SKU

    Магазин работал, но падал по выходным под нагрузкой, картинки грузились с задержкой, в Яндекс.Вебмастере накопилось 80+ ошибок. После аудита и плана работ закрыли 12 из 17 проблем за 3 недели абонентского обслуживания.

    • 17 Найдено проблем
    • 12 Закрыто за 3 недели
    • 12 / неделю → 0 Падений 502 в пик
    Подробности кейса Свернуть

    Задача

    Владелец взял меня на абонентку с задачей: понять, почему магазин периодически отдаёт 502 в пиковые часы. Параллельно попросил посмотреть, что вообще не так с сайтом, потому что предыдущий разработчик пропал.

    Результат

    Аудит занял 6 часов. Нашёл: устаревший OpenCart 2.0.x с непропатченными уязвимостями, кеширование запросов отключено, 4 плагина дублировали функционал, robots.txt блокировал важные категории, не было sitemap, 60% картинок без alt и без сжатия. План на 3 недели в рамках 10 часов в месяц по тарифу. Закрыли 12 пунктов, ещё 5 в работе следующего месяца.

    Анонимизированная карточка. Если хотите такой же разбор для своего магазина, напишите, стартовый аудит делаю бесплатно за 30-40 минут.

    Самая полезная находка для бизнеса оказалась не в технической части, а в SEO: у магазина была заполнена только главная и категории, а 1200 карточек товаров шли с пустым meta description и одинаковым title по шаблону. Это давало низкий CTR в выдаче и слабую релевантность по запросам с моделями автомобилей. После шаблонизации title и description через переменные карточки начали ранжироваться по конкретным моделям, органический трафик за 4 месяца вырос на 38%.

    Технические правки по приоритету: сначала закрыли дыры в безопасности (CMS, плагины, пароли), потом производительность (кеш, картинки), потом SEO (sitemap, robots, meta). Эта последовательность не из учебника, а из практики: пока сайт уязвим, любая SEO-оптимизация может обнулиться завтра при взломе.

    Когда я не подхожу: если магазин на самописной CMS без документации и в коде 8 разных стилей, аудит превращается в реверс-инжиниринг и стоит дороже переноса. Часто проще предложить переезд на стандартную CMS.

Ваш кейс может быть следующим

Расскажите про сайт и задачу, разберу бесплатно за 30-40 минут.

Заявка

Обсудим задачу

Напишите имя и телефон, выберите удобный канал. Перезвоню или напишу в течение часа в рабочее время.

Куда удобнее ответить?