0

Cum fac o redirecționare spre un alt site?

18 mai 2009 | 3 comentarii

Când îți schimbi adresa sitului, vrei probabil ca vizitatorii care accesează vechea adresă să ajungă automat la noua adresă. Există trei feluri în care poți face asta, printr-o redirecționare permanentă 301, o redirecționare temporară 302 sau prin meta-taguri.
Redirecționarea permanentă 301 (301 redirect)

Redirecționarea 301 este cea mai bună metodă de redirecționare a unui sit web: motoarele de căutare vor pasa toate proprietățile vechii adrese către noua adresă, inclusiv pagerankul (de care depinde poziția în care e afișat un sit în rezultatele căutării). De exemplu, fiecare link spre pagina veche de pe orice sit din Internet va fi contorizat ca un link spre pagina nouă.

De fapt o redirecționare 301 spune motorului de căutare că pagina respectivă a fost mutată definitiv într-o nouă locație și îl forțează să se comporte ca și când noua adresă ar fi fost întotdeauna adresa sitului.

Ca să faci o redirecționare 301 de la vechiul sit către o nouă adresă, inserează în fișierul “.htaccess”, aflat pe serverul unde este găzduit vechiul tău sit, următorul cod (dacă acesta nu există poți crea unul în Notepad, pe care să-l încarci în directorul principal al sitului; dar nu uita să pui punctul înainte de htaccess în denumirea fișierului):

redirect 301 /folderactual/numevechi.htm http://www.adresata.ro/foldernou/numenou.htm

Fii atent la două lucruri în codul de mai sus: adresa veche trebuie scrisă fără prefixul http://www iar între cel două adrese există doar un singur spațiu.1

Există și alte coduri care pot fi folosite, după caz, dacă metoda de mai sus nu funcționează; vezi aici.

Redirecționarea temporară 302 (302 redirect)

Redirecționările 302 se folosesc când un sit își schimbă temporar adresa. Practic, motorul de căutare va primi că paginile unui sit web sunt găzduite pentru un timp la altă adresă URL. Așa motorul va indexa atât paginile de la vechea adresă, cât și paginile de la adresa nouă. Problema e că o redirecționare 302 nu va transmite pagerankul și alte proprietăți ale vechiului sit către noul sit.2

Nu prea e recomandat să folosești o redirecționare 302, decât dacă te pricepi bine la motoarele de căutare, așa încât să faci o pagină unică de redirecționare pentru fiecare motor în parte. Fiecare dintre cei trei mari jucători (Google, Yahoo! și Live) procesează redirecționările 302 diferit. Citește mai multe despre redirecționările 301 și 302 aici.

Redirecționarea cu meta-taguri (meta tag redirect)

De fapt, denumirea de redirecționare nu e cea mai potrivită în acest caz: e vorba mai degrabă de o reîmprospătare (refresh); redirecționarea prin meta-taguri e o comandă dată browserului să reîmprospăteze pagina după o anumită perioadă de timp. Asta e cea mai simplă metodă de redirecționare, nu e nevoie decât să introduci următorul rând chiar după codul <head> din șablonul (template) vechiului site:

<meta http-equiv='refresh' content='0; url=http://www.noua-adresă.ro' />

Mai rămâne doar să înlocuiești adresa URL din codul de mai sus cu noua ta adresă și ești gata. Redirecționările prin meta-taguri nu sunt recomandate, dar atunci când nu poți face o redirecționare 301/302 (de exemplu dacă situl tău e găzduit de o platformă gratuită ca Blogger sau WordPress) nu prea ai încotro. Problema cu ele e că nu sunt înțelese de toate browserele (asta o poți rezolva adaugând un text gen “Această pagină a fost mutată. Dacă nu sunteți redirecționat automat, faceți clic aici”). În plus, “meta-refresh”-urile sunt folosite de multe ori pentru spam, iar motoarele de căutare sau platforma de găzduire ar putea crede că situl tău e de fapt spam (de exemplu, Blogger va marca blogul tău ca spam până ceri o analiză manuală de către unul dintre tehnicienii lor). Totuși, atât Google cât și Yahoo! le recunosc și le tratează ca redirecționări 301 dacă variabila content este setată 0 sau 1. Orice durată peste 1 e considerată redirecționare 302.

Redirecționare către paginile echivalente de la noua adresă

Dacă ți-ai mutat tot conținutul la o adresa nouă, poți forța chiar orice link către o pagină din vechiul sit să redirecționeze la pagina corespunzătoare de la adresa nouă. Asta e foarte util atunci când îți muți blogul de pe o platformă de găzduire pe alta.

Să luăm exemplul platformei Blogger. Pagina de ajutor ne sfătuiește să punem un link în vechiul blog spre noua pagină, dar asta nu ne va trimite automat tot traficul la adresa nouă. Mai jos e un cod care folosește funcția “meta-refresh” (platformele gratuite pentru bloguri nu suportă redirecționări 301 sau 302) pentru a redirecționa fiecare pagină dintr-un blog de pe Blogger spre pagina echivalentă de la o altă adresă. Inserează codul imediat după <head> în șablonul vechiul blog Blogger, și nu uita să înlocuiești variabilele old_root_domain și new_root_domain cu vechea și, respectiv, noua adresă a blogului tău (fără să mai pui ultimul slash “/” din coada adresei URL). Ai grijă și ca formatul URL al vechilor pagini să coincidă cu formatul URL al noilor pagini (de ex. dacă vechea adresă unde se afla pagina era http://vechiulblog.blogspot.com/2009/05/numele-postarii.html atunci URL-ul noii pagini trebuie să fie http://www.noulblog.com/2009/05/numele-postarii.html).

<script type='text/javascript'>
/*
* Written by Danny Ng (http://www.dannytalk.com/2008/07/26/how-to-301-redirect-from-blogger-to-wordpress/)
* Free to use and distribute but must keep this comment in place.
*/
var post_regex = /^http:\/\/(www.)?.*\.blogspot\.com\/\d{4}\/\d{2}\//;
var month_archive_regex = /http:\/\/(www.)?.*\.blogspot\.com\/\d{4}_\d{2}_\d{2}_archive.html/;
var year_archive_regex = /updated-min=\d{4}/;
var label_regex = /search\/label\/.+/;
var old_root_domain = 'http://vechiulblog.blogspot.com', new_root_domain = 'http://www.noulblog.ro', tag_url = '/tag/', redirect_suffix;

if (post_regex.test(location.href))
redirect_suffix = (location.href.search(/www/i) == 7) ? location.href.substring(old_root_domain.length+4, location.href.length-5) : location.href.substring(old_root_domain.length, location.href.length-5); // -5 to strip .html
else if (month_archive_regex.test(location.href))
{
redirect_suffix = (location.href.search(/www/i) == 7) ? location.href.substring(old_root_domain.length+4, location.href.length-16) : location.href.substring(old_root_domain.length, location.href.length-16); // -16 to strip _XX_archive.html
redirect_suffix = redirect_suffix.replace(/_/g, '/');
}
else if (year_archive_regex.test(location.href))
{
redirect_suffix = year_archive_regex.exec(location.href).toString();
redirect_suffix = redirect_suffix.replace(/updated-min=/, '/');
}
else if (label_regex.test(location.href))
{
redirect_suffix = label_regex.exec(location.href).toString();
redirect_suffix = tag_url + redirect_suffix.split('/')[2];
}
else
redirect_suffix = '';

document.write("<meta content='0;URL=" + new_root_domain + redirect_suffix + "' http-equiv='refresh'/>");
</script>

Detalii și feedback despre codul de mai sus găsești aici. Codul va funcționa doar pentru paginile care există la vechea adresă: nu șterge postările vechiului blog, ele trebuie să existe pentru a putea redirecționa. Dacă vrei ca paginile vechiului blog să nu mai apară în rezultatele date de motoarele de căutare (ca dubluri), adaugă rândul de mai jos sub codul de redirecționare:

<meta content='noindex, nofollow' name='robots' />

Există bineînțeles și alte coduri de redirecționare pentru blogul tău, dacă cel de sus nu funcționează: vezi aici de exemplu.

24906 vizualizări, 9 dintre care astăzi

Articole similare

3 comentarii

  1. alin:

    Salut,am un site pe care a-si dori sa pun produse pentru vinzare online,pe linga lucrariile pe care le efectuez, si a-si dori sa creez acea pagina de vinzare online,intrebarea mea este : cum se face?

  2. Dan:

    @alin, îți recomand să cauți pe Google “cum să-mi fac un magazin online?”

  3. Marius:

    Cum fac daca am un blog la blogger, care este deja pe un domeniu, si vreau sa-l mut pe wordpress?

Postare comentariu: