Informații articol
PRG, modelul ce împiedică trimiterea de formulare duplicate pe website. Această problemă poate apărea, de exemplu, la comenzi într-un magazin online.
PRG, modelul ce împiedică trimiterea de formulare duplicate pe website
Modelul Post/Redirect/Get împiedică trimiterea de formulare duplicate pe un website.
De exemplu, atunci când un utilizator actualizează o pagină sau face click pe săgeata înapoi din browser.
Această problemă poate apărea, de exemplu, în cazul unor comenzi plasate în comerț online.
Următorul exemplu ilustrează această situație:
Să zicem că un utilizator completează o comandă într-un magazin online și ajunge direct la pagina de confirmare.
Utilizatorul face acum click pe „Reîmprospătare” sau „Înapoi” în browser și nu este implementată PRG.
În această situație, formularul POST (comanda) este trimis din nou pe server, ceea ce nu e de dorit.
În practică, browserele reacționează rapid deschizând o fereastră.
Mai apoi, întreabă utilizatorii dacă doresc cu adevărat să trimită date în astfel de cazuri.
Cu toate acestea, majoritatea utilizatorilor ce nu au cunoștințe tehnice aprofundate nu înțeleg întrebarea.
În aceste condiții, utilizabilitatea website-ului va avea de suferit.
Acesta e un alt motiv pentru care modelul PRG pentru formulare ar trebui să fie implementat pe website.
Informații de background: solicitări GET vs POST
Practic, atât solicitările GET, cât și cele POST pot fi trimise către un server.
O solicitare GET este utilizată pentru a solicita date de la un server, cum ar fi fișiere HTML5, imagini etc.
Astfel de formulare pot fi accesate de Google.
POST, pe de altă parte, este o metodă de transfer de date către un server.
Spre deosebire de metoda GET, Google nu poate urma formularele POST, în majoritatea cazurilor.
Cum funcționează PRG
Pentru a explica modalitatea de funcționare al modelului PRG vom folosi exemplul de mai sus. Procesul poate fi împărțit în trei etape:
- pasul 1 (POST): un utilizator își completează comanda și trimite o solicitare POST serverului. La rândul său, serverul procesează această solicitare și salvează comanda într-o bază de date;
- pasul 2 (REDIRECT): nu se trimite pagina de confirmare direct utilizatorului. Server-ul răspunde browserului cu o redirecționare către o nouă adresă URL ce duce la pagina de confirmare;
- pasul 3 (GET): datorită redirecționării, browser-ul trimite apoi o nouă solicitare GET către server. Trebuie să recupereze o nouă adresă URL pentru a solicita pagina de confirmare.
Dacă utilizatorul actualizează acum pagina, browser-ul trimite o altă solicitare GET.
În aceste condiții, serverul răspunde cu pagina de confirmare.
Fără modelul PRG, utilizatorul ar retrimite cererea POST prin actualizarea paginii.
Ca urmare a acestei situații generate de utilizator, serverul ar salva comanda de două ori.
Avantaje pentru optimizarea SEO
Modelul PRG împiedică transmiterea multiplă a datelor de formular pe un server.
Mi mult, poate fi benefic și în zona de optimizare SEO, de exemplu în ceea ce privește navigarea prin filtru.
Astfel de navigări sunt problematice din cauza diferitelor funcții de filtrare. De exemplu, după culoare, dimensiune.
Articole recomandate:
Acestea sunt implementate de parametrii URL și astfel generează un număr mare de adrese URL noi.
Masa legăturilor interne asociate cu aceasta necesită resurse mari de accesare pentru un website.
Acestea ar putea fi necesare pentru alte pagini secundare.
Pot apărea probleme de conținut duplicat dacă produsele afișate pe pagini de filtru abia sunt diferite.
Modelul PRG oferă o soluție la această problemă: link-urile de filtrare sunt integrate ca un formular POST.
Elementul de formular este ascuns de display:none or visibility:0.
Când faceți click pe un astfel de link de filtru, o cerere POST este trimisă serverului.
Serverul răspunde cu o redirecționare către pagina originală de rezultat.
Pagina respectivă conține acum parametrii corespunzători în adresa URL.
Deoarece Googlebot nu respectă formularul POST, acesta nu poate găsi adresa URL.
O asemenea situație evită duplicarea conținutului și utilizează eficient bugetul de accesare al website-ului.
În același timp, adresa URL există și, prin urmare, poate fi distribuită de utilizatori.
Un alt avantaj al acestei metode este capacitatea de a controla capitalul legăturilor transmise de pe o pagină.
Acest lucru face posibilă gruparea capitalurilor de legătură pe pagini cu adevărat relevante.
Acestea sunt paginile care ar trebui să apară în rezultatele căutării din Google.
Relevanța practică a modelului PRG
După cum puteți vedea, modelul PRG este deosebit de relevant pentru magazinele online.
În acest fel, se pot evita comenzile duplicate și se pot ascunde link-urile de filtrare de Googlebot.
O posibilă problemă este însă că modelul PRG nu e susținut de fiecare CMS.
Implementarea acestuia de unul singur necesită cunoștințe de programare aprofundate.
Din acest motiv, în ciuda avantajelor sale, metoda nu este folosită de mulți operatori de magazine online.
Articole similare