AuraEvent е агенция за събития в София. Организират сватби, корпоративни партита, детски тържества с аниматори. Сайтът им работеше, но бавно — и в пощата падаха заявки, които миришеха на нещо друго, не на клиенти.
Два проблема седяха едновременно на масата. Първият: сайтът мереше 81 на мобилен тест в Google PageSpeed. Не е катастрофа, но достатъчно, за да изгуби позиции и да кара посетителя да чака секунда повече, отколкото трябва — а на мобилен тази секунда решава дали човек ще остане или ще затвори таба.
Вторият проблем беше по-странен. Във формата за запитване започнаха да влизат заявки за събитие в Нова Зеландия. Агенция в София. Клиент не можеше да различи кое е истинско запитване от младоженци в Пловдив и кое е автоматичен спам бот, който пробва форми по целия интернет. Триеше всичко наред — включително, вероятно, по някое истинско запитване, скрито между боклука.
Не пипнахме логиката на сайта. Менютата, страниците, структурата — същите, защото клиентът познава своя сайт и не искахме да го учим отначало. Пипнахме машинарията отдолу.
Прегледахме сайта със същото внимание, с което електротехник следи ток по жица — къде спира, къде тече излишно. Намерихме три течове:
Написахме автоматичен процес на сървъра, който на всеки 10 минути проверява новите снимки в администрацията и ги превръща в WebP — в три размера: 480, 960 и 1600 пиксела. Браузърът сам избира кой размер да дръпне според екрана. Организаторът продължава да качва снимки, както преди — просто снима и пуска. Останалото става зад кулисите.
Вкарахме критичните стилове директно в страницата — браузърът ги има в ръка в мига, в който получи html-а, не чака втора заявка. Сложихме шрифтовете локално, на същия сървър. И най-важното, но най-скучно на пръв поглед: нищо в първия екран не мърда, докато страницата се зарежда. Банер, който изскача, бутон, който се побутва надолу с половин секунда закъснение — всичко това убива метриката Speed Index, дори да изглежда дребно на око.
| Метрика (мобилен тест) | Преди | След |
|---|---|---|
| Performance | 81 | 100 |
| Accessibility | — | 100 |
| Best Practices | — | 100 |
| SEO | — | 100 |
Резултатът е проверим директно на pagespeed.web.dev с адреса на сайта — не искаме вяра на дума.
Целият редизайн мина за около два дни, в премиум тема в златна гама, която избрахме заедно с клиента — визията се промени, но логиката на страниците и на менютата остана същата, за да не губи нито клиентът, нито посетителите ориентация.
За спама направихме нещо по-просто от филтър, който трие. Сложихме оценка на всяко запитване — поглежда съответствие между език, съдържание на съобщението и някои прости сигнали за бот поведение — и слага резултата в отделен раздел „Спам“ в администрацията, не в кошчето. Нищо истинско не изчезва безследно. Ако алгоритъмът сгреши — а понякога бърка — клиентът може да отвори раздела и да провери сам, вместо да се чуди какво е изтрито завинаги.
На сайта имаше и детска интерактивна игра — Party Magic, използвана за тържества с аниматори. Преди зависеше от външен елемент, вграден отвън. Пренаписахме я директно в кода на сайта. По-бърза, по-стабилна, и вече не зависи от трета страна, която може утре да спре услугата или да вдигне цена.
Накрая преместихме целия домейн на Cloudflare — без нито секунда прекъсване. Направи се с ниско TTL преди самата смяна и внимателна проверка на всеки запис, за да не изчезне нито пощата, нито някоя подстраница в момента на превключване.
Честно: нямаме данни за ръст на продажбите — не ги мерихме и няма да твърдим число, което не сме видели. Това, което знаем със сигурност, е проверимо: сайтът се зарежда мигновено на телефон, Google вижда перфектен резултат по всичките четири метрики, и администраторката вече не сяда всяка сутрин да разчита кое запитване е истинско и кое е боклук от другия край на света.
Ако започвахме отначало, бихме сложили оценката на спама от самото начало на проекта, не като втора стъпка, след като проблемът вече дразнеше. Урокът е прост: когато клиент каже „получавам странни запитвания“, това не е дреболия за по-късно — това е сигнал, че формата е прекалено отворена и някой, или нещо, вече я е открило.
Ако твоят сайт мери под 90 на мобилен тест, или пощата ти прилича на сметище от ботове — опиши казуса си с едно изречение на живия агент на pentimento.pro и виж как би изглеждало решението, още в разговора.