SEO описание (title) в ссылке в модуле меню Joomla |
| Автор Alex Brunov | |
| 15.12.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>
Готово…
|
|
| Последнее обновление ( 20.12.2007 г. ) |


