Запуская сайт на CMS Joomla 3 столкнулся с проблемой отсутствия индексации статей. Поисковики Яндекс и Google индексировали только категории. Связано это было с тем, что версия Joomla 3.0.3 и ранее имеет баг и проставляется тег rel=»canonical» на категории, а статьи таким образом они видят как дублированный материал и отказываются (Joomla их сама просит) принимать их в индекс.

Но есть способ безболезненно решить эту проблему до того, как она будет исправлена разработчиками Joomla. Итак:

1. Заходим в корень сайта на хостинге через FTP-менеджер (мой выбор Filezilla) по адресу: /plugins/system/sef и открываем с помощью текстового редактора (я использую Notepad + для MS Windows или TextWrangler для Mac OS) файл sef.php

2. Примерно в 51 строке видим часть кода: $doc->addHeadLink($link, ‘canonical’);

3. Комментирует эту часть с помощью /** — перед кодом и */ — после. Результат должен быть такой: /** $doc->addHeadLink($link, ‘canonical’);*/

4. Очищаем весь КЭШ в Панеле администратора.

5. Если Вы уже добавили статьи до удаления rel=»canonical», рекомендуется скормить их поисковикам для ускорения индексации.

За одно можно скрыть и версию Joomla 3 в 112 строке файла по адресу /libraries/joomla/document/html/renderer/head.php , комментируем: /** $buffer .= $tab . ‘<meta name=»generator» content=»‘ . htmlspecialchars($generator) . ‘» />’ . $lnEnd;*/

Полезным представляется также ограничение вывода количества материалов в модуле «Связанные материалы» (mod_related_items). Для этого находим файл helper.php по адресу /modules/mod_related_items и в примерно 106 строке (Joomla 3.1) вместо

->where(‘(a.publish_down = ‘ . $db->quote($nullDate) . ‘ OR a.publish_down >= ‘ . $db->quote($now) . ‘)’);

вставляем

->where(‘(a.publish_down = ‘ . $db->quote($nullDate) . ‘ OR a.publish_down >= ‘ . $db->quote($now) . ‘)LIMIT 5′);

По материалам http://vise.im/