Variabilele din redirecționarea adresei 301. Respinge un anumit fișier. htaccess - bare oblice suplimentare după numele domeniului


Dacă doriți să configurați corect o redirecționare 301 pe site-ul dvs., atunci SeoProfy s-a pregătit ghid pas cu pas, care spune și arată toate detaliile și nuanțele.

Ghidul de redirecționare 301 are două părți:
- Un articol cu ​​exemple de cod și manualul în sine (dacă aveți nevoie imediat de un exemplu de cod, este mai bine să defilați imediat prin infografic)
- Infografice vizuale detaliate

Redirecționarea 301 este importantă pentru promovarea căutării si in acest manual veți găsi răspunsuri la cele mai elementare întrebări despre cum să aplicați corect o redirecționare pentru diferite situații.

Ce este o redirecționare?

O redirecționare este o modalitate de a redirecționa utilizatorii și motoarele de căutare către o adresă URL diferită de cea pe care au solicitat-o ​​inițial. Mai jos sunt descrieri ale unora dintre cele mai frecvent utilizate tipuri de redirecționări.

301 mutat permanent

O redirecționare 301 este o redirecționare permanentă care transferă aproximativ 90-99% din sucul dvs. de link. Această redirecționare indică faptul că pagina s-a mutat la o nouă adresă și că vechea adresă URL ar trebui considerată învechită.

302 găsit (HTTP 1.1) / Mutat temporar (HTTP 1.0)

Redirecționarea 302 este o redirecționare temporară. Această redirecționare trece 0% din sucul dvs. de link și nu ar trebui folosită în majoritatea cazurilor. Pe acest moment Internetul folosește protocolul HTTP, care determină modul în care sunt gestionate adresele URL. În două versiuni ale acestui protocol, acest răspuns server are statut diferit raspuns:

HTTP 1.0: răspunsul serverului 302 este „Mutat temporar” - documentul curent a fost mutat temporar la o adresă URL diferită.

HTTP 1.1: răspunsul serverului s-a schimbat în „Găsit” - documentul curent a fost găsit.

307 Mutat temporar (numai HTTP 1.1)

Redirecționarea 307 în protocolul HTTP 1.1 a devenit receptorul redirecționării 302. În timp ce principalii roboți de căutare vor începe să-l trateze ca pe un 302, în aproape toate cazurile, cel mai bine este să utilizați 301. Excepția de la această regulă este atunci când conținutul s-a mutat într-adevăr doar temporar (de exemplu, în timpul întreținere) și motoarele de căutare înțeleg deja că serverul dvs. este compatibil HTTP 1.1. Dar, deoarece este aproape imposibil de spus dacă motoarele de căutare au înțeles cu adevărat că serverul dvs. este compatibil cu acest nou protocol, cel mai bine este să utilizați o redirecționare 302 pentru conținutul care a fost mutat temporar.

Alte tipuri de redirecționări

Există și alte tipuri de redirecționări: Meta Refresh sau cu folosind javascript– care sunt efectuate la nivel de pagină, nu la nivel de server. Iată cum arată o redirecționare tipică Meta Refresh:

Dar, este recomandabil să folosiți aceste redirecționări extrem de rar, deoarece spammerii și portarii sunt foarte pasionați să le abuzeze. În plus, atunci când utilizați aceste redirecționări, sucul link-ului aproape nu este transferat.

Exemple de utilizare

Canonizarea domeniului site-ului web sau cum să lipiți un domeniu împreună?

Pentru a îmbina un domeniu de la www la non-www:
RewriteCond %(HTTP_HOST) ^www.site\.com$
RewriteRule ^(.*)$ http://site.com/$1

Pentru lipire de la fără www la cu www:
RewriteCond %(HTTP_HOST) ^site\.com$

Pentru a alege corect care dintre opțiuni să lipiți, este recomandabil să vă uitați la:

Care dintre aceste opțiuni este mai în top
- pentru ce varianta mai multe paginiîn index

Canonizarea barei oblice de la sfârșitul adresei URL

Când proiectați un site, este important să decideți asupra unui format folosind o bară oblică la sfârșitul adresei URL, deoarece pentru motoarele de căutare există 2 adrese URL de forma:

http://www.site.com/cat1/

http://www.site.com/cat1

sunt diferite. Prin urmare, după ce te-ai decis exact cum îl vei avea pe site, atunci trebuie să înregistrezi următoarele redirecționări

Pentru a elimina bara oblică finală:
RewriteCond %(HTTP_HOST) (.*)
RewriteCond %(REQUEST_URI) /$
RewriteRule ^(.*)(/)$ $1

Pentru a adăuga o bară oblică la sfârșit bara de adresa:
RewriteCond %(REQUEST_FILENAME) !-f
RewriteCond %(REQUEST_URI) !(.*)/$
RewriteRule ^(.*[^/])$ $1/

Redirecționarea unei pagini către o altă pagină:
Redirecționare 301 /oldpage.html http://www.site.com/newpage.html

Redirecționare pentru duplicate pagina principala

Acest cod asigură că orice adresă pagina principala, care include mai multe versiuni ale numelui paginii link-uri directe, cum ar fi default.htm sau index.html, vor fi redirecționate către pagina de pornire canonică, http://www.site.com:
RewriteCond %(THE_REQUEST) ^(3,9)\ /([^/]+/)*(implicit|index|principal)\.(html|php|htm)\ HTTP/
RewriteRule ^(([^/]+/)*)(implicit|principal|index)\.(html|php|htm)$ http://www.site.com/$1

Redirecționare director

Dacă structura dvs. de director este afișată în url, atunci dacă re-catalogați adresa dvs. URL se va schimba în consecință. În acest caz, trebuie să înregistrați următoarea redirecționare:
RewriteRule ^(.*)/vechiul-catalog/(.*)$ 1/nou-catalog/$2

Dar, dacă adresa URL a vechiului catalog începe imediat după domeniu: www.site.com/old-catalog/, atunci trebuie să utilizați următorul cod
RewriteRule old-catalog /(.*) / old-catalog /$1

Redirecționați când schimbați extensia fișierului

Dacă te-ai mutat brusc pe o altă platformă sau CMS și, în același timp, doar extensia adreselor URL s-a schimbat, atunci în acest caz te va ajuta următoarea redirecționare:
RedirectMatch 301 (.*)\.php$ http://www.site.com$1.html

Exemple de utilizare pentru protejarea unui site de mai multe pagini duplicate

Redirecționează de la domenii diferiteși subdomenii

Dacă ați achiziționat mai multe domenii în diferite zone de domeniu sau a dezvoltat un nou site și l-a agățat pe un subdomeniu și ați uitat să închideți acest subdomeniu de la indexare, apoi trebuie să redirecționați către domeniul principal:
RewriteRule ^(.*)$ http://www.site.com/$1

Astfel, toate domeniile precum www.site.ru, www.site.net, test.site.com vor fi redirecționate către www.site.com.

Cum să eliminați mai multe bare oblice/liniute dintr-o adresă URL

Uneori, întâmplător, în adresa URL pot apărea mai multe bare oblice, de exemplu, www.site.com/catalog////page-1.html. În acestea, trebuie să faceți o redirecționare 301 către o pagină cu un slasher www.site.com/catalog/page-1.html:
RewriteCond %(REQUEST_URI) ^(.*)//(.*)$
RewriteRule . %1/%2

În mod similar, puteți lipi mai multe cratime într-una singură în adresa URL: de la www.site.com/catalog/page-1.html la www.site.com/catalog/page-1.html:
RewriteCond %(REQUEST_URI) ^(.*)--(.*)$
RewriteRule . %1-%2

Cum să redirecționați de la orice adresă URL la o adresă URL numai cu litere mici

Deoarece motoarele de căutare țin cont de cazul literelor, atunci când proiectează un site este de dorit ca toate adresele URL să fie cu litere mici. Cu toate acestea, dacă inițial ați ratat acest moment, atunci cel mai bine este să utilizați următorul cod pentru a redirecționa la nivel de script php:
$lowerURI=strtolower($_SERVER["REQUEST_URI"]);
if($_SERVER["REQUEST_URI"]!=$URI inferior)
{
antet ("HTTP/1.1 301 Mutat permanent");
header("Locație: http://" . $_SERVER["HTTP_HOST"] . $lowerURI);
Ieșire();
}

Cum se trece la un domeniu nou? Strategia optimă de redirecționare 301

Strategia optimă pentru trecerea la un nou domeniu, ținând cont de dorințele celor 2 principale motoare de căutare Yandex și Google, este:

Pagina 301 redirecționează de la vechiul site la cel nou.
- în același timp, nu facem o redirecționare pentru fișierul robots.txt, ci scriem directiva Host în noul domeniu din acesta.

Apoi codul pentru configurarea unei redirecționări pe vechiul site ar putea avea următoarea vedere:
RewriteCond %(REQUEST_FILENAME) robots.txt$
RewriteRule ^([^/]+) $1 [L]
RewriteCond %(HTTP_HOST) !^www\.site\.com
RewriteRule ^(.*)$ http://www.site.com/$1
și fișierul robots.txt pentru vechiul site:
Agent utilizator: Yandex
Nu permiteți:
Gazdă: newsite.com

Generarea de redirecționări 301

Dacă nu sunteți foarte priceput din punct de vedere tehnic, atunci puteți utiliza serviciile pentru a genera redirecționări de bază:

Pe astfel de servicii, puteți doar să vă înlocuiți propriile date și să le primiți imediat cod terminat pentru redirecționări între domenii, directoare sau adrese URL.

Cum se verifică redirecționarea 301

După fiecare modificare a logicii redirecționării 301, este necesar să verificați performanța site-ului:

Site-ul funcționează deloc: accesați pagina principală)

Parcurgeți secțiunile și paginile principale ale site-ului

De asemenea, pentru o verificare mai amănunțită a procesării redirecționării, puteți utiliza următoarele servicii:

Cum și când să utilizați redirecționarea 301 vs Canonical

Deși există câteva nuanțe, Google oferă câteva reguli clare pentru ca acesta să înțeleagă exact ce vrem să spunem. Într-o situație foarte simplă, așa înțeleg motoarele de căutare aceste instrucțiuni:

301 - Bună motoarele de căutare: pagina mea nu mai este aici și s-a mutat permanent la pagina noua. Sterge, te rog pagina veche din index și treceți ponderea acestuia către pagina nouă.

Canonic- Hei Motoare de căutare (deci pentru majoritatea motoarelor de căutare): Am mai multe versiuni ale acestei pagini (sau conținut), vă rugăm să indexați doar versiunea paginii care are canonic pe ea. Voi păstra celelalte pagini disponibile pentru ca oamenii să le vadă, dar, Motor de căutare, nu le includeți în indexul dvs. și vă rugăm să treceți ponderea paginii mele preferate.

Când este cel mai bun moment pentru a utiliza redirecționările 301?

Implicit este metoda preferată

Pentru pagini: dacă pagina a fost mutată definitiv sau a fost înlocuită de adresa noua

Pentru domenii: dacă site-ul s-a mutat pe un domeniu nou (vânzarea site-ului, rebranding etc.)

Pentru 404 pagini și conținut care și-a pierdut relevanța (sub rezerva conținutului relevant). De exemplu, dacă un produs este eliminat dintr-un anumit catalog, atunci puteți redirecționa către un produs similar sau către categoria URL căreia i-a aparținut acest produs.

Când este mai bine să folosiți rel="canonical"?

Când redirecționările 301 nu pot fi implementate sau vor dura prea mult

Paginile cu mai multe adrese URL diferite sunt în esență o singură pagină (de exemplu, sortarea directoarelor, urmărirea link-uri afiliate, …)

Între domenii, atunci când ambele site-uri sunt similare, dar conținut similar trebuie lăsat pe fiecare dintre domenii.

Total

Erori la utilizarea redirecționărilor

Orice redirecționare în mai mulți pași. Dacă este posibil, este recomandabil să nu permiteți redirecționări în mai mulți pași, astfel încât să funcționeze mai rapid și să transfere greutatea maximă a link-ului.

Nu folosiți tipul potrivit redirecționări. Atunci când alegeți tipul de redirecționare, este necesar să țineți cont de nuanțele fiecăruia dintre ele.

Implementarea redirecționărilor interne fără modificarea legăturilor către adrese noi. După implementarea tuturor redirecționărilor pe site-ul dvs., trebuie să verificați dacă fiecare pagină a site-ului dvs. are deja linkuri către una nouă și că nu aveți legături în interiorul site-ului către paginile din care are loc redirecționarea.

Redirecționați către pagini/conținut irelevante. Este întotdeauna indicat să puneți o redirecționare pe pagina cea mai relevantă: fie către o pagină similară, fie către o ramură a directorului/secțiunii căreia îi aparținea această pagină.

Nu alegerea potrivita folosind rel=canonic vs 301 redirecționare. Vezi deasupra.

O redirecționare al cărei punct final nu este pagina a 200-a. Redirecționarea ar trebui să conducă la o pagină care funcționează corect cu un răspuns de 200 de server. În caz contrar, este recomandabil să nu doborâți roboții de căutare și să dați un răspuns 404.

Redirecționare Robots.txt. Deoarece, de exemplu, trebuie să scrieți directiva Gazdă pentru Yandex atunci când îmbinați domenii.

Să aruncăm o privire la infografic:

Descărcați infografic.

Se întâmplă ca o pagină web sau un întreg site să se mute permanent la o nouă adresă URL. În acest caz, trebuie să înregistrați o redirecționare 301. Ce este asta? O redirecționare 301 este o redirecționare a vizitatorilor și a crawlerelor de la o adresă URL la alta.

Redirecționările 301 sunt de obicei prescrise în următoarele cazuri:

  1. la lipirea oglinzilor site-ului cu www și fără www;
  2. la mutarea site-ului pe un domeniu nou;
  3. la transferul site-ului pe un nou CMS;
  4. la schimbarea adreselor URL ale paginilor;
  5. la eliminarea paginilor duplicate ale site-ului.

În mod surprinzător, ultimul caz sunt considerate extrem de rar, deși la eliminarea duplicatelor, o redirecționare 301 ajută ca nimeni alta, cu excepția cazului în care, desigur, doriți să alegeți codul CMS-ului în sine. Și dacă faci Optimizare motor de căutare site-uri, atunci problema prezenței sau absenței duplicatelor pe paginile site-ului ar trebui să vă îngrijoreze cu siguranță.

O redirecționare 301 este grozavă prin faptul că trimite pr-ul paginii și site-ului și, prin urmare, sucul link-ului, către noua adresă URL. Dar, pe de altă parte, nu transferă sancțiunile impuse vechiului domeniu de motoarele de căutare, ceea ce este de două ori plăcut.

Deci, ne-am dat seama ce este o redirecționare 301. Să mergem direct la cum să o facem.

Cum se configurează o redirecționare 301

Pentru început, voi enumera operatori de expresii regulate, care va fi util atunci când configurați redirecționări 301.

  • ^ — restricție la stânga;
  • $ — restricție pe dreapta;
  • * - 0 sau mai multe caractere;
  • + - 1 sau mai multe caractere;
  • . - orice personaj;
  • \ - ecranare;
  • () este o variabilă;
  • - intervalul de valori.

Exista diferite căi cum se face o redirecționare 301. Personal, ca mulți alți webmasteri, îl configurez prin fișierul .htaccess. Acest fișier aproape fiecare are CMS popular, și se află în rădăcina site-ului dvs. Puteți descărca .htaccess folosind clientul FileZila:

Fișierul .htaccess trebuie deschis cu un editor de text, cum ar fi Notepad++. Pe lângă toate codurile de redirecționare, ar trebui să scrieți următoarea linie:

Rescrierea motorului pornit

LA in caz contrar redirecționările nu vor funcționa.

Mulți cred în mod eronat că vă puteți descurca fără o redirecționare 301. Vă pot spune că este esențial atunci când optimizați aproape fiecare site web. De exemplu, absolut fiecare site este disponibil inițial la două adrese - cu www și fără www. Problema este că acest lucru duce la estomparea masei de referință. O să explic de ce. Alte site-uri nu le pasă care dintre cele două ortografii ale domeniului tău este cea principală. Dacă vă pun linkuri, atunci adresa poate prescrie atât o variantă cu www, cât și fără www. Masa de linkuri va fi în cele din urmă neclară, iar motoarele de căutare vor indexa oricum o singură opțiune. Cândva, ei le percepeau în general ca site-uri complet diferite.

Pentru ca site-ul dvs. să crească în mod activ în poziții și să nu piardă masa de linkuri, trebuie să înregistrați 301 redirecționări în fișierul .htaccess.

www la non-www:

RewriteCond %(HTTP_HOST) ^www.site.ru$ RewriteRule (.*) http://site.ru/$1

De la fără www la www:

RewriteCond %(HTTP_HOST) ^site.ru$ RewriteRule (.*) http://www.site.ru/$1

Dacă codurile de redirecționare de mai sus nu funcționează, atunci utilizați următoarea intrare pentru a redirecționa de la www la non-www:

RewriteCond %(HTTP_HOST) ^www\.(.*)$ RewriteRule ^(.*)$ http://%1/$1

Amintiți-vă că în loc de site.ru trebuie să înregistrați domeniul site-ului dvs. După pașii de mai sus, salvați fișierul .htaccess și încărcați-l pe server, înlocuind fișierul vechi cu acesta.

Redirecționările 301 mă ajută foarte des atunci când mă confrunt cu pagini duplicat de site. Și fac asta aproape de fiecare dată când o fac. optimizare internă următorul site. Personal, nu am întâlnit încă un CMS care să nu genereze duplicate. Deși dacă vorbim de un site mic, atunci există și excepții. Habar nu ai despre ce vorbesc acum? Atunci abonați-vă la, în curând voi scrie un articol întreg despre duplicate.

Se întâmplă ca o pagină de site să fie disponibilă imediat la două adrese URL ale formularului: http://site.ru/category/page.html și http://site.ru/page.html. LA acest caz în cauză despre duplicate. De exemplu, dorim ca pagina să fie disponibilă numai la adresa de al doilea fel. În acest caz, pentru a scăpa de duplicat, trebuie să înregistrați următoarea redirecționare:

RewriteRule ^(.*)category/page.html$ http://site.ru/page.html

Acum imaginați-vă situația în care ați schimbat adresa paginii site-ului. Pentru ce? Da, pot fi multe motive diferite. De exemplu, recent am făcut acest lucru pentru a scurta lungimea URL-ului. Pentru a face acest lucru, aveți nevoie de următoarea redirecționare:

RewriteRule ^(.*)old-page.html$ http://site.ru/new-page.html

Dacă codul de redirecționare de mai sus nu funcționează, încercați următoarele:

RewriteRule ^old-page.html$ http://site.ru/new-page.html

Sau cam asa:

RewriteRule ^old-page.html$ /new-page.html

Dacă trebuie să faci redirecționează de la vechiul URL în chirilic la o nouă adresă URL (cel puțin în chirilică, chiar și în latină), atunci intrarea va arăta astfel:

RewriteRule ^old-url.html /new-page.html

După cum puteți vedea, mai sus am luat în considerare redirecționează de la o adresă URL la alta în cadrul aceluiași site. Pentru a face acest lucru, am folosit mod_rewrite și directiva RewriteRule. Dar poți face mai mult varianta simpla redirecționați intrările utilizând directiva Redirecționare:

Redirecționare 301 /old-page.html http://site.ru/new-page.html

Ambele variante ale introducerii de redirecționare sunt corecte și trec greutatea linkului și alți indicatori. Ele diferă doar prin faptul că folosesc directive de la module diferite și, prin urmare, au o sintaxă diferită. Când utilizați directiva Redirect, scrieți mai întâi adresa veche pagini fără http://site.ru, iar apoi noua adresă complet.

Este posibil să aveți nevoie de o redirecționare 301 când mutați un site din domeniul vechi la nou:

RewriteEngine on RewriteCond %(HTTP_HOST) ^www\.old-domen\.ru$ RewriteRule ^(.*)$ http://new-domen.ru/$1 RewriteCond %(HTTP_HOST) ^old-domen\.ru$ RewriteRule ^(.*)$ http://new-domen.ru/$1

O redirecționare similară folosind directiva Redirecționare:

Redirecționare 301 / http://new-domain.ru

Puteți scrie o redirecționare 301 URL cu un parametru către orice altă pagină de pe site, de exemplu, cea principală:

RewriteCond %(QUERY_STRING) ^cPath=373_703 RewriteRule ^index\.php$ http://site.ru/?

Exemplul de mai sus este din practica mea când făceam optimizarea internă a unui site Joomla care avea o cantitate mare diverse duplicate.

Redirecţiona de la site.ru/index.php la site.ru(scapam de duplicatul paginii principale):

RewriteCond %(THE_REQUEST) ^(3,9)\ /index\.php\ HTTP/ RewriteRule ^index\.php$ http://site.ru/

Ca urmare a prezenței pe pagina principală a site-ului a unui duplicat al formularului site.ru/index.php, pot apărea duplicate similare pe paginile interne ale site-ului, de exemplu, site.ru/index.php/ page.html este un duplicat al paginii site.ru/page.html . În acest caz, toate duplicatele de acest tip pot fi eliminate simultan folosind o redirecționare:

RewriteRule ^index\.php/(.*)$ /$1

Dacă pagina de pornire a site-ului dvs. are duplicat site.ru/main.html, atunci ar trebui să scrieți următoarea redirecționare:

RewriteEngine On RewriteCond %(THE_REQUEST) ^(3,9)\ /main\.html\ HTTP/ RewriteRule ^main\.html$ http://your-sait.ru/

sau aceasta optiune:

Redirecționare 301 /main.html http://site.ru/

Acum imaginați-vă o situație în care doriți totul pagini interne site-ul erau accesibile doar la adresa cu .html la sfârșit. Atunci ar trebui să scrieți următoarea redirecționare:

RewriteCond %(REQUEST_URI) (.*/[^/.]+)($|\?) RewriteRule .* %1.html RewriteRule ^(.*)/$ /$1.html

Dacă, dimpotrivă, vrei toate interne paginile site-ului aveau o adresă fără .html la sfârșit, adică o adresă a formularului site.ru/page, atunci ar trebui să înregistrați o redirecționare:

RewriteCond %(REQUEST_URI) \.html$ RewriteRule ^(.*)\.html$ /$1

Dacă există o sarcină de redirecționare de la adrese URL cu .htm la sfârșit până la adrese cu .html la sfârșit, atunci următoarea intrare ar trebui adăugată la .htaccess:

RewriteBase / RewriteRule ^(.*)\.htm$ $1.html

Poate fi necesar să faceți redirecționări de la adrese URL fără sufixe la adrese URL cu o bară oblică finală. Apoi, următoarele ar trebui să fie scrise în fișierul .htaccess:

RewriteCond %(REQUEST_FILENAME) !-f RewriteCond %(REQUEST_URI) !\..+$ RewriteCond %(REQUEST_URI) !/$ RewriteRule (.*) http://www.site.ru/$1/

Dacă sarcina este complet opusă și sunt necesare redirecționări de la adrese URL cu o bară oblică la sfârșit la adrese URL fără sufix apoi adauga urmatorul cod:

RewriteCond %(REQUEST_FILENAME) !-d RewriteCond %(REQUEST_URI) ^(.+)/$ RewriteRule ^(.+)/$ /$1

Pentru a scrie o redirecționare dintr-o adresă URL cu un parametru cum ar fi http://site.ru/?page_id=111, adăugați următoarele la .htaccess:

RewriteCond %(QUERY_STRING) page_id=111 RewriteRule ^ http://site.ru/new-page/

De asemenea, destul de recent am dat peste un site pentru care a fost obținut un certificat de securitate și a fost necesar să mă înregistrez redirecționare de la http la https:

RewriteCond %(HTTPS) off RewriteRule ^(.*)$ https://%(HTTP_HOST)%(REQUEST_URI)

Acum știi cum să scrii o redirecționare 301. Desigur, există și alte cazuri când este nevoie, dar am enumerat cele mai populare. După orice sarcină legată de optimizarea site-ului, vă recomand să verificați erorile.

Cum se verifică redirecționarea 301

Redirecționările 301 sunt foarte ușor de verificat. Tot ce aveți nevoie este să introduceți adresa veche a paginii în linia browserului. Dacă apare o redirecționare către o nouă adresă URL, atunci cel mai probabil redirecționarea este corectă. În unele cazuri, înainte de a verifica redirecționarea 301, trebuie să ștergeți memoria cache a browserului. Prin urmare, dacă redirecționarea nu are loc, este posibil să fi uitat să o faceți.

Pentru a vă asigura în sfârșit că redirecționarea 301 este configurată corect, vă recomand și să verificați răspunsul serverului cu servicii speciale, de exemplu, 2ip.ru, sau și mai bine, folosește programul Netpeak Spider, cu care poți afla o mulțime de alte informații despre site. Răspunsul serverului ar trebui să fie „301” sau „301 MovedPermanently -> 200 OK”.

Sper că acum înțelegeți cum să configurați corect o redirecționare 301. Mai sus am dat un număr suficient diverse exemple. Dacă un tip de postare de redirecționare nu funcționează, cel mai probabil va funcționa altul. Încerca. Ceea ce determină ce intrare de redirecționare va funcționa, nu pot spune cu siguranță, deoarece nu sunt programator. Poate din CMS sau setările serverului. Locația codului de redirecționare în fișierul .htaccess afectează, de asemenea, uneori. Dacă redirecționarea nu funcționează, încercați să-i mutați codul puțin mai sus în fișier. Asta e tot pentru mine. Mult succes in optimizarea site-ului!

Bună ziua tuturor!

Tema trecutului. Am vorbit pe scurt despre cele mai multe ale lui Puncte importanteși a menționat mai multe funcții pe care le îndeplinește chiar acest fișier. O astfel de caracteristică este redirecționarea automată a unui vizitator de la o adresă URL la alta, cunoscută și sub numele de redirecționare 301.

Ce este o redirecționare 301?

După cum am spus, o redirecționare 301 este o redirecționare automată care vă permite să redirecționați un vizitator sau robot de căutare de la o pagină a site-ului la alta sau de la un domeniu la altul. Cu toate acestea, toate așa-numitele puzomerki ( , greutatea paginii) sunt transferate la adresa URL la care are loc redirecționarea.

Astfel, obținem un adevărat salvator atunci când mutăm un site pe alt domeniu și alte situații, despre care vom discuta mai jos. În acest caz, nu vom pierde practic nimic.

Exemplu. Anterior, blogul Context-UP era localizat la adresa URL: http://blog.site (printre voi probabil că sunt cei care au găsit aceste ori), apoi am vrut ca site-ul să fie pe domeniul de nivel al doilea, adică , . Pentru a-mi îndeplini dorința, a trebuit să transfer tot conținutul blogului într-un alt director (dosar) de pe găzduire, apoi în panou, a, specifica un nou domeniu pentru ca roboții să înceapă indexarea noului adrese de blog. Abia după toate acestea, am configurat o redirecționare către...

Acum sper că înțelegeți ce este o redirecționare 301.

Cum se configurează o redirecționare 301 cu htaccess?

Există mai multe moduri de a implementa o redirecționare, dar cea mai sigură și mai ușoară este o redirecționare 301 în .htaccess.

Deci, pentru ca fișierul și respectiv redirecționarea să funcționeze, este necesar să activați așa-numitele module. În scopul nostru, putem folosi două:

  1. Mod_rewrite;
  2. mod_alias.

Prima opțiune este cea mai preferată, deoarece atunci când o utilizați, nu va trebui să înregistrați fiecare pagină URL separat, ci doar să utilizați comenzi speciale(sunt mai jos), datorită cărora va avea loc redirecționarea.

Noi, adică clienti simpli furnizorii de găzduire pot doar să se activeze acest modul pentru directorul dvs. cu site-ul prin fișierul .htaccess. Acest lucru se face simplu, doar introduceți linia din fișierul menționat anterior:

Rescrierea motorului pornit

Acest modul va funcționa numai dacă este conectat la Server web Apache. Așa că vă rugăm să verificați cu administratorii dvs.

Ca parte a acestui tutorial, vreau să analizez mai multe situații în care trebuie să setăm o redirecționare 301:

  1. Dacă vă mutați de la un domeniu la altul;
  2. Dacă site-ul dvs. este disponibil cu www și fără www;
  3. DIN protocol http pe https;
  4. De la o pagină la alta;
  5. Din fișierul index.html/php la pagina principală.

Să mergem în ordine.

Mutarea la alt domeniu

În cazul în care decideți să vă mutați pe alt domeniu, atunci trebuie să scrieți următoarea comandă în fișierul de configurare suplimentar .htaccess:

RewriteEngine On RewriteCond %(HTTP_HOST) old-domen.ru RewriteRule (.*) http: //new-domen.ru/$1

Redirecționare 301 de la www la URL fără www și invers

Un robot de căutare este un lucru complicat, așa că atunci când lucrează cu un site, un webmaster trebuie să țină cont de multe nuanțe. De exemplu, pentru un motor de căutare, un site care este disponibil la adresa cu www (www.site.ru) și fără tridable (site.ru) este împărțit în două resurse web complet identice, duplicând reciproc.

Din acest motiv, orice site ar trebui să fie accesibil doar la o singură adresă: fie cu sau fără www. În caz contrar, poziția site-ului nu va crește.

Redirecționare de la www.site.ru la site.ru:

Redirecționare de la site.ru la www.site.ru:

RewriteEngine On RewriteCond %(HTTP_HOST) ^www\.(.*) RewriteRule ^(.*)$ http://%1/$1

De la http la https

Utilizați acest cod pentru a redirecționa către protocolul https securizat:

RewriteCond %(HTTPS) off RewriteRule ^(.*)$ https: //%(HTTP_HOST)%(REQUEST_URI)

De la o pagină de site la alta

Se întâmplă adesea să fie nevoie să redirecționați vizitatorii site-ului și roboții de căutare de la o pagină la alta. În acest caz, este suficient să scrieți următorul cod în htaccess:

Redirecționare 301 /page1..html

La un moment dat, trebuia să fac o astfel de redirecționare 301 dintr-o pagină care este generată CMS WordPress, la cea principală, deoarece primul a duplicat ceea ce era pe al doilea.

De la index.html sau index.php la root (slash)

Inițial, pe aproape toate site-urile, pagina principală este disponibilă la două adrese URL: http://site.ru/index.php și http://site.ru/. Acest lucru nu este corect, deoarece conținutul paginii principale este duplicat și PS va începe să pesimizeze site-ul în rezultatele căutării (coborâți site-ul în mod intenționat).

Pentru a evita acest lucru, trebuie să scrieți următoarele:

Dacă doriți să redirecționați index.html

RewriteCond %(THE_REQUEST) ^(3,9)\ /index\.html\ HTTP/ RewriteRule ^index\.html$ http: //site/

Dacă doriți să redirecționați de la index.php

RewriteCond %(THE_REQUEST) ^(3,9)\ /index\.php\ HTTP/ RewriteRule ^index\.php$ http: //site/

Utilizare materialul dat, ca o foaie de cheat, dintr-o dată ai nevoie de ea. Doar cât să copiezi codul doritși lipiți-l în .htaccess.

Ei bine, asta e tot, dragi prieteni!

Nu uitați să vă abonați la actualizările blogului și să distribuiți link-uri către lecții pe rețelele sociale.

Inainte de Ne vedem în curând!

Articolul anterior
Articolul următor

Atâta timp cât ai acces la directorul site-ului tău de pe server, astfel de acțiuni nu vor fi dificile. Să presupunem că site-ul tău rulează pe serverul web Apache (ca majoritatea site-urilor), așa că hai să vorbim puțin despre partea tehnică a implementării redirecționărilor 301 în Apache.

Mai întâi o mică teorie

În ceea ce privește site-urile, o redirecționare este o modalitate de redirecționare automată Utilizator final de la un URL la altul. Deși din punct de vedere tehnic există mai multe modalități de a efectua o redirecționare, pentru sarcinile de optimizare a motoarelor de căutare (SEO), vă recomandăm să utilizați o redirecționare permanentă 301 HTTP.

Spre deosebire de redirecționarea temporară HTTP 302 implicită, 301 indică faptul că vechiul URL ancorat nu mai este utilizat (în timp ce 302 indică faptul că cel vechi este temporar neutilizat, dar ar trebui să reapară în viitor).

Diferența dintre 301 și 302 este deosebit de importantă atunci când accesați cu crawlere un site cu motoarele de căutare. Când crawler-ul motorului de căutare găsește un link către site-ul dvs. care este permanent setat pentru redirecționare, serverul web interacționează cu codul de stare 301 și apoi redirecționează utilizatorul către noua adresă URL. Motoarele de căutare nu numai că acceptă redirecționarea către noua adresă URL, ci și transferă valoarea valorii paginii de la vechea adresă URL la noua pagină de redirecționare (aceasta este a doua caracteristică a acestui proces, care este foarte importantă pentru Optimizare SEO, care nu se poate face folosind 302).

În toate exemplele, domeniul acestui site este indicat, nu uitați să îl înlocuiți cu adresa site-ului dvs.

Comparând 301 redirecționări și canonical rel="canonical"

De exemplu:

Scopul etichetei rel=canonic este de a spune motorului de căutare o singură adresă întreagă a conținutului paginii. Acest lucru este foarte util atunci când un site utilizează variabile de atribute dinamice pentru adrese URL. Adresele URL dinamice pot ajuta la indexarea mai multor versiuni URL pentru fiecare pagină separată, care este exprimat în (și motoarele de căutare pur și simplu urăsc asta!)

Deși utilizarea unei etichete rel=canonical este utilă pentru o pagină de site, nu este un înlocuitor de încredere pentru o redirecționare 301. Există mai multe motive pentru aceasta:

Eticheta rel=canonic este încă în considerare motoare de căutare ca jumătăți de indicii, și nu ca directive specifice pentru execuție. În timp ce o redirecționare 301 este percepută ca instructiune specifica. Și în sfârșit, spre deosebire de redirecționarea 301, care poate fi configurată într-un singur fișier pentru întregul site, va trebui inserat codul etichetei rel=canonic pe fiecare pagină.

Toate acestea ne spun că folosirea etichetelor rel=canonical poate fi utilă atunci când redirecționați paginile blogului (desigur, dacă aveți acces la codul acestuia și pentru a insera în pagini etichetele module necesare). La urma urmei, folosirea 301s poate însemna pierderea paginilor originale și a comentariilor asociate acestora, legături sociale, care au propriile lor semnificații în SEO.

Vă recomandăm să luați în considerare utilizarea etichetei rel=canonical pentru a minimiza duplicarea conținutului indexat. Indiferent motive standard reatribuirea funcţiilor şi valorilor index de căutare de la vechea adresă URL la cea nouă, vă recomandăm să rămâneți cu metoda încercată și adevărată a redirecționărilor 301.

Cum se face o redirecționare 301 în .htaccess?

Pe serverul web Apache, o redirecționare 301 poate fi efectuată prin coduri de script într-unul dintre cele două fișiere de configurare bazate pe text: fie .htaccess (pentru directoarele care reprezintă site-uri individuale de pe server), fie httpd.conf (în directorul rădăcină al instalator Apache). De obicei se folosește metoda cu modificarea configurației, așa că o vom analiza mai detaliat.

Primul lucru de făcut este deschis fisier text care se numește .htaccess. Acesta poate fi găsit în directorul site-ului dvs. de pe serverul web Apache. Asigurați-vă că îl deschideți cu cel mai simplu editor de text, cum ar fi Notepad pe computere care rulează Windows.

După deschiderea fișierului, înainte de a adăuga cod special script, trebuie să faceți două lucruri:

  • Activați modulul Apache mod_rewrite.
  • Activați ReWriteEngine în modulul mod_rewrite.

Pentru a face acest lucru, adăugați aceste două linii de cod:

Opțiuni +FollowSymLinks RewriteEngine activat

Rețineți că aceste linii trebuie adăugate o singură dată în fișier. După ce sunt adăugate, puteți începe să adăugați codul de redirecționare 301 la script.

Următorul script de redirecționare este utilizat la mutarea fișierelor de date, a directorului și a numelui de domeniu în codul selectat. Și, bineînțeles, nu uitați să lăsați datele site-ului dvs.! Această pagină conține doar exemple de astfel de cod!

Redirecționați 301 o pagină către o altă adresă URL

Pentru a efectua o redirecționare 301 de la o adresă URL la alta, inserați următoarea linie de cod:

Redirecționare 301 /staraja.html http://www..html

În dosar. htaccess puteți introduce orice număr de linii de redirecționare.

Redirecționează 301 întregul director și toate fișierele către o altă adresă URL

Dacă ați reproiectat designul arhitectural al site-ului dvs. și ați redenumit un director, va trebui să efectuați o redirecționare 301 pe întregul director. Fa asa:

RedirectMatch 301 ^/oldname/ http://www.site/newname/

Redirecționează numele de domeniu 301 către o altă adresă URL

Daca ai cumparat Numele domeniului cu un istoric bun, cu siguranță vei dori să crești traficul către site-ul tău. Aici puteți utiliza o redirecționare 301 a întregului trafic de la un astfel de nume de domeniu către site-ul dvs. actual. Utilizați următorul cod ca exemplu:

RedirectMatch 301 ^(.*)$ http://www.site

Asigurați-vă că creați o astfel de redirecționare în fișier. htaccess al site-ului sursă de pe care veți redirecționa traficul, și nu în site-ul țintă!

301 redirecționează pentru a canoniza la o altă adresă URL

Deoarece motoarele de căutare indexează adresele URL, a avea adrese URL diferite care redirecționează către pagini cu același conținut pentru indexare poate afecta PageRank. Desigur, această situație nu este cea mai bună pentru optimizare! Concluzia este că, dacă doriți să atașați PageRank la o singură adresă URL (canonică), atunci pentru a optimiza căutarea, trebuie să acordați atenție conținutului paginilor site-ului.
Când studiezi cele mai bune exemple canonizare, veți dori să o aplicați pe site-ul dvs. Aceasta înseamnă că trebuie să luați în considerare toate alternativele posibile. redirecționări URL la adresa URL canonică. Utilizați următorul exemplu de cod pentru pagina principală a site-ului:

RewriteCond %(HTTP_HOST) ^web-profy\.com RewriteRule ^(.*)$ http://www..(html|php|htm)\ HTTP/ RewriteRule ^(([^/]+/)*)( implicit|principal|index)\.(html|php|htm)$ http://www.website/$1

Primul bloc de două rânduri redirecționează adresele URL care omit prefixele „www.” către o adresă de pagină de pornire, cum ar fi „www.xyz.com”..website/.

Al doilea bloc de cod redirecționează adresele URL pagini specificate la adresele implicite. Acest cod asigură că orice adresă URL a paginii de pornire care are mai multe ortografii și link-uri directe, cum ar fi default.htm sau index.html, va fi redirecționată către pagina canonică URL, cum ar fi http://site

Documentarea și testarea lucrărilor

# Redirecționează întreg acest domeniu, abc.*)$ http://www.site

O bună documentare și comentarea proceselor vă vor ajuta întotdeauna pe dumneavoastră (și pe cei care vor întreține ulterior site-ul) să înțelegeți ce cod este responsabil pentru ce. Astfel de informații vor fi utile atunci când căutați probleme, când ceva nu funcționează, pentru a afla care parte a codului trebuie corectată pentru buna funcționare a site-ului.

Neapărat trebuie testat schimbări. Dacă utilizați FTP pentru a încărca fișierul corectat. htaccess în directorul rădăcină al site-ului dvs., este timpul să îl verificați. Introdu adresa în browser Adresa URL a paginii pe care l-ai redirecționat. Ar trebui să redirecționeze instantaneu la adresa URL specificată.

Depanare

Dacă redirecționarea nu funcționează așa cum vă așteptați, atunci este timpul pentru depanare.

În primul rând, dacă redirecționarea este codificată în fișierul dvs. .htaccess și este scrisă corect, dar nu funcționează, atunci verificați starea instalării extensiei mod_rewrite în Apache. Acest modul este de obicei instalat implicit, dar dacă nu este acolo, atunci codarea .htaccess de mai sus nu va funcționa. De asemenea, asigurați-vă că adăugați cele două linii de cod care activează mod_rewrite și ReWriteEngine.

În plus, rețineți că utilizarea lui RewriteCond în șiruri indică faptul că datele de intrare nu se potrivesc cu caracteristici stabilite. Dacă ratați acest punct, majuscule și literă mică este posibil să nu funcționeze conform așteptărilor. Rețineți că utilizarea lui L în cod indică faptul că fișierul motor este perceput ca ultima linie de cod a întregului proces de confirmare a introducerii datelor. Dacă aveți o configurație inconsecventă a codului în .htaccess, utilizați codul L de pe linia marcată ca prioritate.

Și, în sfârșit, observăm că utilizarea frecventă a redirecționărilor 301 nu este bună pentru sănătatea întregului site. Deși este foarte util, trebuie să actualizați linkurile de intrare ale site-ului la adresele URL corecte. Ignorând vechile link-uri de intrare și folosind mai multe redirecționări 301 (301, apoi 301, apoi 301) pentru a le parcurge, creșteți timpul de încărcare a site-ului, ceea ce este rău pentru promovarea site-ului. Și dacă există o mulțime de redirecționări, atunci crawlerele pot pur și simplu să nu ajungă la site-ul țintă. Dacă se întâmplă acest lucru, atunci vă doare site-ul să avanseze în motorul de căutare. De asemenea, dacă actualizați linkurile site-ului dvs., asigurați-vă că fișierele sitemap.xml sunt actualizate și cu noile adrese URL actualizate.

Preluați controlul asupra site-ului dvs. cu redirecționări 301, o bună practică standard pentru SEO cu pălărie albă. Asigurați-vă că îi ajutați pe crawlerele motoarelor de căutare să ajungă la paginile site-ului dvs. și, făcând acest lucru, PageRank-ul pe care îl câștigați este investit activ în promovarea site-ului dvs.

Dacă doriți să modificați adresa URL a paginii afișate în rezultatele căutării, este recomandat să utilizați redirecționare 301(301 Redirecționare permanentă) efectuată de server. Acesta este cel mai bun mod de a vă asigura că utilizatorii și motoarele de căutare ajung la pagina potrivită.

Codul de stare 301 înseamnă că pagina solicitată a fost mutată definitiv într-o nouă locație.

De fapt, există mai multe redirecționări. Puteți vedea cum să faceți o redirecționare 301 în infografic.

Când să folosiți o redirecționare 301?

Utilizarea unei redirecționări 301 este utilă în special în următoarele cazuri:

  1. La schimbarea domeniului . V-ați mutat site-ul pe un alt domeniu și doriți să arate ca tranziția nu s-a produs niciodată.
  2. Pentru a transfera pe un domeniu nou PageRankși TIC.
  3. Pentru a salva traficul de căutare.
  4. Utilizatorii pot accesa site-ul folosind mai multe adrese URL diferite. De exemplu, există mai multe modalități de a ajunge la pagină: //site.ru/sub, //sub.site.ru sau //www.site.ru. Poate fi convenabil să alegeți una dintre aceste adrese URL ca canonic (de bază)și utilizați o redirecționare 301 pentru a redirecționa traficul către acesta de la alte adrese URL. Puteți utiliza Instrumentele pentru webmasteri pentru ao configura.
  5. Îmbinarea a două site-uri necesită ca toate linkurile către pagini învechite să trimită către pagini care sunt active în prezent.
  6. Când mutați o pagină de site într-o locație nouă.
  7. Pentru lipirea numelui site-ului cu prefixul www și fără acesta.

Articol înrudit: Yandex înlocuiește TCI cu X - indicator nou calitatea site-ului

Eroarea 301 (redirecționare permanentă 301) returnată la accesarea unei anumite adrese de pagină înseamnă că site-ul era activat bază permanentă mutat la o nouă adresă, specificată și în antetul HTTP. Atât utilizatorii care s-au autentificat prin browser, cât și boții de căutare vor fi redirecționați către noua adresă, în timp ce pentru motoarele de căutare toate proprietățile vechii adrese (pagini) vor fi transferate la noua adresă URL. Cu o redirecționare 301, adresele vechi și noi vor fi îmbinate: parametri precum PageRank și TIC, precum și greutatea paginii și greutatea link-ului vechii adrese vor fi transferate la noua adresă URL.

Redirecționarea cu numărul de eroare 301 (mutată permanent) este cel mai bun mod salvați clasarea site-ului motoare de căutare la transferul pe un nou domeniu sau schimbarea sistemului de management al conținutului. Redirecționarea se poate face în mai multe moduri, în funcție de software-ul pe care l-ați instalat.

301 redirecționare c. htaccess

Folosind server Apache, redirecționarea se poate face pur și simplu folosind fișierul .htaccess, cu toate acestea, nu uitați să activați modulele mod_alias (pentru a suporta directivele Redirect , RedirectPermanent și RedirectMatch) și/sau mod_rewrite (pentru a folosi rewrite) în php.ini .

Pentru a face acest lucru, plasați fișierul .htaccess în folderul rădăcină al site-ului dvs.

Redirecționează cu directivă Redirecţiona sau RedirectPermanent modul mod_alias

Redirecționare 301 /old-page.html //new-domain.ru/new-page.html

Redirecționează permanent /old-page.html //new-domain.ru/new-page.html

dezavantaj aceasta metoda este că toate adresele care trebuie redirecționate trebuie listate una câte una, fiecare separat. De asemenea, puteți utiliza RedirectPermanent în scopuri similare.

RedirectPermanent /old-url.html //new-site.ru/new-url.html

Redirecționează cu directivă RedirectMatch

Această redirecționare este similară cu cea anterioară, cu excepția faptului că puteți seta expresie uzuala pentru cei vechi URL-uri. Să presupunem că, atunci când schimbați motorul de la PHP la ASP, puteți redirecționa adresele vechi după cum urmează:

RedirectMatch /(php$ /$1.aspx

Redirecționează cu directivă RewriteRule modul mod_rewrite

Pentru a utiliza directiva RewriteRule, trebuie să vă asigurați că modulul mod_rewrite este activat în httpd.conf și că opțiunea FollowSymLinks este activată. Utilizarea modulului de rescriere vă oferă multe opțiuni pentru redirecționarea paginilor către adrese noi.

Articol

  • Serghei Savenkov

    un fel de recenzie „rare”... parcă s-ar grăbi undeva