Ноя
25

OpenSEF для JOOMLA – сделай свой сайт доступным пользователю!

Сегодня поговорим о компоненте для 1.0.x Как следует из названия, он призван сделать ссылки на сайт приятными на глаз (SEF=ЧПУ). Решается эта задача очень неплохо.
Вы можете прописывать ссылки сами, задавать произвольные имя и связывать их со ссылками материалов и компонентов Вашего сайта. Можно этот процесс автоматизировать, система работает стабильно и с киррилическими символами тоже.
Огромный плюс: создание карты сайта в XML-формате (что с ней дальше делать, я расскажу позже), генерация meta-тегов, пожбор описаний и много-много всего прочего!

Однако за всё необходимо платить. Компонент OpenSEF немного подгружает сервер. Объективно сайт начинает грузится медленнее, а на нестабильных хостинг-площадках время загрузки может увеличится в 10 раз!

Не всё так страшно, ибо есть лекарство! Качайте дистрибутив с подправленными вызовами данных и лишней загрузки не будет!

А для тех, кто уже установил OpenSEF раньше, приведу схему для исправления:

открываем файл components/com_sef/sef.php

Ищем

1
2
3
4
5
6
7
8
9
10
11
if ($sefSite->id == null) $sefSite->id = -1;
$query = "SELECT * FROM #__opensef_sef WHERE published = '1'" .
"\nAND valid = '1'" .
"\nAND (direction IS NULL OR direction = '' OR direction = 'o')" .
"\nAND (site_id IS NULL " .
($sefSite->id ? ' OR site_id = ' . $sefSite->id : '') . ')' .
"\nORDER BY site_id DESC, published DESC, valid DESC, LENGTH(direction) DESC";
$database->setQuery( $query );
if ($database->loadResult()) {
$opensef_aliases = $database->loadObjectList();
}<!--formatted-->

и заменяем на это:

1
2
3
4
5
6
7
8
9
10
11
12
if ($sefSite-&gt;id == null) $sefSite-&gt;id = -1;
$query = "SELECT * FROM #__opensef_sef WHERE published = '1'" .
"\nAND valid = '1'" .
"\nAND (direction IS NULL OR direction = '' OR direction = 'o')" .
"\nAND (site_id IS NULL " .
($sefSite-&gt;id ? ' OR site_id = ' . $sefSite-&gt;id : '') . ')' .
"\nAND (external='{$_SERVER['REQUEST_URI']}'" .
"\nORDER BY site_id DESC, published DESC, valid DESC, LENGTH(direction) DESC";
$database-&gt;setQuery( $query );
if ($database-&gt;loadResult()) {
$opensef_aliases = $database-&gt;loadObjectList();
}<!--formatted-->

Скачать подкорректированный инсталлятор компонента OpenSEF можно здесь. Удачи!

Прокомментировать

Я ЧЕЛОВЕК!!!!.

В Вашем браузере отключена поддержка JavaScript! Для корректной работы Вам необходимо включить поддержку JavaScript и обновить данную страницу.
 

Рубрики

Облако меток

В прямом эфире