Ce înseamnă 301/302 redirect? Când și cum ar trebui folosite redirecționările?

În ultima vreme am observat că multă lume are probleme cu redirecționările:

„Ce sunt redirecționările?”

„Când ar trebui acestea folosite?”

„Ce tip de redirecționare ar trebui să folosesc și când? 301? 302?”

Acestea sunt doar câteva dintre întrebările pe care adminstratorii de website-uri și le pun. Pe lângă acestea, am observat și experți care nu au implementat corect redirecționările, acest fapt ducând la diverse probleme de indexare.

Există multă confuzie în jurul subiectului și sper ca în acest articol să clarific unele lucruri, dacă nu pe toate.

Ce sunt redirecționările?

Pe scurt, redirecționările sunt ca un agent rutier de poliție, care ghidează traficul către altă locație din diferite motive.

În general, polițistul ne redirecționează atunci când drumul este în lucru, sau tocmai a avut loc un accident. În cazul traficului online, redirecționările au loc pentru a preveni accidente, sau pentru că administratorii site-urilor au vrut ca acestea să existe.

Redirecționările sunt coduri HTTP prin care serverul specifică browserului că o pagină a fost mutată și poate fi găsită în altă parte. Acestea pot fi temporare sau permanente. Unele dintre ele se aplică mai mult programatorilor.

Acestea sunt în general create de către server, dar pot fi recreate și prin PHP, HTML sau JavaScript.

Redirecționările sunt destul de importante pentru SEO, în special în cazul în care ștergi o pagină sau muți un website.

Câte tipuri de redirecționări există?

Aproape toate codurile HTTP sub forma 3xx (care încep cu 3) sunt redirecționări. Avem astfel coduri de la 300 până la 308, dar doar 301, 302, 303, 307 și 308 reprezintă redirecționări.

Deși voi încerca să le explic pe toate, importante cu adevărat pentru un administrator web sunt redirecționările 301 și 302. Trebuie să menționez că am furat câteva idei din acest articol.

301 Redirect Permanent

Explicație: Ghiță nu mai locuiește aici. Te poți duce la adresa asta și îl vei găsi acolo. Nu se va mai întoarce aici niciodată.

Teorie: Serverul comunică faptul că adresa documentului a fost mutată permanent. Aceste redirecționări pasează ce unii numesc PageRank. Cu alte cuvinte, pagina acționează ca un link do-follow, votând pentru pagina către care este redirecționată. Motoarele de căutare schimbă atât conținutul indexat cât și adresa URL a acestuia.

302 Redirect Temporar

Explicație: Ghiță încă locuiește aici, dar acum este plecat la crâșmă. Îl poți găsi acolo sau îl poți aștepta aici. Când se va întoarce, probabil nu va mai ști pe unde să intre în casă.

Teorie: Documentul a fost găsit dar momentan se află în altă parte. Multe browsere au implementat greșit acest cod (cu funcționalitatea celui 303), creând confuzie, așa că noi coduri, 303 și 307, au fost create. Codul 302 nu pasează Page Rank. Motoarele de căutare indexează noul conținut, dar păstrează adresa URL veche.

303 See Other

Explicație: Ok, am înțeles datele tale de card. Vreau să mă asigur că nu le repeți când intri în camera următoare. Ca să nu te întrebe nimeni nimic, ține cardul în cealaltă mână. Când termini, te întorci aici.

Teorie: Pentru a preveni repetarea trimiterii datelor (cum ar fi un card de credit) „Am primit informațiile din formularul tău utilizând metoda POST. Pentru a preveni accidente, te rog să vezi răspunsul meu la această locație, dar adu informația despre formular utilizând metoda GET.”

307 Redirect Temporar

Explicație: Ok, am înțeles datele tale de card. Vreau să mă asigur că nu le repeți când intri în camera următoare. Ca să nu te întrebe nimeni nimic, ține cardul în aceeași mână. Când termini, te întorci aici.

Teorie: Exact ca 303, doar că aceeași metodă este folosită pentru a trimite formularul.

308 Redirect Permanent (experimental)

Explicație: Te rog să mergi acolo și să spui informațiile de card, ținând cardul în aceeași mână. Apoi, rămâi acolo.

Teorie: La fel ca 307, doar că permanent.

De ce sunt atât de multe tipuri de redirecționări?

Ei bine, pentru că unele browsere au utilizat 302 într-o manieră complet eronată (ca un 303).

Astfel, s-au creat variantele 303 și 307 (cum ar fi trebuit să fie 302) pentru a face diferența între ele.

Codul 308 este doar pentru a face pachetul complet și cere browserului să aducă informația către noul URL folosind aceeași metodă.

Iată și o explicație puțin mai tehnică a problemei 302, 303, 307:

Așteptările pentru 302: redirecționarea folosește aceeași metodă POST pe URL_NOU


CLIENT POST URL_VECHI -> SERVER 302 URL_NOU -> CLIENT POST URL_NOU

Realitatea pentru 302, 303: redirecționarea schimbă metoda de la POST la GET pe URL_NOU


CLIENT POST URL_VECHI -> SERVER 302 URL_NOU -> CLIENT GET URL_NOU
CLIENT POST URL_VECHI -> SERVER 303 URL_NOU -> CLIENT GET URL_NOU

Realitatea pentru 307: redirecționarea folosește aceeași metodă POST pe URL_NOU


CLIENT POST URL_VECHI -> SERVER 307 URL_NOU -> CLIENT POST URL_NOU

Pentru a verifica ce tip de redirecționare este pe un URL, poți intra pe http://www.redirect-checker.org/.

verifica redirectionarile

 

Când și cum ar trebui folosite redirecționările?

Cum spuneam mai sus, administratorii de website-uri au treabă doar cu 301 și 302. Poți pune cât de multe redirecționări separate vrei, dar dacă faci redirecționări în lanț, atunci Google le va ignora.

O singură variantă a website-ului:

Cel mai important lucru de știut este că toate variantele paginii tale de bază ar trebui să ducă la o singură adresă.

Variantele pot fi următoarele:


http://www.exemplu.ro
http://exemplu.ro
https://www.exemplu.ro
https://exemplu.ro

Motoarele de căutare văd paginile de mai sus ca domenii separate, la fel cum ar vedea un subdomeniu (http://subdomeniu.exemplu.ro). Dacă acestea nu sunt redirecționate către o singură variantă unică, Google va vedea 4 versiuni ale website-ului tău, toate cu același conținut.

Asigură-te că ai pus un redirect 301 către varianta preferențială și că oricare altă variantă duce acolo.

Ca test, încearcă să accesezi într-un tab nou https://www.seoproject.ro și vei vedea că te redirecționează automat către https://seoproject.ro.

Adăugare HTTPS:

Cazurile cu website-uri care au migrat de la HTTP la HTTPS și au căzut în Google sunt cu miile. De cele mai multe ori, acest lucru se întâmplă pentru că oamenii uită să seteze redirecționări 301 de la URL-urile cu HTTP la cele cu HTTPS.

Practic, fără 301, site-ul tău va dispărea din Google, iar Google va găsi, cândva, unul nou. Absolut toate link-urile către versiunea HTTP vor rezulta într-o eroare 404.

Schimbarea domeniului:

Dacă ai făcut riscanta mișcare de a îți schimba domeniul, atunci redirecționările trebuiesc foarte bine gândite și setate.

Fiecare pagină a site-ului vechi ar trebui să ducă la varianta nouă a acesteia. Este un proces meticulos și extrem de lung în cazul website-urilor mari.

Dacă versiunea nouă nu mai există, trimite pagina veche către cea mai relevantă pe care o poți găsi.

Pagini șterse:

Similar ca atunci când schimbi domeniul, un alt caz când ai putea folosi 301 este atunci când ștergi o pagină definitiv.

Aceasta va rămâne o perioadă în index, iar Google o va vedea ca 404. Google nu vrea ca utilizatorii să ajungă din Google pe o pagină 404, așa că asta poate afecta negativ website-ul tău.

De asemenea toate link-urile către acel URL vor fi pierdute dacă nu sunt pasate printr-o redirecționare 301.

Soluția este să redirecționezi URL-ul  către cea mai relevantă pagină pe care o poți găsi.

Domenii cu extensii diferite:

Dacă ai achiziționat mai multe variante ale domeniului tău (.com, .org, .net), dar folosești doar una dintre acestea, poți utiliza 301 pentru a redirecționa acele domenii către domeniul principal.

Ai grijă totuși! Mulți au abuzat de această metodă. Dacă domeniile au același nume, nu va fi o problemă. Google e destul de avansat să observe.

Dacă în schimb acele domenii sunt complet irelevante, nu le redirecționa doar de dragul de a pasa Page Rank-ul. Poți fi penalizat destul de rapid!

Pagini temporare:

Deși a existat multă confuzie, 302 este în continuare folosit de către motoarele de căutare pentru a interpreta o redirecționare temporară. Matt Cutts explică foarte bine câteva cazuri pentru 302 în acest articol.

Un exemplu bun ar fi atunci când vrei să afișezi o pagină temporară de BlackFriday. Cu 302 vei putea afișa o pagină diferită sub același URL. Conținutul noii pagini va fi și acesta indexat, dar sub adresa URL a vechii pagini. După un timp, aceasta revine.

Astfel, nu vei fi nevoit să modifici conținutul paginii principale de fiecare dată când ai o campanie similară.

E bine să consulți un specialist înainte să te arunci să faci redirecționări. Acestea ți-ar putea afecta negativ website-ul în Google.

Cum pot seta redirecționări pe website-ul meu?

Deoarece cazurile 302 sunt izolate, foarte rar întâlnite și mai puțin relevante pentru SEO, vom discuta doar despre redirecționări 301.

În general, redirecționările sunt destul de ușor de setat, dacă vrei să faci asta pentru câteva pagini.

Dacă ai website-ul găzduit pe un server Apache, cea mai de bază metodă este să accesezi fișierul .htaccess din cPanel -> Manager Fișiere -> public_html. Dacă nu îl poți vedea, ai sus in dreapta o rotiță de setări pentru a vedea fișierele ascunse.

Atenție: Salvează o copie a acestui fișier înainte de a îl modifica. Și da, fișierul se cheamă .htaccess, adica nu are nume și are extensia htaccess.

Codul ce trebuie introdus este următorul:

Pentru a forța varianta cu WWW:


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

Pentru a forța varianta fără WWW:


#Force non-www:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.exemplu\.ro [NC]
RewriteRule ^(.*)$ http://exemplu.ro/$1 [L,R=301]

Parcă te aud…

„Cum e mai bine? Cu WWW sau fără WWW?”

Ei bine… adevărul este că nu prea contează, dar se speculează că URL-urile mai scurte tind să se poziționeze mai bine în Google. Cu toate acestea, cred că oamenii asociază site-urile cu WWW, cel puțin la noi, în România.

Rămâne să decizi tu ce variantă preferi. Dacă nu ai avut deja setate corect redirecționările, păstrează varianta cu cele mai multe link-uri către ea.

Pentru a forța HTTPS/SSL:


RewriteEngine On 
RewriteCond %{HTTP_HOST} ^exemplu\.ro [NC]
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://www.exemplu.ro/$1 [R,L]


Dacă preferi fără www, poți scoate asta din ultima linie de cod.

Pentru a redirecționa o pagină specifică:


RewriteEngine On
RewriteRule ^director/pagina/$ /director2/pagina2/ [L,R=301]

Atenție: Nu uita să înlocuiești denumirile specifice din coduri, cum ar fi exemplu.ro sau director/pagina/ fără să modifici și altceva.

Pentru un website cu puține pagini, chiar și mutarea de pe un domeniu pe altul poate fi setată corect într-un timp destul de scurt. Dacă ai în schimb un website cu sute sau mii de pagini… lucrurile stau altfel.

O platformă CMS precum WordPress îți poate face viața mult mai ușoară. Utilizează o extensie ca Simple 301 Redirects. Poți apoi scrie direct sursa și destinația.

Dacă ai multe pagini de redirecționat, poți instala și această extensie pentru a încărca în masă redirecționări utilizând fișiere excel sau text.

simple 301 redirects

Redirecționările prin HTML și JS:

Dacă introduci următorul cod HTML în pagina ta, aceasta va redirecționa către adresa specificată. Numărul din atributul ‘content’ reprezintă secundele după care redirecționarea va avea loc.


<meta http-equiv="Refresh" content="0; url=http://www.exemplu.ro/" />

Există informații contradictorii despre cum văd motoarele de căutare aceste reîmprospătări meta. Varianta cea mai des întâlnită este că dacă timpul de așteptare este 0, motoarele de căutare văd redirecționarea ca 301, iar dacă timpul este mai mare (5 secunde să zicem), redirecționarea va fi văzută ca un fel de 302 sau 307.

Redirecționările pot fi făcute și prin JS. Nu sunt foarte utile, deoarece motoarele de căutare nu le văd ca pe niște redirecționări, iar multe browsere pot avea JS dezactivat. Acestea pot fi utile în schimb pentru a crea ceva interactiv, cum ar fi trimiterea unui utilizator pe altă pagină atunci când prestează o acțiune specifică.

Cam asta însumează totul despre redirecționări. Dacă vor mai fi completări, le voi adăuga ulterior la articol.

Până atunci, te întreb… tu sigur ai 301 de la WWW la non-WWW sau invers? Dar de la HTTP către HTTPS (dacă ai un certificat SSL)?

2 comentarii la „Ce înseamnă 301/302 redirect? Când și cum ar trebui folosite redirecționările?”

  1. Salut,

    Am si eu o problema cu un site. Mi-a aparut eroarea 302, pagina care imi genera cel mai mare numar de vizitatori a disparut. Cum as putea rezolva aceasta problema? Multumesc!

    Răspunde
    • Salut, Marius. 302 nu e chiar o eroare ci o redirecționare. Dacă pagina dă eroare, atunci înseamna că lipsește pagina de destinație.

      De ex, vreau sa redirecționez pagina A către pagina B dar în metoda prin care redirecționez eu specific: Redirect http://pageA.ro to –-. Și nu mai specific destinația.

      Atunci e posibil ca pagina, în browser, să răspundă cu o eroare de acest gen.

      E posibil să fie ceva rău configurat ori în server, ori într-un plugin. E un caz specific. Nu mă pot pronunța fără să aruc o privire.

      Răspunde

Lasă un comentariu

Shares

SEOproject utilizează fişiere de tip cookie pentru a personaliza și îmbunătăți experiența ta pe website. Prin continuarea navigării, confirmi că ești de acord cu termenii și condițiile site-ului, cu politica de confidențialitate precum și cu politica de cookie-uri.