Darius Lupșa un blog despre inginerie

Încercarea mea de a trece blogul pe Hugo

Totul a pornit de la postarea aceasta a lui Dorin în care el explică de ce și-a mutat blogul de pe platforma WordPress, pe Hugo.

De când am început acest blog, chiar dacă nu are trafic, am ales să fie găzduit pe un server de tip VPS. Am făcut asta pentru sigurul motiv de a nu avea probleme cu viteza de încărcare a paginilor. Am pus OpenLiteSpeed ca și server http, am pus WordPress, am cumpărat o temă care avea review-uri bune și e scrisă chiar binișor, am citit în stânga și-n dreapta sfaturi și am aplicat tot ce am știut eu pentru a-l face să meargă cât mai bine. Și încă tot nu-s mulțumit cum se comportă acest blog.

WordPress

Pentru cei care nu știu, WordPress e o platformă de tip CMS(content management system) care are nevoie de PHP și o bază de date(MySQL sau MariaDB) pentru a funcționa. Pentru ca voi să vedeți această pagină, WordPress trebuie să o genereze de fiecare dată și pentru fiecare utilizator în parte, iar asta înseamnă consum de resurse pe server și timp.

Să începem cu partea rea. Motivele pentru care nu sunt foarte mulțumit de configurația actuală:

  • Platforma WordPress, în combinație cu tema și toate plugin-urile necesare, generează un cod stufos și greoi. Asta îl face greu de editat, se încarcă greu pagina, apar adeseori bug-uri pentru că nu se pupă o componentă de temă cu un plugin (sau plugin-urile între ele).
  • Deși am un plugin de cache, mai sunt momente când ceva nu vrea să meargă cum trebuie și încep să se încarce greu paginile. Urăsc asta, fie că e vorba de site-uri, fie că e vorba de ceva device, vreau să fie fluide în utilizare.
  • Dacă vreau să adaug o nouă secțiune în temă sau să modific ceva, e complicat. Pentru că tema mea își face update-uri, am creat un child theme care moștenește toate funcționalitățile de la tema mamă. În principiu conceptul e bun. Partea nasoală e că se mai crează css-uri în plus și alte minunății de care m-am plâns la primul punct.

Hugo

E o aplicație care generează un site static pe baza unor template-uri. Ceea ce înseamnă că după ce am terminat de scris un articol, rulez aplicația Hugo, iar aceasta îmi generează toate paginile necesare pentru ca acest blog să fie funcțional. Se încarcă aceste fișiere pe server și articolul e online.

Față de WordPress în care totul se întâmplă în browser, cu Hugo poți scrie totul în mod offline într-un editor de text și ai nevoie de net doar când se încarcă paginile pe server.

Câteva puncte de ce îmi place Hugo, iar apoi o să vă zic de ce-am ales să rămân pe WordPress și de ce n-am fost convins să schimb. Încă, sper.

  • Blogul putea să fie site static. Asta înseamnă că fiecare pagină pe server e exact așa cum se vede și aici. Nu aveam nevoie de PHP și baze de date ca să genereze în timp real de fiecare dată pagina pe care o vizitați. O generam eu o singură dată.
  • Control mai mare asupra tuturor scripturilor, css-urilor și a codului sursă. Fără pagini greoaie și pline de mizerii.
  • Se încărca mult mai repede. Totul în mai puțin de 1 secundă, chiar 0.5 secunde.
  • Puteam scrie articolele direct într-un editor de text direct pe calculator.

De ce a rămas (pentru moment) blogul pe WordPress și nu pe Hugo

  • Hugo nu are sistem de comentarii. Pentru faptul că e site static, iar comentariile au nevoie de o bază de date, fie implementezi pe server un modul de comentarii, fie te bazezi pe terțe părți. Există soluții, dar nimic atât de elegant și simplu precum în WordPress.
  • Deși se putea integra cu puțină muncă, gestionarea pozelor era puțin mai dificilă pentru un blog. Pentru a avea o galerie de poze în articol am găsit doar modalități să pun pozele în același folder cu articolul. Dacă fac asta, după câteva sute/mii de articole, o să fie dificil să caut o anumită poză.
  • Are integrat tag-uri și categorii dar nu le poți avea într-un singur loc pentru a le gestiona. Le poți specifica pentru fiecare articol în parte, dar după ce ai mai multe devine complicat să știi ce ai folosit, ce nu ai folosit și în ce format.
  • Nu vine cu o soluție de a avea căutare în site. Există și aici metode și scripturi pe net cum poți face, dar devine dificil și nu sunt sigur că și rezultatele în urma căutării o să fie relevante. Sau dacă soluția implementată o sa mai fie susținută și actualizată în timp de comunitatea respectivă.

Dacă Hugo vine în viitor cu o rezolvare la punctele de mai sus, cu siguranță că o să fac schimbarea. L-am testat câteva zile aici, am migrat totul și l-am pus online și se mișcă foarte bine. Altfel, nu sunt sigur că e o soluție de viitor care să-mi ofere o cale mai ușoară în a-mi gestiona conținutul.

#blog #hugo #wordpress