Joomla optimizat SEO – un ghid

SEO pentru Joomla CMS

Intr-un articol precedent, am scris cate ceva despre optimizarea SEO pentru Joomla. Reiau aici cu mult mai multe detalii.

Exista multe ghiduri despre optimizarea SEO a blogurilor/site-urilor facute cu WordPress, dar exista multe alte siteme de management al continutului (CMS), unul dintre ele fiind Joomla CMS, care merita si el un mic ghid de optimizare SEO.

Joomla CMS este software open source, complet gratuit si inca cel mai popular si probabil cel mai folosit. Joomla este in special folosit pentru site-uri de dimensiuni medii – mari, iar pentru acest scop, este foarte bine construit. Dar, ca si multe alte sisteme de management al continutului (CMS in continuare), nu este foarte bine optimizat pentru motoarele de cautare imediat dupa instalare, asa ca ne ramane noua sa facem putina munca SEO.

Acest ghid este scris cu ajutorul partenerului meu danez, Henrik Bondofte. Articolul danez il gasiti pe pagina Joomla SEO, de pe blogul sau. In caz ca stiti daneza…

URL-uri SEF (Search Engine Friendly)

Joomla foloseste standard adrese urate… foarte urate, cu toti parametri in adresa. Din moment ce ne intereseaza sa avem un CTR (Click Through Ratio) cat mai mare,  este foarte important sa avem o adresa in care cuvintele cheie sa fie prezente si prin urmare vizibile, atat pentru motoarele de cautare, cat si pentru vizitatori.

Totusi trebuie sa tinem cont ca adresele SEF URL (asa cum li se spune mai des in engleza) nu iti dau un avantaj imens in pozitia pe paginile cu rezultate la cautari.

SEF URLS – inceputul

Joomla are doua setari din “fabrica” pentru SEF URL. Exista metoda standard, care se activeaza din Site -> Global Configuration -> SEO Settings. Click Yes la optiunea  “Search Engine Friendly URLs”.

Ai activat optiunea de Sef URL in Joomla. Dar problema este mai complicata de atat. Acum, in adresa avem “index.php” la inceput. Asta ne face adresele mai lungi, ceea ce in general se stie ca scade CTR.

A doua problema este ca acum vei avea un nou folder (dosar) in structura adreselor, ceea ce iti va trimite continutul in ierarhie cu inca un folder (in jos). Cu cat mai aproape continutul de radacina site-ului, cu atat mai bie.

O adresa standard SEF

http://www.exemplu.ro/index.php/ghid/16-optimizare-seo-joomla

In acest exemplu se vede ca avem mai intai index.php, numele sectiunii / categoriei, iar in cele din urma numele articolului (precedat de 16, care este id-ul articolului).

Daca folosim mod_rewrite?

Nu ne trebuie index.php in adresa, asa ca va trebui sa folosim mod_rewrite. Pentru asta trebuie ca site-ul dvs sa ruleze pe un server Apache.

Sa aruncam o privire in fisierul .htaccess, pe care il puteti gasi in radacina site-ului dvs Joomla. Fisierul este numit standard htaccess.,txt, dar dvs il redenumiti la .htaccess (numele incepe cu punct). Acum .htaccess este activ. Inainte si inainte de a continua, trebuie sa verificati ca serverul pe care este site-ul dvs functioneaza corect acum. Incercati prima pagina si cateva pagini din site. Daca totul e in regula, continuam:

Dupa ce ati redenumit fisierul htaccess, ne intoarcem in Site -> Global Configuration -> SEO Settings, in panoul de administrare si acum activam  “Use Apache mod_rewrite”.

(Optiunile denumite in romana difera, evident, dar niciodata nu am folosit limba romana la joomla sau altele, deoarece ma incurca…)

Apasati “save” si acum site-ul ruleaza cel mai pur URL SEF,  pe care il poate genera Joomla fara alte modificari sau componente.

Cu SEF URL Joomla activat, inca veti avea niste Id-uri in adresa. Exista cateva componente si pluginuri care pot schimba asta. Totusi, personal recomand sa nu folositi acestea. Si eu si Henrik am avut experiente neplacute in care unele dintre componente au distrus adresele pentru ca ele insele erau… varza…

Este o treaba complicata si nu de mica amploare, sa facem un 301 redirect pentru toate adresele noi, cu SEF activat. De asemenea se pierde cam 20% din valoare daca faci redirect.

Alte probleme

Continut duplicat

Joomla are, ca mai toate CMS-urile, probleme cu continutul duplicat, iar aceste probleme nu ne fac bine. Daca se poate, adresele dublate vor fi redirectionate inspre una singura. Index2 se blocheaza. Vedeti in primul ghid de Joomla SEO

Link intern inspre prima pagina cu doua adrese?

In multe template-uri se gaseste un link inspre prima pagina. De multe ori este logo-ul de sus sau sloganul, dar este si meniul tau “Home” (Prima pagina).

Acest meniu poate fi uneori creat ca si “/home”, iar noi, evident nu vrem sa avem domeniu.ro si domeniu.ro/home cu acelasi text – o dublura. Ce trebuie facut este sa editam template-ul. Acest difera de la unul la altul, felul in care se editeaza. Daca ai nevoie de ajutor, sunt disponibil.

Daca motoarele de cautare ti-au indexat deja pagina aceasta suplimentara, trebuie neapara un redirect 301 inspre radacina.

Regula este

Redirect 301 /Home http://www.domeniu.ro/ - home se inlocuieste cu ce este pe site-ul tau

Ai multe articole pe frontpage. Ceea ce inseamna ca ai pagination (linkurile cu numarul paginii din partea de jos. Acestea trebuie de asemenea trimite inapoi inspre prima pagina (daca au fost indexate via /home…)

Regula este

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /home\?start=(.*)\ HTTP/
RewriteRule ^index\.php$ http://www.domeniu.ro/? [R=301]

Aceeasi regula poate fi utilizata daca prina pagina este cu index.php, asa cum este deseori. Regula este putin modificata, /index\.php in loc de home

Cu sau fara WWW

Prima problema majora pe care o ai este ca vizitatorii pot sa acceseze site-ul tau cu sau fara WWW. Evident ca nu vrei ca site-ul tau sa apara cu si fara WWW, ceea ce inseamna doua site-uri identice.

Cele doua optiuni sunt privit ca si doua domenii separate, ceea ce te trage in jos mult in ochii motoarelor de cautare.

Pentru a rezolva aceasta problema, din nou folosim .htaccess.

RewriteEngine On
RewriteCond %{HTTP_HOST} ^domeniu.ro [NC]
RewriteRule ^(.*) http://www.domeniu.ro/$1 [L,R=301]

Daca vrei invers, traficul cu www sa fie trimis la site-ul tau dar fara WWW:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.domeniu.ro$
RewriteRule ^(.*) http://domeniu.ro/$1 [L,R=301]

Butoanele PDF si imprimare din Joomla, de asemenea creeaza content duplicat. Am discutat asta si in articolul anterior  Joomla optimizare SEO.

Totusi, aici avem o alta alternativa pentru a bloca indexarea lor. Oricare functioneaza (codul acesta se pune in robots.txt):

Disallow: /index.php?view=article*&format=pdf
Disallow: /index.php?view=article*&print=1*
Disallow: /index.php?option=com_mailto*

Daca deja paginile iti sunt indexate (pdf-urile si cele de imprimare) putem folosi wildcards. Cu .htaccess facem un redirect  301 al paginilor PDF inspre articolul “real”.

RewriteCond %{query_string} ^format=pdf
RewriteRule (.*) http://www.domeniu.ro/$1? [R=301,L]

Regula se poate folosi si la paginile de imprimare indexate

Sterge index.php din adresele existente

Daca deja rulezi site-ul si ai index.php prezent in adrese si vrei sa scapi de acest inconvenient, urmatoarea regula plasata in fisierul .htaccess te va scapa de necazuri.

RedirectMatch permanent index.php/(.*) http://www.domeniu.ro/$1

Linkurile de pagina cu nofollow

Multe articole pe prima pagina inseamna numere de pagina, dupa cum am zis in paragraful anterior. Acestea sunt utile pentru oameni, dar nu foarte pentru motorul de cautare. O recomandare, faceti-le cu rel=”nofollow”. Linkul este de forma 1-2-3… ceea ce spune nimic pentru motorul de cautare. Deci… mai mult face rau decat bine.

Sper ca acest ghid v-a fost util, iar daca urmati macar o parte din sfaturi, sunteti pe drumul cel bun pentru un site Joomla optimizat.

Published by

Cristian Raț

Lucrez ca si dezvoltator aplicatii web de mai bine de 10 ani. Sunt Senior PHP developer la o companie din Londra. Anterior am lucrat in diverse agentii digitale din Londra sau Romania, unde am avut propria companie. In general folosesc WordPress la proiectele freelance sau Symfony framework la jobul de zi cu zi.

7 thoughts on “Joomla optimizat SEO – un ghid”

  1. Foarte util articol!

    Vroiam sa te intreb daca e vreo problema dpdv SEO daca site-ul e accesibil si la http://www.home.com si la http://www.home.com/index.php, dar paginile sunt fara index.php si cum pot scapa de asta din .htaccess.

    Iar la paginatia din sectiuni GWT mi le indica ca duplicat content si duplicate description. Este posibil sa fac paginatia nofollow? Si daca da, ce ar trebui editat.

    Merci de articol.

    Nota: Ar fi foarte util un buton de abonare la comentarii prin email, nu de alta dar inchid pagina si nu mai gasesc articolul apoi :).

    1. Ai dreptate, chiar la asta ma gandeam: buton de abonare pentru comentarii 😀
      Stii cum e cu cizmarul care n-are cizme… asa-s si eu, nu am timp pentru ce-i al meu. De aceea si am mai scris aici ultima data acum cateva luni.
      Am sa-ti raspund la intrebare imediat.

    2. Daca e pagina la home.ro si mai e si la home.ro/index.php si e identica, google si altii le vad ca si pagini separate, dublate.
      Chestia nasoala e ca atunci cand redirectionezi index.php la home.ro/ nu-ti mai merge cautarea si altele (care merg direct la index.php)
      Este o chestie la care nu am gasit solutie pana acum dar sincer nici nu am cautat saptamani 🙂 Cateva ore, nu am gasit si am lasat-o balta.
      Aveam un cod undeva, dar nu-l folosesc decat pe site-uri care nu au search sau alte module care cauta index.php
      RewriteEngine On
      Cred ca asta e dar nu mai stiu sigur. Nu l-am folosit de mult
      RewriteBase /
      RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
      RewriteRule ^index\.php$ http://www.domeniu.ro/ [R=301,L]

      Chestia cu dubluri la paginatie – m-am mai intalnit cu asta. Poti sa le faci nofollow, dar cred ca tot ti le indexeaza. Am avut pagini cu – nofollow, din robots noindex, in headul paginii noindex, nocache NO din toate.. si ghici unde gaseam paginile? IN GOOGLE 🙂
      Anyway, solutia aplicata de mine a fost ca sa modific template-ul sau pe undeva in pagination, sincer nici nu mai stiu unde (com_content pe acolo undeva e paginatia, la view category/blog/section sau ce folosesti) si am adaugat la sfarsitul paginii “- Pagina X” unde X era numarul paginii desigur.
      Update: M-am uitat si am creat un plugin, care adauga la titlul paginii “- Pagina X”.
      Te descurci sa faci asta sau il vrei?

  2. Da, util articolul. Cu toate astea, dupa ce am citit si aplicat intr-o mare masura informatiile de aici si din alte surse, mai am putin si renunt definitiv la Joomla. Rezultate exista, dar sunt cel mult modeste comparativ cu wordpress sau alte cms-uri :(. Sunt din ce in ce mai convins ca e cms-ul neprietenos cu google, oricat l-ai imbunatati.

    1. da, este adevarat. joomla este indreptat putin inspre developeri pe cand wordpress este special facut pentru oricine care poseda cunostinte elementare despre internet.
      totusi, joomla este un CMS “full featured” pe cand wordpress e o unealta pentru blog transformata in CMS

Leave a Reply

Your email address will not be published. Required fields are marked *