Как известно, для правильного сниппета в выдаче, желательно прописать все необходимое в мета-тэг description. В Opencart есть стандартная страница контактов, где этого тэга нет. В итоге, при появлении страницы контактов в поиске, можно увидеть в описании что угодно, вместо правильной информации (пункты меню, названия товаров, вместо телефона, адреса и т.п.)... выше можно увидеть пример неправильного отображения.
Для вывода description можно или:
- Создать дополнительное поле в настройках и выводить его
- Использовать набор из существующих полей
- Прописать нужный текст прямо в контроллер контактов (но потом придется каждый раз лезть туда при изменениях)
Мне больше нравится второй вариант, т.к. он быстрее, при этом варианте не получится забыть сменить данные в отдельном поле, при изменении телефона в основном поле. При этом страница контактов не самая важная на сайте с точки зрения присутствия в поиске, так что можно обойтись более простым способом.
Решение. Пример
Для начала, как прописать мета description для любой страницы опенкарт? Достаточно строчки в контроллере:
$this->document->setDescription('');
Сюда можно добавить нужный текст, содержимое полей.. и все готово. Учитывая, что нужно это для представления в поиске, количество текста здесь ограничено. Больше 75 символов скорее всего не понадобится. Все важное нужно постараться уместить в 50
Начнем!
Единственный файл который нужно править - catalog/controller/information/contact.php
Здесь находим:
$data['telephone'] = $this->config->get('config_telephone');
Где то после этой строки (просто здесь уже получили из настроек телефон и адрес), добавляем:
$meta_description = '';
$meta_description .= $data['address'];
$meta_description .= ', тел.';
$meta_description .= $data['telephone'];
$this->document->setDescription($meta_description);
Вот и все. Здесь специально собирал описание постепенно, что бы лучше было видно.