Идею для написания этой небольшой статьи мне подал читатель моего блога по имени Евгений. Он ознакомился со статьей «Добавляем meta-теги на странице со списком элементов по тегам в компоненте K2» и вспомнил одну проблему, которая встречается с тегами в K2 для Joomla - это их индексация по умолчанию. Например, на сайте управление контентом организовано с помощью компонента K2. В нем есть раздел «Ремонт» и тег «Ремонт». В процессе индексации сайта поисковиками, например, Google, он воспринимает одну из страниц как дубляж другой страницы. В итоге из-за этого падает общая индексация сайта.
«Попытки запретить индексацию всех страниц со списками статей по тегам в robots.txt не дал результатов. Поверьте мне на слово, я борюсь с этим уже почти год. И тут меня осенило. Я вспомнил, как с помощью вашей статьи добавлял meta-теги: description и keywords и что я таким же способом могу добавить meta-тег robots, чтобы поставить там noindex, nofollow» — пишет Евгений.
Что же нужно сделать, чтобы запретить индексацию страниц со списками статей по тегам? Все очень просто:
- Добавляем в базу данных поле для хранения значений мета-тега robots:
SQL
- В языковые файлы административной и публичной части (/administrator/language/overrides/ru-RU.override.ini и /language/overrides/ru-RU.override.ini) добавляем значение мета-тега по-умолчанию:
INI
- Изменяем шаблон компонента K2 Joomla административной части (/administrator/components/com_k2/views/tags/tmpl/default.php) следующим образом:
PHP
- В другом шаблоне админки (/administrator/components/com_k2/views/tag/tmpl/default.php) добавляем следующий код:
PHP
- В самом начале кода класса (файл - /administrator/components/com_k2/tables/k2tag.php) добавляем новое свойство:
PHP
- В файл /components/com_k2/views/itemlist/view.html.php добавляем:
PHP
PHP
Если все сделано правильно, то на странице в публичной части списка статей по тегам в компоненте K2 Joomla появится мета-тег robots.
Спасибо за внимание! :)