Мы часто сталкиваемся с ситуацией, когда клиент хочет запустить классифайд, но теряет пользователей на этапе подачи объявления. Наш опыт показывает, что проектирование портала объявлений на 1С-Битрикс начинается с пользовательского сценария, а не с базы данных. Человек хочет продать диван — фотографирует, пишет описание, заходит на сайт и упирается в форму из 30 полей. Бросает. Идёт на Avito. Если портал теряет пользователя на этапе подачи — всё остальное (модерация, поиск, монетизация) не имеет значения. Мы выявили, что 90% пользователей бросают форму, если в ней больше 5 обязательных полей. Поэтому первый шаг — спроектировать форму подачи объявления за 3 шага с автосохранением.
Архитектура контентной модели портала объявлений
Классифайд — это каталог пользовательского контента с категориями, где у каждой свой набор характеристик. Автомобиль описывается маркой, моделью, годом выпуска, пробегом. Квартира — площадью, этажом, количеством комнат. Смартфон — моделью, состоянием, объёмом памяти.
В 1С-Битрикс это реализуется через инфоблоки с пользовательскими свойствами. Есть два подхода:
- Один инфоблок — все объявления, категория определяется секцией. Динамические свойства через фронтенд-логику.
- Отдельные инфоблоки для каждой крупной категории (авто, недвижимость, услуги). Второй подход предпочтительнее: чистая схема свойств, индексы заточены под фильтры, нет пустых полей.
| Характеристика | Один инфоблок | Отдельные инфоблоки |
|---|---|---|
| Гибкость свойств | Средняя (требуется логика) | Высокая (каждый инфоблок своя схема) |
| Производительность фильтров | Ниже при >10 свойств | Выше (индексы по конкретным полям) |
| Сложность модерации | Одинаковая | Одинаковая |
Элемент объявления содержит:
- заголовок, описание, цена (с валютой)
- категория + подкатегория (секции, до 4 уровней)
- фотографии (множественное свойство «Файл», до 20 изображений)
- геолокация (город, район — справочник или координаты)
- контакты (скрыты до авторизации)
- статус: черновик, на модерации, активно, продано, снято, заблокировано
- тип: частное / от компании
- срок размещения, дата истечения
Почему выбор категории — самый важный шаг?
Форма подачи должна быть пошаговой: выбор категории → заполнение полей → загрузка фото → предпросмотр → публикация. Каждый шаг минимизирует когнитивную нагрузку. Автосохранение черновика через localStorage + AJAX каждые 30 секунд спасает при закрытии вкладки.
Реализуется кастомный компонент на базе bitrix:iblock.element.add.form или полностью кастомная форма с REST API. Второй вариант даёт контроль над UX: валидация на лету, прогресс-бар, обрезка фото на клиенте.
Модерация контента
Без модерации портал заполняется спамом в первый же день. Мы внедряем многоуровневую систему:
| Тип проверки | Момент | Реализация |
|---|---|---|
| Стоп-слова | При сохранении | OnBeforeIBlockElementAdd |
| Дубликат фото | При загрузке | Perceptual hash, сравнение с базой |
| Дубликат текста | При сохранении | Шинглы или MinHash |
| Телефон в тексте | При сохранении | Regex-фильтр |
| Ручная модерация | После подачи | Очередь в админке с bulk-действиями |
| Жалобы | После публикации | Счётчик жалоб, порог автоскрытия |
Для новых пользователей включаем премодерацию (первые 5 объявлений), для опытных — постмодерацию. Модераторский интерфейс с горячими клавишами ускоряет обработку.
Как организовать поиск на портале объявлений без тормозов?
Поиск — основной способ навигации. Пользователь задаёт параметры: «квартира, 2 комнаты, Минск, до $50 000». Фасетные фильтры на стандартном CIBlockElement::GetList работают до ~10 000 объявлений. Для 100 000+ нужен Elasticsearch: он обеспечивает автодополнение, исправление опечаток, поиск по синонимам («однушка» → «1-комнатная»). Elasticsearch в 10 раз быстрее при фильтрации по множеству свойств.
Геофильтр реализуем через координаты и радиус на карте. Сохранение поиска с уведомлениями о новых объявлениях — через агенты Битрикс.
Личный кабинет и монетизация
Личный кабинет включает: мои объявления, избранное, внутреннюю переписку (скрывает контакты до сделки), уведомления, отзывы, баланс.
Монетизация строится на платных услугах: поднятие в поиске, выделение цветом, VIP-размещение, увеличение лимита фото. Подписки для продавцов с безлимитом и статистикой. Платежи через модуль «Интернет-магазин» и платёжные системы (ЮKassa, CloudPayments). Рекуррентные платежи для подписок — через токенизацию карты.
Документация 1С-Битрикс рекомендует использовать инфоблоки v2.0 для каталогов с более чем 10 000 элементов.
Стоимость разработки рассчитывается индивидуально и зависит от объёма функций и ожидаемой нагрузки.
SEO и масштабирование
Генерация уникальных title/description из свойств: «{Название} — купить в {Город}». ЧПУ: /category/subcategory/id-slug/. Фильтры — отдельные посадочные страницы с мета-тегами. Noindex для пустых категорий. Микроразметка Product по Schema.org.
Производительность: композитный кэш, фасетный индекс, CDN для изображений с ресайзом, очереди через агенты или RabbitMQ. При нагрузке свыше 500 RPS ставим реплику БД на чтение.
Этапы разработки портала объявлений
- Анализ: сбор требований, прототипирование форм, определение контентной модели.
- Проектирование: архитектура БД, схема инфоблоков, настройка кэширования.
- Разработка: создание кастомных компонентов, интеграция платёжных систем, настройка поиска.
- Тестирование: нагрузочное тестирование до 1000 RPS, проверка модерации, юзабилити-тесты формы подачи.
- Деплой: развёртывание на production, настройка мониторинга, миграция данных.
Пример конфигурации Docker для локальной разработки
FROM php:8.1-fpm
RUN docker-php-ext-install mysqli pdo_mysql
Что входит в работу?
- Архитектура контентной модели и базы данных
- Разработка пошаговой формы подачи с автосохранением
- Система модерации (авто + ручная)
- Поиск на Elasticsearch с фасетными фильтрами
- Личный кабинет и внутренняя переписка
- Монетизация (платные услуги, подписки)
- SEO-шаблоны, ЧПУ, sitemap
- Документация по администрированию
- Обучение команды заказчика
- Поддержка 3 месяца после запуска
Наша команда имеет 10+ лет опыта в разработке на 1С-Битрикс и более 50 успешных проектов. Мы гарантируем стабильную работу портала и оптимизацию под высокие нагрузки. Свяжитесь с нами, чтобы обсудить ваш проект. Закажите разработку портала объявлений или получите консультацию по вашему проекту.







