De ce nu-mi place joomla, joomla glitches și caracteristici arhitecturale

Recent, am avut o discuție cu prietenul meu despre oportunitatea folosirii lui Joomla, în cadrul căruia am reușit să-mi epulez toate gândurile despre acest CMS destul de popular. De asemenea, doresc să împărtășesc aceste gânduri cu dvs.







Cu toate acestea, o astfel de combinati există un număr destul de mare de dezavantaje, care sunt adesea înrădăcinate în caracteristicile arhitecturale ale sistemului în sine (aceste dezavantaje este greu de corectat) sau punerea în aplicare a unor sarcini specifice (aceste dezavantaje rezolva cu usurinta). Acest articol poate fi văzut ca un apel către dezvoltatorii de componente și dezvoltatorii Joomla în sine pentru a îmbunătăți multe puncte în ea. Sper că, la cea de-a patra versiune a acestui CMS, aceste minusuri vor fi corectate.

1. Probleme comune

Marele dezavantaj al lui Joomla, despre care dezvoltatorii vorbesc deseori, este viteza muncii sale. Când se generează un blog simplu din cutie, se utilizează până la 100 de solicitări de bază de date pe pagină. Desigur, există suport pentru cache, care rezolvă parțial situația de performanță, dar, în primul rând, nu toate componentele o utilizează și, în al doilea rând, nu este atât de ușor să găsești o găzduire cu suport memcached acum. Desigur, viteza generării de pagini în Joomla pe o bună găzduire, cu aspect adecvat și componente bune - nu este critică. Dar pentru proiectele cu sarcini medii (zeci de mii de vizite pe zi) sau pentru site-urile cu gazduire ieftina ieftina, Joomla nu este potrivita, insa problema site-urilor cu sarcini foarte ridicate este subiectul unei serii de articole separate.

Problema reală este duplicarea paginilor. Paginile duplicate din Joomla sunt peste tot: nu există nici o adresă URL canonică pentru componente, adesea când există pagini de paginare. Deoarece paginile duplicat afectează în mod negativ SEO, problemele cu dublurile trebuie rezolvate cu ajutorul cârjelor.

2. Routere și meniuri

De ce nu-mi place joomla, joomla glitches și caracteristici arhitecturale

Nu știu ce dezvoltatorii au fumat atunci când structura de meniu au fost fondate pe router și multi-limbă în Joomla, cu toate acestea, deja istoric și schimbarea nu este atât de ușor. Meniu în Joomla - element de structură în primul rând, și apoi - pe elementul de site-ul (la un meniu afișat pe site-ul, cu excepția meniului, trebuie să creați un modul meniu). Această caracteristică impune un stil specific de dezvoltare a site-urilor.

Am văzut mulți programatori care și-au bătut capul pe perete, încercând să ghicească gândurile dezvoltatorilor Joomla, creând un site multilingv. De exemplu, pentru un site în trei limbi, va trebui să creați:

  • Meniul de servicii, referindu-se la pagina principală fără limbi (meniu cu un asterisc). La ce, acest meniu nu are nici o sarcină semantică, dar fără ea, Joomla refuză să lucreze.
  • Un meniu (în cazul nostru - 3 piese) cu pagina principală în diferite limbi. Recent, folosesc "meniul de servicii" (meniu fără un modul) pentru astfel de scopuri, în care am pus și structura site-ului. Foarte convenabil pentru crearea unei hărți a site-ului grafic (HTML).
  • Dacă doriți să creați o hartă a site (sitemap XML este de dorit să se creeze pentru indexarea mai rapidă a site-ului), atunci trebuie să creați un alt serviciu pentru paginile meniului pe care doriți să le excludeți de pe harta site-ului (de exemplu, un formular de conectare la un site web sau o pagină „Vă mulțumim pentru aplicarea“ sau orice alte pagini de servicii). Deoarece multilanguage în Joomla impune un număr mare de elemente de meniu, este mai convenabil de a crea un astfel de meniu pentru fiecare limbă.
  • Ei bine, în ultimul rând, trebuie să creați un meniu pentru fiecare meniu "grafic" de pe site. Adesea există 3,4,5 sau mai multe dintre ele (1-2 meniuri în cheder, tot felul de meniuri în subsol și altele). Din motivele descrise mai jos (vedeți multicastarea), trebuie să creați câte un meniu (nu un element de meniu, ci un meniu) pentru fiecare limbă.






(!) În total, pentru un simplu site-ul în trei limbi și două meniuri de pe site-ul, avem: 1 + 3 + 3 + 3 + 3 = 13 de meniu din zona de administrare și o mulțime de hemoroizi.

Oferta mea către dezvoltatorii CMS însuși: oameni, cheamă lucrurile uman. Separați structura sistemului și a meniului în 2 lucruri: structura site-ului și, de fapt, meniul, deoarece acestea trebuie deja împărțite.

În plus, dacă router-ul, indiferent dacă în meniul poglyukivayut Joomla și de multe ori ca urmare a jumătate link-urile pot arata normal (/ aproximativ, / contacte, etc.), iar cealaltă jumătate sub formă de lung tip de referință obscur:

În mod normal, JRoute funcționează bine pentru componente și pentru module - prin timp. Dependentele pe care nu le-am găsit, probabil, ordinea de încărcare a modulelor din meniu și alte module joacă un rol. Cred că aceste glitches pot fi ușor corectate, dar pentru moment trebuie să punem "cârje".

3. Multilanguage

4. Componente și module

Este demn de a aduce un omagiu dezvoltatorilor CMS în sine. Componentele livrate "scos din cutie" sunt scrise de 10 ori mai bine decât componentele terților. Cu toate acestea, există o acoperiș de zbor aici: componentele și modulele nu utilizează biblioteci și toate cererile către baza de date și memoria cache apar direct în modelele componente și module. Prin urmare, dacă există mai multe module pe pagină, aceleași interogări sunt numite de mai multe ori. Acesta este un lucru care ar putea fi optimizat fără a schimba conceptul general.

De asemenea, nu puteți imprima 2 componente pe o singură pagină. Pentru fiecare element de meniu (care, după cum ne amintim, în Joomla este o unitate structurală), puteți lega doar 1 componentă. Ei bine, formatul de ieșire a componentelor și modulelor nu permite să dea titlul normal la antetul ultimului modificat.

5. Funcționalitate limitată

Desigur, Joomla este ca un tractor mare sau chiar un combină. Dacă ceea ce nu, atunci componentele MVC-modelului, un număr mare de cârlige pentru plug-in-uri și comunitate mare vă permite să termine, rafina și a completa greutatea pe ea foarte mult, și tot felul de chifle. Dar, din moment ce majoritatea componentelor scrise în călcâiul stâng, apoi se traduce, de obicei, în faptul că site-ul începe să încetinească sau cu nerușinare unele hackeri atârnă pe pagina de fund mare. Dar nu vorbesc despre asta. Cred că setul standard de componente ar trebui să îndeplinească cel puțin cerințele unui blog avansat și aș vrea să spun ceea ce eu personal mi-e dor în Joomla în mod implicit.

Suportul pentru etichete a apărut numai în 3 versiuni (cu câteva luni în urmă) și în timp ce prime (în cea mai recentă versiune, de exemplu, routerul nu generează adrese URL normale).

Deci, de ce este nevoie atât de rău?

După cum am spus mai devreme, Joomla este o soluție excelentă pentru crearea unui site "pe genunchi" pentru câteva seri, care vor arăta și vor funcționa mai mult decât satisfăcător. Pe Joomla puteți crea chiar și un mic magazin online și vă va aduce imediat venituri. Pur și simplu, Jooma este o soluție ieftină și rapidă care va rezolva majoritatea cererilor.

Și, în ceea ce mă privește, acest blog pe Joomla ar putea fi construit fără probleme (bine, cu cârje mici), dar programarea bicicletei îmi aduce plăcere. Sperăm că va fi în curând o serie de articole despre crearea propriului CMS, care va fi mai bun decât Joomla, cel puțin în aceste lucruri.

@ Răspundeți
Pe site-ul Jumla fac site-uri departe de primul an, pentru a lua decizia multor probleme a fost necesar sa se patcheze un kernel de-a lungul si peste.

După cum am spus, Jooma este o soluție ieftină și rapidă care va rezolva majoritatea cererilor de webmasteri.

Dar pentru proiecte mari, Joomla nu va face. Și pentru unele mici, de asemenea. Și multe, adesea necesare, sarcini, de asemenea, în Joomla nu sunt rezolvate.

Și ce să folosim atunci pentru proiecte medii și mici? De la CMS gratuit.

@ Constantin
Din păcate, cea mai mare și singură experiență cu Jumla (

50 site-uri comerciale de calitate), deci nu pot răspunde în mod adecvat la întrebarea "CMS care este mai bun".

Dar Jumla, așa cum am spus, se comportă perfect cu cerințele celor mai mulți clienți și se poate face doar o mulțime de site-uri.

Singurul dezavantaj este că, cu toate dezavantajele lui Joomla, trebuie să puneți un programator.

Vă mulțumim pentru răspuns.
Voi continua să fac pe jumla noastră preferată.







Trimiteți-le prietenilor: