Восстановлены отдельным этапом миграции; сохранился содержательный слой проекта.
Автор текстов — Светлана Ареповская.Цветочная коллекция Светланы Ареповской
Пересборка e-commerce без обнуления каталога, авторского контента и поисковой истории.
Новый сайт — без потери накопленного
Цветочная коллекция — нишевый интернет-магазин коллекционных растений с собственной товарной, коллекционной, авторской и поисковой историей. При пересборке важно было сохранить эту систему, а не просто заменить её внешнюю оболочку.
Пересобрать технический и визуальный слой без обнуления содержания
За время работы магазина накопились товары, категории, авторские материалы и поисковые связи между страницами. Для нового сайта они были не набором разрозненных файлов, а частями одной системы.
Поэтому пересборка затронула не только интерфейс: нужно было учесть структуру каталога, данные, контент и существующие адреса страниц.
Архитектура пересборки и контроль связности
Моя работа в проекте — выстроить решение и провести пересборку сайта так, чтобы данные, поисковая структура, интерфейс и дальнейшая эксплуатация не оказались отдельными несвязанными задачами.
Архитектура нового сайта, миграция данных и контроль связей внутри каталога.
SEO, аналитика и интерфейсные решения как части одной системы.
Проверка результата и передача системы владельцу для дальнейшей работы.
Каталог и миграция данных
Проект нельзя было пересобрать как новый пустой магазин. Товары, категории, изображения, заказы, статьи, меню, YOOtheme-страницы и URL требовали отдельного ownership и отдельного контроля.
Поэтому работа начиналась не с интерфейса: сначала нужно было спроектировать контур сохранения данных и связей, а уже затем собирать новую витрину поверх сохранённой основы.
Порядок работы: сначала сохранение и контроль — затем интерфейс.
НАПРАВЛЕНИЕ · 01 · КЕЙС · 011 003 карточки и 6 466 изображений: как сохранить товарную систему при пересборкеСверка исходной базы, тестового импорта и актуального каталога: товары, фотографии, категории, авторский контент и SEO-поля без потери исходных идентификаторов.
Перенести каталог — значит сохранить связи внутри товарной системы
Нужно было сохранить не только количество карточек, но и фотографии растений, категории, авторские описания, SEO-поля и идентичность исходных записей.
В ходе пересборки я работал с архитектурой переноса товарных данных и их проверкой. Авторские тексты и фотографии принадлежат Светлане Ареповской: моя задача состояла в том, чтобы не потерять эти материалы и сохранить их корректные связи с карточками.
Главный принцип: товарная карточка, её ID, фото, категория и содержание должны оставаться одной связанной записью. Равные итоговые количества сами по себе не доказывают сохранность каждой связи — идентификаторы проверяются отдельно.
Три состояния базы — один состав критических сущностей
В рабочем реестре миграции сопоставлены исходная база, тестовый импорт и актуальное состояние. Это проверка сохранности товарных данных, а не показатель продаж.
| Сущность | Исходная база | Тестовый импорт | Актуальная база |
|---|---|---|---|
| Товарные карточки | 1 003 | 1 003 | 1 003 |
| Изображения товаров | 6 466 | 6 466 | 6 466 |
| Категории JoomShopping | 6 | 6 | 6 |
Сначала определить, что можно менять, а что нужно сохранить
Этапы миграции не должны переписывать соседние критические сущности. Для этого данные сопоставлялись и проверялись как связанный набор.
Сверить исходные идентификаторы и названия товаров между состояниями базы.
Удержать изображения, категории, авторские тексты и SEO-поля.
Не затрагивать соседние сущности при переносе отдельной части данных.
Сопоставить количество, исходные ID и заполнение карточек.
Архитектура пересборки, работа с данными и миграцией, контроль связей между карточками и качество полученного состояния.
Фотографии растений и авторские описания Светланы Ареповской сохранены в товарном массиве. Их создание я не приписываю себе.
Сохранить число записей мало — важно проверить наполнение карточек
В актуальной базе отдельно проверены изображения, описания, SEO-поля и статус публикации. Эти показатели говорят о состоянии данных, но не о заказах или выручке.
Число опубликованных карточек, положительных остатков и заполненных цен нельзя складывать или интерпретировать как продажи и количество гарантированно доступных товаров.
Контрольная книга и SQL-экран — два разных формата проверки
Рабочая книга составлена из первичных SQL-дампов и README этапов. Экран SQL — реконструкция по данным актуальной базы; он не является оригинальным историческим скриншотом.
Контроль миграции товарной базы
Три состояния базы, проверка количеств и исходных ID; заполнение критических полей и границы переноса.

НАПРАВЛЕНИЕ · 01 · КЕЙС · 02Backup → staging → QA → rollback: миграция с ограниченным рискомРезервная копия, отдельная тестовая среда и проверка каждого пакета изменений — без необходимости пересобирать весь магазин из-за ошибки одного слоя.
Ошибка одного слоя не должна требовать пересборки всего магазина
Работу разбивали на контролируемые шаги. Сначала сохраняли исходное состояние, затем проверяли изменения отдельно — с возможностью вернуться назад при ошибке.
Резервная копия оставляет контрольную точку до внесения изменений.
Тестовое состояние позволяет проверить пакет без немедленного изменения рабочего магазина.
Изменения ограничиваются своей зоной, не переписывая соседние сущности.
После изменения проверяются затронутые данные и то, что соседние пакеты остались целыми.
Rollback — маршрут возврата при сбое, а не показатель результата. Контрольная точка нужна, чтобы ошибочную итерацию можно было изолировать и исправить без повторного запуска всей миграции.
Старые заказы сохранены; новые записи не переписали историю
Состояния заказов сверялись отдельно от работы с каталогом и интерфейсом. Числа показывают целостность данных, а не рост продаж.
Ошибочная тестовая итерация ссылок осталась локальной проблемой
Rollback-подход понадобился на практике: неверный тестовый вариант ссылок был локализован и исправлен, без превращения ошибки в повод пересобирать весь магазин.
Ссылки потребовали исправления
Во время отдельной проверки один вариант изменения ссылок оказался ошибочным. Это была проблема конкретного пакета, а не свидетельство потери товарной базы или заказов.
Вернуться к контрольному состоянию
Наличие точки возврата позволило локализовать проблемную итерацию и исправить её. Соседние части системы не требовалось собирать повторно вместе со ссылками.
Граница утверждения: речь о контроле технического риска во время миграции. Здесь не заявляются прирост позиций, поискового трафика или измеренный коммерческий эффект исправления ссылок.
YOOtheme восстанавливали отдельно — товары, цены и заказы не трогали
Восстановление интерфейсного слоя не объединяли с переносом товарных данных. Это сохраняло понятную границу проверки: что меняется в конкретном пакете, а что должно остаться прежним.
Интерфейсные изменения выполнялись как отдельная задача со своей проверкой, без смешения с переносом товарной базы.
Эти сущности не переписывались в рамках восстановления YOOtheme. Их целостность проверялась отдельно от интерфейсного результата.
Моя работа в этом контуре: архитектура пересборки, разделение изменений по зонам, работа с данными и контроль качества полученного состояния. Результат кейса — ограниченный и проверяемый технический риск, не обещание его полного отсутствия.
SEO и сохранение контентной связности
URL, внутренние ссылки, авторские статьи и товарные карточки рассматривались как связанный поисковый актив. При пересборке важно было сохранить не отдельные страницы сами по себе, а маршруты между материалами и товарами.
Поэтому стратегия состояла не в массовом «улучшении» адресов: сначала зафиксировать реальные маршруты, затем управлять изменениями, сохраняя связи внутри контента и каталога.
Принцип направления: сохранять поисковые входы и внутренние переходы вместе с авторским содержанием и товарной структурой, не приписывая их создание работе по миграции.
НАПРАВЛЕНИЕ · 02 · КЕЙС · 01 102 логических маршрута / 510 записей 301: управляемая URL-миграция Карта старых и новых адресов: пять технических вариантов на один маршрут, раздельный учёт версий и доказательство на уровне реестра.
Старый адрес и новый адрес — один логический маршрут, а не пять разных страниц
При пересборке сайта карта old→new и записи 301 велись отдельно от товарного каталога. Актуальный реестр фиксирует число маршрутов и их технических вариантов, не измеряя рост поискового трафика.
Сопоставления прежнего адреса с новым адресом для переноса поисковых входов.
Физические записи актуальной таблицы redirect_links, по пять вариантов на логический маршрут.
- https
- http
- www
- test2
- относительный путь
Маршруты распределены по четырём типам контента
Реестр показывает, какие типы старых адресов получили соответствия в новой структуре. Это состав карты из актуальной таблицы, а не отчёт об изменении позиций в поиске.
Маршруты отдельных товарных страниц.
Маршруты редакционных материалов.
Маршруты страниц структуры сайта.
Отдельный исторический маршрут.
Контроль состава: 56 + 40 + 5 + 1 = 102 логических маршрута. Пять технических вариантов каждого представлены в 510 физических записях 301.
490 и 510 — разные контрольные состояния, не две оценки одной таблицы
Данные конкретного этапа миграции и более поздняя актуальная таблица имеют разные источники. Для публичного кейса важно сохранить это различие, не подменяя одно число другим.
Записи конкретного этапа
Число из README Stage 03. Оно описывает зафиксированное в нём состояние и не является актуальным числом опубликованных записей.
Опубликованные записи 301
Более позднее состояние SQL-таблицы: 102 логических old→new маршрута, представленных пятью техническими вариантами каждый.
Архитектура SEO-переезда, работа с URL-картой и проверка связности старых и новых адресов в рамках пересборки сайта.
Записи в таблице не подтверждают рост позиций, трафика, заявок или фактический HTTP-ответ всех адресов без отдельной проверки.
Проверяемая карта URL — в рабочем реестре из актуальной redirect_links
Назначенное этому кейсу доказательство — отдельная рабочая книга с логическими парами old→new, выборкой записей и источником данных. Она показывает состав карты, а не поисковый или коммерческий эффект.
03_SEO_REDIRECT_REGISTER.xlsx
Содержит сводку 510 физических записей 301 и карту 102 логических old→new маршрутов. Отдельные листы позволяют проверить выборку и происхождение данных.
НАПРАВЛЕНИЕ · 02 · КЕЙС · 0285 авторских статей и внутренняя связность: сохранить контент, а не заменить SEO-заготовкамиОтдельный этап восстановления статей, изображений и переходов из товарных описаний — с сохранением авторства Светланы Ареповской.
Вернуть статьи как отдельный контентный слой — вместе с иллюстрациями
Авторские материалы восстановлены отдельным миграционным этапом, а не заменены типовыми текстами ради SEO. Вместе со статьями обработаны их изображения.
Изображения обработаны при восстановлении статей. Это масштаб работы с материалами, а не показатель трафика.
Реальные фотографии сортов сохраняются как часть контентной базы.Смысл миграции: сохранить самостоятельную ценность авторских статей и сопровождающих их изображений, а не подменить их обезличенным SEO-наполнением.
Товарные тексты возвращались вместе с маршрутами к статьям и разделам
Старые описания товаров содержали переходы к редакционным материалам и разделам. При восстановлении эти связи нормализованы и использованы как основа внутренней тематической структуры сайта.
Это количество обработанных вхождений, не число уникальных страниц, кликов или поисковых переходов.
- Исходный слойСтарые товарные тексты
В описаниях сохранились переходы к связанным материалам и разделам.
- Работа при миграцииНормализация ссылок
Ссылочные вхождения обработаны при возврате товарных текстов.
- Содержательная связностьКарточка → статья / раздел
Сохранена основа внутренних тематических переходов.
Контентная связность — это восстановленная структура материалов и ссылок. Отдельных данных о приросте позиций, посещаемости или заказов этот кейс не содержит.
Контент Светланы сохранился в системе — я работал над его переносом и связями
В этой задаче авторство материалов и техническая работа с ними — разные роли. Восстановление сайта не делает специалиста автором чужих статей или фотографий.
Статьи и реальные фотографии сортов
Авторский контент принадлежит Светлане Ареповской. Реальные фотографии конкретных сортов не подменяются генеративными изображениями.
Сохранение материалов и внутренней структуры
Восстановление контентного слоя, работа с изображениями, нормализация переходов из товарных текстов и сохранение тематической связности при пересборке сайта.
Интерфейс, e-commerce и измеримые сценарии
После стабилизации данных интерфейс интернет-магазина строился на Joomla 6.1.0, YOOtheme Pro и JoomShopping 5.9.2. YOOtheme отвечает за оболочку и композицию страниц; JoomShopping — за товарную модель, категории, корзину и заказы.
Я связывал интерфейсные решения с устройством каталога и пользовательскими переходами. Аналитика здесь — карта поведения: она помогает рассматривать движение по сайту и отдельные действия, не подменяя их неподтверждёнными показателями продаж.
Принцип направления: оболочка сайта, товарная логика и измерение действий должны описывать один пользовательский сценарий, а не три разрозненных инструмента.
НАПРАВЛЕНИЕ · 03 · КЕЙС · 01YOOtheme как оболочка, JoomShopping как владелец товарной логикиКак развести оформление сайта и работу интернет-магазина, сохранив точность товарной карточки и фотографий сортов.
Дизайн сайта и товарная логика — два связанных слоя с разными задачами
Пересборка велась на Joomla 6.1.0, YOOtheme Pro и JoomShopping 5.9.2. Важно было не подменить магазин набором декоративных HTML-блоков: у каждого слоя остаётся собственная ответственность.
Joomla + YOOtheme Pro
Структура стандартных страниц и визуальная система сайта.
- Шапка и подвал
- Типографика
- Контейнеры и сетки
- Обычные страницы и списки блога
Граница: визуальные контейнеры не берут на себя обработку цены, остатка или заказа.
JoomShopping
Карточки, категории и действия покупателя остаются в контуре магазина.
- Список товаров
- Карточка и категории
- Цена и доступность
- Корзина и оформление заказа
Граница: представление товара связано с его данными и поведением магазина, а не с отдельной вручную собранной витриной.
Принцип пересборки: единый визуальный язык сайта соединяется с действующей товарной системой; интерфейс не должен нарушать связь карточки с категорией, ценой, доступностью, корзиной и оформлением заказа.
Карточка сорта — часть товарной идентификации, а не декоративная плитка
В цветочном каталоге реальная фотография конкретного сорта помогает понять, какой товар представлен. Поэтому визуальное оформление не должно разрывать связь фотографии, названия и данных магазина.
- 01 / ИдентификацияРеальная фотография сорта
Фото и авторский контент Светланы Ареповской остаются частью исходной товарной системы.
- 02 / КонтекстНазвание и категория
Карточка должна сохранять понятную связь растения с соответствующим товарным разделом.
- 03 / СостояниеЦена и доступность
Товарные значения принадлежат JoomShopping; публикация карточки сама по себе не подтверждает наличие.
- 04 / ДействиеКорзина и заказ
Покупатель продолжает сценарий в магазине, а не в независимой от товара HTML-имитации.
Авторство и моя роль разделены: реальные фотографии и авторские материалы принадлежат Светлане Ареповской. Моя задача в этой части проекта — архитектура и интерфейсные решения при пересборке, сохраняющие работу товарного контура и связность контента.
Настройка интерфейса без глобальных побочных эффектов
Нестандартные элементы дорабатываются только там, где обычной композиции не хватает; штатные возможности Joomla, YOOtheme и JoomShopping сохраняют свои задачи.
Локальные классы и CSS
Дополнительные блоки используют классы с префиксом koflower- и локальные стили. Без глобальных сбросов, способных изменить соседние страницы.
Стили привязаны к своему блокуНе добавлять лишние зависимости
Если задачу решают CSS или штатные возможности UIkit, нет причины вводить тяжёлый JavaScript или случайные внешние библиотеки.
Сначала штатная механикаМагазин остаётся магазином
Кастомный HTML/CSS дополняет визуальную композицию, но не подменяет карточку товара, обработку цены, наличия и оформления заказа.
Данные и покупка — в JoomShoppingРеальный интерфейс и актуальный масштаб — разные типы подтверждения
Первичный рабочий экран JoomShopping показывает устройство товарного контура. Отдельная реконструкция по актуальным данным демонстрирует структуру каталога в более позднем состоянии. Эти материалы не подменяют друг друга.
JoomShopping в реальной административной среде
Список товаров, названия, фотографии, артикулы, категории, цены, количество, статус публикации и фильтры.

Внизу экрана показано «Всего: 156». Это число относится только к показанному рабочему срезу; оно не описывает актуальные 1 003 карточки. Точная дата исходного экрана отдельно не подтверждена.
Открыть первичный экран ↗Рабочая схема текущего товарного каталога
Состав и интерфейс JoomShopping показаны в подготовленном по данным проекта экране; это не фотография исходной исторической админки.

Актуальная база: 1 003 карточки, 6 466 изображений и 6 категорий. Эти значения характеризуют структуру каталога; они не доказывают продажи или наличие каждого опубликованного товара.
Открыть реконструкцию ↗Граница доказательства: изображения подтверждают вид интерфейса и иллюстрируют организацию товарных данных. Они не доказывают рост продаж, выручки или поисковых позиций. Первичный файл имеет отмеченное в реестре несовпадение SHA с хостинговым листингом — байтовое тождество не заявляется.
НАПРАВЛЕНИЕ · 03 · КЕЙС · 02«Уточнить наличие» и Метрика: конверсионный сценарий без выдуманных продажОт отдельного запроса о растении — к защищённой форме, уведомлению и раздельному учёту действий на сайте.
«Уточнить наличие» — отдельное действие, а не обещание готового заказа
У товарной карточки есть состояние публикации, цена и остаток, но ни один из этих признаков сам по себе не подтверждает возможность покупки конкретного растения. Для уточнения предусмотрен самостоятельный контактный маршрут.
- 01 / Точка входаЗапрос о растении
Якорный призыв к действию ведёт к форме «Уточнить наличие растения».
- 02 / КонтактПередать вопрос
Поля контакта, вопрос и согласие на обработку персональных данных позволяют оформить обращение.
- 03 / ОбработкаСохранить отправку
Конфигурация предусматривает сохранение отправок и email-уведомления. Сам факт отправки ещё не равен продаже.
Граница сценария: уточнение наличия, заполнение формы, добавление в корзину и оформление заказа — разные действия. Не подменяю их одним показателем коммерческого результата.
Форма должна принять запрос и сохранить управляемость обработки
Поведение формы дорабатывалось итерациями: от базового контакта до обязательности полей, согласия, уведомлений и компактной вертикальной версии. Состав показан по конфигурации, без выдуманных цифр обращений.
Понятный вопрос и контакт
Форма «Уточнить наличие растения» сохраняет отдельную точку входа и необходимые сведения для ответа.
- Имя
- Телефон
- Что уточнить?
Не только внешний вид
Конфигурация описывает поведение после отправки и меры против автоматических обращений.
- Сохранение отправок
- Email-уведомления
- Honeypot
- Минимальное время заполнения
- Управление обязательностью полей
- Reset / hide после отправки
- Компактная вертикальная версия
- Адаптивные локальные стили
Метрика показывает несколько уровней действий, а не количество продаж
Для оценки сценария разделяются действия, относящиеся к магазину, контакту и навигации. Целевые визиты и достижения целей — показатели событий, которые нельзя суммировать в число покупателей или заказов.
Действия в магазине
Добавление товара в корзину, работа с корзиной и начало оформления заказа. Начало оформления не подтверждает завершённую покупку.
Контактные действия
Автоцель отправки формы, контакты, заполнение и отправка контактных данных. Даже достижения одной цели не равны числу уникальных заявок.
Навигационные действия
Переходы в социальные сети и контентные точки взаимодействия помогают видеть путь по сайту, но не являются коммерческим итогом.
Пример значения цели: автоцель «отправка формы» — 286 целевых визитов / 1 184 достижения в сводке целей. Это разные метрики, а не 1 184 лида.
Исторический срез отдельно: на первичном экране за январь 2021 — 19 238 посетителей и доля поиска 58,1%. Эти цифры относятся только к указанному месяцу; не выдаю их за текущую посещаемость или эффект пересборки 2026 года.
Первичный экран и две реконструкции — три разных уровня подтверждения
Историческая сводка Яндекс.Метрики показывает конкретный период. Отдельные рабочие экраны систематизируют настройки целей и конфигурацию формы. Реконструкции не являются исходными историческими скриншотами.
Реальная сводка Яндекс.Метрики
Посетители, источники трафика, глубина, время на сайте и конверсионные блоки — только за 1–31 января 2021 года.

Граница: один календарный месяц, не динамика всего проекта. Для этого PNG отмечено несовпадение SHA с хостинговым листингом: байтовое тождество не заявляется.
Открыть первичный экран ↗События и цели Метрики
Рабочая композиция со значениями разных типов действий: форма, корзина, контакты и начало оформления заказа.

Граница: значения целей не означают число лидов или продаж. Мини-графики на реконструкции не являются исторической помесячной выгрузкой.
Открыть рабочий экран ↗Форма «Уточнить наличие»
Поля и согласие, сохранение отправок, email-уведомления, защита от спама и адаптивное представление.

Граница: экран подготовлен по реальной конфигурации и локальным стилям; он показывает реализацию сценария, но не доказывает рост конверсии.
Открыть конфигурацию ↗Область подтверждения: наличие сценария уточнения, учёт событий и исторический срез посещаемости. По этим материалам нельзя устанавливать число оплаченных заказов, выручку или эффект пересборки. Данные разных периодов и типы экранов не объединяются в одну статистику.
Передача владельцу и эксплуатационный QA
Результат пересборки — не только новый сайт, но и рабочая система, которую владелец может безопасно поддерживать без постоянного присутствия разработчика.
Моя задача включала контроль качества и передачу системы владельцу. Проверки не должны оставаться в голове специалиста: после изменений нужен понятный повторяемый процесс, позволяющий замечать отклонения в работе сайта.
Принцип направления: передача владельцу и эксплуатационный контроль — часть устойчивости системы, а не формальное завершение пересборки.
НАПРАВЛЕНИЕ · 04 · КЕЙС · 0114 страниц инструкции: как вынести безопасную эксплуатацию из головы специалиста в процессПередача работы с JoomShopping: карточки растений, подтверждённые данные, SEO-поля, сохранность URL и обязательная проверка опубликованной страницы.
Управление магазином должно оставаться понятным без постоянного присутствия специалиста
В рамках передачи системы владельцу я подготовил рабочую инструкцию на 14 страниц: от поиска и создания товара до проверки изменений на опубликованном сайте.
- 01 / НайтиОткрыть нужную карточку
Поиск по названию сорта и фильтрам JoomShopping; переход в редактирование существующего товара или создание нового.
- 02 / ЗаполнитьВнести подтверждённые сведения
Название, категория, описания, реальные фотографии и при необходимости цена, остаток и публикация.
- 03 / СохранитьНе затронуть связанные настройки
Проверить SEO title, meta description и alt; не менять alias и URL без согласования.
- 04 / ПроверитьОткрыть страницу как посетитель
После сохранения проверить карточку на сайте, её изображения, доступность и мобильное представление.
Разделить обычную правку карточки и изменения, которые могут повредить связности каталога
Инструкция фиксирует, какие данные нужно заполнять, какие можно указывать только после подтверждения и что не следует менять самостоятельно.
Что проверять перед публикацией
- Название и категория. Точное написание сорта, правильный раздел каталога.
- Контент и фото. Краткое и полное описание, изображения коллекции; не присваивать авторский материал другому товару.
- Коммерческие поля. Цена и количество — только по подтверждённым данным, без предположений о наличии.
- Поисковые поля. SEO title, meta description и alt: содержательно, без одинаковых заготовок и набора ключевых слов.
Что нельзя менять вслепую
- Alias / URL. Смена адреса может затронуть поисковые связи; в инструкции закреплён запрет на самостоятельное изменение.
- Настройки магазина. Не заходить в системные параметры без конкретной задачи.
- Данные о сорте. Не придумывать происхождение, селекционера, редкость и особенности растения.
- Фото и публикация. Не удалять изображения без проверки замены; перед сохранением проверить нужный статус карточки.
Нажать «Сохранить» — не значит проверить результат
Последняя часть регламента переводит редактирование из админки в реальную пользовательскую проверку. Ошибка должна обнаруживаться до того, как её примут за корректно опубликованный товар.
- Адрес и открытиеСтраница товара или категории доступна, ошибки 404 нет.
- ФотографииГлавное и дополнительные изображения загрузились и относятся к нужному растению.
- Название и описанияТексты отображаются без потерь, название сорта не искажено.
- Цена и наличиеПоказанные сведения соответствуют подтверждённым данным карточки.
- Корзина и действиеКнопка покупки или корзина проверена в пользовательском сценарии.
- Мобильная версияСтраница читается на телефоне, изображение и элементы не ломают компоновку.
Если проверка выявила проблему: зафиксировать её и согласовать исправление вместо случайного изменения URL, настроек магазина или состава данных.
Инструкция подтверждает передачу регламента, а не результат действий владельца
Назначенный этому кейсу документ — четырёхстраничная выдержка из рабочей инструкции на 14 страниц. В ней показаны конкретные поля товара, правила SEO и проверка страницы после сохранения.
Инструкция по администрированию Joomla и JoomShopping
Поиск и создание товара, обязательные поля, работа с SEO, осторожное обращение с адресами и чек-лист публичной проверки.
Если встроенный просмотр недоступен в вашем браузере, откройте PDF отдельно — все четыре страницы доступны по этой ссылке.
Граница доказательства: PDF подтверждает состав инструкции и регламент передачи. Он не доказывает, что владелец выполнил каждый пункт, а также не подтверждает рост SEO, количество заказов или коммерческий эффект.