Redirectionare folosind .htaccess

xenno

Active Member
Registered
Full Member
Pentru ca am vazut discutii pe marginea acestui subiect si pentru a nu da impresia ca e secreta distractia de mai jos, scriu aici ce fac eu pentru a remedia din erorile de tip 404 din Google Console.
In primul rand folosesc butonul Descarca din Google Console:
consola.png
.

Salvez lista respectiva ca un CSV (Comma Separated Values) :

consola-1.png


Deschid fisierul cu un program de tip Excel:

consola-2.png


Sterg ce nu imi trebuie din acest fisier pentru ca mie de fapt imi trebuiesc doar URL-urile din el:
consola-3.png


Copiez linkurile intr-un fisier Notepad++ nou:

consola-4.png



Inlocuiesc folosind REPLACE capatul linkurilor astfel incat sa-mi ramana doar ce e dupa domeniu:



consola-5.png


Adaug in CSV doua coloane, A si B inaintea legaturilor ramase. In coloana A scriu Redirect 301 si apoi fac Copy Paste cu legaturile ce nu contin domeniul din fisierul Notepad ++

consola-6.png


Obtin astfel trei coloane. Salvez Excel-ul si apoi il deschid cu Notepad++.

consola-7.png


Aici folosesc din nou REPLACE pentru a scoate virgulele (pentru ca un CSV are virgule) si pentru a le inlocui cu un spatiu.

Acum ... de ce toate astea:
Pentru a redirectiona din .htaccess legaturi cu probleme in acesta ar trebui trecute informatii de forma:


Redirect 301 /blog/postare_veche_01/ http://domain.tld/new-post-01/
Redirect 301 /blog/postare_veche_02/ http://domain.tld/new-post-02/
Redirect 301 /blog/postare_veche_03/ http://domain.tld/new-post-03/

Modalitatea de mai sus mie mi-a mers si pentru peste 1000 de legaturi, creste marimea acelui .htaccess insa este citit si merge.
Totusi, exista o metoda mai simpla...

Tot in htaccess putem face reguli de forma :

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . / [L,R=301]

Acest cod trimite toate erorile de tip 404 in radacina site-ului.

O alta solutie folosind .htaccess ar fi sa scriem ceva cod in el de forma:

ErrorDocument 404 http://yourwebsite.com

Aceasta intructiune functioneaza insa este o redirectionare de tip 302 si nu una de tip 301. Care e diferenta? O redirectionare de tip 301 este mult mai valoroasa pentru SEO decat una de tip 302 deoarece comunica catre Google si alte motoare de cautare faptul ca legatura paginii vechi este acum legatura cea noua (vezi prima forma de redirectionare care este una de tip 301 cu legaturi specifice catre pagini noi)

PS. -----> NOTA
In exemplul meu am facut redirectioare de la pagini vechi catre aceleasi pagini pentru ca asa a iesit pentru a face un exemplu insa daca parcurgeti aceasta postare va veti da seama cum ar trebui sa fie (e mai jos de poze - a doua mentiune de redirectionare)

P.S.S -----> Pentru cei ce au citit pana aici - alte trucuri

Eu ma mai joc cu trimiteri catre pagina de search de exemplu dintr-un wordpress si am grija ca pe acea pagina sa apara rezultate diferite.
De asemenea redirectionarea se poate face catre o pagina dedicata, redirect.php de exemplu sau redirect.html ... etc unde sa alterneze continutul, sa apara ceva dinamic, exportat dintr-o baza de date.
Un Wordpress ajuta pentru ca se pot face pagini in el care sa arate continut random, si cu o astfel de pagina la redirect Google "vede" de fiecare data ... alta pagina :)
Acest:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . / [L,R=301]


Poate fi de forma:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . /redirect.html [L,R=301]


pentru o pagina dedicata de redirect.
Sau poate fi de forma :

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . /index.php/?s=forum [L,R=301]

Asta ar duce pe pagina de search la mine pe site pentru cuvantul forum
http://xenno.org/index.php/?s=forum
 
Loading...
Back
Sus