Ghid pentru Verificator de redirecționări
Cum urmărește instrumentul variantele HTTP, HTTPS și www până la pagina finală, ce înseamnă 301, 302, 307 și 308 și cum reparați buclele și lanțurile lungi.
La ce servesc redirecționările
O redirecționare este un răspuns cu un cod de stare 3xx și un antet Location care îi spune clientului unde să meargă în schimb. Browserele îl urmăresc automat, la fel ca roboții motoarelor de căutare și majoritatea bibliotecilor HTTP. Site-urile folosesc redirecționări ca să mute vizitatorii de la HTTP la HTTPS, ca să aleagă un singur nume de gazdă (cu sau fără www) și ca să păstreze funcționale URL-urile vechi după o reproiectare. Pe scurt, o redirecționare este modul standard de a anunța clientul că adresa s-a schimbat.
Fiecare salt costă un drum dus-întors, iar fiecare salt în plus este încă un loc în care ceva poate merge prost. O configurație curată ajunge la pagina finală în una sau două redirecționări. Verificatorul de redirecționări arată întregul lanț, ca să vedeți exact prin ce trec vizitatorii și roboții. Faptul că vedeți fiecare verigă separat vă ajută și să stabiliți din ce strat vine problema: de la CDN, de la serverul web sau din aplicație.
Cum folosiți Verificatorul de redirecționări
- Deschideți Verificatorul de redirecționări și introduceți un domeniu, de exemplu
example.com. - XGM cere de pe serverul său
http://example.com,https://example.com,http://www.example.comșihttps://www.example.comși urmărește fiecare lanț până la zece salturi, inclusiv etichetele meta refresh. - Tabelul arată unde se termină fiecare dintre cele patru variante; lanțurile brute listează fiecare salt cu codul său de stare, antetul
Locationși timpul de răspuns. - Citiți rezultatele: variante care se termină la URL-uri diferite, salturi care ar putea fi eliminate, meta refresh, redirecționări temporare, bucle, coborâri de protocol și erori.
- Corectați configurația și rulați verificarea din nou de la permalink. Fila Raport complet compară în plus URL-urile finale pentru
http://șihttps://și citește eticheta canonical.
Fiecare țintă a unei redirecționări este verificată după aceleași reguli ca URL-ul de pornire, așa că un lanț care duce într-o rețea privată este oprit. Asta protejează XGM și înseamnă totodată că o redirecționare către o gazdă internă apare ca refuzată, nu ca urmărită. Dacă vedeți un astfel de refuz acolo unde nu îl așteptați, tocmai ați găsit adresa internă pe care o scapă o regulă în producție.
Codurile de stare pentru redirecționări
| Cod | Semnificație | Metoda la cererea următoare | Folosit pentru |
|---|---|---|---|
| 301 Moved Permanently | Permanent | Clienții pot schimba POST în GET | Mutări permanente de pagini și de gazde |
| 308 Permanent Redirect | Permanent | Metoda și corpul sunt păstrate | Mutări permanente de API-uri și de ținte de formular |
| 302 Found | Temporar | Clienții pot schimba POST în GET | Redirecționări de scurtă durată |
| 307 Temporary Redirect | Temporar | Metoda și corpul sunt păstrate | Redirecționarea temporară a API-urilor |
| 303 See Other | Mergeți la altă resursă cu GET | Întotdeauna GET | După trimiterea unui formular |
Motoarele de căutare tratează redirecționările permanente ca pe un semnal de a indexa URL-ul țintă în locul celui vechi. O redirecționare temporară păstrează URL-ul vechi drept cel canonic, ceea ce rareori este ce vă doriți pentru trecerea de la HTTP la HTTPS sau pentru o schimbare de domeniu. Instrumentul notează separat redirecționările temporare, ca să decideți dacă sunt intenționate sau doar o soluție provizorie rămasă uitată.
Ce înseamnă rezultatele
| Rezultat | Severitate | Acțiune |
|---|---|---|
| Nicio redirecționare | Trecut | URL-ul răspunde direct. Pentru http:// asta înseamnă că nu există o redirecționare către HTTPS; vedeți rezultatul despre URL-ul final. |
| Toate variantele accesibile se termină la … | Trecut | Cele patru URL-uri de intrare ajung la un singur URL final, fără bucle și fără meta refresh. |
| Variantele se termină la n URL-uri diferite | Avertisment | Alegeți un singur URL final și redirecționați-le pe celelalte către el cu 301. |
| … are nevoie de n salturi pentru a ajunge la … | Info sau avertisment | Două salturi sunt doar o notă, trei sau mai multe un avertisment; redirecționați direct către URL-ul final. Primul salt de la http:// la https:// pe aceeași gazdă nu este socotit niciodată inutil. |
| … redirecționează cu un meta refresh | Avertisment | Răspundeți cu un HTTP 301 în locul unei pagini HTML care trimite mai departe. |
| … nu redirecționează mai întâi către https://example.com | Info | Necesar doar pentru înscrierea domeniului gol în lista HSTS preload. |
| Redirecționări temporare (302/307) | Info | Folosiți 301 sau 308 dacă mutarea este permanentă. |
| A fost detectată o buclă de redirecționare | Critic | Lanțul vizitează același URL de două ori; reparați regulile care se contrazic. |
| Mai mult de 10 redirecționări | Critic | Prea multe salturi; simplificați regulile. |
| Un salt redirecționează de la https:// la http:// | Critic | Nu coborâți niciodată protocolul; trimiteți toate redirecționările către URL-uri HTTPS. |
| Site-ul se termină pe HTTP simplu | Avertisment | Adăugați pe server o redirecționare de la HTTP la HTTPS. |
| … se termină cu HTTP 4xx/5xx | Critic | Lanțul se încheie într-o pagină de eroare; reparați ținta. |
| www.example.com nu se rezolvă | Info | În regulă dacă nu este folosit; altfel adăugați o înregistrare DNS și o redirecționare. |
Repararea problemelor obișnuite
Comprimarea unui lanț lung
Lanțurile cresc atunci când regulile sunt adăugate independent: CDN-ul impune HTTPS, serverul web adaugă www, aplicația adaugă o bară finală și un prefix de limbă. Fiecare regulă redirecționează o dată, iar împreună formează patru salturi. Îndreptați fiecare variantă veche direct către URL-ul final. Strângerea tuturor regulilor într-un singur loc împiedică pe altcineva să adauge mai târziu încă un strat peste ele.
server {
listen 80;
server_name example.com www.example.com;
return 301 https://www.example.com$request_uri;
}
server {
listen 443 ssl;
server_name example.com;
return 301 https://www.example.com$request_uri;
}HSTS preload este excepția
http://example.com → https://example.com), ca domeniul gol să își poată trimite antetul HSTS. Vedeți ghidul HSTS.Ruperea unei bucle
Buclele vin de obicei din dezacordul dintre două straturi. Un caz tipic este un CDN care se conectează la origine prin HTTP, în timp ce originea redirecționează HTTP către HTTPS, iar CDN-ul trimite redirecționarea înapoi la vizitator. Configurați CDN-ul să folosească HTTPS către origine sau faceți originea să aibă încredere în antetul de protocol transmis de CDN. Dacă alegeți a doua cale, acceptați antetul numai pentru cererile venite din intervalele de adrese ale CDN-ului.
Păstrarea căilor și a șirurilor de interogare
Redirecționările care trimit fiecare URL vechi către pagina principală pierd contextul vizitatorului și poziția în rezultatele căutării. Păstrați calea cu $request_uri în nginx sau cu %{REQUEST_URI} în Apache și mapați individual căile schimbate. Când o pagină mutată chiar nu are un corespondent, trimiteți vizitatorul la cea mai apropiată pagină de categorie, nu la pagina principală.
Testați toate cele patru variante
Vizitatorii pot ajunge la patru versiuni ale aceluiași site: http://example.com, http://www.example.com, https://example.com și https://www.example.com. Toate patru ar trebui să se termine la același URL final, în cât mai puține salturi. Dacă verificați doar adresa pe care o scrieți dumneavoastră, le pierdeți pe celelalte, adică exact pe cele folosite de legăturile vechi și de semnele de carte.
| Pornire | Lanțul așteptat |
|---|---|
http://example.com | 301 → https://example.com → 301 → https://www.example.com (sau direct către www) |
http://www.example.com | 301 → https://www.example.com |
https://example.com | 301 → https://www.example.com |
https://www.example.com | 200 |
Rulați verificarea cu example.com și cu www.example.com, ca să acoperiți cele două puncte de pornire HTTP, și folosiți Verificatorul de antete HTTP pentru variantele HTTPS. O nepotrivire, de pildă www care redirecționează către domeniul gol în timp ce domeniul gol redirecționează către www, este bucla clasică. În acest caz, jumătate din reparație înseamnă să găsiți în ce straturi sunt definite cele două reguli.
Redirecționările și motoarele de căutare
Roboții urmăresc redirecționările, dar, ca și browserele, preferă lanțurile scurte. Fiecare salt în plus întârzie descoperirea și îi poate face pe roboți să renunțe la lanțurile foarte lungi. După mutarea unui site, păstrați redirecționările permanente multă vreme, pentru că legăturile de pe alte site-uri și semnele de carte continuă ani la rând să trimită către URL-urile vechi. Dacă le scoateți după un an, transformați toate acele legături în pagini 404.
- Puneți legături interne direct către URL-urile finale, nu către adrese care redirecționează.
- Faceți ca elementul canonical de pe fiecare pagină să corespundă URL-ului final.
- Actualizați sitemap-urile ca să listeze numai URL-uri finale.
- Folosiți lista de verificare pentru migrarea domeniului când mutați un domeniu întreg.
Întrebări frecvente
De ce pornește verificarea de la http://?
Ca redirecționarea de la HTTP la HTTPS să facă parte din rezultat. Mulți vizitatori ajung încă prin legături vechi sau prin adrese tastate fără schemă.
Este mai bun un 301 sau un 308?
Pentru pagini web merg amândouă. 308 garantează păstrarea metodei cererii, ceea ce contează pentru API-uri și pentru formularele care trimit POST; 301 este alegerea tradițională pentru mutarea paginilor.
Câte redirecționări sunt prea multe?
Ideal este un singur salt, sau două atunci când primul duce de la http:// la https:// pe aceeași gazdă. Instrumentul avertizează la trei și se oprește după zece, cam acolo unde renunță și clienții, și roboții.
Redirecționările dăunează SEO-ului?
Redirecționările permanente transferă cele mai multe semnale către țintă. Problemele apar din lanțurile lungi, din redirecționările temporare folosite pentru mutări permanente și din redirecționările către pagini fără legătură.
Poate instrumentul să vadă redirecționări prin JavaScript sau meta refresh?
Etichetele meta refresh, da: primii 64 KB ai unei pagini HTML sunt citiți, iar un refresh cu un URL este urmărit ca salt și semnalat. Redirecționările prin JavaScript, nu; pentru ele este nevoie de un browser care execută pagina.
De ce este refuzată ținta unei redirecționări?
Țintele sunt verificate după aceleași reguli privind adresele publice ca URL-ul de pornire. Un lanț care duce către o adresă privată sau internă este oprit.
Ar trebui ca paginile HTTPS să redirecționeze vreodată către HTTP?
Nu. O coborâre de protocol expune vizitatorul la a doua cerere și intră în conflict cu HSTS. Instrumentul o marchează drept critică.