Serviciu online de verificare a optimizarii SEO interne. Prezența în index

O redirecționare 301 sau redirecționare permanentă 301 este o regulă care redirecționează automat utilizatorul către o altă adresă de pagină. Cu ajutorul acestuia, puteți îmbina paginile vechi cu altele noi sau puteți muta site-ul într-un alt domeniu, puteți elimina multe duplicate de pe site și multe altele. Extrem lucru util- deci trebuie să înveți cum să o faci corect!

De asemenea, cu o redirecționare 301, TCI (citește) și PR sunt fuzionate - i.e. puteți stoca valoarea veche la noua adresă. S-ar putea să nu pierzi deloc în ochii motoarelor de căutare. Să trecem de la teorie la practică.

Cum se configurează redirecționarea 301 în htaccess

Fișierul numit .htaccess se află în categoria principală Site-ul tău. Acesta este un fișier de serviciu în care vom specifica regulile de lipire. Deschideți fișierul cu notepad (recomand notepad++ pentru a evita problemele de codare). Nu uitați că acesta este unul dintre punctele importante în.

Șablonul general pentru .htaccess pe care îl vom folosi:

Opțiuni +FollowSymLinks RewriteEngine On #Aici specificăm regulile

Toate regulile sunt scrise sub forma:

RewriteCond [Comparație] [Condiție] [Flags] RewriteCond [Comparație] [Condiție] [Flags] RewriteRule [Pattern] [Substitution] [Flags]

Acum să ne ocupăm direct de redirecționare și să ne uităm la exemple specifice.

Am scris deja un articol despre, dar pentru orice eventualitate, voi rezuma aici pentru a vă face mai convenabil să utilizați pagina.

Exemple de utilizare a redirecționării 301 Redirecționare de la index.php la pagina de pornire

Pentru a-l configura, trebuie să scrieți următorul cod în fișierul dvs., care va redirecționa vizitatorii de la site.ru/index.php la site.ru:

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

Dacă trebuie să redirecționați și de la index.html, atunci pur și simplu înlocuiți .php cu .html în codul de mai sus

Lipirea alias-urilor site-ului

Dacă aveți mai multe domenii și doriți să le redirecționați pe toate către site-ul principal, atunci folosim:

RewriteCond %(HTTP_HOST) ^vash-sait.com$ RewriteCond %(HTTP_HOST) ^www.vash-sait.com$ RewriteCond %(REQUEST_URI) !^/robots.* RewriteRule ^(.*)$ http://vash- sait.ru/$1

Atenție la primele 2 rânduri, indică o oglindă în zone.com, dacă ai o altă sau mai multe zone, atunci adaugă reguli.

Redirecționare de la www la fără www

Am descris deja această metodă mai devreme, dar o voi repeta. Pentru a lipi oglinzile și a selecta domeniul principal fără www, scriem:

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

Redirecționare de la un domeniu fără www la un domeniu cu www

Această acțiune este opusă celei anterioare, doar oglinda principală este aici www.site.ru:

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

Redirecționarea 301 a paginilor cu și fără bară oblică

Acesta este un alt tip de duplicat, aici vom îmbina paginile site.ru/category/ și site.ru/category, după cum puteți vedea, nu există nicio bară oblică la sfârșitul celei de-a doua adrese URL:

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

Dacă, dimpotrivă, trebuie să lăsați o bară oblică la sfârșitul adresei URL, atunci aveți nevoie de această opțiune:

RewriteBase / RewriteCond %(REQUEST_FILENAME) !-f RewriteCond %(REQUEST_URI) !(.*)/$ RewriteRule ^(.*[^/])$ $1/

Dacă dintr-un motiv oarecare aveți adrese URL precum site.ru/category//article.html, atunci utilizați codul:

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

unde, „//” poate fi înlocuit cu „—” sau orice caractere duble din adresa URL.

Înlocuirea categoriei în masă

Se întâmplă că ați redenumit o categorie, dar îi sunt atribuite mii de adrese URL. Pentru a evita îmbătrânirea în timp ce scrieți mii de redirecționări identice, utilizați:

RewriteRule ^(.*)/veche-categorie/(.*)$ 1/nouă-categorie/$2

RewriteRule veche-categorie /(.*) / veche-categorie /$1

Redirecționați către o pagină nouă

Cea mai simplă redirecționare de la o pagină la alta, scrieți-o astfel:

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

Unde old-post.html este pagina ta veche, iar new-site.ru/new-post.html este o pagină nouă și poate fi pe orice domeniu (inclusiv domeniul tău actual).

Redirecționare pentru adresa URL cu parametri

Paginile cu parametri sunt mai greu de redirecționat; luați exemplul http://site.ru/page.php?sort=articles. Parametrul aici este „sort=articole”. Codul va fi după cum urmează:

RewriteCond %(QUERY_STRING) sort=articles RewriteRule .* http://site.ru/page.php?

Lucrul cu extensii

Înlăturăm .html din url (pentru a elimina .php, nu uitați să înlocuiți $1.html cu $1.php):

RewriteRule ^(([^/]+/)*[^.]+)$ /$1.html [L]

Schimbăm .php în .html în URL-uri și invers (nu uitați să schimbați locurile din cod):

RedirectMatch 301 (.*)\.php$ http://www.site.com$1.html

Redirecționare 301 corectă către domeniu nou

Am subliniat acest punct separat, pentru că... este mai mult legat de transferul pe alt domeniu. Există punct important, aceasta nu trebuie ratată directiva pentru editarea roboților - este indicată pe rândul 3 din cod.

RewriteCond %(REQUEST_FILENAME) robots.txt$ RewriteRule ^([^/]+) $1 [L] RewriteCond %(HTTP_HOST) ^site\.ru RewriteRule ^(.*)$ http://new-site.ru/$1 RewriteCond %(HTTP_HOST) ^www.site\.ru RewriteRule ^(.*)$ http://new-site.ru/$1

Cu ajutorul unor astfel de mașinațiuni simple, vom scăpa de paginile duplicat, îmbunătățindu-ne astfel optimizare internăși, în consecință, calitatea site-ului.

Dacă aveți întrebări, scrieți în comentarii - vom rezolva :)

Bună ziua, dragi cititori ai site-ului blogului. Pe scurt, redirecționările 301 sunt foarte des folosite atunci când este necesar să se elimine apariția dublurilor, precum și să se păstreze traficul existent și toți indicatorii de încredere ai paginilor site-ului, inclusiv sucul de link-uri din backlink (backlink-uri).

Unul dintre cele mai eficiente instrumente pentru configurarea redirecționărilor 301 este fișier suplimentar configuration.htaccess prezent pe serverele cu software Apache. Astfel de servere web sunt folosite pentru că sunt cele mai optime pentru rezolvarea diverselor probleme, dacă luăm în considerare criterii precum eficiența, costul de operare și funcționalitatea.

Astăzi vom încerca să aflăm toate detaliile, când și în ce circumstanțe va fi folosită o redirecționare 301? cea mai bună soluție, precum și ce directive să scrieți în .htaccess în fiecare caz specific pentru a vă asigura că sarcina este finalizată.

Ce este o redirecționare 301 și când ar trebui utilizată?

La Promovarea SEO resursa dumneavoastră pentru a fi cât mai eficientă, trebuie să țineți cont de absolut toate aspectele care pot afecta optimizarea site-ului. Acestea includ mecanismul pe care îl luăm în considerare astăzi. Ce este o redirecționare 301 (redirecționare permanentă) și când este utilizată?

Din punct de vedere tehnic, acesta nu este altceva decât un răspuns de server HTTP cu un cod 301, care informează că cel anterior a fost mutat definitiv. În practică arată așa. Când introduceți adresa veche în bara de căutare browserul redirecționează automat utilizatorul către o nouă adresă URL, care, după configurarea redirecționării, este obiectul țintă.

Mai jos voi indica câteva situații de bază când folosirea redirecționării permanente nu este doar utilă, ci și extrem de necesară. Deci, o redirecționare 301 este utilizată în cazurile în care:

  • URL-urile paginilor vechi au fost modificate dintr-unul dintre motive, dintre care pot fi multe (vom vorbi despre unele dintre ele mai jos);
  • este necesar să excludem apariția paginilor duplicate (cu conținut complet identic) ale aceluiași site, care se deschid la adrese URL diferite. Aceasta include și duplicate complete ale resurselor. De exemplu, cele care au domenii cu WWW și fără acest prefix, precum și cele care sunt oglinzi ale site-ului principal;
  • trecerea la un domeniu nou ( și );

De ce este atât de important să facem redirecționare permanentă și ce ne oferă în cele din urmă? Multe și am menționat deja acest lucru chiar la începutul publicației. Cu toate acestea, vă voi aminti din nou, deoarece acest lucru este extrem de important din punctul de vedere al promovării site-ului.

După setări corecte redirecționarea 301 către pagina cu noua adresă URL din documentul vechi va trimite toată încrederea pe care a acumulat-o, inclusiv sucul de link transmis prin backlink-uri, precum și traficul de vizitatori, dintre care unii pot include foarte bine clienți pe care i-ați achiziționat deja sau abonați obișnuiți .

Dar vă atrag atenția asupra următoarelor. Redirecționările (mai ales în cantități mari) nu sunt întotdeauna bune, așa că nu ar trebui să le folosiți fără gânduri. Desigur, motoarele de căutare în mod normal iau în considerare redirecționările permanente (și transferul tuturor caracteristicilor de la vechiul URL la nou în asta garanție).

Cu toate acestea, recomand în continuare să le folosiți doar în cazurile în care într-adevăr nu vă puteți lipsi de aceste măsuri. Mai mult, dacă folosești incorect o redirecționare permanentă, s-ar putea să nu corectezi, ci dimpotrivă, să agravezi situația. În plus, în unele situații este folosit pentru a elimina duplicatele (cu toate acestea, este potrivit și ca măsură suplimentară).

Redirecționare permanentă când adresele URL ale paginilor se modifică

Pe parcursul derulării unui proiect pot apărea situații când este necesară reorganizarea structurii acestuia. De exemplu, mutați unele articole în alte secțiuni (dacă, desigur, sunt afișate prin categorii, de exemplu), înlocuiți permalink-urile cu sau pur și simplu adăugați-le la adresa URL Cuvinte cheie care au fost ratate mai devreme. În toate aceste cazuri, puteți aplica redirecționarea permanentă, dar mai întâi evaluați starea resursei dvs.

Dacă site-ul este foarte tânăr (2-3 luni) și încă nu ați avut timp să conduceți corect optimizare externă(obțineți suficientă masă de linkuri din exterior) acele pagini ale căror URL-uri doriți să le schimbați, iar dacă traficul pe ele este mic, cuplat cu o lipsă completă de comentarii la articole, atunci poate fi mai bine să ștergeți pur și simplu astfel de pagini web.

După ștergere, aceștia vor dobândi statutul de eroare 404 (nu ar trebui să fie multe din cauza tinereții resursei, ceea ce este de asemenea important) și vor fi treptat excluși din indexul motorului de căutare. În acest caz, pierderile vor fi minime (deoarece caracteristicile de greutate pagini șterse va fi puțin), dar veți păstra structura resursei web în forma sa „pură”, iar acesta este un plus.

Dar dacă site-ul dvs. a câștigat deja o anumită încredere de la motoarele de căutare, popularitate în rândul utilizatorilor și conține câteva sute de pagini, atunci nu puteți face fără o redirecționare 301 atunci când schimbați adresa URL. În caz contrar, dacă decideți să ștergeți pagini cu URL-uri vechi, pierderile sub formă de trafic și greutate vor fi grave.

Va dura mult timp până când paginile web cu adrese noi vor fi indexate de motoarele de căutare, iar greutatea anterioară și traficul asociat acestora vor fi restabilite. Dacă configurați redirecționarea permanentă, atunci totul va merge, practic, fără consecințe dăunătoare.

Necesitatea de a utiliza redirecționări 301 crește de multe ori dacă intenționați să treceți la noul CMS() sau modificați toate secțiunile resursei, cu alte cuvinte, modificați în masă toate URL-urile simultan.

Duplicați pagini (oglinzi) ale site-ului cu și fără bară oblică la sfârșit, precum și cu index.php

Deci, știm că conținutul duplicat împiedică foarte mult promovarea site-ului. Prin urmare, este recomandabil să înțelegeți ferm pentru dvs. ce URL-uri pot fi formate care vor deschide pagini cu conținut absolut identic. Acest lucru vă va oferi posibilitatea de a rezolva problema în timp util.

In conditii dezvoltare modernă puterea internetului diverse motive de foarte multe ori webmasterii se ocupă de oglinzi, când toate paginile unui site sunt disponibile simultan la două sau mai multe adrese.

Astfel de oglinzi trebuie să fie lipite împreună, iar tu însuți trebuie să indicați motoarele de căutare domeniul principal pentru a preveni pierderea în greutate a paginilor web și, în consecință, deteriorarea pozițiilor acestora în rezultatele căutării cu o scădere ulterioară a traficului. Aici ar fi potrivită o redirecționare permanentă. Mai jos vom lua în considerare cele mai frecvente cazuri de duble.

Ele sunt, după părerea mea, cel mai frapant exemplu. Am scris despre lipirea lor în detaliu suficient, astfel încât să puteți studia îndeaproape această problemă urmând linkul furnizat.

Apariția unor astfel de duplicate cu terminația index.php și/sau index.html, index.htm (în funcție de setările serverului), precum și cu și fără bară oblică la sfârșit, este asociată cu structura URL-urilor utilizate pentru a naviga la un anumit folder de pe server. Dacă adresa URL se termină cu o bară oblică „/”, atunci aceasta este o comandă pentru handler-ul serverului pentru a afișa exact conținutul directorului (dosarului), care include fișierele aflate în acesta:

Http://site.ru/folder/

Dar dacă nu există bară oblică, atunci fișierul este accesat:

Http://site.ru/folder

În acest caz, serverul web va căuta un fișier numit „folder”. Deoarece serverele folosesc în principal Unix-like OS(de obicei Linux), în care extensia de fișier după numele și un punct nu este obligatorie (așa diferă de Windows), atunci acest lucru este destul de logic.

După ce handlerul nu găsește un astfel de fișier, va ghici că pur și simplu slash lipsește din URL și, prin urmare, trebuie să afișeze directorul, ceea ce va face cu succes.

Dar serverul este configurat în așa fel încât, din motive de securitate, să nu poată afișa fișiere de serviciu, așa că atunci când accesează un folder, începe să caute în acest director un obiect numit index, pe care îl va furniza în cele din urmă.

De obicei Numele domeniului site reprezintă numele folderului rădăcină, deci mai jos este următoarea adresă în caz generalîn esență, dă comanda pentru a-și afișa conținutul:

http://site.ru/

Toate acestea sunt teoretic legate de fișierele care se află fizic pe server. Cu toate acestea, în majoritatea cazurilor, sistemele de management al conținutului (CMS) sunt instalate pentru a gestiona site-urile web, ceea ce implică crearea paginilor (pagină de pornire, secțiuni, articole etc.) din mers. În WordPress, de exemplu, acest lucru se realizează folosind , care îndeplinește o astfel de sarcină.

Prin urmare, dacă introduceți adresa URL prezentată mai sus în bara de căutare a browserului dvs., veți fi dus la pagina web principală și nicăieri altundeva. Cu toate acestea, în conformitate cu generalul setările serverului, se poate deschide la această adresă (și va avea același conținut):

http://site.ru/index.php

Apropo, același lucru este valabil și pentru alte pagini web, de exemplu, categorii (titluri):

Http://site.ru/category/index.php

Și acestea sunt deja duplicate care trebuie eliminate cu orice preț prin aceeași redirecționare permanentă în .htaccess. Cu siguranță voi oferi o soluție la această problemă nu numai în legătură cu URL-urile care se termină în index.php, ci și alte opțiuni în ultima parte a articolului.

Pentru a înțelege mai bine toate nuanțele, vă fac trimitere la unde veți afla, în special, că pentru paginile site-ului, opțiunile URL cu și fără bară oblică sunt corecte din punct de vedere al sintaxei și absolut egale în ochii PS.

În plus, acest lucru se aplică tuturor paginilor web, inclusiv aceleași categorii:

Http://site.ru/category http://site.ru/category/

sau articole (intrari):

Http://site.ru/category/entry http://site.ru/category/entry/

Paginile de la aceste adrese fac parte din diferite oglinzi ale aceluiași site și, prin urmare, sunt duplicate, pe care motoarele de căutare le văd negativ. Prin urmare, trebuie să alegeți o singură oglindă principală și să o „alimentați” către motoarele de căutare, ceea ce se poate garanta că se va face folosind o redirecționare permanentă (301st).

Apropo, dacă utilizați WordPress, atunci introduceți structura URL necesară pentru toate paginile web de pe site. Îl puteți personaliza după cum doriți, nu numai cu sau fără bară oblică, ci și cu orice alt final.

Mulți webmasteri, de exemplu, preferă adresele de pagini cu extensia .html la sfârșit, care au un aspect final familiar utilizatorilor, marea majoritate având instalat Windows (unde prezența extensiei este obligatorie).

Dar asta e doar vedere frumoasă, nimic mai mult (apropo, nu împărtășesc aceste delicii). După cum sa menționat mai sus, toate opțiunile URL, inclusiv adresele care se termină cu o bară oblică și fără aceasta, sunt complet echivalente din punct de vedere practic.

Este recomandabil să fiți proactiv și să nu așteptați ca Yandex sau Google să determine ei înșiși oglinda principală. La urma urmei, nu veți ști pentru care motoarele de căutare au arătat preferință. Și o astfel de situație poate încetini foarte mult promovarea unei resurse web.

La urma urmei, PS-ul va exclude din index paginile unei oglinzi non-principale (este complet neprofitabil să umpleți baza de date cu o grămadă de conținut inutil), spre care s-ar fi putut viza eforturile dvs. de promovare. Acest lucru este plin de pierderi de poziții în rezultatele căutării și, în consecință, de trafic și încredere. Înfiorător.

Cu toate acestea, chiar și în cel mai rău caz, luarea de măsuri pentru a configura redirecționarea permanentă va ajuta la rezolvarea problemei, cel puțin astfel puteți preveni regresia ulterioară.

Verificarea prezenței unei redirecționări permanente pentru fiecare duplicat de site

Dar mai întâi, ar trebui să verificați cum merg lucrurile cu site-ul dvs. Totul este posibil setările necesare au fost deja produse într-un fel sau altul, atunci nu este nimic de care să vă faceți griji. Cel mai nepretențios și cale rapidă verificați dacă redirecționarea 301 funcționează situatii necesare, aceasta este pentru a introduce diferite adrese URL în bara de adrese, una câte una:

//goldbusinessnet..com/optimizatsiya-i-raskrutka-saita/index.php

Și vezi ce se întâmplă mai departe. Pe blogul meu, de exemplu, prima opțiune este cea principală, așa că la aceasta are loc redirecționarea la introducerea a doua și a treia URL. Cu alte cuvinte, aceste oglinzi sunt deja lipite între ele. Dacă, când introduceți toate cele trei adrese, se deschide aceeași pagină, dar compoziția URL-ului rămâne neschimbată de fiecare dată (adică nu există redirecționare), atunci există o problemă.

Dar există modalități mai avansate de a verifica potrivirea domeniului și prezența unei redirecționări. Acestea includ, de exemplu, posibilitatea de a întreba motoarele de căutare înșiși, de dragul cărora webmasterii realizează o astfel de optimizare. De exemplu, pentru a verifica dacă există o redirecționare de la adresele URL cu index.php către adrese URL fără acest final, pentru Yandex trebuie să introduceți următoarea interogare în bara de căutare:

Url:site | url:site/index.php

După ce faceți clic pe butonul „Găsiți” veți primi un răspuns. Dacă există un rezultat (ca în captura de ecran de mai jos), atunci totul este „OK”. Cu alte cuvinte, redirecționarea a fost finalizată:


Tot ce trebuie să faceți este să aflați care pagini oglindă sunt principalele pentru Yandex. Pentru a face acest lucru, mutați pur și simplu cursorul la titlul sau adresa URL afișată și vedeți în ce opțiune apare bara de adresa stânga jos a ferestrei browserului.

Dar cea mai fiabilă metodă de verificare, după părerea mea, este primirea unui răspuns de la server. În acest caz, veți primi un cod de stare HTTP, prin care puteți evalua corectitudinea expediere stabilită sau ea absență completă. Să folosim un serviciu special Yandex pentru aceasta, introducând adresa URL testată și făcând clic pe butonul „Verifică”:


Drept urmare, aflăm că pentru o adresă URL care se termină în index.php, robotul principal Yandex a primit răspunsul „301 Moved Permanently”, ceea ce trebuia să dovedim. În același mod, puteți verifica o redirecționare permanentă pentru orice grup de pagini de pe site-ul dvs. Apropo, și cautare Google poate fi folosit și (asta este menționat și în articolul despre domenii cu și fără WWW).

Cum se face o redirecționare 301 prin htaccess

Deci, pe baza informațiilor furnizate în acest manual, ați decis că este necesară o redirecționare permanentă pentru a rezolva o anumită problemă. Cu un grad mare de probabilitate, putem spune că site-ul dvs. se află pe un server administrat de software-ul Apache (pentru orice eventualitate, verificați cu furnizorul dvs. de găzduire pentru a vedea dacă acesta este cazul).

Pe serverele Apache există un instrument de configurare excelent, și anume fișierul httpd.conf. Dacă directiva corespunzătoare este specificată în ea, atunci fiecare webmaster are posibilitatea de a utiliza un minunat fișier .htaccess, care este suplimentar Fișier de configurareși ajută la optimizarea site-ului.

În principiu, acest instrument are aceeași funcționalitate ca httpd.conf, doar că directivele specificate în el se aplică doar directorului în care se află. Deci, dacă puneți .htaccess folderul rădăcină site-ul, atunci puteți instala cel mai mult setări diferite pentru o anumită resursă web, inclusiv redirecționarea constantă către paginile necesare.

Acest fișier poate fi accesat cu ușurință utilizând software-ul corespunzător sub forma aceluiași Filezilla. Ei bine, este indicat să nu-i faci modificări editor simplu, și în „aur”, adică în , unde este posibil să derulați înapoi câțiva pași:


Dacă brusc acest fișier nu este disponibil pe serverul pe care este găzduit site-ul dvs., îl puteți crea singur. Acest lucru se poate face direct pe server prin intermediul aceluiași Programul NotePad++, care acceptă și capacitatea de conectare prin protocolul FTP.

Înainte de a continua, aș dori să vă reamintesc că înainte de orice editing.htaccess ar trebui să o faceți copie de rezervă. Acest lucru este necesar pentru ca în cazul acțiunilor nereușite și al pierderii accesului la site, să puteți returna totul așa cum era.

Cred că am vorbit deja despre asta, dar nu este un păcat să vă reamintesc că o redirecționare permanentă este un cod de răspuns al serverului HTTP 301, ceea ce înseamnă redirecționare eternă de la o adresă URL la alta cu păstrarea aproape a tuturor caracteristicile de greutate pagini.

Apropo, va exista o publicație separată despre toate codurile de răspuns comune ale serverului în viitorul apropiat, așa că abonați-vă la buletinul informativ al blogului, nu numai pentru a nu rata acest articol, ci și pentru a fi, în general, la curent cu toate știrile de pe site. .

Acum să vedem cum să configurați o redirecționare 301 prin .htaccess pentru fiecare caz specific. Pentru a face acest lucru, va trebui să folosim serviciile modulului mod_rewrite, care este conceput pentru a converti adresele URL pe serverele Apache.

Valoarea implicită este de obicei dezactivată. Pentru a activa acest modul, trebuie să scrieți „RewriteEngine on” în fișierul .htaccess:

RewriteEngine activat

Și pentru a iniția complet corect acțiunea acestei extensii în raport cu site-ul dvs., trebuie să scrieți următoarele rânduri:

Opțiuni +FollowSymLinks RewriteEngine pe RewriteBase /

Prima linie vă permite să procesați fișiere care sunt situate fizic în afara directorului de obiecte, dar pentru care există comenzi rapide, în general similare cu comenzile rapide din Windows.

Al doilea, așa cum am spus deja, include modulul mod_rewrite în sine. Ei bine, al treilea (RewriteBase / ) vă permite să trunchiați calea completă de la rădăcina serverului la directorul rădăcină al site-ului, astfel încât directivele ulterioare să fie aplicate în mod specific adreselor URL ale site-ului. Dacă nu se face acest lucru, pot apărea probleme.

O simplă bară oblică „/” înseamnă aici cale relativă Pentru pagina principala(sau în folderul rădăcină) și este utilizat la generarea . Dacă doriți să scrieți mai multe directive pentru a 301-a redirecționare simultan, nu trebuie să repetați rândurile de mai sus înainte de fiecare regulă.

Acum să începem să exersăm și să începem cu cel mai ușor. Dacă dintr-un motiv oarecare trebuie să schimbați în mod selectiv adresele URL pagini individuale, apoi indicăm o redirecționare simplă către adresa noua :

Redirecționare 301 /page-name1/ http://site.ru/page-name2/

În acest caz, o cale relativă (/page1-name1/) este utilizată pentru a reprezenta adresa URL a paginii vechi, iar o cale absolută (începe cu „http://”) este utilizată pentru a reprezenta cea nouă, deoarece o pagină-by -redirecționarea paginii poate fi efectuată și către un alt site. Aici ar trebui să fiți atenți la faptul că între cele două adrese este lăsat un spațiu.

Dacă paginile sunt afișate prin categorii, atunci când mutați oricare dintre ele într-o altă categorie, adresa se va schimba în mod natural. Următorul exemplu arată o situație generală când se modifică nu numai partea URL asociată categoriei, ci și sfârșitul, care corespunde numelui paginii în sine:

Redirecționare 301 /category1/page-name1/ http://sait.ru/category2/page-name2/

Dacă trebuie să faceți o redirecționare permanentă pentru toate paginile unei resurse simultan, de exemplu, când schimbați sfârșitul unei adrese cu extensia .php la sfârșitul cu s.html, atunci directiva RedirectMatch este deja utilizată, ceea ce vă permite pentru a folosi expresii regulate:

RedirectMatch 301 (.*)\.php$ http://site.ru$1.html

Acum să trecem la mai multe opțiuni complexe 301 redirecționează de la o pagină la alta, ceea ce va ajuta la eliminarea numeroaselor duplicate. Să ne uităm la cele mai frecvent utilizate redirecționări legate de cazurile descrise mai sus în acest articol.

Cum să configurați redirecționarea permanentă pentru domeniile cu și fără WWW, I. Dar totuși voi repeta aceste informații de dragul completității. Deci, pentru a realiza o redirecționare permanentă de la o adresă URL care conține WWW în adresă la o adresă URL fără acest prefix, trebuie să adăugați următoarea regulă la fișierul .htaccess:

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

Și invers, dacă doriți să lăsați o extensie rudimentară sub formă de trei W în URL-urile paginii, trebuie să aranjați o redirecționare de la adrese fără WWW la URL-uri cu WWW folosind directiva:

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

RewriteCond definește condiția în care va fi executată RewriteRule (adică redirecționarea în sine). Apropo, analiză detaliată aplicarea principalelor directive mod_rewrite, vă puteți familiariza cu ea dacă doriți.

Opțiunile de redirecționare de la WWW la non-WWW și invers prezentate chiar mai sus sunt universale și, în principiu, ar trebui să funcționeze. Cu toate acestea, directivele legate de un anumit domeniu vor fi tot mai fiabile. Regula pentru redirecționarea permanentă de la WWW la fără acest prefix va arăta astfel:

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

Și redirecționarea inversă (de la fără WWW la cu WWW) este așa:

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

Care este mai exact a doua metodă? mai bun decât primul? Cert este că verifică nu numai absența sau prezența a trei W-uri în adresă, ci și domeniul în sine este verificat pentru conformitatea deplină. Nu uitați să introduceți numele și zona de domeniu în loc de „site” și „.ru”.

Să încercăm să lipim împreună oglinzi care produc pagini duplicat cu index.php (extensiile pot fi diferite, să zicem, .htm sau .html). Deci, 301 redirecționează de la adresele URL care conțin index.php către adresele paginii de resurse fără acest final:

RewriteCond %(THE_REQUEST) ^.*/index.php RewriteRule ^(.*)index.php$ http://%(HTTP_HOST)/$1

De asemenea, poate fi implementată redirecționarea permanentă de la adrese fără bară oblică la adresele URL cu bară oblică:

RewriteCond %(REQUEST_URI) !\? RewriteCond %(REQUEST_URI) !\& RewriteCond %(REQUEST_URI) !\= RewriteCond %(REQUEST_URI) !\. RewriteCond %(REQUEST_URI) !\/$ RewriteRule ^(.*[^\/])$ /$1/

Și iată cum arată o redirecționare inversă, adică de la adrese URL cu o bară oblică la adrese fără bară oblică:

RewriteCond %(REQUEST_URI) !\? RewriteCond %(REQUEST_URI) !\& RewriteCond %(REQUEST_URI) !\= RewriteCond %(REQUEST_URI) !\. RewriteCond %(REQUEST_URI) ![^\/]$ RewriteRule ^(.*)\/$ /$1

Desigur, varietatea de situații în care se utilizează redirecționarea permanentă nu se limitează la exemplele date mai sus, ele sunt mult mai multe, iar în fiecare caz specific este necesar să se întocmească directive corecte pentru a corecta situația și nu a agrava situația. aceasta.

Întrucât subiectul discutat în publicație este destul de complex, mai ales pentru cei fără experiență, ca material autosuficient, urmăriți un videoclip despre procedura de elaborare a diferitelor directive de utilizare a redirecționărilor 301:

Pentru acceptare decizia corectăîntr-un caz sau altul, vă sfătuiesc cu insistență să citiți manualul pe această temă al binecunoscutului optimizator din RuNet, Alexander Alaev, unde puteți găsi informații extrem de utile. De asemenea, ar fi util să aveți materiale oficiale de la Google și Yandex ( și ), de la care veți primi și informațiile lipsă.

Și iată un alt lucru. Este posibil ca regulile de redirecționare permanentă prevăzute în articol într-un caz specific să nu funcționeze corect sau să nu funcționeze deloc. Atunci nu ratați ocazia de a contacta furnizorul dvs. de găzduire și de a le cere să rezolve problema. Fiecare hoster care se respectă va avea specialiști competenți care vor oferi toată asistența posibilă. La urma urmei, este responsabilitatea lor.

Un ultim sfat. Înainte de a vă grăbi să creați redirecționări fără să priviți înapoi, asigurați-vă că verificați disponibilitatea acestora, despre care am vorbit într-una dintre secțiunile acestui articol. Este probabil că nu va trebui să luați nicio măsură. La urma urmei, dezvoltatorii celor mai populare motoare de site-uri monitorizează situația. Prin urmare, este probabil ca multe dintre problemele luate să fi fost deja rezolvate de la bun început.

În concluzie, vă ofer încă un videoclip, care nu numai că nu este inferioară calității primului, dar într-un fel îl completează:

Eroare 301 (301 Redirecționare permanentă) a revenit la accesare adresa specifica pagina înseamnă că site-ul era activat bază permanentă mutat la o nouă adresă, specificată și în antetul HTTP. Atât utilizatorii care au accesat 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 către noua adresă URL. Cu o redirecționare 301, adresele vechi și noi vor fi îmbinate: parametri precum PageRank și TCI, precum și greutatea paginii și greutatea link-ului vechii adrese vor fi transferați la noua adresă URL.

O redirecționare cu numărul de eroare 301 (mutată permanent) este cea mai buna cale menține clasamentul site-ului în motoarele de căutare atunci când îl mutați pe un nou domeniu sau schimbați sistemul de management al conținutului. Redirecționarea se poate face în mai multe moduri, în funcție de software-ul instalat.

301 redirecționare în .htaccess

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

Redirecționați folosind directiva Redirect sau RedirectPermanent a modulului mod_alias

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.

Redirecționează folosind directiva RedirectMatch

Această redirecționare este similară cu cea anterioară, cu excepția faptului că puteți specifica expresie uzuala pentru adrese URL vechi. 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ționați folosind directiva RewriteRule a modulului 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 oportunități de a redirecționa paginile către adrese noi.

Redirecționarea unui domeniu de la www la non-www

Opțiuni +FollowSymLinks
RewriteEngine Pornit
RewriteCond %(HTTP_HOST) ^www.(.*)
RewriteRule ^(.*)$ http://%1/$1

sau o sintaxă alternativă, mai ușor de înțeles

Opțiuni +FollowSymLinks
RewriteEngine Pornit
RewriteCond %(HTTP_HOST) ^www.domain.com$
RewriteRule ^(.*)$ http://domain.com/$1

Redirecționează solicitările de la non-www către un domeniu cu prefixul www

Opțiuni +FollowSymLinks
RewriteEngine Pornit
RewriteCond %(HTTP_HOST) ^domain.com$
RewriteRule ^(.*)$ http://www.domain.com/$1

sau opțiune alternativă

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

Redirecționare folosind un script (trimitere antete)

Solicitările de redirecționare se pot face și folosind scripturi, trimițând anteturile necesare către client.

redirecționare PHP

redirecționare ASP


Redirecționare ASP .NET


private void Page_Load (expeditor obiect, System.EventArgs e)
{
Response.Status = „301 Mutat permanent”;
Response.AddHeader(„Locație”, „http://www.new-url.com”);
}

Redirecționare ColdFusion


Redirecționare JSP (Java).

CGI PERL

$q = CGI nou ;
print $q->redirect(“http://www.new-url.com/”);

Ruby on Rails

def old_action
headers[„Stare”] = „301 Mutat permanent”
redirect_to „http://www.new-url.com/”
Sfârşit

Codul de răspuns 301 (Mutat permanent) înseamnă că documentul solicitat este acum disponibil permanent la noua adresă. O redirecționare 301 poate fi necesară în mai multe cazuri: mutarea pe un nou domeniu, schimbarea adresei paginii sau . Obiectivele acestor evenimente sunt destul de transparente:

  • Transferarea valorilor vechi pe o pagină sau un domeniu nou.
  • Eliminarea legăturilor întrerupte, atât externe, cât și interne.
  • Eliminarea paginilor duplicate.

Există mai multe modalități de a face o redirecționare 301, dar prefer opțiunea de a folosi un fișier .htaccess care se află în folderul rădăcină FTP al site-ului dvs. (dacă nu este acolo, trebuie doar să creați unul, nu are extensie).

Configurarea redirecționărilor 301 de la o pagină la alta

Destul de des apare o situație când o pagină de site a fost ștearsă sau este forțată să-și schimbe adresa URL. Când accesează vechea sa adresă, utilizatorul, desigur, va vedea o pagină de eroare 404 (negăsită).

Dacă pagina este lipsită de importanță, atunci nu merită să te deranjezi, dar dacă vizitatorii site-ului o accesează des (și, poate, cineva o are în marcaje), dacă există link-uri externe care nu sunt sub controlul tău sau, dimpotrivă, link-uri interne care sunt sub controlul dvs., dar în astfel de volume pe care chiar doriți să le editați, apoi configurați o redirecționare 301 cu pagina veche pentru unul nou va fi soluția ideală pentru tine.

Poate fi folosit și pentru a combate paginile duplicate. În general, trebuie să scrieți o carte pe tema „99 de moduri de a folosi Redirect 301”. Iată sintaxa sa:

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

Ei bine, oricum, rezultatul va fi același:

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

Permiteți-mi să vă explic: /old-page.html este adresa relativă a paginii vechi. Poate fi imbricat: /old-category/old-page.html, sau astfel: /old-category/old-page/ - nu există restricții aici. Același lucru este valabil și pentru http://new-domain.ru/new-page.html ( pagina noua), cu singura diferență fiind că calea aici este absolută (nu trebuie să fie un domeniu nou - ar putea fi doar un nou domeniu adresa internă pagini).

Configurarea unei redirecționări 301 atunci când mutați un site pe un domeniu nou

Situația nu este mai puțin clară. A fost nevoie de a trece la un nou domeniu menținând în același timp performanța celui vechi (, PR). În acest caz, atribuim următoarele .htaccess al vechiului domeniu:

Opțiuni +FollowSymLinks
RewriteEngine activat

RewriteEngine dezactivat

RewriteCond %(HTTP_HOST) ^domeniu-vechi\.ru
RewriteRule ^(.*)$ http://new-domain.ru/$1
RewriteCond %(HTTP_HOST) ^www.oldsite\.ru
RewriteRule ^(.*)$ http://old-domain.ru/$1

ÎN în acest exemplu am instalat o redirecționare a tuturor paginilor vechiului domeniu către paginile celui nou (cu condiția ca acestea adrese relative se potrivesc). În același timp, am lăsat fișierul robots.txt pe vechiul domeniu fără redirecționare pentru ca procesul de transfer să fie mai complet. Scriem în el:

Agent utilizator: *
Nu permiteți:
Gazdă: newsite.ru
Harta site-ului: http://newsite.ru/sitemap.xml

Ei bine, așteptăm câteva luni până când mutarea domeniului este acceptată și toate caracteristicile sunt transferate.

Lipirea oglinzilor site-ului web: redirecționare 301 de la www la non-www și invers

Există mai multe opțiuni pentru accesarea unui site - cu www și fără www (de exemplu, site și www.site). Utilizatorului nu îi pasă exact cum introduce URL-ul, deoarece oricum va ajunge pe aceeași pagină. Altfel situația va fi motoare de căutare. Ei consideră www.site.ru și site.ru ca două complet domenii diferite(care se întinde din adâncurile istoriei retea mondiala când acesta a fost de fapt cazul).

Aceste duplicate interferează cu indexarea și promovarea site-urilor în general, deoarece, în primul rând, acestea sunt pagini duplicate banale (scuze pentru repetare) și, în al doilea rând, linkurile de intrare vor fi, de asemenea, plasate în coșuri diferite. Același lucru este valabil și pentru duplicatele paginii principale: site.ru, site.ru/index.html, site.ru/index.php etc. Din acest motiv, chiar și în etapa creării unui site, este indicat să vă ocupați de această problemă și să redirecționați una dintre versiunile site-ului (de exemplu, cu www) către alta (de exemplu, fără www). Dacă momentul a fost ratat, atunci nu este nimic de care să vă faceți griji.

Să ne uităm la procesul de lipire a oglinzilor folosind redirecționările 301 pas cu pas.

1. Determinați domeniul principal selectat pentru indexare de către motoarele de căutare.

Oglinda principală poate fi ușor de identificat din rezultate rezultatele cautarii Yandex și . Introduceți numele domeniului și vedeți ce adresă este afișată: www.site.ru sau site.ru. Dacă site-ul nu a fost încă indexat, atunci îl alegem la discreția noastră. Dacă domeniile principale din Google și Yandex sunt diferite, atunci este mai bine să părăsiți Yandex.

2. Înregistrăm o redirecționare 301 în .htaccess.

Găsiți fișierul .htaccess în rădăcina site-ului FTP, descărcați-l și deschideți-l în Notepad, apoi adăugați-l la el modificările necesare. Prima opțiune este o redirecționare 301 a unui domeniu fără www la cu www:

Opțiuni +FollowSymLinks
RewriteEngine Pornit

RewriteEngine dezactivat

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

Situația inversă este de la www la fără www:

Opțiuni +FollowSymLinks
RewriteEngine Pornit

RewriteEngine dezactivat

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

După ce editarea este completă, salvați fișierul și încărcați-l la rădăcină folderul FTP cu reînregistrare.

Opțional, vă puteți ocupa imediat de duplicatele paginii principale precum index.php și index.html, adăugați următorul cod mai jos:


RewriteRule ^index\.html$ http://www.site.ru/

RewriteRule ^index\.php$ http://www.site.ru/

Ei bine, din nou, dacă aveți site.ru:

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

3. Configurarea robots.txt

Ați văzut o directivă familiară care lasă robots.txt neatins? Așa este, să facem o schimbare la robots.txt:

Gazdă: main-mirror.ru

4. Verificăm funcționarea site-ului.

Introducem adresa de la care am creat redirecționarea, de exemplu www.site.ru sau site.ru/index.html și dacă atunci când o accesați are loc o tranziție către site.ru, atunci totul este configurat corect.

5. Configurarea Yandexși webmaster Google.

În plus, aplicăm setările corespunzătoare în personal . În cazul Yandex:

Și pentru Google:

Asta pare să fie tot. Succes și dacă aveți întrebări, scrieți în comentarii.

O redirecționare 301 este utilizată în primul rând atunci când o pagină sau un grup de pagini și-a schimbat adresa. Acest lucru se întâmplă în cazurile în care structura site-ului se modifică, când pagina URL formativă se modifică etc. Mulți proprietari de site-uri nu se gândesc la acest lucru și, prin urmare, apar pagini duplicat, ceea ce poate duce la pierderea pozițiilor sau la suprapunere.

În plus, redirecționarea 301 este utilizată pentru a îmbina oglinzile (de exemplu, un domeniu cu www și fără www). Acest lucru poate ajuta la îmbunătățirea parametrilor TCI și PR, deoarece pentru motoarele de căutare adresa site-ului cu „www” și fără „www” sunt adrese URL diferite. Dacă proprietarul decide să schimbe adresa proiectului din cauza unei modificări a bunurilor și serviciilor furnizate anterior, sau decide să înregistreze un domeniu mai scurt și mai frumos, atunci este foarte important ca atunci când vizitatorii accesează adresa vechiului domeniu, să ajung pe aceeași pagină ca înainte, dar numai pe cea aflată deja pe noul domeniu.

Redirecționează 301 în .htaccess

Redirecționarea 301 în htaccess este cea mai ușoară și populară modalitate de a instala redirecționări. Unul dintre avantajele acestei metode este faptul că este declanșată pe server înainte de lansare diverse scripturi resursă și nu creează încărcare suplimentară. Iată câteva dintre cele mai comune exemple (înlocuiți „site-ul” cu adresa site-ului dvs.):

301 redirecționare în .htaccess pentru un domeniu cu www. la un domeniu fără www.

Opțiuni +FollowSymLinks
RewriteEngine Pornit
RewriteCond %(HTTP_HOST) ^www\.raskruty\.ru$
RewriteRule ^(.*)$ http://site/$1

Redirecționare inversă de la un domeniu fără www. către un domeniu de pe www.

Opțiuni +FollowSymLinks
RewriteEngine Pornit
RewriteCond %(HTTP_HOST) ^raskruty\.ru$
RewriteRule ^(.*)$ http://www.site/$1

Redirecționează adresa 301 de la /index.php la rădăcina site-ului /

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

Inca un exemplu:

RewriteCond %(THE_REQUEST) ^(GET|HEAD)\ /index\.php
RewriteRule.*/

Același lucru se poate face și pentru /index.html, doar înlocuiți în exemplu php la html.

Redirecționează către nginx:

Redirecționare 301 în nginx pentru un domeniu cu www. către un domeniu fără www.

Server (
nume_server www.site;
rescrie ^ http://site$request_uri? permanent;
}
Server(
site-ul nume_server;
.... configuratie principala....
}

Un alt exemplu (nedorit):

Dacă ($gazdă = "www.site") (
rescrie ^/(.*)$ http://site/$1 permanent;
}

Redirecționare PHP:

O redirecționare 301 este adesea folosită ca răspuns de server, înlocuind eroarea tradițională 404 cu această acțiune - Nu a fost găsit. Pentru a spune simplu, atunci când un vizitator face clic pe un link incorect sau pagina stersa, nu va primi un mesaj de genul: „Ne pare rău, dar această pagină a fost ștearsă”, dar va fi redirecționat către o altă pagina curenta. Deși acest punct este controversat în rândul experților și, prin urmare, există mai multe soluții posibile.

În primul rând, există două categorii de erori 404: prima este tradițională (clasică), când pagina lipsește cu adevărat, iar a doua este când apare o astfel de eroare din cauza „curbelor” linkuri externe. Prin urmare, în primul caz, este mai bine să lăsați totul așa cum este, adică „eroare 404”. Dar, în al doilea caz, este mai bine să aveți grijă de redirecționarea către adresa URL corectă dacă este posibil să o restaurați de la un link rupt sau să redirecționați utilizatorul către pagina principală.

În cazul în care un proiect mare sau o structură complexă de șantier trebuie reluată, proprietarul se confruntă adesea cu mai multe redirecționări sau lanțuri lungi. Aceasta înseamnă că redirecționarea se efectuează nu într-un singur pas, ci în mai multe - aceasta este o situație negativă și trebuie evitată. Dacă un robot de căutare urmează un astfel de link și primește mai multe redirecționări la rând, va începe să creadă că vrea să-l înșele și își va opri acțiunile și, în general, nu mai indexează astfel de link-uri.

Dacă este posibil, ar trebui să vă străduiți să preveniți redirecționările în cadrul resursei. De exemplu, dacă linkurile care duc de la alte resurse către site nu pot fi corectate și este necesară o redirecționare, atunci linkurile interne întrerupte trebuie corectate. Deși acest lucru poate să nu afecteze clasamentele sau indexarea, este mai bine să fii în siguranță și să eviți astfel de probleme controversate.

Când creați reguli de redirecționare în .htaccess, trebuie să excludeți adrese reale fișiere și directoare de pe server și monitorizează selecția.