Кейс · 15 / 15 Safari Zbroia

Тактический интернет-магазин Safari Zbroia на Django

Каталог на 3000 товаров и 1084 категории автоматически синхронизируется с 1С, не перезаписывает правки менеджеров и пережил четыре смены движка сайта за десять лет.

Сайт Safari Zbroia – главная страница на десктопе
01

О продукте

Safari Zbroia – интернет-магазин ТОВ «Сафарі» в сегменте тактического снаряжения. Около 3000 товаров объединены в 1084 категории и 208 брендов. Два языка интерфейса, полноценный фильтр-поиск, корзина, сравнение, личный кабинет и управление заявками – все работает на собственном Django-бэкенде с PostgreSQL.

За десять лет существования проект сменил четыре движка – PrestaShop (2014), Joomla, OpenCart, Bubble (2024) – и наконец перешел на Django. Все SEO-наработки, обратные ссылки, индексация и трафик сохранены благодаря картам редиректов, собранным вручную из архивов Wayback Machine и логов nginx.

02

Задачи

1С формирует каталог по-своему: каждый размер – отдельная карточка, структура категорий своя. Менеджерам нужен удобный каталог на сайте, а цены и остатки должны автоматически обновляться из учетной системы. Задача – объединить автосинхронизацию с полным контролем над структурой каталога на сайте.

Вторая часть – сохранить результаты десятилетней SEO-работы после четырех миграций сайта на другие движки, обеспечить PageSpeed 95+, безопасность и готовность к AI-поисковикам. Все это для чувствительного сегмента с географическими ограничениями трафика.

03

Просмотр на десктопе

Каталог, бренды и страница «О компании» на широком экране 1440 px. Нажмите на плитку, чтобы увеличить.

Каталог товаров
Страница брендов
О компании
04

Просмотр на смартфоне

Те же страницы на iPhone 390 px – полностью адаптивная вёрстка, гамбургер-меню, оптимизированные изображения.

Главная
Каталог
Бренды
О компании
05

Технологический стек

CMS

Custom Django admin + ContentTools

Backend

Python (Django 4.2 + DRF), PostgreSQL 16

Frontend

Server-rendered templates, Vanilla JS, Swiper

Интеграции

1С REST sync, Google Translate, DB-IP GeoIP, Нова Пошта

06

Что сделано

Двусторонняя синхронизация с 1С + lock-поля

Каталог автоматически синхронизируется с 1С каждые 15 минут. Настраиваемые lock-поля (Category.parent_locked, Product.locked_fields) защищают ручные правки от перезаписи. В CMS – иконка замка у каждого поля.

Автоперевод UK→EN (14 моделей)

Команда управления translate_site_to_en перевела 2 119 товаров и 518 категорий примерно за 40 минут через googletrans. Доступна как CRON-задача или пакетное действие в CMS в один клик.

SEO-основа с нуля

Sitemap-index с 5 подкартами (1 490 изображений), JSON-LD для ProductGroup, Brand, BreadcrumbList, OfferShippingDetails и MerchantReturnPolicy, hreflang x3, команда seo_backfill для массового создания meta.

Редиректы устаревших URL – 4 эпохи сайта

23 031 URL собран из Wayback Machine CDX API и 187 активных 404 из логов nginx. Matcher на Python создал CSV с 10 315 редиректами. Django-middleware читает CSV в память при запуске.

Performance: PageSpeed 30 → 95+

nginx HTTP/2 + gzip, WebP-превью 400×400 (1 759 шт.), HTML minify −33%, async CSS для below-the-fold, fetchpriority="high" на hero, preconnect/preload.

CSP nonce-based + geo-block

CSP с 16-byte urlsafe nonce на каждый запрос, два режима: strict для публичных страниц, relaxed для /admin/ и /cms/. Geo-block HTTP 451 для трафика RU/BY через DB-IP Country Lite (~8 MB mmdb) как первый middleware в цепочке.

07

Итог

Бизнес получил единый каталог: 1С автоматически обновляет цены и остатки каждые 15 минут, а изменения менеджеров защищены lock-полями. Автоперевод UK→EN за один проход локализовал 2119 товаров и 518 категорий примерно за 40 минут. PageSpeed вырос с 30 до 95+ баллов, HTML стал легче на 33%, ключевые изображения переведены в WebP.

10 315 редиректов сохранили позиции в Google после четырех смен движка. Сайт готов к AI-поиску: robots.txt разрешает доступ OAI-SearchBot, Claude и Perplexity, /llms.txt описывает карту контента, а JSON-LD охватывает Product, ProductGroup, Brand, BreadcrumbList, OfferShippingDetails и MerchantReturnPolicy. CSP с nonce-моделью и geo-block дополняют защиту.

08

Часто задаваемые вопросы

Сайт построен на Python (Django 4.2) с Django REST Framework и PostgreSQL 16. Фронтенд использует серверные шаблоны Django, Vanilla JS и Swiper. Сервер работает на Ubuntu 24.04 с nginx HTTP/2 и Let's Encrypt SSL.

Да, сайт полностью двуязычный: украинский и английский. Команда управления translate_site_to_en через googletrans переводит 14 моделей – Product, Category, HomepageSlider, AboutPage, InfoPage, SiteContacts и другие – за один запуск.

Django-скрипт обращается к REST API 1С каждые 15 минут и обновляет цены и остатки. Lock-поля (Category.parent_locked, Product.locked_fields) защищают поля, вручную отредактированные менеджером – 1С не может их перезаписать.

Включили nginx HTTP/2 и gzip, создали 1 759 WebP-превью 400x400, уменьшили HTML на 33% с htmlmin, подключили async CSS для модулей below-the-fold, добавили fetchpriority="high" и preload/preconnect для hero-изображения, а логотипы брендов перевели в WebP (в среднем с 60 до 13 KB).

Да. Artbrain разрабатывает специализированные интернет-магазины на Python/Django или PHP с интеграцией 1С, автоматизированным SEO и защитой. Оставьте заявку – ответим в течение 4 рабочих часов.

Начните свой путь к успеху

Есть проект? Давайте реализуем его вместе.

Нужен похожий тактический / специализированный интернет-магазин с синхронизацией 1С и SEO-основой? Расскажите о задаче – ответим в течение 4 рабочих часов.

Все кейсы
— Также

Другие услуги

Калькулятор стоимости →
– Журнал · инсайты

Из нашего блога

Все статьи →
Позвонить+38 095 108 62 12 +38 097 599 66 89 Telegram Viber WhatsApp