Если у вас возникли вопросы, получить бесплатную консультацию можно по телефону: (+998 90) 983-33-69 (Viber, Telegram)

Internet Solution Group – Разработка Интернет проектов под ключ
Звоните: (+998 90) 983-33-69 (+998 90) 983-33-69 (Viber, Telegram)
Надежный хостинг на сервере для наших клиентов

SEO хак для меню Joomla (добавляем title для ссылок)

SEO хак для меню Joomla (добавляем title для ссылок)

По умолчанию в Joomla нет возможности прописывать атрибуты title для пунктов меню, но это легко исправить используя данную инструкцию.

Добавляем в меню (админки) поле для ввода title ссылки

Путь к файлу редактирования: administrator/components/com_menus/views/item/tmpl/form.php

Ищем часть кода:

<tr>
<td class="key" align="right">
<?php echo JText::_( 'Alias' ); ?>:
</td>
<td>
<input class="inputbox" type="text" name="alias" size="50" maxlength="255" value="<?php echo $this->item->alias; ?>" />
</td>
</tr>

И добавляем сразу после него следующий код:

<!-- seo title ссылки меню начало -->
<tr>
<td class="key" align="right">
<?php echo JText::_( 'Linktitle' ); ?>:
</td>
<td>
<input class="inputbox" type="text" name="linktitle" size="50" maxlength="255" value="<?php echo $this->item->linktitle; ?>" />
</td>
</tr>
<!-- seo title ссылки меню конец -->

Добавление языковой переменной

Путь к файлу редактирования: administrator/language/ru-RU/ru-RU.com_menus.ini

После строки:

ALIAS=Псевдоним

Добавляем:

LINKTITLE=Title ссылки

Добавление нового поля в базу MySql

Заходим на хостинг где находится сайт, в раздел phpMyAdmin (на всякий случай делаем копию базы данных), и выполняем запрос:

Добавление нового поля в базу MySql для title ссылки в меню
ALTER TABLE `jos_menu` ADD `linktitle` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ;

Внимание! Если вы меняли префикс меню на свой, то изменяем jos_menu на свой префикс_menu.

Далее изменяем файл по адресу: \libraries\joomla\database\table\menu.php

После строки кода:

class JTableMenu extends JTable
{

Добавляем:

var $linktitle = null;

Выводим title для ссылки меню в лицевой части сайта

Путь к файлу редактирования: modules/mod_mainmenu/helper.php

Ищем часть кода:

default:
case 0:
// _top
$data = '<a href="'.$tmp->url.'">'.$image.$tmp->name.'</a>';
break;
case 1:
// _blank
$data = '<a href="'.$tmp->url.'" target="_blank">'.$image.$tmp->name.'</a>';
break;
case 2:
// window.open
$attribs = 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,'.$this->_params->get('window_open');

// hrm...this is a bit dickey
$link = str_replace('index.php', 'index2.php', $tmp->url);
$data = '<a href="'.$link.'" onclick="window.open(this.href,\'targetWindow\',\''.$attribs.'\');return false;">'.$image.$tmp->name.'</a>';
break;

И меняем ее на этот:

default:
case 0:
// _top
if ($item->linktitle != null)
{
$data = '<a title="'.$item->linktitle.'" href="'.$tmp->url.'">'.$image.$tmp->name.'</a>';
} else {
$data = '<a title="'.$item->name.'" href="'.$tmp->url.'">'.$image.$tmp->name.'</a>';
}
break;
case 1:
// _blank
if ($item->linktitle != null)
{
$data = '<a title="'.$item->linktitle.'" href="'.$tmp->url.'" target="_blank">'.$image.$tmp->name.'</a>';
} else {
$data = '<a title="'.$item->name.'" href="'.$tmp->url.'" target="_blank">'.$image.$tmp->name.'</a>';
}
break;
case 2:
// window.open
$attribs = 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,'.$this->_params->get('window_open');

// hrm...this is a bit dickey
$link = str_replace('index.php', 'index2.php', $tmp->url);
if ($item->linktitle != null)
{
$data = '<a title="'.$item->linktitle.'" href="'.$link.'" onclick="window.open(this.href,\'targetWindow\',\''.$attribs.'\');return false;">'.$image.$tmp->name.'</a>';
} else {
$data = '<a title="'.$item->name.'" href="'.$link.'" onclick="window.open(this.href,\'targetWindow\',\''.$attribs.'\');return false;">'.$image.$tmp->name.'</a>';
}
break;

И последнее изменение :)

Путь к файлу редактирования: modules/mod_mainmenu/legacy.php

Ищем часть кода:

$txt = '<a href="' . $mitem->url . '" class="' . $menuclass . '" ' . $id . '>' . $mitem->name . '</a>';

И меняем его на:

if ($mitem->linktitle != null)
{
$txt = '<a title="' . $mitem->linktitle . '" href="' . $mitem->url . '" class="' . $menuclass . '" ' . $id . '>' . $mitem->name . '</a>';
} else {
$txt = '<a title="' . $mitem->name . '" href="' . $mitem->url . '" class="' . $menuclass . '" ' . $id . '>' . $mitem->name . '</a>';
}

Все готово! Автоматически title для ссылок меню будет браться от названия пункта меню, но теперь есть возможность через админку сайта в разделе меню прописать для каждого пункта индивидуально свои title.

Рекомендации по разработке и продвижению сайта

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



Оптимизация структуры сайта для улучшения индексации

Мастер класс - как на примере установить 301 редирект, создать карту сайта, включить ЧПУ для сайта, создать иконку - favicon.



Раскрутка сайта по белым трастовым каталогам

Позволит вам увеличить общее количество внешних ссылок, что повысит его позиции в поисковых системах.







Клиенты компании WEBGROUP

  • Телефон: (+998 90) 983-33-69
  • Skype: Slava.Glindeman
  • E-mail: info@webgroupco.com

Internet Solution Group

Copyright © 2010-2017 Internet Solution Group. Все права защищены.
Разработка эксклюзивных сайтов и поисковое продвижение, прямой маркетинг и реклама в социальных сетях.