Quick tabs Drupal: SEO проблемы и решение

Quicktabs - один из самых популярных модулей вкладок (табов) для CMS Drupal? но у них есть проблема - все вкладки имеют свой URL вида:

/somepage.html?qt-product_tabs=1#qt-product_tabs

Проблем для SEO в таком выводе урла две:

  1. Если сеошник не закроет ?qt-product_tabs в robots.txt, или не проставит canonical на основную страницу - это наделает дублей страниц, и ровно столько, сколько вкладок табов есть на ней
  2. Даже если сеошник внимательный и табы закрыл в файле robots.txt и поставил canonical, они по прежнему расходуют "краулинговый бюджет " поисковых ботов чем теоретически могут снижать скорость и эффективность обхода сайта этими ботами

Решение - патч

Оригинальное обсуждение проблемы и патч вы найдете тут. Но предлагаемый ими патч хоть и избавляет от перечисленых проблем, но делает все табы ссылками на текущую страницу, а ссылки страницы на саму себя тоже как бы не правильно. Я его чуточку переделал, и предлагаю вам как по мне оптимальное решение:

diff --git a/plugins/QuickQuicktabs.inc b/plugins/QuickQuicktabs.inc
index 94fa407..77751ce 100644
--- a/plugins/QuickQuicktabs.inc
+++ b/plugins/QuickQuicktabs.inc
@@ -180,7 +180,8 @@ class QuickQuicktabs extends QuickRenderer {
 
     // Need to construct the correct querystring for the tab links.
     $query = drupal_get_query_parameters(NULL, array("qt-$qt_name", 'q', 'page'));
-    $query["qt-{$qt_name}"] = $tabkey;
+    //commenting out this line no remove non SEO friendly url hash. It should be a better solution eh
+    //$query["qt-{$qt_name}"] = $tabkey;
 
     $link_options = array(
       'attributes' => array(
@@ -188,7 +189,8 @@ class QuickQuicktabs extends QuickRenderer {
         'class' => $classes,
       ),
       'query' => $query,
-      'fragment' => 'qt-' . $qt_name,
+      'fragment' => $qt_name . $tabkey,
       'html' => isset($settings['html']) ? $settings['html'] : FALSE,
     );
     return $link_options;

В итоге мы избавляемся от переменных в табах, и получаем чистые и аккуратные вкладки вида : /somepage.html#tabs1.

# - не воспринимается поисковыми ботами как адрес, а воспринимается как якорь, который не будет индексироваться создавая при этом дубли. 

Average: 8.7 (3 votes)