Шаул Якубов
Создание сайта Всероссийского голосования для компании "Агролидер"
Шаул Якубов
#Разработка сайтов под ключ#SEO под ключ#Проектирование и дизайн CRM

Создание сайта Всероссийского голосования для компании "Агролидер"

26 
Шаул Якубов Россия, Москва
Поделиться: 0 0 0
Создание сайта Всероссийского голосования для компании "Агролидер"
Бюджет

300 000

Сфера

Государство и общество

Тип сайта

Корпоративный сайт

Сдано

Июнь 2026

Задача

Национальная премия «Агролидер» — голосовательная платформа федерального уровня

Стек: WordPress (headless-подход к шаблонам), PHP 8.2, MySQL, REST API, нативный JS. Хостинг — shared, что добавляет жёсткие ограничения по ресурсам и требует тонкой оптимизации.

Масштаб и архитектура

Платформа — это не «сайт на WordPress», а полноценная B2B-система онлайн-голосования с многоуровневой бизнес-логикой. Разработаны 4 собственных плагина и кастомный overlay-движок поверх темы:

28 кастомных таблиц БД (ядро голосования, OTP, экспертная подсистема, аналитика, email-модуль, антифрод-индексы).

Иерархическая архитектура «Партнёр → Спец-номинация» на единой таксономии с двухуровневой вложенностью, изолированными формами заявок (конструктор полей под каждую номинацию) и независимым жизненным циклом голосования.

Мультидоменная структура страниц с собственной системой роутинга (add_rewrite_rule + template_redirect): динамические лендинги партнёров /partner/{slug}/, каталоги, страницы голосования и форм — всё генерируется из админ-конструкторов без участия разработчика.

Ключевые инженерные задачи

Двухканальная авторизация голосующих. Реализованы два независимых потока: VK ID OAuth 2.0 (обмен кодов, trust-score антифрод-скоринг аккаунтов) и собственная Email-OTP система (генерация, хеширование кодов через wp_hash_password, защита от брутфорса и от обхода через повторную отправку). Дедупликация голосов по трём идентификаторам (email-hash, vk_id, phone-hash) на уровне UNIQUE-индексов БД.

Антифрод-комплекс. Yandex SmartCaptcha в invisible-режиме, многоуровневый rate-limiting (по email, по IP, по nonce), IP-blacklist, валидация одноразовых email-доменов, серверная проверка trust-score VK-аккаунтов (привязка телефона, верификация, возраст аккаунта). Все события безопасности логируются в audit-log с уровнями severity.

Отказоустойчивость на медленном хостинге. Самая сложная задача — стабильность под нагрузкой на shared-хостинге с непредсказуемым SMTP. Решения: вынос email-уведомлений в асинхронную обработку через WP-Cron (устранение HTTP 504 Gateway Timeout при медленных корпоративных mail-серверах получателей), shutdown-функции для перехвата PHP fatal errors и гарантированной отдачи валидного JSON вместо HTML-ошибки, контроль SMTP-таймаутов через phpmailer_init, fallback-механизмы на каждом критичном шаге.

Сезонная сегментация данных без миграции БД — система разделяет данные премий разных лет (граница сезонов) через слой SQL-фильтров, что позволяет вести несколько ежегодных кампаний на одной базе.

Внешние интеграции: SMS.ru, VK ID SDK, DaData (FIAS-автодополнение адресов и регионов), GA4, Yandex.Metrika, Rank Math SEO, embed-движок видео с поддержкой 10+ провайдеров (YouTube, Vimeo, Rutube, VK Video, Дзен, Яндекс.Диск, Cloud Mail.ru) с проверкой доступности и backoff-кэшированием.

Кастомные подсистемы

Email-модуль уровня самостоятельного продукта: авто-логирование всех писем, ручная рассылка, массовые кампании с очередью, редактируемые HTML-шаблоны, трекинг открытий/кликов, дашборд аналитики.

Конструктор лендингов партнёров — визуальный no-code редактор премиум-страниц (Hero-варианты, статистика, бейджи, layout-движок), которым управляет контент-менеджер без разработчика.

Экспертная подсистема жюри: токен-доступ, критерии оценки, очередь уведомлений, аудит.

Автоматические email-отчёты партнёрам по cron с агрегацией статистики, расчётом динамики и premium-вёрсткой.

CRM-модуль модерации заявок с конвертацией заявка → публичная карточка номинанта.

Инженерная культура

Безопасность по умолчанию: nonce-верификация, prepared statements на каждом запросе, шифрование персональных данных (cv_encrypt_data), SSRF-защита при работе с внешними URL, разделение прод/локальных конфигов.

Производительность: LCP-preload, resource hints, условная загрузка тяжёлых скриптов, стабильный seed-пагинатор (устранение дублей между SSR и AJAX), кэширование через transients с anti-stampede-блокировками.

Надёжность эксплуатации: mu-plugin для гарантии cron, профайлеры на критичных хендлерах, диагностическое логирование с трассировкой до файла и строки, бэкап-дисциплина перед каждой рискованной правкой.

Итог

Проект демонстрирует способность строить высоконагруженные, защищённые, бизнес-критичные системы на ограниченной инфраструктуре, проектировать сложные доменные модели, интегрировать десятки внешних сервисов и обеспечивать стабильность в продакшене для реальных пользователей федерального масштаба — с непрерывной поддержкой, диагностикой инцидентов и итеративным развитием функционала под живой бизнес.

Решение

Я спроектировал и реализовал с нуля платформу онлайн-голосования для Национальной премии «Агролидер» — систему федерального масштаба, рассчитанную на работу с большим числом реальных участников и голосующих.

В рамках проекта я:

  • разработал собственную модульную архитектуру вместо готовых решений — это дало полный контроль над бизнес-логикой и возможность масштабирования;

  • спроектировал гибкую модель премий и партнёрских номинаций с независимыми формами заявок и отдельным управлением голосованием для каждой номинации;

  • реализовал несколько способов авторизации голосующих с подтверждением личности, обеспечив принцип «один человек — один голос»;

  • выстроил многоуровневую систему защиты от накрутки и автоматических ботов;

  • создал удобную административную панель, позволяющую заказчику самостоятельно управлять контентом, номинациями, формами и модерацией без участия разработчика;

  • разработал систему автоматических email-коммуникаций: уведомления, шаблоны писем, рассылки и отчёты для партнёров;

  • интегрировал необходимые внешние сервисы для авторизации, подсказок при заполнении форм, аналитики и SEO;

  • обеспечил отказоустойчивость и стабильную работу системы под реальной нагрузкой;

  • организовал непрерывную поддержку проекта: мониторинг, диагностику и итеративное развитие функционала под задачи живого бизнеса.

Каждый из этих этапов я подробно раскрываю ниже.
Детализация этапов (для блоков ниже)

1. Архитектура и фундамент.
Я отказался от «сборки на готовых плагинах» в пользу собственной модульной системы. Это обеспечило полный контроль над логикой голосования, гибкость и устойчивость к росту нагрузки.

2. Честное голосование.
Я реализовал механику, гарантирующую корректный подсчёт голосов и исключающую дублирование. Система устойчива к попыткам накрутки и сохраняет достоверность результатов.

3. Авторизация и безопасность.
Я внедрил несколько независимых способов подтверждения личности голосующего и многоуровневую защиту от ботов и злоупотреблений. Персональные данные участников обрабатываются с соблюдением требований безопасности.

4. Панель управления для заказчика.
Я разработал интерфейс, в котором контент-менеджер самостоятельно создаёт номинации, собирает страницы партнёров в визуальном конструкторе, настраивает формы и модерирует участников — без обращения к разработчику.

5. Стабильность в продакшене.
Я уделил особое внимание надёжности системы под реальной нагрузкой: критичные процессы спроектированы отказоустойчиво, с резервными сценариями на каждом важном шаге. Платформа работает с живой аудиторией по всей стране.

6. Интеграции и контент.
Я подключил внешние сервисы для удобства пользователей и продвижения проекта, а также реализовал универсальный показ видео-визиток участников с популярных платформ.

7. Поддержка и развитие.
Я сопровождаю проект на постоянной основе: оперативно реагирую на обращения пользователей, провожу диагностику и развиваю функциональность в соответствии с потребностями заказчика.

Результат

По итогам работы я запустил и вывел в стабильную эксплуатацию платформу голосования федерального уровня. Ключевые результаты:

  • запустил систему, которая обрабатывает голосование реальных участников по всей стране в режиме живой премии;

  • собрал более тысячи заявок участников и 50 000 голосов за время кампании;

  • охватил более 50 регионов России;

  • обеспечил честный подсчёт голосов с защитой от накрутки — результаты премии достоверны и не оспаривались;

  • реализовал самостоятельное управление платформой для заказчика — контент, номинации и модерация ведутся без привлечения разработчика;

  • добился стабильной работы системы под нагрузкой с минимальным временем простоя;

  • выстроил процесс оперативной поддержки: обращения пользователей решаются в течение [часов/дня].

Проект продолжает развиваться: добавляются новые партнёрские номинации и функциональность под задачи бизнеса.

Шаул Якубов
Шаул Якубов

Россия Москва

Этот проект — пример того, как я подхожу к разработке: не «сайт по шаблону», а инженерное решение под реальную бизнес-задачу. Я спроектировал систему с нуля, выстроил сложную доменную логику, обеспечил безопасность и стабильность под живой нагрузкой. Отдельно горжусь тем, что сделал платформу управляемой для заказчика — он работает с ней самостоятельно, без зависимости от разработчика. Высокому результату способствовали доверие клиента и оперативная обратная связь: мы быстро проходили цикл «задача → решение → проверка». Я сопровождаю проект на постоянной основе, оперативно реагирую на обращения пользователей и продолжаю развивать функциональность. Останавливаться на достигнутом не планирую — впереди расширение возможностей платформы и новые партнёрские интеграции.

Отзыв клиента

Екатерина
Екатерина

Исполнительный директор

Мы обратились с непростой задачей — запустить онлайн-голосование для премии федерального масштаба, с высокими требованиями к честности результатов и надёжности. Исполнитель полностью оправдал доверие: разобрался в специфике, предложил продуманное техническое решение и довёл его до стабильной работы с реальной аудиторией по всей стране. Отдельно отмечаем удобство управления — мы ведём контент и модерацию сами, без постоянного обращения к разработчику. Все вопросы и обращения пользователей решаются оперативно, на связи специалист всегда. Платформа работает стабильно, результаты голосования достоверны. Рекомендуем как ответственного и сильного в техническом плане подрядчика. Продолжаем сотрудничество и развитие проекта.

http://agrolider.su

Стек технологий


Оцените кейс
Спасибо за оценку
Выскажите мнение
Авторизуйтесь, чтобы добавить свой комментарий.
оставить заявку

Хотите заказать похожий проект?

Оставить заявку