Обратный звонок
Вам перезвонят
Ваше имя
Телефон для обратной связи
E-mail
Краткое описание Вашего вопроса
Портфолио

Поддержка и доработка интернет-магазина игрушек GoldenToy

Техническая поддержка оптово-розничного интернет-магазина GoldenToy на Webasyst Shop-Script: доработка каталога, корзины и покупки в один клик, исправление ошибок, техническая SEO-оптимизация, настройка GTM, обновление платформы и перевод магазина на украинский язык.

О проекте

GoldenToy: поддержка и развитие оптово-розничного интернет-магазина игрушек

GoldenToy — интернет-магазин игрушек и товаров для детей, работающий с розничными покупателями и оптовыми клиентами. Для проекта goldentoy.com.ua команда Quadro Design выполняла техническую поддержку и доработки магазина на Webasyst Shop-Script: изменяла каталог и элементы интерфейса, исправляла ошибки оформления заказов, развивала покупку в один клик, реализовывала задачи технической SEO-оптимизации и сопровождала обновление платформы.

Отдельным направлением стал перевод магазина на украинский язык через приложение My Lang с сохранением русской версии и добавлением переключателя языков.

Описание объединяет материалы проекта разных этапов: общее техническое задание 2015 года, SEO-задание 2020 года, задачи по аналитике и GTM, обновлению платформы в 2022 году и локализации в 2023 году. Выполненные работы и требования, для которых в документах нет подтверждения завершения, обозначены отдельно.

Проект GoldenToy — «Золотая игрушка» / «Золота іграшка»
Сайт goldentoy.com.ua
Направление Игрушки, детские товары, велосипеды и спортивные товары для детей
Формат торговли Оптово-розничный интернет-магазин
Платформа Webasyst Shop-Script
Основные направления работ Поддержка, программирование, верстка, каталог, оформление заказов, SEO, аналитика, обновления и мультиязычность

Задачи проекта

  • Сделать каталог удобнее для просмотра большого ассортимента игрушек и детских товаров.
  • Упростить добавление товаров в корзину и оформление заказа.
  • Обеспечить понятное поведение магазина при отсутствии товара на складе.
  • Исправить работу покупки в один клик на основной и мобильной версиях.
  • Учесть особенности оптовой регистрации, типов цен и переключения валют.
  • Устранить технические ошибки, мешающие работе сайта и его обходу поисковыми роботами.
  • Доработать индексацию, карты сайта, метаданные, изображения и структурированные данные.
  • Подготовить передачу информации о страницах и заказах в Google Tag Manager.
  • Организовать обновление Webasyst и перевод магазина на украинский язык.

Доработка интерфейса и каталога

Горизонтальная навигация и товарная сетка

Выполнены изменения структуры каталога и размещения товаров:

  • Убран отдельный синий боковой блок каталога, занимавший часть рабочей области страницы.
  • Каталог переведен в горизонтальный формат с выпадающими подразделами и размещен под основным меню с переходами на главную, информацию о магазине и инструкцию по заказу.
  • Для товарных категорий расширена область вывода карточек.
  • Скорректирована сетка квадратных карточек, чтобы количество товаров соответствовало заполненным рядам.
  • Добавлена закругленная кнопка «Показать еще» вместо прежнего перехода вперед по страницам.
  • Исправлено смещение кнопки покупки.
  • Реализован показ второй фотографии товара при наведении на изображение в каталоге.

В качестве ориентиров для горизонтального каталога в задании использовались примеры Veloritm и BabyPlus. Требование сделать кнопки каталога зелеными и привести их к оформлению кнопки «Купить» в карточке товара также присутствовало в общем ТЗ 2015 года; отдельной отметки о его завершении в этом документе нет.

Главная страница, баннеры и категории с изображениями

  • Восстановлена работа карусели «Хиты продаж», которая перестала прокручиваться. В задаче был указан прежний сценарий перемещения на десять позиций.
  • После блоков хитов продаж и акционных товаров добавлены места для двух баннеров с переходами на другие страницы.
  • Для большего количества баннеров предусмотрено переключение: в задании отдельно оговаривался вариант с четырьмя и более изображениями.
  • После баннеров продублировано дерево каталога в виде изображений и названий подразделов.
  • Для вывода фотографий категорий рассматривались плагины Webasyst categoryimage и wmimageincat; задача по реализации блока отмечена выполненной.
  • Выделен вход для оптовых покупателей в верхней части сайта и убрано его дублирование под поиском.

Отдельная задача предусматривала расширение всего сайта с автоматической подстройкой под экраны разной ширины. В обсуждении приводился пример экрана 1920 пикселей и использовалась тестовая страница. Хотя задача отмечена как выполненная, рядом сохранено замечание об отображении изменений и ответ о необходимости обновить кеш. Окончательное подтверждение проверки этого замечания в материалах не приведено.

Проверка отображения

Проверка верстки в Safari отмечена выполненной. В SEO-аудите также зафиксировано корректное отображение в версиях браузеров, указанных на соответствующем этапе: Chrome 66.0, Firefox 59.0, Opera 52.0 и Safari 11.1. Эти версии относятся к историческим материалам проекта.

Дополнительно в журнале задач описаны размытые шрифты при открытии подкатегории и отсутствие фона на мобильной версии. Подтверждения завершения этих отдельных исправлений в документах нет.

Корзина, карточка товара и оформление заказов

Сохранение корзины и отображение количества товаров

Выполнены исправления ошибок, возникавших при работе с корзиной:

  • Устранена проблема, при которой на главной странице не сохранялось корректное состояние корзины.
  • Исправлено оформление заказов.
  • Исправлено обновление количества товаров при переходе из каталога или карточки товара на главную страницу.
  • Доработана обратная связь после нажатия «Купить»: покупателю должно быть понятно, что товар добавлен в корзину. В задании рассматривались выделение значка корзины красным цветом или сообщение «Ваш товар находится в корзине»; задача отмечена выполненной.

Покупка в один клик

Исправлена работа плагина покупки в один клик, включая проблему с кнопкой в мобильной теме. Кнопка размещена под основной кнопкой «Купить». В задании также предусматривались одинаковые размеры двух кнопок и разные цвета для различения сценариев покупки. Повторяющиеся обращения по этому функционалу относятся к одной группе выполненных доработок.

Наличие товара и элементы карточки

  • При нулевом остатке заблокирована возможность покупки.
  • Вместо активной кнопки покупки предусмотрена надпись «Нет в наличии».
  • Из карточки товара убран телефонный блок под кнопкой «Купить».
  • В дополнительных пожеланиях также запрошено удаление телефонного блока над кнопкой покупки; отдельного подтверждения выполнения этого уточнения нет.

Дополнительное требование: добавить возможность подписаться на уведомление о поступлении отсутствующего товара. В документе приведен пример товара, однако задача не имеет отметки о завершении.

Валидация телефона и данные покупателя

Общее ТЗ и задание по электронной торговле предусматривали украинский формат телефонного номера по умолчанию:

  • Маска номера +38(0XX) XXX-XX-XX.
  • Фиксированная начальная часть +38(0, которую покупатель не должен изменять.
  • Ввод девяти оставшихся цифр.
  • Проверка количества введенных цифр и запрет букв в телефонном поле.
  • Выбор Украины вместо России в качестве страны по умолчанию при регистрации.

Это зафиксированные требования к форме. Отдельных отметок о завершении перечисленных настроек в предоставленных материалах нет.

Конфиденциальность и обратная связь

  • Доработано уведомление о конфиденциальности.
  • Добавлена кнопка «Даю согласие на обработку персональных данных».
  • После подтверждения предусмотрено скрытие красного уведомления.
  • Выполнена задача по созданию страницы политики конфиденциальности на основании подготовленного текста.
  • Добавлена ссылка на политику в подвал сайта.
  • Добавлено сообщение об успешной или неуспешной отправке заявки на обратный звонок.

В SEO-задании дополнительно описаны уведомления о персональных данных и cookie при отправке форм: какие сведения сохраняются, для каких целей и как используются. Подготовка содержания политики рассматривалась отдельно от программной реализации; выполненные изменения интерфейса не являются заявлением о юридической проверке всех процессов магазина.

Информация о магазине

В шапке изменено время работы: вместо «Пн — Сб с 08:00 до 15:00» указано «Пн — Сб с 08:00 до 19:00». Это изменение относится к соответствующему этапу проекта.

Также выполнена задача по позиционированию магазина. Для основной версии предусмотрены надписи «Игрушки и товары для детей» и «Оптово-розничный интернет-магазин». В мобильной версии надпись о направлении магазина разместили в подвале, поскольку в верхней части не было достаточного места.

Оптовые покупатели, регистрация и валюты

Помимо выполненного изменения расположения входа для оптовиков, в документах описан отдельный набор требований к оптовому направлению. Для этих пунктов нет однозначного подтверждения завершения.

Регистрация оптового покупателя

  • Проверить нестабильную работу входа для оптовых клиентов.
  • Добавить обязательное поле «Город».
  • Добавить обязательный выбор вида деятельности покупателя.
  • Сохранять введенные сведения и показывать их в карточке клиента в административной части магазина.

Для вида деятельности были заданы четыре варианта:

  1. ФОП — розничная торговля детскими товарами.
  2. ФОП — сеть магазинов или оптовые склады.
  3. Продажи через интернет-магазин или социальные платформы.
  4. Розничный покупатель.

Курс валют и отображение цен

Заказчик уточнил, что курс доллара должен задаваться магазином вручную. Требовался переключатель валют для покупателя, а не информационный виджет с внешним текущим курсом.

  • Для зарегистрированных пользователей предусмотреть цены в долларах или гривнах по установленному магазином курсу.
  • Перенести переключатель валют из подвала в шапку.
  • Исправить его работу.
  • Проверить совместимость решения с существующей системой типов цен.

Предложенный рублевый вариант валютного плагина был отклонен как неподходящий для задачи.

Украинская версия сайта и исправление поиска

Перевод через My Lang

В задачах от 07.07.2023 настройка перевода через приложение My Lang и перевод сайта на украинский язык отмечены выполненными. Русский язык предусмотрен как второй язык магазина.

Для автоматического перевода категорий и товаров в обсуждении рассматривались сервисы Google Translate и Yandex Translate с подключением через API. Настройка перевода являлась отдельной задачей проекта.

  • Добавлен переключатель языков.
  • Для подписей переключателя согласованы текстовые обозначения «Укр» и «Рус» без флага России.
  • Требование распространялось на основную и адаптированную мобильную версии магазина.
  • Названия типов цен добавлены в систему перевода.

Уточнения после автоматического перевода

После основного перевода в документе зафиксированы дополнительные обращения:

  • Перевести тексты и статьи, размещенные в разделах магазина.
  • Проверить перевод политики конфиденциальности.
  • Уточнить способ перевода информационных страниц: в обсуждении указано, что они не переводятся автоматически используемым способом.
  • Заменить некорректную подпись оптовой цены на украинское «Гуртом».
  • Использовать «Роздріб» для розничной цены.

Эти уточнения не имеют отдельных отметок о завершении. Выполненная настройка My Lang и подтвержденный основной перевод не означают, что все последующие замечания были закрыты.

Поиск по магазину

  • Исправлена неработавшая функция поиска; в переписке дополнительно подтверждено, что поиск работает.
  • Исправлено поведение текста «Поиск по сайту»: покупателю больше не требуется вручную стирать его перед вводом запроса.

Языковые версии в SEO-задании

Еще в ТЗ 2020 года была описана структура двух языковых версий: русская по основному адресу и украинская в папке /ua/. Для соответствующих страниц предусматривались взаимные ссылки hreflang="ru-UA" и hreflang="uk-UA", включая ссылку каждой версии на саму себя.

Требование относилось ко всем соответствующим внутренним страницам, а не только к главной. Отдельного подтверждения реализации этой схемы hreflang в документах нет; фактическая настройка перевода через My Lang подтверждена задачами 2023 года.

Обновление платформы и тестовый поддомен

Задача от 22.11.2022 по подготовке поддомена, переносу сайта на тестовую площадку и поэтапному обновлению отмечена выполненной.

На этом этапе обновлению Webasyst Installer мешала несовместимость используемой версии PHP. В задачу входило взаимодействие с хостингом для устранения этого препятствия и продолжения обновлений. Состав приложений и плагинов для последующих обновлений должен был определяться запросами заказчика.

На тестовой версии также проверялись корзина и оформление заказов; исправления этих ошибок имеют отметки о завершении. Отдельно зафиксирована проблема страницы регистрации в Mozilla Firefox на тестовом поддомене. Для этого замечания подтверждения завершения в документе нет.

Техническая SEO-оптимизация

HTTPS, основное зеркало и цепочки редиректов

В журнале работ подтверждено исправление ошибки, из-за которой HTTPS-страницы выполняли многоступенчатые редиректы 302 на самих себя или на некорректный адрес без домена. Причина была связана с плагином «3 цены».

При исправлении требовалось сохранить уже работавшие постоянные перенаправления:

Исходный вариант Требуемое поведение
HTTP-версия страницы 301 на соответствующую HTTPS-страницу
Адрес с www 301 на соответствующий адрес без www
Лишняя цепочка перенаправлений Убрать промежуточные переходы; в отдельном обращении вместо пятнадцати перенаправлений был запрошен один 301
Корректная страница с рекламными GET-параметрами Не допускать ошибочного ответа 404 или ненужного перенаправления из-за меток рекламных систем

В SEO-аудите SSL-сертификат и переход с HTTP на HTTPS уже были отмечены как работающие. Дополнительная выполненная задача касалась смешанного содержимого мобильной темы: изображения, включая графику «Новой почты», требовалось перевести на HTTPS.

Адреса страниц и устранение дублей

Общее ТЗ предусматривало единый адрес товара независимо от количества категорий, в которых он представлен. Размещение товара одновременно в основном разделе, спецпредложениях или акциях не должно создавать новые дублирующие URL.

Для действительно разных модификаций товара требовалось различать названия и Title по артикулу, цвету, количеству штук или другому признаку модификации. Одинаковые названия при разных автоматически сформированных адресах рассматривались как отдельная проблема дублей.

В аудите 2020 года ЧПУ уже работали у категорий и части товаров, но некоторые карточки сохраняли числовые адреса. Для дальнейшей доработки были описаны:

  • Генерация понятных адресов при добавлении новых товаров.
  • Обработка уже существующих товаров для формирования ЧПУ.
  • Использование подходящего плагина при ручном добавлении.
  • Отдельный сценарий для импорта товаров через CSV.
  • Названия в транслитерации, нижний регистр, дефисы вместо пробелов и отсутствие специальных символов.
  • Ориентир длины адреса до 80 символов, без ненужного года и лишней вложенности; языковые папки рассматривались отдельно.

Выполнение общей генерации ЧПУ для всех товаров не подтверждено отдельной отметкой.

При проверке типовых дублей рассматривались адреса без завершающего слеша, с повторяющимися слешами, с index.php, home.php, index.html, home.html, вариантами .htm, измененным регистром и произвольными добавлениями к пути. В аудите указано, что проверенные варианты возвращали 404 или перенаправлялись 301.

Категории, подразделы и внутренние ссылки

В общем ТЗ были предусмотрены следующие изменения структуры:

Раздел или проблема Требование
/category/devochki/kukli/v-korobke/ Удалить лишний подраздел и настроить 301 на /category/devochki/kukli/
/category/tovari-dlja-malyshej/pogremushky/pogremushky-v-pakete/ Удалить лишний подраздел и настроить 301 на /category/tovari-dlja-malyshej/pogremushky/
Подраздел других настольных игр Использовать H1 «Другие настольные игры»
Ссылка /compare// Исправить или удалить ошибочную ссылку из шаблонов карточек; в историческом аудите было указано более 3000 связанных ошибок
Другие внутренние ссылки на 404 Заменить корректными адресами или удалить из кода
Окончательно удаленный товар без будущих поставок В ТЗ 2015 года предусматривался автоматический 301 на его категорию, а при отсутствии подходящего раздела — на категорию уровнем выше

Для перечисленных пунктов общего ТЗ нет отдельных подтверждений завершения. Историческое правило перенаправления удаленных товаров описывает требование того этапа, а не универсальный сценарий для любых отсутствующих страниц.

Ответы сервера и служебные страницы

  • Для существующих страниц в задании требовался ответ 200 OK.
  • Для отсутствующих страниц — настоящий ответ 404 без маскировки ошибки перенаправлением.
  • Для перенесенных страниц — постоянное перенаправление 301.
  • Внутренние ссылки должны вести непосредственно на действующие страницы, без ненужных переходов через 301.

Страница 404 в аудите уже была отмечена как корректно оформленная и возвращающая нужный статус. Требования к ней включали оформление в стиле магазина, сохранение навигации, понятное сообщение об отсутствии страницы и ссылки для продолжения просмотра.

Задача по странице временной недоступности 503 отмечена выполненной. В историческом задании предусматривались сообщение о технических работах, контакты магазина, статус 503 Service Temporarily Unavailable и заголовок Retry-After: 3600. На момент аудита действующих ошибок 5xx не было; решение готовилось для последующих технических работ.

Также отмечено выполнение задачи по неработавшей странице «Поддержка». ТЗ допускало восстановление ее содержания, перенаправление на близкую по смыслу служебную страницу или удаление неиспользуемого перехода. Конкретный выбранный вариант в итоговом комментарии не уточнен.

Robots.txt и управление индексацией

Работы с robots.txt подтверждены журналом проекта. В частности, исправлены ссылки с HTTP на HTTPS.

В общем ТЗ 2015 года для служебных страниц предусматривался метатег noindex,nofollow. В перечень входили:

  • Отдельные страницы отзывов, авторизации, регистрации и восстановления пароля.
  • Обратная связь, корзина и оформление заказа.
  • Поиск, сравнение, теги и адреса с параметрами сортировки.

Для служебных областей helpdesk, mailer, Webasyst и published/publicdata ограничения описывались также через robots.txt. В заданиях присутствовали отдельные правила для Googlebot, Yandex и остальных роботов, указание основного адреса и XML-карты сайта.

Исторические настройки Clean-param включали рекламные и служебные параметры utm_source, utm_medium, utm_term, utm_content, utm_campaign, vf, _openstat, gclid, tduid, av, from, gsaid, _gs_rmark, _gs_ref, _gs_cttl, iframe, width и height.

В редакции robots.txt из ТЗ 2020 года также фигурировали ограничения для поиска, папок /ua/ и /en/, служебных приложений и печатных страниц, а доступ к CSS и JavaScript требовалось сохранить. Эти ограничения относятся к исторической конфигурации до подтвержденного этапа украинской локализации 2023 года.

Выполненные изменения индексации из SEO-задания 2020 года:

  • Закрыты технические категории снятых с публикации товаров, найденных на складе и складского раздела.
  • Для таких технических страниц предусмотрен noindex,nofollow.
  • Открыта для индексации категория игрушек со скидками.
  • Для акционного раздела заданы Title, Description и H1 с формулировкой о детских игрушках со скидкой до 60%. Это предложение относится к материалам того периода.
  • Для URL с параметрами price_min и price_max реализовано закрытие от индексации.
  • Исправлена языковая принадлежность русской версии: вместо английского языка в HTML указан lang="ru".

В общем ТЗ также была задача добавить код подтверждения Яндекс Вебмастера в раздел head. Отдельного подтверждения завершения этого пункта нет. Указанные в старом документе директивы noodp,noydir относятся к историческому заданию.

Canonical и пагинация

В материалах различаются стандартная работа canonical и отдельная возможность редактировать его вручную.

Задача Статус и условия
Canonical на сортировках и фильтрах В обсуждении подтверждено наличие стандартного функционала Webasyst: вариант сортировки указывал на основной адрес категории
Добавление отсутствующих canonical Отмечено выполненным; также исправлены относительные ссылки вместо абсолютных
Отдельное поле ручного редактирования canonical В документе прямо отмечено «Не реализовано». Обсуждалось добавление такого поля для товаров и категорий с автоматическим значением по умолчанию и заменой при ручном заполнении
Пагинация в общем ТЗ 2015 года Предусматривалось закрытие последующих страниц через noindex,follow, а также дублирование навигации над каталогом и возможность менять количество товаров на странице
Пересмотр пагинации в ТЗ 2020 года Отмечено выполненным: страницы открыты через index,follow, в Title добавлена нумерация, а canonical по заданию направлялся на первую страницу категории

Таким образом, документы отражают изменение подхода к пагинации между этапами проекта. Настройка canonical на первую страницу описана как историческая реализация ТЗ: в действующих рекомендациях Google для последовательности страниц используется собственный canonical каждой страницы.

XML-карта сайта

В аудите 2020 года автоматическая генерация sitemap.xml через плагин уже была отмечена как работающая. Общее ТЗ содержало следующие требования к карте:

  • Включать действующие страницы, исключая URL с ответами 3xx, 4xx и 5xx.
  • Не включать страницы, закрытые от индексации предусмотренными в задании средствами.
  • Использовать единый вариант адресов основного домена, без смешивания www и адресов без www.
  • Не добавлять идентификаторы сессий.
  • Описывать страницы соответствующего домена; другие домены и поддомены рассматривались отдельно.
  • Использовать UTF-8 и пространство имен http://www.sitemaps.org/schemas/sitemap/0.9.
  • Формировать обязательные элементы urlset, url и loc; для lastmod указывать дату последнего изменения страницы.
  • При превышении 50 000 URL или 50 МБ несжатого файла разбивать карту на части.
  • Возвращать ответ 200 при обращении к файлу.
  • Обновлять карту при добавлении и удалении страниц и проверять ее валидность после изменений структуры.

В историческом ТЗ для changefreq предлагались значения Always для главной и категорий, Daily для регулярно обновляемых страниц и Weekly для редко изменяемых разделов. Резервным вариантом при невозможности автоматической генерации был отдельный генератор с ручным запуском; подтверждения его установки нет.

Карта изображений и HTML-карта

Формирование XML-карты изображений отмечено выполненным. Из-за большого количества фотографий список разделен на три файла; в отчете первым указан адрес https://goldentoy.com.ua/imgsitemap0.xml.

  • Для изображений предусмотрена отдельная XML-карта и указание ее адреса в robots.txt.
  • В задании использовались блоки image:image и адреса image:loc.
  • Указано пространство имен http://www.google.com/schemas/sitemap-image/1.1.
  • Предусматривалось до 1000 изображений для одного URL и разделение больших карт.

В старом задании дополнительно перечислялись image:title, image:caption, image:geo_location и image:license. Эти элементы относятся к исторической спецификации и впоследствии были исключены из документации Google.

Создание HTML-карты сайта также отмечено выполненным. По заданию она должна содержать категории и подкатегории без полного списка товаров, иметь сквозную ссылку и исторически предусмотренный метатег noindex,follow,noarchive.

Кеширование и идентификаторы сессий

Выполнена задача по Last-Modified и обработке If-Modified-Since. В ТЗ были описаны ответ 200 при изменении страницы и 304 Not Modified, если содержимое не изменилось.

Параметры кеширования соответствующего этапа предусматривали:

  • Для страниц — Expires на 24 часа и max-age=86400 с must-revalidate.
  • Для CSS, JavaScript, шрифтов и изображений — Expires на 168 часов и max-age=604800 с must-revalidate.

Настройки передачи идентификатора сессии через cookies без добавления его в адреса были проверены и отмечены как установленные: session.use_cookies=1 и session.use_trans_sid=0. Целью было исключение дополнительных адресов страниц с идентификаторами сессий.

Код, скорость загрузки и мобильная версия

Выполнены задачи по оптимизации CSS и JavaScript, исправлению HTML-ошибок и скорости загрузки. Требования включали вынос скриптов в отдельные файлы, объединение стилей по возможности и сохранение доступности основных текстов и ссылок для поисковых роботов.

Проверка валидности предусматривалась для главной страницы, категорий, товаров и блога после основных доработок. В документах использовались W3C Validator, PageSpeed Insights и GTmetrix.

В отчете зафиксировано сокращение исходного кода одной проверяемой страницы с 148 383 до 98 552 символов за счет удаления лишних пустых строк и комментариев. Это конкретный результат оптимизации кода, а не показатель роста продаж или поискового трафика.

Задания по производительности содержали ориентир приблизиться к оценке 100/100 без нарушения работы магазина. В аудите от 25.05.2020 отмечались хорошие результаты GTmetrix для компьютеров и ухудшение мобильной загрузки с 15 мая, включая показатель FCP. Достижение 100/100 или загрузки всех страниц за одну секунду в материалах не подтверждено.

Также рассматривался перевод изображений в более эффективные форматы. Для мобильной проверки открыли поисковым роботам скрипты, стили и медиафайлы. Этот пункт обозначен как решенный частично: в комментариях оставалась проблема доступа роботов, связанная с особенностями переключения валют плагином «3 цены». Исправление редиректов этого плагина не является отдельным подтверждением окончательного устранения проблемы обхода сайта роботами.

Заголовки, метатеги и SEO-тексты

Общее ТЗ предусматривало убрать заголовки H1–H6 из декоративных элементов: логотипа, рекламной надписи в шапке и служебных блоков. Внешнее оформление таких элементов требовалось сохранить средствами CSS.

  • На главной — вынести H1 «Игрушки оптом» из логотипа и разместить над блоком новинок, скидок и действующих акций.
  • Для категорий и товаров — использовать заголовок соответствующей страницы.
  • Сохранять визуальную и смысловую иерархию заголовков.
  • Не использовать H1–H6 только для оформления меню и других структурных элементов.

Для метаданных описаны генерация по шаблонам и ручное заполнение. В более позднем ТЗ 2020 года ручные значения должны иметь приоритет над шаблонными. Заголовки и метатеги требовалось формировать на основе семантики, избегать повторяющихся Title и оставлять один основной H1 на странице.

Отдельная задача касалась отвязки поля «Краткое описание» в административной части от META Description. Содержимое метаописания должно определяться специально заданными правилами генерации и соответствующим полем, а не автоматически подменяться кратким описанием товара.

Для детских велосипедов были предусмотрены отдельные метаданные подразделов с диаметрами 12, 14, 16, 20, 24 и 26 дюймов. Пример для 14 дюймов включал H1 «Велосипед 14 дюймов», Title с покупкой оптом в Киеве и Украине, ценой и фотографиями, а Description — с оптовыми ценами, доставкой по Украине, ассортиментом и географией Киев, Одесса, Харьков. Для товаров категории требовалась отдельная генерация Title по шаблону.

Также были предусмотрены внедрение ONPAGE-настроек через административную часть и работа с отдельными таблицами метаданных. Выполнение всех настроек из этих дополнительных таблиц не подтверждено отметками в предоставленных документах.

Требования к SEO-текстам включали:

  • Подготовку на основании семантического ядра и задач магазина.
  • Отсутствие копирования материалов конкурентов.
  • Исторический ориентир уникальности 95% по Advego с шинглом 5.
  • Предварительную HTML-разметку без переноса служебного форматирования из Word.
  • Размещение текста без обязательного скрытия за «Читать далее» или отдельной прокруткой.

Задание на копирайтинг предполагалось подготовить отдельно. Написание всех таких текстов не отмечено как завершенная работа команды по этому кейсу.

Изображения товаров

Добавление размеров width и height к изображениям отмечено выполненным.

Дополнительные требования предусматривали заполнение alt и title на основании содержимого изображения и названия товара. В историческом ТЗ для alt был указан ориентир 3–4 слова, а для title — тематическое название без лишних коммерческих формулировок, не относящихся к изображению.

Также рассматривались понятные адреса фотографий с названием товара и размещением в папке images. В обсуждении отмечено ограничение платформы: Webasyst формирует адреса с идентификаторами изображений, поэтому простая замена путей могла нарушить показ фотографий. Подтверждения внедрения общей схемы переименования нет.

Внешние ссылки и восстановление переходов

В историческом ТЗ было предусмотрено использование rel="nofollow" для внешних ссылок и ряда служебных или временных внутренних разделов. В перечень входили информация о магазине и заказе, регистрация и вход, обратная связь, поддержка, новинки, спецпредложения и сезонные категории. Отдельно обсуждалось представление ссылок на социальные сети иконками.

Выполнена задача по восстановлению переходов с внешних ссылок: для согласованного списка адресов, возвращавших 404, настроены перенаправления 301 на действующие страницы. В аудите того периода упоминались 78 ссылающихся доменов; это историческое наблюдение, а не текущая характеристика ссылочного профиля.

Регистрация в тематических каталогах, бизнес-справочниках и прайс-агрегаторах была предложена как дополнительное направление. В задании оговаривался выбор площадок без обязательного размещения обратных ссылок. Подтверждения выполнения этого направления нет.

Микроразметка, контакты и социальные сети

Навигационная цепочка

Для хлебных крошек была задана полная последовательность: главная страница, раздел, подразделы и текущая страница. Последний элемент должен отображаться обычным текстом без активной ссылки.

В более позднем SEO-задании использовалась разметка BreadcrumbList с элементами ListItem, названиями, адресами и порядковыми позициями. Количество элементов должно соответствовать реальной навигационной цепочке. Задача по микроразметке в ТЗ 2020 года отмечена выполненной.

Товары, цены, отзывы и рейтинг

В заданиях описана разметка Product и Offer с передачей названия, описания, изображения, артикула, бренда, адреса товара, цены, валюты и фактического наличия. В более позднем шаблоне также перечислялись sku, mpn и срок действия цены priceValidUntil.

Отзывы и рейтинг требовалось показывать непосредственно в карточке товара. Для них были предусмотрены Review, Rating и AggregateRating: автор, дата, текст отзыва, оценка, средний рейтинг и количество отзывов, с границами шкалы от 1 до 5.

В общем ТЗ 2015 года фрагменты отзывов и совокупного рейтинга были зачеркнуты и привязаны к последующей реализации соответствующих элементов на странице. В ТЗ 2020 года задача по микроразметке имеет отметку о завершении. Наличие этой отметки не позволяет утверждать, что для каждого товара существовали реальные опубликованные отзывы.

Значения структурированных данных должны соответствовать содержимому страницы: реальные цены и наличие, существующие отзывы и оценки. Примерные сведения из образцов кода не являются данными GoldenToy; произвольные отзывы, рейтинги и даты окончания цены в описание результата не включаются.

Разметка контактной информации

В общем ТЗ предусматривалась разметка адресов компании через PostalAddress. Были приведены два магазина-склада на рынке «7-й километр» в Одессе: № 267 и № 523, с указанием Украины. Для почтового индекса 65120 в документе отдельно требовалась проверка.

Эти сведения относятся к историческому заданию по контактам и не являются подтверждением актуальных адресов складов. Отдельной отметки о завершении адресной разметки в материалах нет.

Open Graph и социальные ссылки

В аудите указано, что социальные кнопки и часть Open Graph уже присутствовали в шаблоне. Одновременно выявлено отсутствие нужной разметки на отдельных страницах, поэтому было задано ее расширение для категорий и товаров.

  • og:title — название страницы или товара.
  • og:description — соответствующее описание.
  • og:image — прямой адрес изображения.
  • og:url — адрес страницы.
  • og:site_name — название магазина.
  • og:type — тип материала.

В качестве примеров использовались категория телескопов и микроскопов для детей и карточка микроскопа с набором аксессуаров. Отдельного подтверждения завершения всех дополнительных Open Graph-настроек нет.

Фавикон также отмечен в аудите как уже существующий элемент сайта.

Google Tag Manager и электронная торговля

Замена контейнера GTM

Замена старого контейнера Google Tag Manager на новый отмечена выполненной. В задании были предусмотрены основной фрагмент в head и блок noscript непосредственно после открывающего body. Расположение кода дополнительно подтверждено в обсуждении.

После установки возникло отдельное уточнение по dataLayer: данные, необходимые при загрузке страницы, должны передаваться до контейнера GTM. Вместо повторного присваивания массива после инициализации требовалось использовать dataLayer.push(), сохраняя уже добавленные значения. Завершение этого уточнения отдельно не отмечено.

Данные о типах страниц

В техническом задании по GTM требовалась передача pageType на всех страницах магазина:

Значение Назначение
Product Page Карточка товара
Category Page Страница категории
Basket Корзина
Other Остальные страницы
ThankYou Страница успешно оформленного заказа

Дополнительно предусматривались строковые параметры pageCatL1 и pageCatL2 для категорий первого и второго уровня, а также brand. Второй уровень и бренд должны передаваться, если их можно определить однозначно. Для GoldenToy в обсуждении использовался пример «Спортивные товары для детей» → «Детские самокаты».

Передача заказа в dataLayer

Для страницы завершенного заказа описана структура данных электронной торговли соответствующего этапа:

Параметр Тип Назначение и обязательность по ТЗ
transactionId Строка Уникальный идентификатор транзакции; обязательный
transactionAffiliation Строка Магазин или партнер; необязательный
transactionTotal Число Общая сумма заказа; обязательный
transactionShipping Число Стоимость доставки; необязательный
transactionTax Число Сумма налога; необязательный
transactionProducts Массив объектов Список купленных товаров; в исходном ТЗ обозначен как необязательная переменная

Для товарных объектов были заданы следующие поля:

Параметр Тип Назначение и обязательность по ТЗ
name Строка Название товара; обязательный
sku Строка Идентификатор товара; обязательный
category Строка Категория; необязательный
price Число Цена единицы товара; обязательный
quantity Число Количество единиц; обязательный

Повторная отправка и старый код аналитики

При обновлении страницы успешного заказа через F5 сведения о покупке не должны повторно передаваться в аналитику. В историческом ТЗ одним из вариантов ограничения повторного доступа был назван ответ 404; конкретный внедренный механизм не подтвержден.

Также описана проблема страницы завершенного заказа: на ней выводился старый синтаксис электронной торговли для другого счетчика Google Analytics, а ранее предусмотренная передача покупки через dataLayer отсутствовала. Требовалось восстановить корректную отправку данных в GTM и устранить конфликт со старым кодом. Отдельной отметки о завершении этого пункта нет.

Перечисленные transaction-параметры и примеры относятся к исторической схеме электронной торговли. Universal Analytics впоследствии был отключен; внедрение GA4 в предоставленных материалах не подтверждено.

Дополнительные требования к развитию магазина

В документах сохранены дополнительные задачи и пожелания без однозначного подтверждения завершения:

  • Акционные товары: автоматически включать товары со скидочным значком в категорию «Удар по ценам», сохраняя первоначальный URL карточки.
  • Отображение скидок: показывать старую цену перечеркнутой рядом с действующей, чтобы выгода была понятна; у товаров без реальной скидочной цены убрать скидочные значки.
  • Интерактивные игрушки: создать категорию для товаров, которые издают звуки при взаимодействии, включая роботов, сортеры и азбуки.
  • Категория мопедов: уточнить будущие поставки; при отсутствии ассортимента временно убрать раздел и вернуть за два месяца до начала поставок для подготовки оптимизации.
  • Оформление: добавить красный, синий и голубой цвета, сделать шрифты более четкими и выразительными, изменить оформление шапки и подвала, уменьшить использование серых и тусклых элементов.
  • Согласование дизайна: использовать конкретные примеры и утвержденные решения; в переписке приводились магазины Igrushki7 и BabyPlus.
  • Баннеры доставки и скидок: подготовить изображения и определить страницы и точные места размещения.
  • Новости: добавить соответствующий раздел.
  • История просмотров: рассмотреть блок недавно просмотренных товаров.
  • CTA: использовать понятные подписи кнопок и заметное оформление действий покупки, заказа и обратной связи.
  • Онлайн-консультант: предусматривать чат при наличии менеджера, который отвечает покупателям, и настроить часы его работы.

Два предложения были отменены в обсуждении: массовая замена всех HTTP-ссылок без уточнения конкретных мест и добавление трех баннеров в мобильную тему. Они не включаются в перечень выполненных работ.

Результат подтвержденных работ

В рамках поддержки GoldenToy выполнены доработки каталога и главной страницы, восстановлена работа корзины и оформления заказов, исправлена покупка в один клик, реализовано ограничение покупки отсутствующих товаров и улучшена обратная связь в интерфейсе.

Технические работы включали исправление ошибочных редиректов, отдельные задачи HTTPS и robots.txt, создание карты изображений и HTML-карты, оптимизацию кода, настройку кеширования и микроразметки. Подготовлен этап обновления платформы на тестовом поддомене.

В 2023 году выполнена настройка украинского перевода через My Lang, добавлен переключатель языков и исправлена работа поиска. Дополнительные замечания к переводу, оптовой регистрации, валютам и отдельным SEO-настройкам сохранены в описании с их фактическим статусом.

Поддержка и доработка интернет-магазинов на Webasyst Shop-Script

Quadro Design помогает развивать действующие интернет-магазины: исправлять ошибки, дорабатывать каталог и оформление заказов, изменять шаблоны, сопровождать обновления и реализовывать технические задания по SEO и интеграциям.

Обсудить доработку интернет-магазина · Посмотреть другие проекты по поддержке и доработкам

Контакты

Телефон для связи+373 684 33 335
Закажите БЕСПЛАТНУЮ
консультацию по созданию сайта
Проверочный код (изображение)