PDA

Arată versiune īntreagă : Tutorial Optimizare script si SEO Joomla 1.5.x



aniba
30.12.2010, 11:18
Avand in vedere ca din ce in ce mai multi utilizatori de internet ce decid sa aibe propriul site opteaza pentru Joomla, am sa scriu cateva informatii de baza pentru optimizarea acestui CMS.

Dupa cum cred ca deja stiti pe piata CMS-urilor Open Source la ora actuala bataia pe locul 1 se da intre cele 3 mari CMS-uri ( Joomla , WordPress, Drupal ). Cu toate ca cele 3 au un background puternic cand vine vorba despre plugin-uri si componente dezvoltate de catre comunitate dupa parerea mea Joomla detine locul 1 urmat de WordPress.

Am sa va prezint mai jos cativa pasi importanti ce trebuie urmati folosind Joomla pentru o optimizare corecta a site-ului pentru motoarele de cautare, timpi de incarcare si nu in ultimul rand reducerea masiva a utilizarii serverului pe care ruleaza site-ul tau.

Pasul 1 : Dupa ce am instalat CMS-ul Joomla trebuie sa optam spre un sistem SEF ( Search Engine Friendly ) pentru URL-urile site-ului nou creat. Oferta de componente ce realizeaza acest lucru este diversificata dupa cum se poate observa aici (http://extensions.joomla.org/extensions/site-management/sef) dar eu personal recomand Artio SEF. Dupa ce am instalat aceasta componenta trebuie sa facem setarile corespunzatoare cum ar fi :

a) modul cum este afisat URL-ul
b) numarul de link-uri ce il permiti in cache-ul Artio SEF
c) modul cum vrei ca anumite componente sa fie afisate, si ma refer aici la functia de cautare la care am observat ca foarte multe persoane au probleme in a “traduce” /search/ din URL sau chiar elimina complet. Pentru a realiza acest lucru folosind Artio SEF este nevoie sa va duceti pe Components –> Artio JoomSEF –> Manage extensions –> Search –> Common si aici sa setati in dreptul Show Menu Title yes sau no in functie de dorinta ta. Daca setezi No url-ul generat de o cautare pe site-ul tau este de genul site.ro/cuvant-cautat.html iar daca bifezi Yes si scrii sub aceasta optiune in dreptul Custom Menu Title cuvantul “cautare” url-ul generat este de forma site.ro/cautare/cuvant-cautat.html.

contentseoDesigur dupa aceasta setare mai este nevoie sa facem ceva destul de important pentru SEO si ma refer la titlu si meta-descriere , keywords, lucru ce il putem realiza instaland pluginul acesta (http://extensions.joomla.org/extensions/search-a-indexing/site-search/6671). Dupa ce l-am instalat ne ducem in felul urmator : Extensions –> Plugin Manager –> Search – contentseo si facem setarile precum in imaginea aceasta (http://www1.vortecs.ro/contentseo.jpg) . Desigur pentru o mai buna optimizare a titlului in functie de nisa site-ului nostru putem edita si mai mult, folosind notepad-ul fisierul contentseo.php ce il gasiti la adresa /plugins/search/contentseo.php dupa modelul pe care o sa il scriu mai jos :

$title=”Cautare “. $text.” “; // se refera la prefixul ce il va atasa acest plugin in mod automat cautarilor, in titlul afisat in browser

$keywords=$text; // va prelua cuvintele cautate si va genera automat keyword-uri bazate pe datele introduse

$description=”Cautarea “. $text.” returneaza rezultate despre “. $text; // un exemplu de descriere generata automat in functie de cuvintele cautate de useri ( $text )

Acum este timpul sa trecem la canonicalizarea url-ului, pe intelesul tuturor sa alegem modul cum vrem ca site-ul nostru sa fie indexat de motoarele de cautare, cu sau fara www inaintea numelui de domeniu. Pentru realizarea acestui lucru trebuie sa descarcam un alt plugin gratuit de aici (http://extensions.joomla.org/extensions/site-management/seo-a-metadata/5355) dupa care ne vom urma urmatorii pasi catre acesta in panoul de control al Joomla : Extensions –> Plugin Manager –> System – Canonicalization iar in casuta Correct Host vom scrie numele domeniului asa cum vrem ca acesta sa apara.

Un alt lucru foarte important pentru un site este de asemenea viteza de incarcare a acestuia. Dupa cum multi cred ca au constatat deja Joomla in varianta standard nu este un CMS rapid dar cu siguranta se poate schimba acest lucru.

Speed up pentru functia SEARCH :

Ganditi-va ca oricine gaseste ceva mai repede daca locurile in care trebuie sa caute sunt mai putine. Acelasi lucru se intampla si in cazul Joomla. Pentru a reduce locurile in care acest CMS trebuie sa caute.

Pentru majoritatea site-urilor urmatoarele module sunt activate inutil :

Search – Weblinks
Search – Contacts
Search – Categories
Search – Sections
Search – Newsfeeds

Daca nu aveti “Uncategorized Articles” sau “Archived Articles” le puteti scoate din zona de cautare de asemenea urmand urmatorii pasi :

Extensions–>Plugin Manager–>Search Content

Cand vine vorba de micsorarea timpului de incarcare al unui site lucrurile ce le puteti face sunt nenumarate, trebuie doar sa va folositi un pic imaginatia, cum ar fi activarea sistemului de cache etc. Pentru cei care inca mai au nevoie de cateva idei pentru realizarea acestui lucru, puteti sa instalati spre exemplu, pentru site-urile ce nu au continut ce se schimba zilnic urmatorul plugin, ce face continutul unui site joomla sa fie static, html, reducand astfel la zero utilizarea MySQL si PHP a serverului.

Cel mai important si cu cele mai multe rezultate pozitive, dupa parerea mea, este Content Static – http://extensions.joomla.org/extensions/site-management/site-performance/5104 – care este un plugin GRATUIT ce transforma paginile unui site Joomla in pagini statice, html. Acesta se instaleaza ca orice alt plugin pentru Joomla, singura deosebire este ca avand in vedere ca el va face pagini statice conform structurii site-ului nostru trebuie sa setam un folder pentru cache-ul fisierelor. Acest lucru il vom face editand .htaccess si adaugand urmatoarele linii

RewriteCond PATH/cache/%{REQUEST_URI} -f
RewriteRule (.*) PATH/cache/$1 [L]

Acestea trebuiesc puse la inceputul fisierului .htaccess imediat dupa RewriteEngine On. Astfel vom avea folderul /cache/ care va contine toate fisierele statice generate.

P.S. In cazul paginilor cu continut in permantenta schimbare acest plugin nu este recomandat. Pentru o eventuala modificare a paginii trebuie sterse fisierele generate din folderul /cache/ pentru a permite scrierea unora noi ce corespund modificarilor paginilor.

Un alt sfat, si ultimul, legat de reducerea timpului de incarcare al unui site Joomla este sa incercati o distribuire pe un domeniu/subdomeniu secundar al resurselor. Un mod foarte simplu pentru realizarea acestui lucru in CMS-ul Joomla se poate realiza dupa modelul de mai jos :

1. Vom crea un subdomeniu domeniului parinte de forma static.domeniu.ro
2. Vom uploada in acesta template-ul astfel incat acesta sa fie disponibil atunci cand vom accesa subdomeniul cu explorerul web sub forma htt://static.domeniu.ro/templates/numetemplate/css/template.css
3. Vom edita template-ul actual al site-ului Joomla facand click pe Extensions —> Template Manager–> Selectam template-ul –> Edit HTML si modificam codul de incarcare al template-ului care este de forma :

<link rel=”stylesheet” href=”<?php echo $this->baseurl ?>/templates/numetemplate/css/template.css” type=”text/css” />

cu ceva care arata cam asa

<link rel=”stylesheet” href=”http://static.domeniu.ro/templates/numetemplate/css/template.css” type=”text/css” />

Dupa ce am efectuat aceste modificari site-ul teoretic va merge ca si inainte doar ca imaginile si css-urile vor fi incarcate de pe un subdomeniu, astfel realizand download-ul paralel al resurselor pentru site-urile Joomla si nu numai.

P.S. Pentru obtinerea unei viteze de incarcare scazute puteti opta ( daca serverul tau web suporta mod_expires.c ) pentru setarea duratei de viata in cache-ul vizitatorilor individuala a resurselor ce le-ai mutat folosind tutorialul de mai sus folosind .htaccess.

Sa presupunem ca folderul ce contine imaginile site-ului tau se afla la adresa static.domeniu.ro/template/images/ , in acest folder vom urca un fisier numit .htaccess care sa contina urmatoarele linii de cod :

<FilesMatch “\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$ ”>
Header set Cache-Control “max-age=290304000, public”
</FilesMatch>

Acestea fiind spuse, sper ca v-a fost util acest mic tutorial si ca nu ati intampinat probleme. Daca aveti nelamuriri nu ezitati sa le postati.