Всем привет! Меня зовут Егор, я CTO маркетингового агентства FastUp. Как и многие в индустрии, я постоянно пользуюсь сторонними тулзами: конвертерами шрифтов, генераторами JSON-LD, сжималками картинок или интерактивными квиз-калькуляторами на JavaScript.
Всё началось с банальной боли при использовании TinyPNG: обработка на бэкенде, платная подписка, лимиты, ожидание и реклама. Появилась мысль: «Я могу сделать такой же инструмент сам». А следом: «Зачем один, если можно написать целую платформу нужных мне утилит?».
Так родился мой пет-проект — MicroApps.by.
Но делать проект «в стол» было скучно. Я в душе специалист по SEO-продвижению, поэтому решил превратить эту платформу в тестовый полигон. Задача: вывести абсолютно нулевой домен в ТОП по узким техническим запросам, имея 0 бюджета на ссылки и крауд-маркетинг.
Спойлер: я довел проект до 1500 органических визитов в месяц. В этой статье расскажу, почему я отказался от фреймворков и баз данных, как победил сдвиги макета (CLS) и почему провалилась попытка выхода на глобальный рынок.
Выбор поля боя: Яндекс vs Google
Я сразу понимал: бить в лоб мастодонтов с 10-летним трастом — бессмысленно. Ссылочного бюджета у меня нет. Поэтому я сделал ставку на особенности алгоритмов:
- Яндекс (поведенческие факторы). Яндексу относительно плевать на возраст домена, если пользовательский опыт идеален. Человек пришел, мгновенно сконвертировал файл, закрыл вкладку (интент удовлетворен). Если инструмент работает быстро, можно залететь в ТОП за две недели.
- Google (Core Web Vitals). Стариков нельзя перебить возрастом, но можно перебить качеством кода. Старые сервисы часто неповоротливы. Моя ставка была на идеальную производительность и зеленую зону PageSpeed.
Архитектура: Чистый PHP, Vibe Coding и отказ от БД
Проект был экспериментальным, поэтому главное требование — минимальные затраты на сервер. Node.js отпал сразу (нужен дорогой сервер). Выбор пал на связку Apache + PHP 8.3 (благо, тесты показывали, что по скорости он дышит в спину Go).
Почему не WordPress или Laravel?
Как опытный WP-разработчик, я прекрасно понимал, что WP — это огромный прицеп из бэкенда, БД и плагинов. Добиться на нём идеальных показателей валидаторов крайне сложно. Laravel решил бы проблемы с роутингом, но потянул бы за собой Composer и, опять же, более высокие требования к хостингу.
Самое радикальное решение: полный отказ от Базы Данных (No-DB).
Каждый SQL-запрос — это потеря миллисекунд. Кроме того, администрирование контента в БД потребовало бы написания админки. На тот момент весь текстовый контент для сайта генерировался нейронками (мы использовали VS Code, это было ещё до эпохи Cursor). Тексты писались прямо в структурированные lang-файлы. Файловая система стала нашей базой данных. Это дало моментальный отклик бэкенда.
В итоге ядро, роутинг, хелперы и систему хуков я написал с нуля за пару дней. Чтобы код был читаемым, я позаимствовал нейминг из WordPress (привычные функции вызова header, footer и хуков).
Вся платформа работает через единую точку входа (.htaccess перенаправляет всё на index.php), а самописный роутер сопоставляет URI с кэшированной картой маршрутов (cache/routes.php).
Сама структура каждого сервиса внутри папки services/ предельно минималистична:
В папке самого инструмента лежат только эти 4-5 файлов. Вся магия происходит внутри index.php: он собирает страницу, подключая глобальные переиспользуемые шаблоны. Чтобы вы понимали уровень минимализма и сходства с WordPress, вот реальный код index.php одного из наших сервисов:
Тексты для всех этих компонентов (get_faq, get_content) подтягиваются из локального lang.php, а жесткая микроразметка уже вшита в сами функции вывода.
Это позволяет создавать новые тулзы буквально в «полпромпта». Мы просто копируем папку инструмента, нейронка подменяет тексты в lang.php и логику в module.php, а вся идеальная структура автоматически наследуется из компонентов ядра.
Перфекционизм в SEO и микроразметке
Поскольку техническое SEO было нашим единственным оружием, мы возвели его в абсолют. Был написан отдельный SEO-модуль ядра.
Структура строилась на компонентном подходе: каждый инструмент лежал в своей папке, а страница собиралась из шаблонов (Header, Module, FAQ). Главная фишка — в каждый шаблон жестко вшита идеальная микроразметка.
Каждая страница проходила тройную валидацию:
- Google Rich Results Test
- Schema Markup Validator
- Суперстрогий и древний validator.w3.org (ни одной ошибки в семантике HTML).

Мы написали динамический sitemap.xml, который автоматически отдавал поисковикам актуальный lastmod при любом изменении файла на сервере.
А чтобы не было «сиротских» страниц (orphan pages), нейронка при создании каждого нового инструмента вручную генерировала блок перелинковки: ровно 5 ссылок на максимально релевантные тулзы. Никакого рандома, только жесткие графы сущностей.
Tailwind и борьба с Cumulative Layout Shift (CLS)
Google обожает наказывать за прыгающий контент. Чтобы свести CLS к абсолютному нулю, мы использовали Tailwind CSS.
Страницы отдавались сервером с уже прописанными классами и жестко зафиксированными размерами блоков. Никаких inline-скриптов, которые меняют высоту секций после рендера HTML. Сайт загружался на экране мгновенно и монолитно.

живой отчёт PageSpeed для страницы microapps.by
Основные показатели:
| Метрика | Значение |
|---|---|
| Производительность | 100 |
| Специальные возможности | 100 |
| Рекомендации | 96 |
| Поисковая оптимизация | 100 |
Детализация:
- Cumulative Layout Shift (CLS): 0
- Total Blocking Time (TBT): 50 мс
- First Contentful Paint (FCP): 0,9 сек
- Largest Contentful Paint (LCP): 1,2 сек
Дизайн нейросетей и экстремальный перфекционизм скорости
Поскольку целевая аудитория — айтишники, по умолчанию была выбрана тёмная тема. Интерфейс строился по образу современных нейросетей: статичная боковая панель (sidebar) и рабочая область внутри экрана без бесконечного скролла. Это дает ощущение полноценного web-app, а не просто сайта. При этом мы внедрили динамическую смену тем через Tailwind — она автоматически подстраивается под систему пользователя (светлая/тёмная).
Борьба со сдвигами (CLS). Страница на PHP генерировалась настолько быстро, что появлялась в браузере раньше внешнего CSS-файла, из-за чего макет «прыгал». Решение: мы заинлайнили в <head> базовые классы Tailwind. А чтобы не тратить миллисекунды на загрузку кастомных веб-шрифтов (что тоже вызывает мерцание), мы принудительно использовали системные шрифты ОС.
Кэширование, которое оказалось не нужным
Сначала я написал модуль полного кэширования HTML (отдавал статику). Но в процессе профилирования выяснилось невероятное: движок на чистом PHP без БД (чтение текстов из файловой системы) работал настолько быстро, что разница между отдачей статического HTML-кэша и динамической генерацией страницы оказалась на уровне статистической погрешности!
В итоге мы полностью выпилили кэширование, чтобы не усложнять архитектуру и инвалидацию. PHP 8.3 без фреймворков творит чудеса.
Бесплатный AI-инструмент как источник вовлечённости
Был момент, когда проект уперся в плато: около 400 визитов в месяц. Обычных конвертеров и тулзов было уже недостаточно для роста. Нужно было предложить аудитории что-то более ценное.
Я посчитал себестоимость ответа нейросети через API (тот же DeepSeek): около одной десятой цента за ответ. Решил раздавать генерацию нужных текстов бесплатно — человек заходит на сайт, вводит пару строк, нейронка пишет ответ через пару секунд.
Эффект оказался шире, чем я рассчитывал. Люди действительно решали свою задачу и надолго оставались на странице:
- Человек заходит с запросом.
- Вводит текст, ждет ответа, копирует его.
- Закрывает сайт, потому что интент полностью удовлетворен.
Для поисковых алгоритмов это ровно та картина, которую они и должны видеть у полезного инструмента: человек нашёл то, что искал, и не вернулся в выдачу доделывать поиск.
Технически реализовать это с нашей архитектурой было элементарно. В ядре лежал единый модуль работы с API. Чтобы создать новый AI-инструмент (например, генератор Title или сценариев), я просто копировал папку тулза и вписывал в lang.php уникальный системный промпт.
В итоге мы создали более 10 таких AI-сервисов. За 8 месяцев работы на балансе API было потрачено меньше 1 доллара, а сайт получил отличный целевой трафик благодаря тому, что инструменты действительно решали задачи людей.
Провал мультиязычности: физику не обманешь
Была идея масштабироваться на весь мир. Инструменты интуитивны (загрузил → скачал), поэтому мы прикрутили модуль мультиязычности на лету. По урлу /en/ отдавался тот же шаблон с английскими строками и атрибутами.
Но метрика показала суровую реальность: 90% трафика стабильно шло из СНГ.
Почему не взлетело?
- Физика (Ping). Наш сервер лежал в Беларуси. Когда я протестировал сайт американского конкурента, он жутко тормозил у меня, хотя PageSpeed показывал зеленую зону. Я понял, что для юзера из США наш движок генерирует страницу за 50 мс, но трансатлантический пинг добавляет секунды ожидания. Пользователи просто уходили.
- Доменная зона. У нас был домен .by. Для Google региональные TLD имеют жесткую привязку. Английский контент на региональном домене ломал алгоритмам логику.
Осознав это, мы свернули эксперименты с /en/ и сфокусировались на улучшении RU-версии.
Выход из песочницы: как я забыл про сайт и обалдел
Первые полгода я барахтался в классической песочнице. Графики показов и позиций в консолях были люто дёргаными — алгоритмы явно тестировали сайт на разных местах выдачи.
В какой-то момент я с головой ушел в развитие агентства (мы внедряли внутреннюю CRM-систему и настраивали ИИ-агента для бизнес-процессов — об этом я обязательно расскажу в одной из следующих статей). Я банально «забил» на MicroApps и выпал из жизни пет-проекта. Время шло.
Когда я спустя пару месяцев снова зашел в аналитику (примерно 21 апреля 2026 года), я просто обалдел: график кликов, который раньше дергался как кардиограмма, выровнялся и плавно полз вверх. Пошли стабильные переходы из Google! Сайт сам вышел из песочницы, пока я занимался другими делами.
При этом я столкнулся с интересной аномалией: CTR оставался стабильно низким, но поисковики всё равно упорно тащили меня в ТОП.
Ответ лежал в Яндекс.Метрике:
- Процент отказов (Bounce Rate): 17,38% (феноменально низкий для микро-утилит).
- Время на сайте: 4 минуты 37 секунд.
Алгоритмы видели: да, кликают не часто, но те, кто кликнул — сидят на сайте по 4 минуты, пишут запросы к AI, решают свою задачу и не возвращаются в поисковую выдачу. Идеальное закрытие интента перекрыло низкий CTR.
Локомотивами трафика стали:
- AI-генератор формул Excel (2600+ просмотров).
- Объединитель текстовых файлов txt-merge (2000+ просмотров).
- Background cleaner и генератор эффекта жидкого стекла.
Забавно: несмотря на общий провал мультиязычности из-за пинга, две англоязычные страницы всё-таки смогли зацепиться в выдаче и вошли в ТОП-5 самых популярных тулзов нашего сайта.
Кстати: сейчас MicroApps живёт не как отдельный проект, а как продукт FastUP — агентства, где я отвечаю за разработку. Тот же принцип «SEO с первого дня, а не докручивать потом» использую и в клиентских сайтах.
Итог и сюрприз от нейросетей
За период с ноября 2025 по июль 2026 сайт собрал 6 853 визита и 12,4 тыс. просмотров, не потребовав ни копейки на рекламу и ссылки (мои затраты составили всего $1 на оплату токенов по API). Я стабильно вышел за планку 1500 органики в месяц.

И тут случился главный сюрприз: в аналитике появились переходы из Perplexity. Это означало, что поисковые нейросети (Generative AI) начали вытаскивать мои инструменты в свои ответы.
Это спровоцировало полный пересмотр стратегии. Прямо сейчас я кардинально перерабатываю сайт под GEO-оптимизацию (Generative Engine Optimization).
Поскольку MicroApps — это идеально чистый полигон для испытаний (молодой сайт, на котором вообще нет рекламы и нет ссылочной массы, только чистая органика), любые изменения метрик здесь максимально показательны. Прошло еще мало времени, но как только соберется достаточная статистика по результатам GEO-внедрений, я обязательно выкачу об этом отдельную статью.
Пишите свои инструменты, не бойтесь отказываться от тяжелых баз данных и делайте интернет чище! Буду рад ответить на вопросы по архитектуре и SEO в комментариях. А о том, как выжать максимум скорости из WordPress, читайте в статье Google PageSpeed в зелёной зоне без плагинов.
Исходный код и демонстрация платформы на GitHub
Исходный код демо-версии ядра и архитектуры No-DB платформы MicroApps передан в открытый доступ. Вы можете изучить устройство роутинга, изоляцию модулей и реализацию SEO-блоков напрямую в репозитории команды FastUp.by.
Репозиторий на GitHub: <a href="https://github.com/FastUpBy/microapps.by
Также рекомендуем изучить наш бенчмарк моделей DeepSeek Pro и Flash для ИИ-агентов.
» target=»_blank» rel=»noreferrer noopener nofollow»>github.com/FastUpBy/microapps.byТакже рекомендуем изучить наш бенчмарк моделей DeepSeek Pro и Flash для ИИ-агентов.


