Joomla - как убрать id материала

Не буду рассказывать про ARTIO JoomSEF, SH404SEF так как не уважаю подобные компоненты/расширения. Предпочитаю следовать архитектуре Joomla, чего и другим советую.

Изучай архитектуру движка, а не ломайте сайты как тебе привычно.

И так, доставучие seo'шники требуют убрать id из url'а материала типа блог. Проделать подобное можно подправив router.php компонента com_content. В функция build() и parse() находим:

$advanced = $params->get('sef_advanced_link', 0);

и меняем на:

$advanced = $params->get('sef_advanced_link', 1);

Так же в функции parse() находим кусок кода и комментируем его:

Joomla слэш на конце

Joomla не любит слэши на конце, сталкивался с глюками Virtuemart. Но иногда сделать это жизненно необходимо. Конечно можно воспользоваться 301 редиректом .htaccess, но ПС все-равно видит ее без слэша, а перейдя получает 301 редирект. Немножко облегчим задачу роботам )

(j2.5) редактируем includes/router.php в классе JRouterSite находим функцию _buildSefRoute() в ней меняем последнюю строчку

$uri->setPath($route.'/');

(j3.x) редактируем libraries/cms/router/site.php в классе JRouterSite находим функцию buildSefRoute() в ней меняем последнюю строчку

$uri->setPath($route.'/');

Да, этот способ плох тем что после обновления слетит. Но SEO'шники неисправимы, требуют.

Ну и для верности сделать 301 редирект через .htaccess с без слэша на слэшь. Ссылку на статью приводил выше.

ISPManager кэширование expires по умолчанию в nginx

При создании нового хоста ISPmanager не включает expires кэширование статики в блоке location конфигурации nginx. Для включения этой опции необходимо создать шаблон /usr/local/ispmgr/etc/server.templ со следующим содержанием:

location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
       expires 7d;
}

Все.

Настройка кэширования через .htaccess

Оптимизировать/Ускорить загрузку сайта можно с помощью кэширования. Как правило заголовки HTTP настраиваются в хостах Apache и/или Nginx. Cуть в том, что бы сообщить браузеру откуда ему брать те или иные загружаемые данные с сайта или ранее закэшированные браузером. Так же в заголовках мы сообщаем по истечении какого времени обновлять ранее кэшированные данные с сервера. Но часто (на виртуальных) хостингах нет доступа к конфигам Apache или Nginx. Поможет нам в этом .htaccess