Клиент и контекст проекта
Заказчик — российская компания, занимающаяся импортом мототехники из Японии под заказ клиентов. Бизнес-модель строится на доступе к онлайн-аукционам Японии (BMW, Honda, Yamaha, Suzuki, Kawasaki, Harley-Davidson, Ducati, Triumph, KTM и ещё около 20 брендов): клиент выбирает мотоцикл из актуальных лотов, делает ставку, при выигрыше — компания привозит технику в Россию под ключ, включая все расходы по Японии, фрахт, таможню, СБКТС, экспертизу и доставку.
Сайт ajkmoto.ru — это публичная витрина бизнеса. Домен и название компании указаны открыто в футере сайта вместе с подписью «Разработка Олег Васильев» — поэтому кейс публикуется с указанием реального проекта. Дизайн сайта выполнен дизайнером — Анастасией Малюгиной (также указана публично в футере). Моя роль — полный цикл технической реализации: верстка макетов, интеграция с WordPress, разработка интеграции с API японских аукционов, установка и кастомизация WooCommerce, программирование калькулятора и всех кастомных блоков.
Задачи проекта
Сайт должен был стать не просто визиткой, а полноценным рабочим инструментом бизнеса: выводить актуальные лоты с японских аукционов в реальном времени, позволять клиентам сортировать и фильтровать их, показывать исторические цены для ориентира, считать стоимость доставки в рублях с учётом актуальных курсов валют, отображать мотоциклы в наличии в РФ и закрывать типовые вопросы клиентов через разделы «Отзывы», «Вопрос-ответ» и «Статьи».
Задача 0. Подготовка серверной инфраструктуры с нуля
Проект не имел готового хостинга — нужно было развернуть инфраструктуру с нуля. Задача: заказать VPS-сервер подходящей конфигурации, установить и настроить операционную систему, панель управления, веб-окружение и кеширование под специфическую нагрузку проекта. Сайт с интеграцией внешнего API, WooCommerce-каталогом и калькулятором требует больше ресурсов, чем обычная визитка, поэтому окружение должно быть заранее подготовлено под эту нагрузку — а не оставлено по умолчанию.
Задача 1. Интеграция с API японских мотоаукционов
Подключить внешний каталог мототехники через API, обеспечить вывод актуальных лотов с аукционов в режиме, близком к реальному времени. Дополнительно — переработать API-данные для возможности вывода сортировки лотов с аукционов по различным критериям (бренд, год, пробег, объём, цена). Каталог должен работать на стороне WordPress, без редиректов на внешние ресурсы.
Задача 2. Кастомная верстка и внедрение в WordPress
Получить от дизайнера макеты в виде готового дизайна и полностью сверстать их, внедрить в WordPress с использованием плагина ACF (Advanced Custom Fields) для гибкости контентных блоков. Заказчик должен иметь возможность самостоятельно редактировать контент без привлечения разработчика.
Задача 3. Каталог мототехники в наличии на WooCommerce
Установить WooCommerce с кастомным дизайном для вывода мотоциклов в наличии в РФ. Это отдельный от аукционов раздел: здесь представлены уже привезённые и растаможенные мотоциклы, готовые к передаче клиенту. Дизайн карточек товара должен быть уникальным, не стандартным для WooCommerce.
Задача 4. Калькулятор стоимости доставки
Спроектировать и запрограммировать калькулятор, в котором клиент может пересчитать и обсчитать стоимость доставляемой техники. Калькулятор должен автоматически подтягивать актуальные курсы японских йен и долларов США для вывода стоимости мото-лотов в российских рублях. Расчёт должен включать все типовые статьи расходов: ставка на аукционе, расходы по Японии, агентские в Японию, фрахт, брокер, СБКТС, эвакуаторы, СВХ, экспертиза, пошлина, агентские в РФ.
Задача 5. Скрипты определения акцизных лотов
Написать скрипты, которые автоматически определяют акцизные лоты — мотоциклы с мощностью свыше 150 л.с., а также попадающие под санкционные ограничения. Для таких лотов в калькуляторе должно быть отдельное предупреждение, что расчёт не учитывает акциз (дополнительный государственный сбор). Это критично для честной коммуникации с клиентом: акциз может существенно изменить итоговую стоимость, и клиент должен об этом знать до ставки на аукционе.
Задача 6. SEO-оптимизация: подстановка названий мотоциклов в метатеги
Уникальная задача проекта: реализовать передачу данных из API в Title и Description-метатеги страниц сайта. Конкретно — название мототехники из API должно автоматически подставляться в SEO-метатеги карточки лота. Это позволяет тысячам страниц аукционных лотов иметь уникальные, релевантные Title и Description без ручной работы — что критично для SEO-продвижения такого большого каталога.
Задача 7. Контентные блоки: отзывы, вопрос-ответ, статьи
Разработать три отдельных контентных блока: отзывы клиентов (с оценкой и привязкой к модели мотоцикла), раздел «Вопрос-ответ» (с возможностью задать вопрос через модальную форму), раздел «Статьи» (блог о мотоциклах с пагинацией). Все блоки реализованы на ACF с удобным управлением из админки.
Структура сайта
Готовый сайт ajkmoto.ru состоит из нескольких крупных разделов, каждый из которых решает свою бизнес-задачу. Ниже — карта ключевых страниц с их назначением.
| URL | Страница | Назначение |
| / | Главная | Поиск мотоцикла по фильтрам: бренд, модель, пробег, год, объём |
| /motoauktsiony-onlajn/ | Мотоаукционы онлайн | Актуальные лоты с аукционов Японии, сортировка, фильтрация |
| /stat/ | Статистика аукционов | История состоявшихся торгов, ориентир по ценам |
| /mototsikly-v-nalichii/ | Мотоциклы в наличии в РФ | Каталог на WooCommerce с кастомным дизайном |
| /calculator/ | Калькулятор стоимости | Расчёт стоимости с учётом курсов JPY/USD/RUB |
| /stati/ | Статьи про мотоциклы | Раздел блога на ACF с пагинацией |
| — | Отзывы + Вопрос-ответ | Кастомные блоки на ACF, модальные формы |
Решение
Все работы я выполнил лично: от заказа VPS-сервера и настройки Ubuntu до верстки макетов дизайнера и программирования калькулятора. Дизайн был разработан Анастасией Малюгиной — моя роль начиналась с получения готовых макетов и реализации технической части. Подход — модульный: каждый крупный функциональный блок вынесен в отдельный компонент WordPress, чтобы заказчик мог управлять им без привлечения разработчика.
Этап 0. Заказ VPS, установка Ubuntu и FastPanel, настройка окружения
- Заказан VPS-сервер подходящей конфигурации под прогнозируемую нагрузку сайта с интеграцией внешнего API, WooCommerce-каталогом и калькулятором.
- Установлена и настроена операционная система Ubuntu — актуальный LTS-релиз с долгосрочной поддержкой и стабильным репозиторием пакетов.
- Установлена и настроена панель управления FastPanel — современная панель для управления веб-проектами, удобная для последующего администрирования самим заказчиком.
- Внутри FastPanel настроены параметры окружения под конкретный проект: версии PHP, Nginx, MySQL, лимиты памяти и процессов — не оставлены по умолчанию, а подкручены под профиль нагрузки WordPress + WooCommerce.
- Настроено кеширование для данного сайта: выбран и сконфигурирован оптимальный механизм кеширования страниц и объектов, что критично для производительности при работе с внешним API и WooCommerce-каталогом.
- Настроены базовые элементы безопасности: файрвол, SSH-доступ, SSL-сертификаты (Let’s Encrypt) для домена, автоматическое продление сертификатов.
- Настроены автоматические резервные копии по расписанию — чтобы заказчик не рисковал потерять данные при случайных ошибках или сбоях.
- После подготовки сервера развёрнут WordPress и начаты работы по верстке и интеграции.
Этап 1. Верстка и внедрение в WordPress
- Сверстаны все макеты дизайнера с использованием семантической HTML-разметки и адаптивной вёрстки под мобильные устройства.
- Внедрена тема WordPress с поддержкой плагина ACF (Advanced Custom Fields) — это позволило вынести все повторяющиеся контентные блоки в редактируемые из админки поля.
- Дополнительно отверстаны кастомные блоки с использованием ACF: блоки акций, отзывы, форма «Задать вопрос», блок «Статьи», блок «Калькулятор» и др.
- Настроена глобальная шапка и подвал сайта с навигацией, контактами и юридическими блоками.
Этап 2. Интеграция с API японских мотоаукционов
- Подключён внешний каталог мототехники через API: получение списка актуальных лотов с аукционов, их характеристик (бренд, модель, год, пробег, объём, оценка состояния, текущая ставка).
- Переработан API-слой для возможности вывода сортировки лотов с аукционов по различным критериям: бренд, год выпуска, пробег, объём двигателя, цена. Стандартная сортировка API не покрывала все сценарии — пришлось писать собственный слой агрегации и фильтрации.
- Реализованы страницы «Мотоаукционы онлайн» (актуальные лоты) и «Статистика аукционов» (история состоявшихся торгов с количеством проданных мотоциклов по каждому бренду — для ориентира по ценам).
- Настроена фильтрация по бренду, модели, году, пробегу, объёму — с пагинацией и сохранением состояния фильтров в URL для SEO и удобства пользователей.
Этап 3. Каталог мототехники в наличии на WooCommerce
- Установлен WooCommerce с полностью кастомным дизайном карточек товара — стандартный шаблон WooCommerce полностью переработан под макеты дизайнера.
- Каждый мотоцикл в наличии представлен как отдельный товар WooCommerce с полями: бренд, модель, год, пробег, оценка состояния, объём, цена в РФ в рублях.
- Реализован отдельный раздел «Мотоциклы в наличии в РФ» с пагинацией и фильтрами.
Этап 4. Калькулятор стоимости доставки с курсами валют
- Спроектирована и запрограммирована отдельная страница «Калькулятор стоимости» (URL /calculator/).
- Реализована автоматическая загрузка актуальных курсов валют — японских йен (JPY) и долларов США (USD) — с выводом курса в рублях (RUB) и датой обновления. Курсы подтягиваются автоматически по расписанию.
- Реализован расчёт стоимости мотоцикла по всем статьям расходов: ставка на аукционе в ¥, расходы по Японии, агентские в Японию, фрахт, брокер, СБКТС, эвакуаторы, СВХ, экспертиза, пошлина, агентские в РФ. Каждая статья расходов автоматически конвертируется в рубли по актуальному курсу.
- Реализована интерактивная форма: клиент вводит ставку в йенах — калькулятор мгновенно пересчитывает итог в рублях с разбивкой по статьям расходов.
- На странице выведено явное предупреждение: калькулятор не учитывает акциз (дополнительный государственный сбор на технику сверх 150 л.с. и санкционную технику) — это честная коммуникация с клиентом.
Этап 5. Скрипты определения акцизных лотов
- Написаны скрипты, которые автоматически определяют акцизные лоты — мотоциклы, попадающие под акцизное налогообложение (мощность свыше 150 л.с.) или под санкционные ограничения.
- Скрипты интегрированы в каталог аукционных лотов: при просмотре акцизного лота пользователь видит соответствующую пометку и предупреждение о том, что итоговая стоимость будет выше расчётной в калькуляторе.
- Логика определения акцизных лотов регулярно обновляется при изменении законодательства или санкционных списков.
Этап 6. SEO-оптимизация: автоматическая подстановка названий в метатеги
- Реализована передача данных из API японских аукционов в SEO-метатеги страниц сайта: название мотоцикла автоматически подставляется в Title и Description карточки лота.
- Это позволило тысячам страниц аукционных лотов иметь уникальные, релевантные Title и Description без ручной работы — что критично для SEO-продвижения такого большого каталога.
- Реализованы динамические шаблоны метатегов: «{Бренд} {Модель} {Год} — купить с аукциона Японии под заказ | ajkmoto.ru» — с подстановкой реальных данных из API.
Этап 7. Контентные блоки: отзывы, вопрос-ответ, статьи
- Разработан блок «Отзывы» на ACF: отзывы клиентов с оценкой (1–5 звёзд), привязкой к модели мотоцикла, именем автора и текстом. Управление — из админки WordPress.
- Разработан блок «Вопрос-ответ» на ACF: администратор публикует часто задаваемые вопросы с ответами; пользователи могут задать свой вопрос через модальную форму.
- Разработан раздел «Статьи» — блог о мотоциклах с пагинацией. Каждая статья — отдельная запись WordPress с настраиваемыми ACF-полями для обложки, краткого описания, категории.
- Все три блока выведены на главную страницу сайта в виде отдельных секций и продублированы в основном меню навигации.
Результаты
Сайт ajkmoto.ru разработан под ключ и работает в продакшене. Бизнес клиента получил полнофункциональный инструмент: клиенты могут искать мотоциклы на аукционах Японии по фильтрам, смотреть исторические цены, считать стоимость доставки в рублях с учётом актуальных курсов валют, оставлять заявки на покупку, читать отзывы и задавать вопросы. Все рутинные операции (обновление курсов валют, подстановка названий в метатеги, определение акцизных лотов) автоматизированы — заказчику не нужно вручную поддерживать эти процессы.
| Показатель | Результат |
| Тип проекта | Разработка сайта под ключ + серверная инфраструктура |
| Платформа | WordPress 7.x + WooCommerce 10.x |
| Сервер | VPS на Ubuntu + FastPanel |
| Интеграции | API японских мотоаукционов, ACF, WooCommerce |
| Каталог мототехники | API-интеграция + WooCommerce (в наличии) |
| Кастомных блоков на ACF | отзывы, вопрос-ответ, статьи, акция |
| Валют для калькулятора | JPY, USD, RUB (с авто-обновлением) |
| Брендов в каталоге | 20+ (BMW, Honda, Yamaha, Suzuki, Kawasaki и др.) |
| Статей в разделе «Статьи» | раздел «Статьи» с пагинацией |
| Дизайн | кастомный (Анастасия Малюгина) |
| Разработка | сервер + верстка + WordPress + API + WooCommerce — Олег Васильев |
Особенно ценным для SEO-продвижения стала автоматическая подстановка названий мотоциклов в Title и Description метатеги: тысячи страниц аукционных лотов получили уникальные оптимизированные метатеги без ручной работы контент-менеджера. Это позволило сайту успешно индексироваться по длиннохвостым запросам вида «{бренд} {модель} {год} с аукциона Японии», что в мото-нише даёт качественный целевой трафик.
Технологический стек
VPS на Ubuntu FastPanel WordPress 7.x WooCommerce 10.x ACF (Advanced Custom Fields) Custom Theme PHP 8.x MySQL Nginx OPCache / Object Cache Let’s Encrypt SSL REST API (внешнее API мотоаукционов) Currency Exchange API Custom SEO-метатеги Cron (автообновление курсов валют) JavaScript / AJAX (фильтрация и калькулятор) Автоматические бэкапы

