Optymalizacja url w Joomla

Jak ważna jest optymalizacja adresów url w każdym serwisie, chyba nie trzeba nikogo przekonywać. W przypadku Joomla 2.5.x oraz 3.x włączenie przepisywania adresów nie do końca będzie satysfakcjonowała osoby zajmujące się SEO. Dzieje się tak ponieważ Joomla do automatycznie dodaje do każdego przyjaznego adresu unikalny identyfikator ID (przykładowy adres strony może wyglądać tak: www.twoja-strona.pl/11-kategoria/24-artykuł.html). Oczywiście zamierzenie twórców systemu było poprawne i miało w założeniu nie dopuszczać do sytuacji, kiedy przy bardzo rozbudowanym serwisie, nie pojawiły się kategorie lub artykuły o identycznym tytule, jak wcześniej dodane.
Oczywiście do tego celu można użyć gotowych wtyczek takich jak JomSef lub Praise URL, jednak wtedy trzeba pamiętać, że mogą wystąpić problemy z „niekompatybilnościami” związanymi z kaprysami i gryzieniem się rozbudowanych komponentów SEO z innymi rozszerzeniami. Ponadto można napotkać kłopoty podczas aktualizacji systemu, ponieważ twórcy danej wtyczki potrzebują trochę czasu na update swojego produktu.

Dlatego do przepisywania prostych adresów warto użyć modułu mod_rewrite, który występuje standardowo w serwerze Apache. Ponadto wykorzystamy wewnę wewnętrzny „router” Joomla! Dzięki temu proste adresy będą działały zawsze, niezależnie od wersji Joomla. Warto dodać, że opisane modyfikacje będą działały dla Joomla w wersjach 1.7.x, 2.5.x i 3.x. Należy przy tym pamiętać, że zmiany wykonuje się na własną odpowiedzialność, dlatego przed wprowadzeniem poprawek należy wcześniej wykonać kopię modyfikowanego pliku (components/com_content/router.php). Unikniemy dzięki temu sytuacji, gdy modyfikacje z jakiegoś powodu nam nie zadziałają, lub spowodują nieprawidłowe działanie systemu, w prosty sposób przywrócimy oryginalny plik.

Zakładamy, że w Joomli jest już włączone Przepisywanie adresów URL, które znajduje się w Konfiguracji oraz został przemianowany plik htacess.txt na .htacess.

W celu pozbycia się identyfikatorów wprowadzamy poprawki w pliku router.php, który znajdziemy w folderze gdzie zainstalowana jest Joomla w ścieżce: components/com_content/router.php

Odszukujemy w pliku formułę:

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

i zmieniamy ją na:

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

Następnie szukamy formuły:

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

którą zmieniamy na:

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

Dodatkowo usuwamy lub wyłączamy formułę:

if (strpos($segments[0], ':') === false) {
$vars['view'] = 'article';
$vars['id'] = (int)$segments[0];
return $vars;
}

Powyższe modyfikacje są wystarczające dla Joomli w wersji 1.7.x i 2.5.x. W przypadku wersji 3.x wyszukujemy jeszcze formułę:

->where($db->quoteName('alias') . ' = ' . $db->quote($db->quote($segment)));

Którą zmieniamy na:

->where($db->quoteName('alias') . ' = ' . $db->quote($segment));

Prawda, że modyfikacje nie są kłopotliwe, a dzięki nim w łatwy sposób zmieniliśmy proste adresy url, na bardziej przyjazne do pozycjonowania.

No Comments

Sorry, the comment form is closed at this time.