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Наскрізна аналітика: які проблеми вона реально вирішуєЩо таке наскрізна аналітика насправді, навіщо вона бізнесу і як виглядають реальні дашборди для лідогенерації, B2B і змішаного e-commerce.
Інтерфейс
- Меню «Послуги» у трьох мовах: лазерне різання зібрав у випадаюче меню по містах (Харків, Київ, Львів), як фарбування і піскоструй, і підняв вище виготовлення металоконструкцій.
- Кнопка Ringostat закривала текст зліва. Переніс праворуч під значок reCAPTCHA і змінив колір на зелений.
- Прибрав дублювання хлібних крихт у шаблоні статті.
- Адреси на головній — лише міста, без вулиць. Додав Івано-Франківськ.
- Фонові зображення вантажилися з демо-сайту теми. Тепер — тільки з власного сервера.
Що далі
- ~20–25.11: перевірка реальних даних швидкості і запуск перевірки виправлення в Search Console;
- подальше прискорення першого екрана;
- нові статті пресцентру;
- оновлення WordPress, PHP і плагінів: стек застарілий.
Окремий нюанс для клієнта: після змін контенту в адмінці треба натиснути в Cloudflare Caching → Purge Everything. Інакше оновлення з’являться на сайті протягом 2 годин.
Як ці зміни виглядають з боку самої компанії, Grafix розповів у своїй статті «Ми оновили сайт Grafix: швидше, зручніше, актуальніше».
Google Ads · МаркетингCRO для Google Ads: не реклама зливає бюджет. Його зливає ваш сайтЧому реклама не витягне кривий сайт: два реальні CRO-розбори (лендинг медичного сенсора і картка товару) та чекліст першого екрана.
Де мене знайти
Пишіть у Telegram або на пошту — відповідаю швидко. Telegram канал і YouTube — для тих, хто хоче побачити реальні кейси перед зверненням та зрозуміти мій підхід в роботі.