Столкнулся с проблемой, что нет возможности в СеоПак про генерировать тайтл и дескрипшин для категорий. Подскажите, пожалуйста, может есть какое-то решение?
Есть такое решение для Title без модулей и лишних заморочек. Сам использую - работает прекрасно. Например, Вы придумали шаблон для тайла Купить {имя_товара} в Москве, Санкт-Петербурге по низким ценам. Далее вам необходимо сделать следующее: Title для Товара: в файле catalog/controller/product/product.php нужно заменить это: Код: $this->document->setTitle($product_info['name']); на это: Код: $this->document->setTitle('Купить ' . $product_info['name'] . ' в Москве, Санкт-Петербурге по низким ценам'); Title для Категории: в файле catalog/controller/product/category.php Аналогично
Тег дексрипшин я еще не делал, но думаю что аналогично. Сегодня ночью буду сидеть, завтра отпишусь. Если вы будете пытаться реализовать аналогию к дексрипшин, пожалуйста, отпишитесь в этой ветке.
Разобрался в чем была ошибка: 1. Бездумно скопировал Ваш текст - надо было product поменять на category 2. Для СеоПакПро - надо в файле custom_title.xml Поменять: Это: Код: <file name="catalog/controller/product/category.php"> <operation> <search position="replace"><![CDATA[$this->document->setTitle($category_info['name']);]]></search> <add><![CDATA[($category_info['custom_title'] == '')?$this->document->setTitle($category_info['name']):$this->document->setTitle($category_info['custom_title']);]]></add> </operation> </file> На это: Код: <file name="catalog/controller/product/category.php"> <operation> <search position="replace"><![CDATA[$this->document->setTitle($category_info['name']);]]></search> <add><![CDATA[$this->document->setTitle('Купить ' .$category_info['name'] . ' в Москве, Санкт-Петербурге по низким ценам');]]></add> </operation> </file> И поменять текст на то что нужно 3. Без СеоПака В файле: сatalog/controller/product/ - catagory.php Поменять: Код: $this->document->setTitle($category_info['name']); На это: Код: $this->document->setTitle('Купить ' .$category_info['name'] . ' в Москве, Санкт-Петербурге по низким ценам'); --------------------------------------------------- В чем была ошибка:
Если я верно вас понял, то у вас действительно ошибка . В файле catagory.php вам необходимо product_info поменять на category_info. Например, откройте файл категори пхп до ваших исправлений. Потом это поменять Код: $this->document->setTitle($category_info['name']); на это: Код: $this->document->setTitle('Купить ' . $category_info['name'] . ' в Москве, Санкт-Петербурге по низким ценам'); Шаблончик придумайте для категории конечно же другой. --- Добавлено, 5 ноя 2013 --- Ага... именно это я и пытался Вам рассказать в этом посте
Это было для тайтла. Для мета тега дескрипшин все еще проще. Тут СеоПакПро уже не участвую. В этом же файле: сatalog/controller/product/ - catagory.php Меняем это: Код: $this->document->setDescription($category_info['meta_description']); На это: Код: $this->document->setDescription('Купить '.$category_info['name'].' тут Ваш текст'); А как можно добавить к этому тексту переменную ЦЕНА. Как она в опенкарте задается? К примеру Купить Ноутбуки в Москве от (тут минимальная цена категории)
Еще интересно - в SeoPackPRO есть возможность для Meta Description подхватывать первое предложения из описания, а для Custom Title это предложение подхватить нельзя. Можно ли как исправить?
Думаю, да, надо посмотреть как как это выводится для дескрипшина в xml файле (в каком точно не знаю), и так же подправить для категории.
данное решение очень актуально, но с точки зрения SEO это не очень хорошо. Поисковики не любят много повторений, а при таком раскладе порядка 50% информации всех тайтлов, а может и больше, будут постоянно повторятся. В идеале необходимо добавить поле к категориям и товарам, там где есть дескрипшин и кейвордс.
Очевидно, имелись в виду не полные дубли тайтлов, а повторение большинства слов в них. В таком случае можно написать скрипт, который будет брать тайтл из заранее приготовленного списка шаблонов, чтобы уменьшить повторяемость.
не совсем правильно наверно выразился. Не дубли, а уникальность. Тоесть во всех тайтлах будут обязательно повторяться одни и те же словосочетания.
А можно ли задать определенный тайтл или же описание определенной родительской категории и категориям которые присвоены к ней через Ваш способ? То есть берем руками ид категории из бд, дальше я пишу код: PHP: if ($category_id = 500) { if ($category_info['seo_title']) { $this->document->setTitle('Купить ' .$category_info['name'] . ' в Москве, Санкт-Петербурге по низким ценам'); } } Правильно ли я написал код, и вообще, куда его правильнее вставлять?
Про базу данных я не понял идеи, извините. А вставлять код в catalog/controller/product/category.php - если для тайтл для категории, а если для товара, то в catalog/controller/product/product.php
Ну смотрите, мне нужно сделать тайл для определенной категории (в этой категории есть много подкатегорий) А про базу: просто стоит я вытаскиваю ид категории через бд.
Ребята, может мой совет не совсем относится к автогенерации тайтлов, но я пользуюсь модулем Seo Ultimate. Он вроде самостоятельно не генерирует, но позволяет к каждой товарной позиции и категории создать свой уникальный тайтл. Я бы рекомендовал вам его установить. С точки зрения сео - необходимый элемент.