Кейс · 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С щоп'ятнадцять хвилин. Кастомні lock-поля (Category.parent_locked, Product.locked_fields) захищають ручні правки від перезапису. В CMS — іконка замка біля кожного поля.

Автоматичний переклад UK→EN (14 моделей)

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

SEO foundation з нуля

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

Legacy URL redirects — 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 nonce per request, два режими: strict для публіки, relaxed для /admin/ та /cms/. Geo-block HTTP 451 для RU/BY: middleware першим у chain через DB-IP Country Lite (~8 MB mmdb).

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.

Так, сайт повністю двомовний: українська та англійська. Management-команда translate_site_to_en через googletrans — 14 моделей (Product, Category, HomepageSlider, AboutPage та ін.) перекладаються одним запуском.

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

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

Так. Artbrain розробляє спеціалізовані інтернет-магазини на Python/Django або PHP з інтеграцією 1С, автоматизованим SEO та захистом. Залишіть заявку — відповімо протягом 4 робочих годин.

Почніть свій шлях до успіху

Маєте проект? Давайте реалізуємо його разом.

Потрібен схожий тактичний / спеціалізований інтернет-магазин з 1С-синхронізацією та SEO-фундаментом? Розкажіть про задачу — повернемось протягом 4 робочих годин.

Всі кейси
— Також

Інші послуги

Калькулятор вартості →
— Журнал · інсайти

З нашого блогу

Усі статті →
Подзвонити Telegram Viber WhatsApp