SEO-продвижение

Доработка ALT и TITLE изображений товаров в OpenCart 1.5.6

В интернет-магазине Bossert.tech все фотографии одного товара получали одинаковый ALT, а управлять атрибутами изображений из админки было невозможно. Реализована отдельная система ALT и TITLE для главной и дополнительных фотографий с автоматической подстановкой H1 и ручным редактированием.

Проблема

На сайте работающем на OpenCart 1.5.6 с шаблоном Journal2, у фотографий товаров отсутствовало нормальное управление атрибутами alt и title. Для главного изображения и дополнительных фотографий использовался один и тот же текст, связанный с названием товара. В результате у нескольких изображений одной карточки были одинаковые ALT, а задать отдельное описание конкретной фотографии через административную панель было невозможно.

Для SEO это неудобно: главное изображение товара действительно можно связать с H1 страницы, но дополнительные фотографии часто показывают разные ракурсы, комплектацию, отдельные узлы оборудования, документы или особенности конструкции. Для таких изображений должен быть доступен собственный ALT.

Задача

Требовалось доработать OpenCart таким образом, чтобы администратор мог вручную задавать ALT и TITLE для каждого изображения товара. При этом для главной фотографии ALT должен автоматически использовать H1 страницы товара, но сохранять возможность ручного переопределения. TITLE не должен заполняться автоматически - если администратор его не указал, значение должно оставаться пустым.

Дополнительные фотографии также должны получить отдельные поля ALT и TITLE, но без автоматического копирования H1. Это позволяет при необходимости описывать каждое изображение индивидуально и не создавать десятки одинаковых ALT внутри одной карточки товара.

Решение

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

Для хранения данных была предусмотрена отдельная таблица базы данных. В ней сохраняются ALT и TITLE изображений без изменения штатной структуры таблиц товаров и фотографий OpenCart.

В административной панели во вкладку «Изображения» был добавлен отдельный блок для основного изображения товара. Администратор сразу видит превью главной фотографии, её ALT и TITLE. Ниже остаётся стандартный список дополнительных изображений, но у каждого изображения появились собственные поля ALT и TITLE.

Для главного изображения реализована следующая логика: если собственный ALT не задан, автоматически используется SEO H1 товара. Если SEO H1 отсутствует, используется обычное название товара. При необходимости автоматическое значение можно заменить вручную. Также предусмотрена возможность вернуть ALT обратно к автоматическому значению из H1.

Поле TITLE работает иначе: никакой автоматической подстановки в него нет. Если TITLE не указан вручную, на витрине он остаётся пустым. Такая же логика применяется к дополнительным изображениям: ALT и TITLE появляются только после ручного заполнения.

Какие сложности возникли при реализации

Основная сложность заключалась в том, что сайт работает не на стандартном шаблоне OpenCart. На нём используется Journal2, собственные SEO-поля и другие ранее установленные модификации. Поэтому простой модуль, рассчитанный на чистый OpenCart 1.5.6, не обеспечивал бы корректную работу.

При первой реализации выяснилось, что Journal2 использует собственную структуру шаблона страницы товара. Из-за этого часть переменных, добавленных через VQMod, могла использоваться в шаблоне раньше, чем создавалась в контроллере. Это привело к PHP-уведомлению Undefined variable: image_title. Точки внедрения были переработаны, а переменные получили обязательную предварительную инициализацию и дополнительную защиту.

Отдельная проблема обнаружилась с логикой дополнительных изображений. Изначально при пустом ALT они также наследовали H1 товара. Формально это обеспечивало наличие ALT, но фактически возвращало исходную проблему: все фотографии снова получали одинаковый текст. Логика была изменена - автоматический H1 теперь применяется только к главному изображению.

Ещё один нюанс касался административной панели. Первоначально настройки главного изображения находились отдельно от списка остальных фотографий. С точки зрения кода это работало, но для администратора было неудобно и создавало впечатление, что поле главного ALT отсутствует. Интерфейс был переработан: теперь управление основной и дополнительными фотографиями собрано в одном разделе.

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

Результат для заказчика

В результате интернет-магазин получил полноценное управление SEO-атрибутами товарных изображений непосредственно из административной панели OpenCart.

  • главное изображение автоматически получает ALT из актуального H1 товара;
  • ALT главной фотографии можно изменить вручную;
  • для каждой дополнительной фотографии можно задать индивидуальный ALT;
  • TITLE всех изображений по умолчанию остаётся пустым и заполняется только вручную;
  • дополнительные фотографии больше не получают одинаковый ALT автоматически;
  • настройки основной и дополнительных фотографий находятся в одной вкладке;
  • доработка учитывает особенности Journal2;
  • основные файлы ядра OpenCart не требуется редактировать вручную;
  • существующие карточки товаров продолжают работать без обязательного заполнения новых полей.

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

Есть похожая задача?

Пришлите ссылку на сайт и опишите желаемый результат.