Меню Содержимое
Home page arrow SEO News arrow SEO описание (title) в ссылке в модуле меню Joomla

Login





Lost Password?
No account yet? Register
Rambler's Top100
Rambler's Top100

Joomla SEO optimization, components, modules, hacks

SEO описание (title) в ссылке в модуле меню Joomla

Written by Alex Brunov   
Суббота, 15 Декабрь 2007

Еще один рывок в улучшении оптимизации – спасибо всем, кто мне помог сделать этот хак, который позволяет в меню вписывать значение параметра ссылки - title. Это важный элемент SEO сайта, которого не хватало в движке Joomla и который впервые опубликован на этом сайте! Раньше использовались хаки которые просто вписывают в титл ссылки название категорий или самой ссылки автоматически, что не особо улучшало положение вещей, разве что ненужных слов типа «Главная», «Контакты», «Новости» в коде страниц становилось больше...

То есть при наведении мышки на ссылку вы увидите то описание этой ссылки, которое сами вписали при создании этой ссылки в административной панели сайта. Пример тут же на сайте в меню слева.

Теперь ссылка может иметь здоровый и SEO оптимизированный вид в коде страницы, например:

<a href=”index.php” class=”mainmenu” title=”Сайт о JoomlaSEO оптимизации”>Главная</a>

Теперь ссылки, которые приходится зачастую сокращать чтобы не портить ими дизайн могут быть полезны для оптимизации страниц.

Этот SEO link title Hack работает со всеми типами ссылок – блог, таблицы, статичное содержание, объект, голосование, контакты, главная страница, компоненты и т.п.

Как сделать самому (на забудте сделать бэкап файлов, которые будете изменять на случай ошибки и отката):
 
Вверху файла – модуля меню modules/mod_mainmenu.php заменить строку
global $Itemid, $mosConfig_live_site, $mainframe;
 
на строку:
global $Itemid, $mosConfig_live_site, $mainframe, $database;
 
Затем ниже заменить:
                        $mitem->name = stripslashes( ampReplace($mitem->name) );
 
                        switch ($mitem->browserNav) {
                                   // различные события
                                   case 1:
                                   // открыть в новом окне
                                   $txt = '<a href="'. $mitem->link .'" target="_blank" class="'. $menuclass .'" '. $id .'>'. $mitem->name .'</a>';
                                   break;
 
                                   case 2:
                                   // открытие во всплывающем окне
                                   $txt = "<a href=\"#\" onclick=\"javascript: window.open('". $mitem->link ."', '', 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=780,height=550'); return false\" class=\"$menuclass\" ". $id .">". $mitem->name ."</a>\n";
                                   break;
 
                                   case 3:
                                   // это не ссылка
                                   $txt = '<span class="'. $menuclass .'" '. $id .'>'. $mitem->name .'</span>';
                                   break;
 
                                   default:
                                   // открытие в текущем окне
                                   $txt = '<a href="'. $mitem->link .'" class="'. $menuclass .'" '. $id .'>'. $mitem->name .'</a>';
                                   break;
                        }
На этот код:
 
// SEO-joomla hack START
$table_menu = "#__menu";
$query_title = "SELECT params" . "\n FROM $table_menu" . "\n WHERE id = $mitem->id";
$database->setQuery( $query_title );
$rows_sel = $database->loadResult();
preg_match("/link_title=(.+)/",$rows_sel,$matches);
if (empty($matches[1])) {
$link_title = htmlspecialchars(stripslashes($mitem->name));
}
else {
$link_title = htmlspecialchars(stripslashes($matches[1]));
}
 
 
                        switch ($mitem->browserNav) {
                                   // различные события
                                   case 1:
                                   // открыть в новом окне
                                   $txt = '<a href="'. $mitem->link .'" target="_blank" class="'. $menuclass .'" '. $id .' title="'. $link_title .'">'. $mitem->name .'</a>';
                                   break;
 
                                   case 2:
                                   // открытие во всплывающем окне
                                   $txt = "<a href=\"#\" onclick=\"javascript: window.open('". $mitem->link ."', '', 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=780,height=550'); return false\" class=\"$menuclass\" ". $id ." title=\"$link_title\">". $mitem->name ."</a>\n";
                                   break;
 
                                   case 3:
                                   // это не ссылка
                                   $txt = '<span class="'. $menuclass .'" '. $id .'>'. $mitem->name .'</span>';
                                   break;
 
                                   default:
                                   // открытие в текущем окне
                                   $txt = '<a href="'. $mitem->link .'" class="'. $menuclass .'" '. $id .' title="'. $link_title .'">'. $mitem->name .'</a>';
                                   break;
                        }
// SEO-joomla hack END
 
После – во всех файлах
/administrator/components/com_menus/***folder***/***.menu.html.php
 
вставить эту дополнительную строчку в таблицу (я это сделал сразу после строки с названием ссылки):
 
           <tr>
                <td align="right"><SPAN
class=editlinktip><!-- Tooltip --><SPAN onmouseover="return overlib('Описание ссылки, которое видно при наведении курсора на нее (параметр ссылки title - улучшает SEO оптимизацию страницы).', CAPTION, 'Описание ссылки', BELOW, RIGHT);" onmouseout="return nd();">Описание ссылки</SPAN></SPAN></td>
<?
global $database;
$query_title = "SELECT params" . "\n FROM #__menu" . "\n WHERE id = $menu->id";
$database->setQuery( $query_title );
$rows_sel = $database->loadResult();
preg_match("/link_title=(.+)/",$rows_sel,$matches);
if (empty($matches[1])) {
$link_title = '';
}
else {
$link_title = $matches[1];
}
?>
 
                <td><textarea class="text_area" name="params[link_title]" cols="30"><? echo $link_title; ?></textarea>
                </td>
            </tr>
 
Готово…
Last Updated ( Четверг, 20 Декабрь 2007 )
 
Реклама сайтов: недвижимость за рубежом
Детекторы валют