Документация

Введение

Adwos CMS — движок для создания досок объявлений, маркетплейсов и классифайд-площадок на Go + Next.js. Из коробки поддерживает объявления, магазины с каталогом товаров, безопасную сделку (эскроу), чат, блог, истории, систему отзывов, монетизацию, импорт/экспорт и модульную архитектуру.

Для кого

  • Доски объявлений (авто, недвижимость, работа, услуги)
  • Маркетплейсы товаров и магазинов
  • Фриланс-биржи и агрегаторы услуг
  • Аренда жилья, авто, инструмента
  • Любые классифайд-площадки с фильтрами и категориями

Ключевые возможности

Объявления
Публикация, модерация, жизненный цикл, галерея изображений, кастомные поля
Магазины
Витрины продавцов с каталогом, страницами, баннерами и тарифными подписками
Безопасная сделка
Эскроу-механизм: резервирование, автовыплата, арбитраж
Корзина и заказы
Добавление товаров, оформление и отслеживание заказов
Поиск
Полнотекстовый поиск через Manticore Search с фильтрами и подсказками
Чат
Мгновенные сообщения через WebSocket, привязка к объявлению
Блог и Истории
Статьи с Editor.js, сторис с просмотрами, комментарии, лайки
Монетизация
Продвижение, рекламные блоки, кошелёк, тарифы магазинов
Импорт и экспорт
Импорт из Avito XML / универсальных фидов, экспорт данных
Мультиязычность
Управление переводами интерфейса и контента
SEO
Шаблоны мета-тегов, Яндекс.Вебмастер, Google Search Console
Модули
Карты, платежи, SMS, соцсети, доставка, Web Push — подключаются отдельно

Технологии

BackendGo, Chi Router, PostgreSQL 16, Redis 7
ПоискManticore Search
FrontendNext.js, React 19, Tailwind CSS, HeroUI, Framer Motion
RealtimeWebSocket (чат, уведомления)
Редактор контентаEditor.js (блог, описания)
ХранилищеЛокальное или S3-совместимое (Minio, AWS S3)

Установка

Системные требования

ОСLinux (Ubuntu 22.04+ рекомендуется)
PostgreSQL16+
Redis7+
Manticore Search6+
Node.js20+ (для фронтенда)
ДоменС SSL-сертификатом (Let's Encrypt)
RAMМинимум 1 ГБ, рекомендуется 2+ ГБ

Быстрая установка

Выполните на сервере с правами root:

bash
sudo bash -c "$(curl -sSL https://adwos.org/install.sh)"
СоветСкрипт работает только на Linux. Если у вас уже есть лицензионный ключ, можно передать его через переменную окружения:
bash
LICENSE_KEY="ваш-ключ" sudo -E bash -c "$(curl -sSL https://adwos.org/install.sh)"

Веб-мастер установки

После запуска скрипта откроется веб-мастер установки на порту 8888. Откройте в браузере:

text
http://ваш-домен:8888

Мастер проведёт через все шаги:

  • Проверка лицензионного ключа и домена
  • Проверка системных требований сервера
  • Настройка инфраструктуры (PostgreSQL, Redis, Manticore)
  • Создание администратора и загрузка начальных данных
  • Настройка хранилища файлов и SMTP
  • Запуск CMS и настройка HTTPS через Caddy
ИнфоПосле завершения установки Caddy автоматически настраивает HTTPS на портах 80/443 и выпускает SSL-сертификат через Let's Encrypt. Сайт будет доступен по адресу https://ваш-домен без указания порта. Инсталлер самоудаляется после завершения.

Установщик проверит системные требования, запросит лицензионный ключ, скачает CMS и настроит всё автоматически: домен, БД, Redis, Manticore, SMTP, данные администратора. По завершении будет сгенерирован файл .env со всей конфигурацией.

Ручная установка

bash
# 1. Создайте базу данных
createdb -U postgres adwos_cms

# 2. Разместите бинарник и фронтенд
mkdir -p /opt/adwos-cms
cp adwos-cms /opt/adwos-cms/
cp -r .next /opt/adwos-cms/

# 3. Скопируйте лицензию
cp license.lic /opt/adwos-cms/

# 4. Сконфигурируйте .env
cp .env.example /opt/adwos-cms/.env
nano /opt/adwos-cms/.env

# 5. Примените миграции
cd /opt/adwos-cms && ./adwos-cms migrate up

# 6. Запустите
./adwos-cms serve

Конфигурация (.env)

SERVER_HOST / SERVER_PORTАдрес и порт API-сервера
DB_HOST / DB_PORT / DB_NAMEПодключение к PostgreSQL
REDIS_ADDRАдрес Redis
MANTICORE_ADDRАдрес Manticore Search
JWT_SECRETСекрет для JWT-токенов (генерируется автоматически)
LICENSE_KEYЛицензионный ключ Adwos CMS
LICENSE_DOMAINДомен, привязанный к лицензии
STORAGE_TYPEХранилище файлов: local или s3
SMTP_*Параметры почтового сервера
FRONTEND_URLURL фронтенда для CORS
ВажноПосле установки обязательно смените пароль администратора по умолчанию в админ-панели.

Дашборд

Главная страница админ-панели отображает ключевые метрики: количество пользователей, объявлений, последние регистрации и новые объявления. Доступ по адресу /admin.

ИнфоДля входа в админ-панель используйте учётные данные администратора, заданные при установке.

Управление объявлениями

Раздел «Объявления» позволяет просматривать, модерировать и управлять всеми объявлениями на площадке.

Жизненный цикл объявления

ЧерновикНа модерацииАктивноВ архиве
  • Просмотр всех объявлений с фильтрацией по статусу, категории, пользователю
  • Одобрение или отклонение объявлений на модерации
  • Архивация и восстановление объявлений
  • Удаление объявлений
  • Просмотр жалоб на объявления

Типы цен

ФиксированнаяТочная цена товара или услуги
ДоговорнаяЦена обсуждается с продавцом
БесплатноБез стоимости
ОбменОбмен на другой товар

Категории и кастомные поля

Категории организуют объявления. Поддерживается иерархия (родительская → дочерние). К каждой категории привязываются кастомные поля, которые определяют характеристики объявлений.

Управление категориями

  • Создание, редактирование, удаление категорий
  • Иерархия: категория может иметь подкатегории
  • Иконки и порядок сортировки
  • Импорт и экспорт структуры категорий

Типы полей

textТекстовое поле
numberЧисловое поле
selectВыпадающий список
multi_selectМножественный выбор
booleanПереключатель Да / Нет
rangeДиапазон (от — до)
dateВыбор даты
colorВыбор цвета
locationКоординаты на карте

Настройки полей

  • Обязательное — поле должно быть заполнено при создании объявления
  • Фильтруемое — поле доступно в фильтрах поиска
  • Поисковое — значение индексируется для полнотекстового поиска
  • Группа — объединение полей в визуальную группу
  • Стиль отображения — chips, checkboxes, radio, color_picker, range_slider
  • Зависимость — поле показывается только при определённом значении другого поля
СоветИспользуйте пресеты для быстрого добавления готовых наборов полей — см. раздел «Пресеты».

Пользователи

Управление зарегистрированными пользователями площадки.

Роли

userОбычный пользователь — публикация объявлений, чат, избранное
moderatorМодератор — доступ к модерации объявлений и контента
adminАдминистратор — полный доступ к админ-панели

Возможности

  • Просмотр списка пользователей с фильтрацией и поиском
  • Изменение роли пользователя
  • Блокировка и разблокировка аккаунтов
  • Удаление пользователей
  • Модерация аватаров (одобрение / отклонение)

Магазины

Раздел «Магазины» позволяет управлять витринами продавцов, тарифными планами и подписками. Доступ: /admin/shops и /admin/shop-tariffs.

Управление магазинами

  • Просмотр всех магазинов с фильтрацией по статусу и тарифу
  • Одобрение, блокировка и удаление магазинов
  • Просмотр страниц, баннеров и статистики магазина
  • Привязка магазина к пользователю

Тарифные планы магазинов

Администратор создаёт тарифные планы, которые продавцы подключают через личный кабинет.

Название и описаниеОтображается в интерфейсе выбора тарифа
Цена и периодЕжемесячно или ежегодно
Лимит объявленийМаксимальное количество активных объявлений
Лимит фотографийМаксимум фото на одно объявление
Баннер на витринеВозможность загрузить баннер магазина
Кастомные страницыВозможность создавать страницы «О магазине», «Контакты» и др.
СоветСоздайте несколько тарифов (базовый, профессиональный, бизнес) для монетизации магазинов на вашей площадке.

Импорт и экспорт

Импорт объявлений

Система импорта позволяет автоматически загружать объявления из внешних источников. Доступ: /admin/import.

Avito XMLСтандартный формат выгрузки Avito — импортируется из корзины объявлений
Универсальный XMLСобственный XML-формат с маппингом полей
РасписаниеПериодический импорт по расписанию (cron)
ПредпросмотрПросмотр данных перед применением импорта
  • Создание источника импорта с URL фида
  • Запуск импорта вручную или по расписанию
  • Просмотр истории запусков с результатами (создано, обновлено, ошибки)
  • Маппинг полей фида на кастомные поля категорий

Экспорт данных

Выгрузка данных площадки в различных форматах для аналитики или переноса.

ОбъявленияCSV / XLSX с характеристиками, ценами, фото
ПользователиCSV с профилями, датами регистрации, активностью
ТранзакцииCSV финансовых операций кошелька
ИнфоЭкспорт доступен в разделе «Настройки → Экспорт». Файл формируется на сервере и доступен для скачивания сразу после готовности.

Истории

Истории (Stories) — вертикальные медиа-карточки на главной странице. Доступ: /admin/stories.

  • Создание историй: загрузка изображения или видео, заголовок, ссылка
  • Настройка порядка отображения
  • Ограничение по сроку показа (дата истечения)
  • Привязка к категории или объявлению
  • Просмотр статистики просмотров каждой истории
  • Публикация и снятие с публикации
СоветИспользуйте истории для продвижения акций, новых категорий или объявлений партнёров.

Блог

Встроенная блог-платформа для публикации новостей, статей и обновлений. Контент создаётся в блочном редакторе Editor.js.

  • Создание и редактирование статей с обложкой
  • Блочный редактор: параграфы, заголовки, списки, цитаты, код, изображения, таблицы
  • Категории и теги
  • Статусы: черновик, опубликован
  • Комментарии с модерацией
  • Лайки на постах и комментариях
  • Связанные посты

Модерация

Система модерации контента обеспечивает качество площадки.

Режимы модерации

РучнаяКаждое объявление проходит проверку модератором перед публикацией
АвтоматическаяОбъявления публикуются сразу после создания

Что модерируется

  • Объявления — одобрение, отклонение с причиной
  • Жалобы на объявления — просмотр, рассмотрение, отклонение
  • Аватары пользователей — одобрение или отклонение загруженных фото
  • Комментарии в блоге — удаление, обработка жалоб
  • Отзывы — удаление, обработка апелляций

Объявления

Основная сущность CMS. Пользователи создают объявления с фотографиями, описанием и характеристиками, специфичными для выбранной категории.

Создание объявления

  • Выбор категории (с подкатегориями)
  • Загрузка изображений с drag-and-drop, выбор обложки
  • Заполнение кастомных полей категории
  • Указание цены (фиксированная, договорная, бесплатно, обмен)
  • Выбор местоположения на карте
  • Контактные данные

Личный кабинет

  • Список своих объявлений с фильтрацией по статусу
  • Редактирование и удаление
  • Продвижение объявлений (платные услуги)
  • Статистика просмотров и контактов

Магазины и каталог

Продавцы могут создать собственную витрину — магазин с каталогом товаров, страницами и баннером. Покупатели видят все предложения продавца в едином пространстве.

Создание магазина

  • Название, описание, логотип и баннер магазина
  • Выбор тарифного плана (с функциями и лимитами)
  • Кастомные страницы: «О магазине», «Доставка», «Контакты»
  • Публичная витрина со всеми объявлениями продавца

Тарифные планы

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

Управление в личном кабинете

  • Список моих магазинов
  • Управление объявлениями магазина
  • Статистика просмотров витрины
  • Продление и смена тарифа
СоветМагазин доступен по адресу /shops/[slug]. Slug задаётся при создании.

Безопасная сделка

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

Как работает

1Продавец предлагает безопасную сделку по объявлению
2Покупатель принимает условия и резервирует сумму из кошелька
3Продавец передаёт товар / оказывает услугу
4Покупатель подтверждает получение — деньги переходят продавцу
5При споре — арбитраж администратора

Статусы сделки

pendingОжидает подтверждения покупателя
reservedСредства зарезервированы
in_progressСделка в процессе
completedЗавершена, средства переведены продавцу
disputedОткрыт спор, идёт арбитраж
cancelledОтменена, средства возвращены

Управление

  • Покупатель и продавец: личный кабинет → Сделки (/dashboard/deals)
  • Администратор: /admin/deals — арбитраж, ручное завершение, история
ВажноБезопасная сделка работает только при наличии настроенного платёжного модуля и кошелька.

Корзина и заказы

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

Корзина

  • Добавление товаров (объявлений из магазина) в корзину
  • Изменение количества и удаление позиций
  • Расчёт итоговой суммы
  • Оформление заказа с указанием адреса доставки

Статусы заказа

pendingСоздан, ожидает обработки продавцом
confirmedПринят продавцом
shippingПередан в доставку
deliveredДоставлен
completedЗавершён и оплачен
cancelledОтменён

Доставка

Интеграция с модулями доставки (CDEK, Boxberry, Почта России) позволяет рассчитывать стоимость и создавать заявки прямо из заказа.

  • Покупатель: /dashboard/orders — список заказов
  • Продавец: заказы в кабинете магазина
  • Администратор: /admin/deals — все заказы площадки

Полнотекстовый поиск через Manticore Search с подсказками и динамическими фильтрами.

  • Текстовый поиск с подсказками
  • Фильтр по категории
  • Фильтр по городу
  • Диапазон цен
  • Динамические фильтры по кастомным полям категории
  • Сортировка: новые, старые, дешёвые, дорогие
  • Режимы отображения: сетка, список, карта
СоветНастройки отображения (сетка / список / карта) сохраняются в браузере пользователя.

Чат и сообщения

Встроенная система мгновенных сообщений позволяет покупателям связываться с продавцами напрямую на площадке.

  • Мгновенные сообщения через WebSocket
  • Список диалогов с индикатором непрочитанных
  • Привязка к объявлению
  • Удаление сообщений и диалогов
  • Уведомления о новых сообщениях

Отзывы

Система отзывов позволяет оценивать продавцов и формировать рейтинг доверия.

  • Оценка продавца с рейтингом
  • Текстовые отзывы с ответами продавца
  • Публичный профиль продавца с рейтингом и объявлениями
  • Апелляции на отзывы для модерации
  • Распределение оценок и средний рейтинг

Избранное

Пользователи могут сохранять понравившиеся объявления в избранное для быстрого доступа из личного кабинета.

Уведомления

In-app уведомления в реальном времени через WebSocket. Пользователь получает уведомления о новых сообщениях, ответах на комментарии, изменениях статуса объявлений.

  • Счётчик непрочитанных в шапке сайта
  • Список уведомлений в личном кабинете
  • Отметка как прочитанное

Продвижение объявлений

Платные услуги для выделения объявлений среди конкурентов. Настраиваются в админ-панели: название, цена, длительность, описание.

Типы услуг

СрочноМетка «Срочно» на объявлении
ВыделениеЦветной фон карточки
ПоднятиеОбъявление поднимается в начало списка
VIPРазмещение в блоке VIP-объявлений
XL-карточкаУвеличенная карточка в ленте
БустАвтоматическое поднятие с заданным бюджетом и периодом

Тарифы

Пакетные предложения: объединение нескольких услуг со скидкой.

Специальные предложения

Скидочные акции с ограничением по количеству использований.

Рекламные блоки

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

Позиции

headerВерхняя часть страницы
sidebarБоковая панель
footerПодвал сайта
in_contentВнутри контента
between_listingsМежду объявлениями в ленте
listing_detailНа странице объявления

Форматы

  • Баннер — изображение со ссылкой
  • Скрипт — произвольный HTML/JS (Google Ads, Яндекс.Директ)
  • Нативный — стилизованный блок под дизайн сайта

Отслеживаются показы и клики. Можно задать даты кампании и лимиты показов.

Кошелёк

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

  • Пополнение через платёжные системы
  • Списание при покупке услуг
  • История операций
  • Запросы на вывод средств (обрабатываются администратором)

Дизайн и брендинг

Внешний вид сайта настраивается через админ-панель в разделе «Дизайн» без необходимости правки кода. Доступ: /admin/design.

Логотипы и иконки

Десктоп-логотипОсновной логотип в шапке (SVG или PNG)
Мобильный логотипКомпактная версия для мобильных устройств
Мини-логотипИконка для вкладок браузера и мобильных меню
Логотип подвалаВерсия логотипа для тёмного фона подвала
FaviconИконка вкладки браузера (ICO, PNG или SVG)

Шапка сайта

  • Фиксированная шапка (sticky)
  • Цвета: верхняя панель, основная панель, акцент, фон поиска
  • Управление ссылками меню (раздел «Меню»)

Главная страница

  • Боковая панель (вкл/выкл)
  • Количество колонок объявлений (3–6)
  • Режим загрузки: «Показать ещё», бесконечный скролл, пагинация
  • Количество объявлений на странице (8–48)

Категории

  • Режим отображения: сетка, карусель, компактный
  • Размер карточек, скругление углов
  • Цвета фона, текста, иконок
  • Шрифты и размеры
  • Эффекты при наведении, тени

Подвал (Footer)

Управление структурой подвала через раздел /admin/footer.

  • Создание секций подвала (Компания, Поддержка, Социальные сети и др.)
  • Добавление ссылок в каждую секцию
  • Управление порядком секций и ссылок
  • Текст копирайта

Ссылки на соцсети

Настройка отображаемых соцсетей в подвале и шапке.

  • VK, Telegram, Instagram, YouTube, TikTok, WhatsApp и другие
  • Иконки подставляются автоматически по типу сети

Водяной знак

ТипТекст или изображение
ПозицияЛюбой угол или центр
Прозрачность0–100%
Шрифт и размерНастраиваемый
Минимальный размерПрименяется только к изображениям больше порога

Конструктор страниц

Модуль «Page Builder» позволяет создавать произвольные страницы (лендинги, «О компании», «Правила») через визуальный блочный конструктор. Доступ: /admin/pages.

  • Блоки: герой, текст, изображение, галерея, карточки, CTA, форма
  • Перетаскивание блоков (drag & drop)
  • Кастомный URL (slug) для каждой страницы
  • SEO-настройки для каждой страницы

Модули

Модульная архитектура позволяет расширять функциональность CMS без изменения ядра. Модули устанавливаются из маркетплейса Adwos или загружаются вручную через /admin/marketplace.

Карты

Yandex MapsОтображение объявлений на карте, выбор геоточки
Google MapsПолная интеграция с Google Maps API
2GIS MapsКарты 2GIS для российских городов
OpenStreetMapБесплатная карта, не требует API-ключа

Адреса

DaDataПодсказки адресов и обратное геокодирование для России

SMS и верификация

SMSCПопулярный провайдер для России и СНГ
SMS.ruРоссийский SMS-шлюз
GreenSMSМассовые SMS-рассылки
TwilioМеждународный провайдер

Платёжные системы

ЮКасса (YooKassa)
Основной шлюз для России — карты, СБП, ЮMoney
Т-Банк (T-Bank)
Платежи через экосистему Т-Банка
CloudPayments
Карты с 3D Secure, Apple Pay, Google Pay
Robokassa
Широкий выбор способов оплаты для РФ и СНГ
UnitPay
Агрегатор платежей для СНГ
Bepaid
Белорусский платёжный шлюз
ClickUz
Платёжный шлюз для Узбекистана
FreedomPay
Казахстанский платёжный шлюз
Stripe
Международные карточные платежи
PayPal
Международные переводы и оплата
ЮMoney
Электронный кошелёк Яндекса
Банковский перевод
Ручная обработка переводов

Социальная авторизация

VKВход через ВКонтакте
ЯндексВход через Яндекс ID
GoogleВход через Google Account
ОдноклассникиВход через OK.ru
TelegramВход через Telegram Login Widget

Доставка

CDEKРасчёт стоимости, создание заявок на доставку
BoxberryДоставка до пунктов выдачи и курьером
Почта РоссииИнтеграция с API Почты России

Email-провайдеры

SMTPЛюбой SMTP-сервер (встроен в ядро)
MailgunТранзакционные письма через Mailgun API
SendGridТранзакционные письма через SendGrid API

Уведомления

Web PushPush-уведомления в браузере через Web Push API
Telegram BotУведомления пользователям в Telegram

Дополнительные модули

Avito ExportГенерация XML-фида объявлений в формате Avito
Универсальный импортИмпорт из любых XML-фидов с маппингом полей
Page BuilderКонструктор страниц с визуальным редактором блоков
Размытие фотоАвтоматическое размытие нежелательного контента на изображениях

Капча

reCAPTCHA v3Невидимая капча от Google
Cloudflare TurnstileАльтернатива reCAPTCHA без изображений
Яндекс SmartCaptchaКапча для российских проектов

Управление модулями

  • Просмотр доступных и установленных модулей в маркетплейсе
  • Установка в один клик — модуль скачивается и активируется автоматически
  • Настройка API-ключей и параметров каждого модуля
  • Обновление до новых версий из маркетплейса
  • Деактивация и удаление модулей
ИнфоКаждый модуль подписан RSA-4096 и верифицируется при установке. Модули работают через систему хуков и не могут изменять ядро CMS.

Пресеты полей

Пресеты — готовые наборы кастомных полей для типовых ниш. Позволяют за секунду настроить категорию с правильными характеристиками.

Доступные пресеты

ПресетОписаниеПримеры полей
АвтоЛегковые автомобилиМарка, модель, год, пробег, кузов, двигатель, КПП
НедвижимостьЖильё и коммерцияТип, площадь, комнаты, этаж, ремонт, мебель
ЭлектроникаТехника и гаджетыБренд, состояние, память, цвет
РаботаВакансииТип занятости, график, опыт, зарплата
УслугиПредложения услугТип услуги, опыт, выезд/онлайн
МотоМотоциклы, скутерыМарка, объём, год, тип
ГрузовыеГрузовики, спецтехникаТип, грузоподъёмность, год
ОдеждаОдежда и обувьРазмер, бренд, состояние, пол
ЖивотныеПитомцыВид, порода, возраст
Краткоср. арендаКвартиры посуточноТип, вместимость, удобства

Применение

Перейдите в категорию → «Применить пресет». Два режима:

ЗаменитьУдалить существующие поля и добавить из пресета
ДополнитьДобавить поля из пресета к существующим

Настройки

Все настройки CMS управляются через раздел «Настройки» в админ-панели.

Основные настройки

Название сайтаОтображается в шапке и title страниц
ОписаниеMeta-описание по умолчанию
ЯзыкОсновной язык интерфейса
Режим модерацииРучная или автоматическая модерация объявлений
РегистрацияОткрыта или закрыта

Доступ к сайту

Сайт активенВключение / отключение сайта для посетителей
Действие при отключенииСтраница обслуживания, редирект или пароль
Белый список IPДоступ только с указанных адресов

Хранилище файлов

Тип хранилищаЛокальное или S3-совместимое (Minio, AWS S3)
Макс. размер файлаОграничение на одну загрузку
Макс. фото на объявлениеЛимит изображений

Почта (SMTP)

Настройка SMTP-сервера для отправки писем. Используется для: подтверждения email при регистрации, сброса пароля, уведомлений о заказах и сделках, тикетов поддержки.

SMTP_HOSTАдрес почтового сервера
SMTP_PORTПорт (обычно 587 или 465)
SMTP_USER / SMTP_PASSWORDУчётные данные
SMTP_FROMАдрес отправителя
SMTP_TLSИспользовать TLS
СоветПосле настройки SMTP нажмите «Тест SMTP» — система отправит тестовое письмо на указанный адрес.

Подтверждение email

При включённом SMTP новые пользователи получают письмо со ссылкой для подтверждения email. Войти в аккаунт можно только после перехода по ссылке. Ссылка действительна 24 часа. Администратор может подтвердить email пользователя вручную в разделе «Пользователи».

Лицензия

Информация о текущей лицензии: ключ, домен, редакция, срок действия. CMS периодически проверяет лицензию через heartbeat-запрос к платформе Adwos.

SEO и Вебмастер

Расширенные инструменты SEO-оптимизации и интеграция с сервисами вебмастеров. Доступ: /admin/seo.

SEO-шаблоны

Шаблоны мета-тегов по типам страниц с поддержкой переменных. Переменные подставляются автоматически при генерации страницы.

ГлавнаяШаблон title и description главной страницы
Список объявленийПоддерживает {category}, {city}, {count}
Страница объявленияПоддерживает {title}, {price}, {city}, {category}
Профиль пользователяПоддерживает {name}, {listings_count}
Страница магазинаПоддерживает {shop_name}, {city}
Страница блогаПоддерживает {post_title}, {category}

Счётчики аналитики

Яндекс.МетрикаID счётчика — вставляется в head всех страниц
Google Analytics (GA4)Measurement ID — вставляется через gtag

Интеграция с вебмастерами

Яндекс.ВебмастерВставка тега верификации в head
Google Search ConsoleВставка тега или загрузка HTML-файла верификации
СоветSitemap index доступен по адресу /sitemap.xml и ссылается на chunked sitemap-файлы для публичных страниц платформы, маркетплейса и раздела идей.

Мультиязычность

CMS поддерживает несколько языков интерфейса. Переводы управляются через админ-панель без правки кода. Доступ: /admin/translations.

Управление переводами

  • Добавление новых локалей (язык + код, например ru, en, kz)
  • Редактирование строк перевода через интерфейс — без правки файлов
  • Экспорт и импорт переводов в JSON
  • Переключатель языка в шапке сайта (если активно несколько локалей)

Перевод контента

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

ОбъявленияПеревод названия, описания и характеристик
КатегорииПеревод названий и описаний
БлогПеревод заголовка, анонса и контента статьи
СтраницыПеревод кастомных страниц (о нас, контакты и др.)
ИнфоURL-адреса в мультиязычном режиме содержат префикс локали: /en/listings, /kz/listings.

Медиатека и резервные копии

Медиатека

Просмотр и управление всеми загруженными файлами. Доступ: /admin/storage.

  • Просмотр файлов с фильтрацией по типу (изображения, документы, прочие)
  • Удаление отдельных файлов
  • Очистка неиспользуемых файлов (orphaned files)
  • Статистика использования дискового пространства

Резервные копии

Создание резервных копий базы данных и загруженных файлов. Доступ: /admin/settings → Бэкапы.

Создать бэкапПолная копия БД (pg_dump) + архив загруженных файлов
Список бэкаповДата, размер, статус каждой копии
СкачатьЗагрузка архива на локальный компьютер
УдалитьУдаление устаревших копий
ВажноРезервные копии хранятся на том же сервере. Для надёжности регулярно скачивайте бэкапы на внешнее хранилище или настройте S3.
СоветПеред обновлением CMS система автоматически создаёт бэкап — он появится в списке резервных копий.

Обновления

CMS поддерживает автоматическое обновление через подписанные пакеты. Обновления выпускаются командой Adwos и доступны через админ-панель.

Как обновить

  • Перейдите в Настройки → Обновление системы
  • Нажмите «Проверить обновления»
  • Прочитайте список изменений
  • Нажмите «Обновить»

Процесс обновления

text
[1] Создание записи (status: pending)
[2] Полный бэкап: pg_dump БД + tar.gz файлов
[3] Скачивание пакета с Platform
[4] Верификация: RSA-4096 подпись + SHA-256 хеш каждого файла
[5] Применение SQL-миграций (goose up)
[6] Замена файлов: бинарник, фронтенд, VERSION
[7] Обновление статуса (status: completed)
ИнфоПри ошибке на любом этапе система автоматически откатывается к предыдущей версии из бэкапа. Ваши данные в безопасности.

Что сохраняется

СохраняетсяОбновляется
Конфигурация (.env)Бинарник сервера
ЛицензияФронтенд
Загруженные файлыМиграции БД
Плагины и темыФайл VERSION
Все данные в БД

Версионирование

Используется Semantic Versioning: MAJOR.MINOR.PATCH

MAJORКрупные изменения, возможна несовместимость
MINORНовый функционал (обратно совместимый)
PATCHИсправление ошибок
Adwos CMS — adwos.org