Создать сайт на WordPress (PHP, CSS, JS, WooCommerce, MySQL, Elasticsearch) (для всех)
⚓ Work 📅 2026-04-09 👤 surdeus 👁️ 3
1. Общие требования
· Тип сайта: информационно-образовательный портал с платным доступом к контенту.
· Контент: научные статьи (до 30 тысяч штук, возможно больше).
· Разделы статей:
· По направлениям (примерно 10 разных).
· По языку (русские / иностранные).
· Бесплатные / платные.
· Доступ: платный (разовый или подписка) ко всем статьям или к отдельным направлениям.
· Технологии:
· CMS: WordPress (последняя стабильная версия).
· Поисковый движок: Elasticsearch (через плагин ElasticPress).
· Платежи: WooCommerce + Робокасса (официальный шлюз с поддержкой подписок).
· Вёрстка: CSS/JS по готовым макетам (макеты предоставлю).
· Адаптивность: под все устройства.
2. Функциональность админки (для редакторов)
· Создание / редактирование / удаление статей (кастомный тип записи article).
· Назначение статье:
· направления (таксономия direction),
· языка (таксономия language),
· метки «бесплатная / платная».
· Возможность закрыть платную статью от просмотра неавторизованным пользователям (виден только заголовок и краткая аннотация).
· Управление доступом к направлениям: какие направления входят в пакеты подписок.
3. Платёжная система и доступ
3.1. Варианты оплаты (через WooCommerce + Робокассу)
· Разовый доступ ко всем статьям (навсегда).
· Разовый доступ к выбранным направлениям.
· Подписка (рекуррентные платежи) — ежемесячная / ежегодная:
· ко всем статьям,
· к выбранным направлениям.
· Возможность для пользователя в личном кабинете:
· видеть свой текущий доступ,
· продлить подписку,
· отменить автоматическое списание.
3.2. Логика доступа
· Пользователь регистрируется (обычная регистрация WordPress).
· После успешной оплаты получает роль или членство (MemberPress / Paid Memberships Pro) с доступом к определённым направлениям или ко всем статьям.
· Платные статьи полностью скрыты (или показывается только анонс) для тех, у кого нет соответствующего доступа.
4. Поиск (основное требование)
4.1. Первый тип поиска (мгновенный, с фильтрами и приоритетом)
Реализуется через ElasticPress + кастомные настройки.
Обязательные возможности:
· Поисковая строка на сайте.
· При вводе текста — мгновенный выпадающий список (autosuggest) с результатами:
· сначала статьи, где совпадение в названии,
· затем статьи, где совпадение только в тексте (или в аннотации).
· После нажатия Enter → открывается полная страница результатов поиска с кратким резюме каждой статьи.
· Фильтры на странице результатов (или в выпадающем списке):
· по направлениям (одно или несколько),
· по языку,
· только платные / только бесплатные,
· по типу доступа (есть у пользователя / нет).
· Поиск учитывает права доступа:
· платные статьи видны в результатах, но текст недоступен без оплаты (показывается заглушка).
4.2. Второй тип поиска — семантический (по смыслу)
Важное уточнение: этот пункт может быть реализован отдельным этапом после запуска основного функционала. Исполнитель должен оценить его отдельно.
Требование к семантическому поиску:
· Поле ввода вопроса (естественным языком).
· Система возвращает наиболее релевантные статьи, отвечающие на вопрос (не просто совпадение ключевых слов).
· Используется векторный поиск (Elasticsearch с плотными векторами, либо отдельный сервис).
· Возможность фильтрации по направлениям и языку.
· Желательно выделение фрагмента текста с предполагаемым ответом.
Если не сможете сделать семантический поиск, то укажите это в отклике.
5. Обязательные к выполнению пункты (без которых приёмка не состоится)
· Всё, кроме семантического поиска, должно быть реализовано в полном объёме.
· В том числе:
· бэкенд на PHP (WordPress + кастомные типы и таксономии),
· вёрстка по макетам,
· WooCommerce + Робокасса (разовые и рекуррентные платежи),
· разграничение доступа к направлениям,
· первый тип поиска (мгновенный с ElasticPress и фильтрами).
6. Требования к производительности
· Поиск (первый тип) должен отрабатывать менее 0,5 секунды при одновременной работе 100 пользователей.
· Elasticsearch выделяется на отдельный сервер или VPS.
· Поддерживается индексация всех статей (включая текст) через ElasticPress.
7. Что хочу получить на выходе:
· Полностью работающий сайт на WordPress.
· Исходные коды темы / дочерней темы.
· Файлы конфигурации Elasticsearch.
· Инструкция по администрированию (как добавлять статьи, менять цены, настраивать доступы).
· Документация по поиску (как работают фильтры и приоритеты).
8. Условия отклика
· чётко напишите, берётесь ли за семантический поиск или только за основной функционал (пункты 1–4.1).
· Опыт с ElasticPress и WooCommerce Subscriptions — обязателен.
· Примерная стоимость такого сайта под ключ (по верхней планке) и стоимость часа вашей работы.
🏷️ Work_feed
