Loading...

Blog

Przyspieszenie działania Joomla 2.5.x Przyspieszenie działania Joomla 2.5.x
03 Maj

Przyspieszenie działania Joomla 2.5.x

Przez 
(0 głosów)

Wiele osób pewnie zetknęło się z problemem szybkości działania frontu przy stronie działającej w CMS Joomla! Pokażę Wam, jak w prosty sposób przyspieszyć działanie tego jakże popularnego CMS-a. Artykuł dotyczy Joomla! w wersji 2.5.x

Jak zwiększyć szybkość działania strony w Joomla! używając pamięci cache przeglądarki?

Joomla! oferuje na swoim zapleczu włączenie obsługi pamięci cache, co powinno przełożyć się na szybsze działanie strony. Jednakże w rzeczywistości funkcjonalność ta nie działa do końca tak jak powinna. Znalazłem natomiast jedną problematyczną rzecz, która istotnie wpływa na szybkość działania strony, mianowicie system przypisuje wartość no-cache dla parametru nagłówka Cache-Control. Trochę pogrzebałem i znalazłem sposób w jaki można pozbyć się tego niewygodnego wpisu z pliku.

Który plik edytować aby usunąć wpis no-cache?

Na początek należy odnaleźć plik, w którym ten wpis się znajduje. Aby zaoszczędzić Twój czas podpowiem, że znajdziesz go w katalogu /libraries/joomla/environment/ a plik nazywa się response.php. Otwórz plik dowolnym edytorem (ja osobiście polecam Notepad++) i znajdź następujący fragment kodu:

if (self::allowCache() === false)
{
self::setHeader('Cache-Control', 'no-cache', false);
// HTTP 1.0
self::setHeader('Pragma', 'no-cache');
}

i cofamy z użytkowania linie odpowiadające za no-cache poprzez ich komentowanie

if (self::allowCache() === false)
{
// self::setHeader('Cache-Control', 'no-cache', false);
// HTTP 1.0
// self::setHeader('Pragma', 'no-cache');
}

Powyższe działanie spowoduje wyłączenie z nagłówka Cache-Control opcji no-cache i tym samym umożliwi kontrolowanie korzystania z pamięci cache przez przeglądarkę poprzez plik .htaccess.

Włączenie cache w Joomla oraz włączenie Joomla! SEF

W kolejnym kroku należy przejść w menu zaplecza do sekcji System->Konfiguracja Globalna i przestawić wartości w bloku Optymalizacja dla wyszukiwarek zgodnie z wartościami pokazanymi na poniższym screenie.

Musisz włączyć następujące elementy:

  • Proste adresy,
  • Zastosuj przepisywanie URL,
  • Adresy z przyrostkiem
UWAGA
Pamiętaj, żeby zmienić nazwę pliku htaccess.txt na .htaccess, gdyż wcześniej wprowadzone zmiany nie będą działały, a część Twojej strony może zacząć wadliwie działać.

Następnym krokiem jest kliknięcie (w dalszym ciągu pozostając w Konfiguracji Globalnej) w zakładkę System. W nim należy włączyć dla parametru Buforowanie wartość "Włącz - poziom konserwatywny", tak jak widać to na obrazku poniżej.

Na sam koniec naciśnij przycisk Zapisz, aby zachować ustawienia.

Ustawienie pamięci podręcznej przeglądarki dla Joomla z wykorzystaniem pliku .htaccess

Reguły znajdujące się w kodzie poniżej pozwalają na kontrolowanie czasu wygaśnięcia ważności ciasteczek oraz sterowanie parametrem Cache-Control. Kod ten należ wstawić do pliku .htaccess znajdującego się w folderze głównym każdej instalacji Joomla!.

<ifmodule mod_mime.c>
  <filesmatch "\.html\.gz$">
    ForceType text/html
    FileETag None
  </filesmatch>
  AddEncoding gzip .gz
  AddType text/html .gz
</ifmodule>
<ifmodule mod_deflate.c>
  SetEnvIfNoCase Request_URI \.gz$ no-gzip
</ifmodule>
<ifmodule mod_headers.c>
  Header set Vary "Accept-Encoding, Cookie"
  Header set Cache-Control 'max-age=3600, must-revalidate'
</ifmodule>
<ifmodule mod_expires.c>
  ExpiresActive On
  ExpiresByType text/html A3600
</ifmodule>

Zapisz plik .htaccess i odśwież stronę - efekt powinien być widoczny natychmiastowo. W powyższym przykładzie najistotniejsze są dwie wartości - czas wygaśnięcia ciasteczka (ExpiresByTyoe) oraz max-age. W moim przykładzie są one ustawione na 60 sekund, ale możesz je zmienić na dowolnie pasującą Ci wartość.

I to tyle - ciesz się działającą szybciej stroną w Joomla!.

Czytany 3787 razy Ostatnio zmieniany wtorek, 26 czerwiec 2018 12:56
Morphic

Webmaster, programista i core programmer z wieloletnim doświadczeniem. Z Joomla! związany od czasów Mambo.

Strona: www.morphic.pl