O săptămână din viața unei agenții Shopify Partner din Mureș
Miercuri, un site de turism la care lucrăm a urcat de la 61 la 74 la PageSpeed, pe telefon. PageSpeed e testul prin care Google măsoară cât de repede se încarcă o pagină. Ne-am bucurat, ca de orice număr care crește.
Joi și vineri am lucrat însă la ceva care nu schimbă niciun număr pe niciun site. Miercuri spre seară apăruse vestea unei vulnerabilități critice în PHP, limbajul pe care rulează o bucată mare din internet, inclusiv WordPress. Două zile am verificat ce avem în spatele proiectelor noastre, pentru că un site rapid nu ajută la nimic dacă serverul din spate e vulnerabil.
Suntem Dalbe, o agenție Shopify Partner din Târgu Mureș. Facem magazine online și aplicații, apoi rămânem lângă ele. Mai jos e săptămâna dintre 19 și 23 octombrie 2026, zi cu zi, cu clienții nenumiți. Munca o pontăm în Redmine, un program în care ținem și sarcinile, și comentariile, așa că povestesc ce scrie acolo, nu din memorie.
Luni: proiecte noi și o sarcină care așteaptă
Luni începe cu proiecte care se mișcă. Noémi analizează exportul din SmartBill pentru un proiect Shopify nou, un distribuitor de încălțăminte: sisteme de mărimi, structura produselor și a colecțiilor. Erik strânge descrierea de produs a unui magazin de audio auto sub un buton „Citește mai mult”, cu partea de compatibilitate mereu vizibilă, și face compacte pe telefon casetele subcategoriilor. Dalma scrie pentru o grădină zoologică două articole de Halloween, în maghiară și în română.
Eu predau programare orientată pe obiecte la facultate, corectez lucrări, verific fluxul Facebook al unui magazin bilingv și ajung la ședința săptămânală cu un client. Mai deschid o sarcină mică de DNS pentru alt client: DKIM, SPF și DMARC, cele trei înregistrări care spun serverelor de mail dacă mesajele de pe domeniul lui sunt reale. O las deschisă. DNS-ul nu se grăbește pentru nimeni.
Marți: mobilul întâi
Marți imaginile de pe telefon sunt tema zilei. Pentru magazinul de audio auto, Erik adaugă imagini separate pentru mobil la slideshow-ul de pe prima pagină și repară decuparea lor. Pregătește apoi texte alternative și cerințe de dimensiune pentru bannere, pe care le trimitem clientului. Lista noastră cere exact asta de la oricine încarcă imagini: fișiere cu nume descriptive, alt text completat din Shopify, poze comprimate înainte de upload. Am explicat pe larg în articolul despre handle, titlu, alt text și meta.
Noémi curăță pentru același magazin un export vechi de pe Gomag. Descrierile lipsă sau umplute cu „nan” se repară, iar filtrele după marca și modelul mașinii prind formă. Eu petrec o oră în Search Console, la auditul SEO al unui site de spa. Seara intră o cerere de ofertă de la un brand de machiaj premium.
Miercuri: un site predat și un snippet reparat
Miercuri dimineață e BNI. La 10:30 predăm un site unui client. Clientul nu întreabă de design și nici de cod. Întreabă unde poate vedea câți oameni au intrat pe pagină. Predarea înseamnă să arăți unde să se uite, nu doar să dai parolele. Tot atunci îi dau lista noastră pentru conținut: imagini cu nume descriptive și alt text, un singur H1 pe pagină, meta title și meta descriere scrise de mână, text lipit ca text simplu și verificat în Show HTML, autor cu nume real la articolele de blog. Google recomandă și el, în ghidul pentru conținut util, informații corecte despre autor, de exemplu semnătura articolului.
La prânz Erik rezolvă una dintre problemele apărute după predare la un site de turism. La fiecare site predat, o săptămână mai târziu, verificăm încă o dată totul și rezolvăm tot ce apare. O facem ca ce livrăm să fie de calitate. Aici pagina e lentă, pentru că tema încarcă imaginile la rezoluție completă. Repară snippetul de imagini și secțiunile custom, iar paginile încarcă acum imagini dimensionate pentru ecranul vizitatorului. De aici vin 61 la 74 și 10,8 la 5,5 secunde. Regula din lista noastră, imagini comprimate sub aproximativ 200 KB, ajută doar dacă și tema o respectă. După predare scriem clientului și indicații cu imagini, ca să știe cum să încarce și să schimbe conținutul singur.
Apoi acceptăm o persoană din echipa unui magazin de încălțăminte sportivă în Shopify și conectăm Analytics și Search Console, ca să vedem ce a rămas stricat din vechea configurare. Noémi investighează la un site de spital de ce s-au oprit deploy-urile pe Railway. Răspunsul nu e al nostru: Railway a oprit toate deploy-urile după un incident de securitate, pe care îl anunță abia seara. Eu actualizez DKIM și SPF la clientul cu DNS-ul și verific după câteva ore dacă schimbarea a prins. Spre seară vine și o veste care ne ocupă ziua de joi.
Joi: DNS-ul se închide, începe lista de opt puncte
Joi dimineață testul de DNS trece: modificările s-au propagat. O sarcină mică, întinsă pe patru zile din cauza așteptării. Clientul va primi mailuri care ajung unde trebuie și nu va afla cât a durat.
Urmează ședința cu un producător de făină tradițională. Din ea iese o listă de opt puncte pentru mine: rețete, descrieri, scurtarea scrollului pe pagina de produs, bannere pe prima pagină, review la aplicații cu atenție la viteză, SEO pe pagina de colecție, Judge.me per produs și accesibilitate. Verific și că toate mailurile clientului au fost livrate.
Erik repară configuratorul de mașini din magazinul de audio auto: folosește doar etichetele exacte de produs, deci dispar modelele și mărcile greșite din rezultate. Pentru un magazin nou, pe tema Horizon, refacem culorile paginii de produs și urcăm pozele cu alt text. Seara pleacă oferta pentru brandul de machiaj: Shopify, preț fix, integrarea cu ERP-ul separat.
Joi dimineața știrea e peste tot. Miercuri, pe la 17:00, PHP a scos patch-uri de urgență pentru două vulnerabilități critice din nucleul limbajului, numite PHP2Shell (CVE-2026-109618 și CVE-2026-109619). Un atacator fără cont poate rula cod pe server. Detaliile apăruseră cu o zi înainte de data anunțată, așa că primele încercări de exploatare au început în aceeași zi, după The Hacker News. Nu contează cât de curat e codul unui site, pentru că problema e în PHP însuși. La WordPress, asta înseamnă că actualizarea WordPress nu ajunge. Trebuie actualizat PHP pe server, la 8.5.12, 8.4.27, 8.3.36 sau 8.2.35, apoi repornit. Nu e prima alertă de acest fel anul acesta: în iulie am scris despre vulnerabilitățile wp2shell din WordPress.
Pe Shopify, direct, nu avem nimic de făcut. În Shopify Admin nu există un PHP pe care să-l actualizăm. Treaba începe la ce am construit noi: dezvoltăm și aplicații Shopify custom, iar fiecare trebuie verificată, ca să vedem dacă are în spate un server PHP. Tot joi, eu și Noémi revizuim erorile PHP din proiectele custom și facem lista proiectelor WordPress care cer update. Cu partenerul nostru BOCP, cu care discutăm miercuri și joi despre conectări, confirmăm joi că nu sunt afectați de problemele de securitate din PHP. Joi și vineri, Noémi a lucrat aproape numai pe securitate, ore care nu se pun pe niciun client.
Vineri: ziua patch-urilor de securitate
Vineri Erik livrează la magazinul de încălțăminte filtrul de mărimi regrupat. Butoanele de pe cardul de produs spun acum „Adaugă” urmat de mărimea aleasă sau „Alege mărimea”, iar mărimile epuizate sunt marcate clar. Dalma repară galeriile pe site-ul predat miercuri, adaugă o pagină nouă și scoate formularul de contact de pe prima pagină. Sunt lucruri pe care clientul le deschide și le vede.
Vineri continuăm. Eu și Noémi trecem prin fiecare aplicație Shopify dezvoltată de noi și prin serverele din spatele ei: PHP, apoi Node și Railway.
Node are propriul raport. Tot miercuri, proiectul Node.js a scos patch-uri pentru zece vulnerabilități, între ele CVE-2026-111497, o problemă în decodorul Brotli care poate duce la execuție de cod la distanță. Asta înseamnă că cineva de departe poate rula cod pe serverul tău. Versiunile cu fix sunt 22.23.4, 24.22.1 și 26.12.1, după anunțul oficial. Spre seară ajunge și de la furnizorul nostru de hosting o alertă pe aceeași temă. O trimit mai departe în aceeași zi.
Railway explică ce ne încurca de miercuri. Platforma a oprit toate deploy-urile, după ce un terț neautorizat a putut accesa variabilele de mediu criptate, iar la unele chiar conținutul decriptat. Variabilele de mediu sunt setările pe care un server le păstrează în afara codului, de exemplu chei API și parole de baze de date. O cheie API e un fel de parolă prin care un program are voie să vorbească cu altul, de exemplu aplicația noastră cu un sistem de plată sau cu Shopify. Serviciile care rulau au rămas online, dar nu se putea publica nimic nou. Railway recomandă să schimbi toate variabilele stocate acolo, ca să existe chei și parole noi, și să verifici jurnalele, spune raportul lor preliminar. Noi am schimbat deja cheile la aproximativ 80% dintre proiecte. Ultimul e OnBike (onbike.ms), un proiect al nostru, pe care îl facem în weekend.
La checkup-ul uneia dintre aplicațiile noastre apare o problemă: trebuie completate informații legale pentru politica de confidențialitate actualizată. Le completăm. Google ia lucrurile astea în serios, iar la ele nu ajută niciun design. Mai fac și un audit SEO după lansare pentru site-ul unui spital. Cu Metamorfozum Concept, unde ținem workshopurile noastre, vedem ce date sunt libere pentru un workshop nou.
Ce a rămas după săptămâna asta
Un site de turism e mai rapid pe mobil. Un client știe unde să vadă vizitatorii. Un magazin are filtre de mărimi care spun adevărul. Și, mai puțin vizibil, câteva proiecte au fost verificate și puse la zi. Primele se văd într-o captură de ecran. Ultimele nu se văd deloc, dar fără ele primele nu rezistă mult.
Lista noastră de 14 puncte pentru conținut face parte tot din categoria care nu se vede. La fel și verificarea de o săptămână după predare. Dacă încărcați singuri conținut în Shopify și vreți lista, scrieți-ne la office@dalbe.ro sau programați o discuție pe calendly.com/alpar-torok-dalbe.