Grafix — производственная компания, которая входит в рейтинг Forbes Украина: порошковая покраска металла, лазерная резка, пескоструйная обработка, гибка металла. Несколько городов, три языковые версии, B2B-заявки через формы и звонки. С Grafix я работаю больше трёх лет, веду контекстную рекламу. В этот раз взял на себя всё техническое состояние сайта: скорость, безопасность, SEO и аналитику.
Содержание статьи
| Показатель | Было | Стало |
|---|---|---|
| PageSpeed, мобильная версия (Performance) | 22 | 60 |
| Ответ сервера на ключевых страницах | 0,7–2,6 с | 0,04–0,06 с |
| Вес изображений сайта | 456 МБ | 94 МБ (−79%) |
| Ahrefs Health Score | 44 (150+ ошибок) | 99 |
| Цепочек переадресаций | 31 | 0 |
С чем столкнулись
Сайт годами развивался без технического сопровождения. Штатного программиста нет, правки вносили разные подрядчики, и каждый оставлял что-то после себя. На старте я увидел:
- устаревший WordPress 5.8 и PHP 7.4;
- десятки плагинов, часть из которых не работала вообще, и следы шести разных плагинов кеширования и оптимизации;
- старые коды аналитики прямо в теме: два старых GA4, неактивный аккаунт Google Ads, Яндекс.Метрика, виджет Bitrix24;
- старый номер телефона в ссылках «Позвонить»;
- цепочки переадресаций и страницы, которые отдавались по 2–3 секунды.
С 20 августа Search Console пометил все 141 мобильную страницу как «медленные»: LCP больше 4 секунд.
А самое неприятное нашлось в публичной папке сайта: полный архив сайта 2021 года на 748 МБ, доступный по прямой ссылке. Вместе с копией настроек.
Каждую правку я делал отдельным шагом: просмотр изменений, применение, проверка на живом сайте в браузере. На каждую правку есть резервная копия и возможность отката.
Скорость
Кеширование страниц на Cloudflare
Включил кеширование HTML-страниц на Cloudflare. Админка, формы, поиск и залогиненные пользователи кеш обходят. Формы, GTM, GA4 и подмена номеров Ringostat на закешированных страницах работают — проверил тестовыми заявками.
| Страница | TTFB было | TTFB стало |
|---|---|---|
| Главная | 1,25 с | 0,06 с |
| Лазерная резка (Харьков) | 2,58 с | 0,05 с |
| Пескоструйная обработка | 2,18 с | 0,05 с |
| Гибка металла | 0,77 с | 0,06 с |
| Контакты | 0,70 с | 0,04 с |
Core Web Vitals
| Показатель (PageSpeed, мобильная, страница Львова) | Было | Стало |
|---|---|---|
| Performance | 22 | 60 |
| TBT (блокировка скриптами) | 1 710 мс | 220 мс |
| CLS (сдвиг вёрстки) | 0,246 | 0,06 |
Что дало этот результат:
- reCAPTCHA занимала 1,6 с работы процессора на каждой странице. Теперь грузится после первого взаимодействия посетителя: прокрутки или касания. Формы работают, проверено тестовой заявкой.
- 1 220 изображений пересжато без изменения размеров и адресов: 456 → 94 МБ.
- Главное изображение грузится первым, с отдельной версией для мобильных. Часть стилей больше не блокирует показ страницы.
- Пропавшее фото первого экрана. Файл просто исчез, и на 17 страницах, в том числе порошковой покраски и Львова, вместо фото было пустое место. Восстановил.
- Скачок вёрстки из-за логотипов сертификатов в шапке убрал.
- Slider Revolution грузился на каждой странице, хотя слайдера на сайте нет. Отключил.
Лабораторный PageSpeed колеблется между запусками, поэтому ориентируюсь на реальные данные Google. На момент работ Chrome UX Report за 28 дней показывал LCP 4 с, INP 255 мс, CLS 0,14. Новое окно данных сформируется к началу декабря, тогда и запущу проверку исправления в Search Console.
Переадресации и ссылки
- 1 531 внутренняя ссылка вела на старые адреса через переадресацию. Заменил на прямые в текстах страниц, Elementor и меню.
- Цепочки переадресаций в 2–3 прыжка: 31 правило перенаправил сразу на конечный адрес. Цепочек теперь 0.
- Ссылка на адрес в шапке сайта тоже вела через переадресацию — исправил для всех языков.
- Убрал битые ссылки RSS.
Безопасность и плагины
- Архив сайта 2021 года и копию настроек из публичной папки удалил. Бэкап на 6,3 ГБ перенёс в закрытую папку.
- Удалил 15 плагинов: неработающие, дубликаты и типичные точки взлома вроде WP File Manager и WP Migrate DB. Отключил редактирование файлов из админки.
- Интеграции Perfectum CRM и CF7 to Webhook не трогал: через них идут заявки.
Инцидент с языковыми версиями
Честно расскажу и о том, что пошло не так. Старый скрипт темы перебрасывал посетителей между языковыми версиями. Когда я включал кеш, с 15:13 до 15:29 посетители из Украины получали циклическую перезагрузку страниц.
Я откатил изменения за 16 минут, переписал скрипт так, чтобы язык брался со страницы без лишних запросов и переадресаций, и только потом включил кеш повторно с проверкой в браузере. Именно поэтому каждая правка у меня идёт с резервной копией: когда что-то ломается на живом сайте, откат должен занимать минуты.
SEO
Аудит и индексация
- Хостинг блокировал краулер Ahrefs ответом 403, поэтому аудит видел только 9 страниц и Health Score 44. Разблокировал. Повторный аудит: 796 URL, Health Score 99, 5 ошибок.
- В Search Console вместо 9 sitemap, часть из которых отдавала 404 или вела на закрытую английскую версию, оставил один актуальный.
- Закрыл от индексации 10 старых лендингов без ссылок. Для рекламы они доступны.
- Исправил canonical на страницах политики конфиденциальности и убрал картинку-пиксель, которая подставлялась в превью страниц в соцсетях.
Карта ключевых слов и on-page
Собрал карту ключевых слов из запросов Search Console за 90 дней и поисковых терминов Google Ads, привязанных к страницам. Нашёл каннибализацию: несколько страниц конкурировали за один запрос с неправильными заголовками.
- Title: 16 шаблонов («… - grafix» по всему сайту → «… | GRAFIX») и 29 индивидуальных title для хабов, страниц городов, лазера, профиля, металлоконструкций, калькулятора.
- H1: исправил 16 заголовков под ключевые запросы. Хаб пескоструя, например, имел H1 «Дробеструйная очистка», а часть H1 были предложениями или с ошибками.
Пресс-центр
Три новые статьи на украинском и русском, 6 страниц, под запросы, по которым сайт уже показывался, но отдельной страницы не имел:
- порошковая покраска оцинковки, нержавейки и алюминия;
- сколько стоит порошковая покраска, с таблицей цен «от»;
- гибка оцинкованного листа и алюминия.
Каждая статья ссылается на страницы услуг и городов. Добавил в sitemap и отправил на индексацию.
Комбо · SEO + Google AdsGoogle Ads + SEOМощное комбо: ведение Google Ads и SEO в одних руках — техническое и локальное SEO, контент, реклама и отчёт каждый месяц. От 3 месяцев.GTM и аналитика
- Убрал из кода темы все устаревшие теги: два старых GA4, неактивный аккаунт Google Ads, старый ремаркетинг, Яндекс.Метрику, виджет Bitrix24.
- Два захардкоженных Meta Pixel: один перенёс в GTM, второй был лишним дублем.
- Тег Google объединил: вместо трёх копий библиотеки gtag.js грузится одна. GA4 и ремаркетинг в оба аккаунта Google Ads работают.
- Вся аналитика теперь управляется из одного места, из GTM: GA4, Google Ads (2 аккаунта), Meta Pixel, Ringostat, Clarity.
- Страница благодарности: после заявки с украинской страницы клиента перебрасывало на русскую. Теперь — на украинскую, а конверсия GA4 срабатывает на обеих, так что данные не теряются.
- Телефон: старый номер заменил на актуальный в 65 местах, включая ссылки «Позвонить» и описания для Google. Ringostat подменяет его корректно, тестовые заявки доходят в Perfectum CRM.
Аналитика + Google AdsСквозная аналитика: какие проблемы она реально решаетЧто такое сквозная аналитика на самом деле, зачем она бизнесу и как выглядят реальные дашборды: качество лидов, отказы по менеджерам, бюджет и прогноз.
Интерфейс
- Меню «Услуги» на трёх языках: лазерную резку собрал в выпадающее меню по городам (Харьков, Киев, Львов), как покраску и пескоструй, и поднял выше изготовление металлоконструкций.
- Кнопка Ringostat закрывала текст слева. Перенёс вправо под значок reCAPTCHA и сменил цвет на зелёный.
- Убрал дублирование хлебных крошек в шаблоне статьи.
- Адреса на главной — только города, без улиц. Добавил Ивано-Франковск.
- Фоновые изображения грузились с демо-сайта темы. Теперь — только с собственного сервера.
Что дальше
- ~20–25.11: проверка реальных данных скорости и запуск проверки исправления в Search Console;
- дальнейшее ускорение первого экрана;
- новые статьи пресс-центра;
- обновление WordPress, PHP и плагинов: стек устарел.
Отдельный нюанс для клиента: после изменений контента в админке нужно нажать в Cloudflare Caching → Purge Everything. Иначе обновления появятся на сайте в течение 2 часов.
Как эти изменения выглядят со стороны самой компании, Grafix рассказал в своей статье «Мы обновили сайт Grafix: быстрее, удобнее, актуальнее».
Google Ads · МаркетингCRO для Google Ads: не реклама сливает бюджет. Его сливает ваш сайтРеклама приводит на страницу, а продаёт сайт. Два разбора: лендинг и карточка товара. Что мешает конверсии и как удешевить заявки без смены рекламы.
Где меня найти
Пишите в Telegram или на почту — отвечаю быстро. Telegram-канал и YouTube — для тех, кто хочет увидеть реальные кейсы перед обращением и понять мой подход к работе.