Turbo sztuczki dla Joomla!

Facebooktwittergoogle_plusredditpinterestlinkedintumblrmailFacebooktwittergoogle_plusredditpinterestlinkedintumblrmail

turbo-joomlaOptymalizacja Joomla! – każdy kto ma serwis z prawdziwego zdarzenia, wie co to znaczy 1-2-3-5-10 tys. wejść dziennie. Chciałoby się powiedzieć tłum – masakra, ale jakże miła, hihi. Dziś na trafiłem na wpis dotyczący 2 prostych sztuczek do przyspieszenia Joomla!.

Sztuczka 1 – Cachowanie modułów:
Nie wszystkie  dodatkowe doinstalowane przez ciebie moduły dla Joomla! 1.5 używają buforowania (cachowania). Oznacza to, że w najgorszym wypadku niektóre moduły mogą tworzyć zbyt wiele zapytań SQL. Sposób, aby zmniejszyć obciążenia to uaktywnić moduł buforowania. Sprawdź w panelu administratora ustawienia modułów (te które doinstalowałeś) czy można w nich włączyć / wyłączyć pamięć podręczną. Jeśli nie, wtedy przyda ci się owa porada:
Dla każdego modułu bez opcji pamięci podręcznej, otwórz plik XML w folderze : /modules /mod_nazwa-modulu/mod_nazwa-modulu.xml i dodaj między <params> .. </params> następujący kod:

<param name="cache" type="radio" default="0" label="Enable Cache"
       description="Select whether to cache the content of this module">
 <option value="0">No</option>
 <option value="1">Yes</option>
</param>

Zauważysz, że  <params> .. </ params> nie istnieją, wystarczy dodać rozbudowaną wersję jak poniżej:

<params>
 <param name="cache" type="radio" default="0" label="Enable Cache"
       description="Select whether to cache the content of this module">
  <option value="0">No</option>
  <option value="1">Yes</option>
 </param>
</params>

Teraz napisz pliki .xml na serwerze i wejdź do opcji konfiguracyjnych i uaktywnij cachowanie.

Sztuczka 2 – biblioteki JavaScript library mootols.js z serwera google

Nikt nie ma takich serwerów jak google, więc czemu by skorzystać z % tej mocy. Na serwerze poszukaj pliku /libraries/joomla/html/html/behavior.php – skopiuj go na dysk – odnajdź fragment i zmodyfikuj według schematu.

if ($debug || $konkcheck) {
  JHTML::script('mootools-uncompressed.js', 'media/system/js/', false);
} else {
 //JHTML::script('mootools.js', 'media/system/js/', false); // old Joomla code
 JHTML::script('mootools-yui-compressed.js', 'http://ajax.googleapis.com/ajax/libs/mootools/1.11/', false);
}

Następnie zapisz zmiany i wyślij na serwer, powinno zadziałać w 99,9%. Różnice odczujesz już na drugi dzień przeglądając obciążenie serwera. Ja testuje od już od 4 godzin i wygląda nieźle.

Źródło – oryginalny tekst autorstwa Cedric Walter – znajdziesz na stronie : www.waltercedric.com

p.s. Chyba nie muszę przypominać, iż zmiany w kodzie robicie na własne ryzyko, a kopia (pełna) jest wielce zalecana.

  • Damian

    Co do drugiej sztuczki istnieje dodatek o nazwie
    Google Ajax library (http://extensions.joomla.org/extensions/core-enhancements/scripts/6981), który umożliwia ściąganie Mootools i JQuery z serwera Google. Działa jednak tylko w stosunku do bazowej instalacji, jeżeli jakiś moduł lub komponent używa „swojego” skryptu, trzeba dokonać zmiany w jego kodzie jak w tutejszym przykładzie.

  • Drapeta

    Witaj! Ten mootools.js nie jest domyślnie instalowany z Joomla? Za co odpowiada ten skrypt? Wiesz… wg Web Page Speed Report ten skrypt ma u mnie największy rozmiar… Proponujesz go zastąpić zmodyfikowanym – dobrze rozumiem? DZIĘKI 🙂 Pozdrawiam

  • mootools.js znajdziesz w swojej standardowej paczce joomla, jeśli nie wiesz to znajdziesz tam nawet dwie wersje bowiem bodajże od wersji 1.5.20 dodano nowszą bibliotekę.

  • sebastian

    Artykuł chyba się troszeczkę zdeaktualizował, obecnie mamy Joomlę 1.7 i tam drugi przykład biblioteki JavaScript library mootols.js z serwera google już chyba nie zadziała, ja szukałem tego rozwiązania i nie mogłem znaleźć.

  • rado85

    Witam,
    ten zabieg z .xml nie działa dla joomla 2.5. wie ktoś jak uzyskać ten efekt na joomli 2.5 ?
    pozdrawiam