Разработка портала объявлений на 1С-Битрикс

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Разработка портала объявлений на 1С-Битрикс
Сложная
от 1 недели до 3 месяцев
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1177
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    811
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    747
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

Разработка портала объявлений на 1С-Битрикс

Человек хочет продать диван. Фотографирует, пишет описание, заходит на сайт — и упирается в форму из 30 полей, половина которых непонятна. Бросает. Идёт на Avito. Если портал объявлений теряет пользователя на этапе подачи — всё остальное (модерация, поиск, монетизация) не имеет значения. Проектирование классифайда на 1С-Битрикс начинается с пользовательского сценария, а не с архитектуры базы данных.

Архитектура контентной модели

Классифайд — это каталог пользовательского контента с категориями, где у каждой категории свой набор характеристик. Автомобиль описывается маркой, моделью, годом выпуска, пробегом. Квартира — площадью, этажом, количеством комнат. Смартфон — моделью, состоянием, объёмом памяти.

В 1С-Битрикс это реализуется через инфоблоки с пользовательскими свойствами:

  • Один инфоблок — все объявления, категория определяется секцией
  • Динамические свойства — набор свойств зависит от выбранной категории. Реализуется через множественные свойства с привязкой видимости к секции (фронтенд-логика) или через отдельные инфоблоки под каждую крупную категорию

Второй подход предпочтительнее для порталов с принципиально разными типами товаров (авто, недвижимость, услуги). Каждый инфоблок — чистая схема свойств, индексы заточены под конкретные фильтры, нет «мусорных» пустых полей.

Элемент объявления содержит:

  • Заголовок, описание, цена (с валютой)
  • Категория + подкатегория (секции инфоблока, до 3–4 уровней)
  • Фотографии (множественное свойство типа «Файл», до 10–20 изображений)
  • Геолокация (город, район — справочник или координаты для карты)
  • Контакты продавца (телефон, мессенджер — скрыты до авторизации)
  • Статус: черновик, на модерации, активно, продано, снято, заблокировано
  • Тип объявления: частное / от компании
  • Срок размещения и дата истечения

Подача объявления — критический сценарий

Форма подачи должна быть пошаговой:

  1. Выбор категории — дерево с поиском, популярные категории вынесены отдельно
  2. Заполнение полей — только релевантные для выбранной категории, обязательные поля минимизированы
  3. Загрузка фото — drag-and-drop, обрезка, поворот, сжатие на клиенте перед отправкой
  4. Предпросмотр — как будет выглядеть объявление в поиске и на странице
  5. Публикация — с опциональным выбором платных услуг (поднятие, выделение)

Реализуется через кастомный компонент на базе bitrix:iblock.element.add.form или полностью кастомную форму с REST API на фронтенде. Второй вариант даёт контроль над UX — валидация на лету, прогресс-бар загрузки фото, автосохранение черновика.

Автосохранение. Пользователь заполнил половину формы, закрыл вкладку. При возвращении — черновик на месте. Реализуется через localStorage + сохранение на сервер каждые 30 секунд через AJAX.

Модерация

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

Многоуровневая система модерации:

  • Автоматическая фильтрация — стоп-слова, проверка на дубликаты (сравнение хешей фото и текста), детектор телефонных номеров в тексте (попытка обойти скрытие контактов)
  • Ручная премодерация — для новых пользователей (первые 3–5 объявлений)
  • Постмодерация — для пользователей с историей, объявление публикуется сразу, но попадает в очередь проверки
  • Жалобы пользователей — кнопка «Пожаловаться» с выбором причины, автоскрытие при пороге жалоб
Тип проверки Момент Реализация
Стоп-слова При сохранении Обработчик OnBeforeIBlockElementAdd
Дубликат фото При загрузке Perceptual hash (pHash), сравнение с базой
Дубликат текста При сохранении Шинглы или MinHash
Телефон в тексте При сохранении Regex-фильтр
Ручная модерация После подачи Очередь в админке с bulk-действиями
Жалобы После публикации Счётчик жалоб, порог автоскрытия

Модераторский интерфейс — отдельная страница в административном разделе с фильтрами по статусу, категории, дате. Горячие клавиши для быстрой обработки: одобрить, отклонить, запросить правки.

Поиск и фильтрация

Поиск — основной способ навигации. Пользователь не листает каталог, а задаёт параметры: «квартира, 2 комнаты, Минск, до $50 000».

Компонент фильтра:

  • Фасетные фильтры по свойствам инфоблока — для скорости используется модуль фасетного индекса 1С-Битрикс (iblock_facet)
  • Диапазоны цен с ползунком
  • Геофильтр — выбор города/района или радиус на карте
  • Сортировка: по дате, по цене, по релевантности
  • Сохранение поиска — пользователь подписывается на запрос и получает уведомления о новых объявлениях

Полнотекстовый поиск — Elasticsearch для автодополнения, исправления опечаток, поиска по синонимам (например, «однушка» → «1-комнатная квартира»).

Для крупных порталов (100 000+ объявлений) фильтрация через стандартный CIBlockElement::GetList не подходит по производительности. Решение — вынос данных в Elasticsearch или Sphinx, фильтрация на стороне поискового движка, отдача ID элементов обратно в Битрикс для отображения.

Личный кабинет пользователя

Личный кабинет — второй по важности элемент после поиска.

Функции кабинета:

  • Мои объявления — список с фильтрами по статусу, быстрое редактирование, продление, снятие
  • Избранное — сохранённые объявления других пользователей
  • Сообщения — внутренняя переписка между покупателем и продавцом (без раскрытия контактов до сделки)
  • Уведомления — новые сообщения, изменение статуса объявления, результаты подписки на поиск
  • Отзывы — рейтинг продавца по итогам сделок
  • Баланс и платежи — для монетизации через платные услуги

Внутренняя переписка реализуется через кастомный модуль или через модуль «Веб-мессенджер» (im) 1С-Битрикс. Второй вариант даёт real-time доставку, но интерфейс требует кастомизации.

Монетизация

Бесплатная площадка без монетизации — это убыточный проект. Модели заработка:

Платные услуги для объявлений:

  • Поднятие в поиске (на N часов/дней)
  • Выделение цветом или рамкой в ленте
  • VIP-размещение в топе раздела
  • Увеличение лимита фотографий

Подписки для продавцов:

  • Бесплатный тариф: N объявлений в месяц
  • Платный: безлимит + статистика просмотров + приоритет в выдаче

Реклама:

  • Баннеры в каталоге и на страницах объявлений (модуль advertising 1С-Битрикс)
  • Контекстные блоки, привязанные к категориям

Платежи принимаются через модуль «Интернет-магазин» (sale) 1С-Битрикс: заказ на услугу, оплата через платёжную систему (ЮKassa, CloudPayments, Stripe), автоматическое применение услуги после оплаты. Рекуррентные платежи для подписок — через токенизацию карты.

Баланс пользователя. Внутренний счёт, пополняемый через платёжную систему. Списание — при активации услуги. Реализуется через внутренние счета модуля sale или кастомную таблицу.

SEO для классифайда

Портал объявлений генерирует тысячи страниц. SEO-стратегия:

  • Уникальный title и description для каждого объявления — шаблонизация из свойств: «{Название} — купить в {Город}, цена {Цена} руб.»
  • ЧПУ/category/subcategory/id-slug/
  • Фильтры как посадочные страницы/kvartiry/minsk/2-komnatnye/ — отдельная страница с мета-тегами, а не параметр в URL
  • Noindex для пустых категорий и снятых объявлений
  • Sitemap — динамическая генерация, обновление при каждой публикации/снятии
  • Микроразметка Product или Offer по Schema.org

Производительность и масштабирование

Портал объявлений — это высоконагруженный проект. 100 000 объявлений × 5 фото = 500 000 файлов. Тысячи одновременных поисковых запросов с фильтрацией.

Стек оптимизации:

  • Композитный кэш для страниц объявлений и категорий
  • Фасетный индекс для быстрой фильтрации
  • Elasticsearch/Sphinx для полнотекстового поиска
  • CDN для изображений с автоматическим ресайзом (через BX_RESIZE_IMAGE_PROPORTIONAL или внешний сервис типа imgproxy)
  • Очереди — обработка фото, отправка уведомлений, индексация в поисковом движке — через агенты 1С-Битрикс или RabbitMQ
  • Отдельный сервер БД, реплика для чтения при нагрузке свыше 500 RPS