вторник, 23 февраля 2016 г.

Комментарии JComments не индексируется поисковиками на Вашем сайте?


Ну что соскучились, уважаемые джумлаводы, по новым небольшим хакам нашей любимой CMS? В данной публикации я расскажу об очень распространенной проблеме сайтов (особенно блогов), где установлена система комментирования (компонент) JComments, а именно той, что комментарии не индексируются поисковыми системами.

Разрешаем индексацию поисковыми системами комментариев на JComments в CMS Joomla

И так начнем. Первое и самое главное, что нужно сказать - это все происходит именно из-за технологии AJAX, так любимая веб-дизайнерами, но так не любимая SEO оптимизаторами. Кстати говоря она отключается, если на Вашем сайте не включено кеширование, хотя считаю, что для Joomla 1.5 это необходимо делать! Поэтому, если у Вас отключен кеш, то комментарии JComments будут индексироваться поисковыми системами. Нам, как я уже сказал Выше, это не подходит! Нужен и кеш и индексация комментариев.
И так начнем. Для моей версии компанента (JComments 2.2.0.2 - за другие не отвечу) хак выглядит так. Первое! Делаем древовидным вид вывода комментариев (Компоненты->Настройки->Вид->Список комментариев->Стиль->Древовидный) - по другому работать не будет. Заходим и открываем файл/components/com_jcomments/jcomments.php на редактирование, перед строчкой
if (!$cacheEnabled || $load_cached_comments === 1) {
вставляем
$load_cached_comments = 1;
сохраняем и вуаля... Все работает!

JComments - комментарии индексируются ПС!

PS. Для особо занудных в данных вопросах, хочу рассказать и о том как закрыть от индексации Яндекс внешний ("левый") код, который генерируется при древовидном стиле. Например на каждый комментарий идет (повторяется) по три ссылки "Ответить | Ответить с цитатой | Цитировать". Для того чтобы заключить их в ноиндекс (noindex) мы открывает файл /components/com_jcomments/tpl/Ваш шаблон/tpl_comment.php. Перед строкой <span class="comments-buttons"> вставляем <noindex>, после закрытия данного "спана" (100-105 строка) </span> вставляем </noindex>, т.е. именно спан comments-buttons заключаем в ноиндекс. Если и этого Вам мало, то можно открыть файл /components/com_jcomments/tpl/Ваш шаблон/tpl_index.php и здесь мы закроем от индексации саму форму добавления комментов (кстати у меня данный файл уже хакнут на многих проектах по различным причинам, например при интеграции в него кода комментировая от Вконтакте) так что Вам нужно заключить в ноидекс примерно вот это
<noindex><?php
// Display comments form (or link to show form)
if (isset($form)) {
echo $form;
}
?>

<?php
// Some magic like dynamic comments list loader (anticache) and auto go to anchor script
$aca = (int) ($this->getVar('comments-gotocomment') == 1);
$acp = (int) ($this->getVar('comments-anticache') == 1);
$acf = (int) (($this->getVar('comments-form-link') == 1) && ($this->getVar('comments-form-locked', 0) == 0));

if ($aca || $acp || $acf) {
?>
<script type="text/javascript">
<!--
jcomments.setAntiCache(<?php echo $aca;?>,<?php echo $acp;?>,<?php echo $acf;?>);
//-->
</script>
<?php
}

?>
</noindex>
Тут внимание!!! Код <div id="comments"><?php echo $comments; ?></div> не должен быть заключен в ноиндекс.

0 коммент.:

Отправить комментарий