SEO title для разделов и записей каталога

+28
2.36K
Дополнение темы "SEO для разделов каталога".
Хак добавляет возможность вручную менять заголовки страниц при отображении разделов и записей каталогов.
Специально для Potapych, а также при его моральной и материальной поддержке. Выкладываю в блог с его разрешения.

Хак сделан стандартным для Инстанта способом (по аналогии со статьями). То есть, используются те же механизмы и названия полей. В админке на вкладке "SEO" добавлено поле "Заголовок страницы". Если эти поля на вкладке "SEO" не заполнены, то, как обычно, для заголовка страницы берутся названия разделов или записей.

Выполняем два SQL-запроса в phpmyadmin (при необходимости измените префикс cms_ в именах таблиц на ваш):
  1. ALTER TABLE `cms_uc_cats` ADD `pagetitle` VARCHAR(250) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '';
  2. ALTER TABLE `cms_uc_items` ADD `pagetitle` VARCHAR(250) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '';
В архиве патч для версии 1.10.1.
Для чистой CMS просто распакуйте файлы из архива с заменой. Файл (uc-seo-title_readme.txt) после распаковки можно удалить или не копировать вообще.

Или правим три файла вручную:
\admin\components\catalog\backend.php
\components\catalog\model.php
\components\catalog\frontend.php
Все изменения и последовательность действий для версии 1.10.1 описаны в файле uc-seo-title_readme.txt в архиве. Нумерация строк дана для файлов из темы "SEO для разделов каталога", в которые уже были внесены изменения. Для чистой установки просто возьмите готовые файлы из архива внизу поста.
Вносить изменения в файлы нужно именно в той последовательности, в которой я написал. Иначе при добавлении строк вначале файла нумерация более дальних сдвинется. Табуляцию для красоты сделайте сами 😊

Важно! Если вы уже вносили изменения в какой-то из файлов, которые правит фикс, то НЕ накатывайте файлы из архива, а внесите изменения руками в подходящие места.

Если в эти три файла вы вносили изменения только из хака "SEO для разделов каталога", то достаточно будет выполнить SQL-запросы и заменить существующие файлы новыми из архива.
В любом случае, перед изменениями СДЕЛАЙТЕ РЕЗЕРВНЫЕ КОПИИ ваших версий файлов.

Выполнение двух запросов к базе данных обязательно во всех вариантах.

Скачать патч можно тут uc-seo-title.zip
В архиве уже сделаны хаки и мета-тегов, и заголовков.
+1
Dorimen Dorimen 8 лет назад #
Для 1.9 будет?
0
WebMan WebMan 8 лет назад #
Для 1.9 я делать не планирую. Вы можете сделать сами по тому же принципу, все необходимые действия для 1.10 подробно описаны в файле uc-seo-title_readme.txt в архиве. Для 1.9, вероятнее всего, делается аналогично.
+2
universe universe 8 лет назад #
это давно должно быть в инстанте...
0
lezginka.ru lezginka.ru 8 лет назад #
+
0
maia maia 8 лет назад #
Хочу попробовать для 1.9 это сделать, но вот эта часть про утф8 в запросе не понравилась... там же 1251?
ALTER TABLE `cms_uc_cats` ADD `pagetitle` VARCHAR(250) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '';
ALTER TABLE `cms_uc_items` ADD `pagetitle` VARCHAR(250) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '';
Как правильно сделать запросы для 1.9?
0
WebMan WebMan 8 лет назад #
С версией 1.9 не работал и проверить нет возможности. Попробуйте просто убрать определение кодировки из запросов, должно сработать.
Код PHP:
  1. ALTER TABLE `cms_uc_cats` ADD `pagetitle` VARCHAR(250) NOT NULL DEFAULT '';
  2. ALTER TABLE `cms_uc_items` ADD `pagetitle` VARCHAR(250) NOT NULL DEFAULT '';
0
maia maia 8 лет назад #
Спасибо, получилось. Для тех, кто захочет повторить - я делала только эту часть, только про титлы, без предыдущей, поэтому не совсем по инструкции, выборочно. Но на 1.9 все заработало.
0
irbis irbis 8 лет назад #
Спасибо за хак.
Небольшая поправка от меня:
не указано в архиве в файле uc-seo-title_readme.txt что необходимо также добавить в файле \admin\components\catalog\backend.php
перед:
Код PHP:
  1. {tab=Доступ}
добавить:
Код PHP:
  1. {tab=SEO}
  2. <div style="margin-top:5px">
  3. <strong>Заголовок страницы</strong><br/>
  4. <span class="hinttext">Если не указан, будет совпадать с названием</span>
  5. </div>
  6. <div>
  7. <input name="pagetitle" type="text" id="pagetitle" style="width:99%" value="<?php if (isset($mod['pagetitle'])) { echo htmlspecialchars($mod['pagetitle']); } ?>" />
  8. </div>
0
WebMan WebMan 8 лет назад #
Пожалуйста, irbis!
В самом начале в файле uc-seo-title_readme.txt, там, где начинается описание правок хака, идут строки:
Код PHP:
  1. Файл \admin\components\catalog\backend.php
  2. В строки 1388 и 1065 после строки с "{tab=SEO}" вставляем:
  3. ...
и далее идут указанные Вами строки - это не оно? Если что-то пропустил, опишите это точнее в личку, я переделаю архив.
0
irbis irbis 8 лет назад #
Да, не указал номера строк. У вас в файле указано вставка этого кода для записей каталога. Также данный код нужно внести в строки, которые относятся к разделам каталога. Я имел в виду именно добавление кода для разделов каталога, т.е. данный код также следует внести в 2-х местах.
0
irbis irbis 8 лет назад #
И еще, не подскажите хаки для добавления title в разделы статей и фотоальбомы для 1.10+?
0
irbis irbis 8 лет назад #
Сорри... Совсем не внимательно читаю... Все указано у вас верно. Даже со второго раза не отобразил, что речь идет о разных строках файла. (стыдно... покраснел)
0
AlexTWinner AlexTWinner 8 лет назад #
Приветсвую автора! Был бы очень благодарен, если бы вы переделали этот хак по ICMS v 1.10.3
пробовал сам подогнать как то но файлы слишком разные, по карйне мере этот \admin\components\catalog\backend.php
0
WebMan WebMan 8 лет назад #
Здравствуйте, Potapych! К сожалению, у меня сейчас мало свободного времени. Попробуйте переделать самостоятельно. Или попросите уважаемого oll - он сейчас выложил в своём блоге аналогичную серию хаков для других компонентов, может быть и тут Вам поможет.
0
Капитан Капитан 8 лет назад #
Установил на 1.10.1 со многочисленными переделками - все работает как исправные часы! Автору большой плюс!

Еще от автора

Хуки-хухуки: Исключаем неактивных пользователей из списков
Как иногда начинают свой монолог неопытные стендаперы: «У всех в жизни было такое …
«Расширенная отладка» для InstantCMS 2.14.1 (v.14.1.2) – большое обновление для разработчиков
Новые возможности и удобства, облегчающие разработчикам отладку компонентов и шаблонов.
Использование расширенной отладки. Часть 11. Анализ ошибок 403/404 и редиректов
Одной из неудобных задач при отладке для меня является поиск причины ошибки 403/404.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.