Salt la conținut

Ghid pentru Verificator de redirecționări

Ghid de instrument. Actualizat .

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.

Un lanț de redirecționări sănătos, tipicCererea pornește de la http://example.com, este redirecționată către https://example.com, apoi către https://www.example.com, care răspunde cu 200.http://example.com/301 → https://example.com/ (trecerea la HTTPSpe aceeași gazdă)https://example.com/301 → https://www.example.com/ (se alege gazdapreferată)https://www.example.com/200 OK: pagina finală
Cererea pornește de la http://example.com, este redirecționată către https://example.com, apoi către https://www.example.com, care răspunde cu 200.

Cum folosiți Verificatorul de redirecționări

  1. Deschideți Verificatorul de redirecționări și introduceți un domeniu, de exemplu example.com.
  2. XGM cere de pe serverul său http://example.com, https://example.com, http://www.example.com și https://www.example.com și urmărește fiecare lanț până la zece salturi, inclusiv etichetele meta refresh.
  3. 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.
  4. 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.
  5. Corectați configurația și rulați verificarea din nou de la permalink. Fila Raport complet compară în plus URL-urile finale pentru http:// și https:// ș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

Coduri 3xx folosite pentru redirecționări
CodSemnificațieMetoda la cererea următoareFolosit pentru
301 Moved PermanentlyPermanentClienții pot schimba POST în GETMutări permanente de pagini și de gazde
308 Permanent RedirectPermanentMetoda și corpul sunt păstrateMutări permanente de API-uri și de ținte de formular
302 FoundTemporarClienții pot schimba POST în GETRedirecționări de scurtă durată
307 Temporary RedirectTemporarMetoda și corpul sunt păstrateRedirecționarea temporară a API-urilor
303 See OtherMergeți la altă resursă cu GETÎntotdeauna GETDupă 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

Rezultatele Verificatorului de redirecționări
RezultatSeveritateAcțiune
Nicio redirecționareTrecutURL-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 …TrecutCele 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 diferiteAvertismentAlegeț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 avertismentDouă 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 refreshAvertismentRă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.comInfoNecesar doar pentru înscrierea domeniului gol în lista HSTS preload.
Redirecționări temporare (302/307)InfoFolosiți 301 sau 308 dacă mutarea este permanentă.
A fost detectată o buclă de redirecționareCriticLanțul vizitează același URL de două ori; reparați regulile care se contrazic.
Mai mult de 10 redirecționăriCriticPrea multe salturi; simplificați regulile.
Un salt redirecționează de la https:// la http://CriticNu coborâți niciodată protocolul; trimiteți toate redirecționările către URL-uri HTTPS.
Site-ul se termină pe HTTP simpluAvertismentAdăugați pe server o redirecționare de la HTTP la HTTPS.
… se termină cu HTTP 4xx/5xxCriticLanț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.

nginx: HTTPS și www într-un singur salt pentru fiecare variantă
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

Dacă vreți să înscrieți domeniul în HSTS preload, primul salt trebuie să rămână pe aceeași gazdă (http://example.comhttps://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.

Rezultate așteptate când www este gazda preferată
PornireLanțul așteptat
http://example.com301 → https://example.com → 301 → https://www.example.com (sau direct către www)
http://www.example.com301 → https://www.example.com
https://example.com301 → https://www.example.com
https://www.example.com200

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ă.

Surse