Сообщения

Почему ваша автоматизация KeyCRM сломается на первой сотне заказов (и как мы на этом погорели)

Почему ваша автоматизация KeyCRM сломается на первой сотне заказов (и как мы на этом погорели) Это было в прошлую черную пятницу. На часах 22:15. Я сидел с кружкой остывшего кофе и смотрел, как в рабочий Telegram-чат клиента один за другим сыплются дубли заказов. Один и тот же покупатель, один и тот же состав корзины, но уведомлений — ровно 412 штук за пятнадцать минут. Менеджеры в панике, они не понимают, какие заказы реальные, а какие фантомные. Клиент матерится в трубку. А все потому, что "простая" интеграция, которую мы собрали на коленке за пару часов, решила лечь под нагрузкой. Мы думали, что прокинуть вебхук из CRM в мессенджер — это задача для джуниора на один вечер. Жизнь быстро объяснила, что мы ошибались. С тех пор я зарёкся делать интеграции напрямую без надежной прослойки. Если вы думаете, что стандартные инструменты решат все проблемы из коробки, приготовьтесь к сюрпризам. Иллюзия простоты: почему ломаются стандартные вебхуки Когда вы только начинаете, н...

Иллюзия точности: почему сложные математические модели топят ваш бизнес, а простые данные спасают

Иллюзия точности: почему сложные математические модели топят ваш бизнес, а простые данные спасают В 2021 году я совершил классическую ошибку инженера, дорвавшегося до больших бюджетов. Мы с командой строили систему прогнозирования спроса для региональной сети из 48 магазинов косметики. Я горел идеей сделать идеальный инструмент. Мы скормили модели всё, до чего смогли дотянуться: курсы валют, праздники, прогнозы погоды и даже парсинг упоминаний брендов в соцсетях. Архитектура выглядела потрясающе. На исторических данных точность модели приближалась к 95%. Мы праздновали победу заранее. В первый же месяц реальной работы система предсказала закупку 14 000 флаконов корейской сыворотки на склад в Екатеринбурге. Знаете, сколько мы реально продали? 2 100 штук. Ошибка прогноза по этой категории составила дикие 43% в деньгах. Мы привезли тонны товара, который просто лег мертвым грузом на складе, заморозив миллионы оборотных средств. Почему так вышло? Всё оказалось прозаично. За три месяца...

The $14,200 Price Sync Mistake

The $14,200 Price Sync Mistake I have spent the last seven years gluing databases together. If you do this long enough, you develop a nervous twitch every time a client says, "It is just a simple API integration." There is no such thing. Every custom sync engine is a hostage situation waiting to happen, and I learned this the hard way on a rainy Friday night in November. We were managing a catalog of exactly 42,108 SKUs for a consumer electronics retailer. The supplier updated their wholesale prices three times a day. We had built what we thought was a beautiful, state-of-the-art sync engine. At 3:14 AM, the supplier changed their base currency rate. Our engine started loop-updating. It choked. The rate limits kicked in, the connection dropped mid-write, and the database silently fell out of sync. Half the catalog got set to a price of zero. Before we woke up and pulled the plug, customers had ordered thirty-two high-end graphics cards for the price of shipping. That mist...

How to Run a Technical SEO Audit With a Prioritized Fix Plan

Technical SEO Audit: The Repeatable Framework This guide focuses on high-impact technical fixes. If the site doesn't crawl or index correctly, content quality is irrelevant. Follow this workflow to identify and prioritize issues. Phase 1: Crawl and Index Coverage The Crawl Use Screaming Frog or Sitebulb . 1. Set the limit to 5,000 URLs for a sample. 2. Check for 4xx and 5xx status codes. 3. Look for redirect chains (301 -> 301 -> 200). Command/Check: Filter by Status Code -> 4xx Filter by Status Code -> 5xx Reports -> Redirect Chains Index Coverage Use Google Search Console (GSC) . 1. Go to Indexing -> Pages . 2. Focus on "Excluded" pages. Specifically: "Crawled - currently not indexed" and "Discovered - currently not indexed." 3. If these are high-value pages, your internal linking or content quality is the bottleneck. Common Mistake: Blocking CSS/JS files in robots.txt . Google needs to render the page to understand it....

Бесплатные фильтры для Webflow, которые высосут из вас все соки

Бесплатные фильтры для Webflow, которые высосут из вас все соки Шел 2021 год. У меня на руках был жирный контракт на сайт недвижимости Бали. 620 вилл в каталоге. Клиент хотел, чтобы все летало. Я, преисполненный уверенности, пообещал сделать фильтрацию за вечер. «Там же есть бесплатные скрипты, делов-то». Спойлер: следующие четыре ночи я не спал, а клиент чуть не разорвал договор. В теории все выглядит просто. Берешь готовую бесплатную библиотеку, раскидываешь атрибуты по элементам в Webflow, и магия происходит сама собой. Но дьявол кроется в деталях. Бесплатные решения прекрасны, пока у вас двадцать карточек товаров или три статьи в блоге. Когда проект разрастается, начинается настоящий ад. Лимит в 100 элементов и боль пагинации Первая стена, в которую утыкается любой разработчик — это ограничение Webflow на 100 элементов в Collection List. Как только объектов в вашей базе становится больше, вам нужно настраивать пагинацию. И тут бесплатные скрипты начинают сбоить. Они либо не...

Как обновить 40 000 товаров на OkayCMS за секунды и не потерять 120 тысяч рублей на заказах

Как обновить 40 000 товаров на OkayCMS за секунды и не потерять 120 тысяч рублей на заказах Это было в четверг, года три назад. У нашего клиента на OkayCMS было около 42 000 товаров — сантехника, насосы, фитинги. Курс евро тогда подпрыгнул на 8%, и нам нужно было срочно пересчитать розницу. Включили стандартный импорт. Скрипт поработал минуты три, словил 504 Gateway Timeout на сервере и тихо умер на середине файла. Знаете, что произошло дальше? Половина базы обновилась, а половина осталась со старыми ценами. Хуже того, из-за сбоя в сессии затерлись остатки по топовым немецким насосам. Они встали в статус «в наличии» по цене пятилетней давности. За три часа, пока менеджеры пили кофе и не замечали беды, на сайт пришло девять заказов. Убыток на ровном месте — 124 000 рублей. Из своего кармана мы их не платили, но седых волос у меня прибавилось знатно. Клиента мы тогда еле удержали. Этот факап заставил нас полностью переписать подход к тому, как делается синхронизация цен okaycms. Бо...

The Day 42,000 Plumbing Parts Duplicated: Why Your 1C-Bitrix CommerceML Sync is Broken

The Day 42,000 Plumbing Parts Duplicated: Why Your 1C-Bitrix CommerceML Sync is Broken It was 3:14 AM on a Tuesday when my phone started vibrating itself off the nightstand. The client was a major industrial plumbing distributor. They had just pushed a routine catalog update from their 1C ERP to their 1C-Bitrix e-commerce site. Instead of updating prices on their 42,000 SKUs, the sync had duplicated almost every single one of them. The site now showed "Ball Valve 1/2 inch" and "Ball Valve 1/2 inch (1)". Customers were buying phantom stock. The marketing team was watching Yandex and Google Ads burn through a 180,000-ruble daily budget, driving traffic to broken 404 pages or duplicate ghost listings. The client's database was bloated, slow, and crying for mercy. I spent the next fourteen hours manually cleaning the database and tracing the XML payloads. That was the day I truly learned to respect the fragile, unforgiving nature of the CommerceML 2.05 protoco...