Redirect .htaccess pentru homepage
În majoritatea cazurilor, site-urile pot fi accesibile din internet cu oricare din urmatoarele variante de linkuri:
- nume-site.ro
- www.nume-site.ro
- nume-site.ro/index.php
- www.nume-site.ro/index.php
Aparent nu este nicio problemă cu asta, însă motoarele de căutare pot să interpreteze asta drept conţinut duplicat, lucru pentru care te pot penaliza. Pentru a evita asta şi pentru a te asigura că Page Rank-ul este transferat doar către www.nume-site.ro, de exemplu, poţi folosi un redirect.
Pentru a rezolva problema, ai următoarele alternative:
- să foloseşti redirect-ul oferit de Cpanel;
- să editezi manual fişierul .htaccess din root-ul folderului tău web.
Prima variantă este foarte simplu de realizat, fiind necesar doar să editezi câmpurile respective şi tipul redirectului; însă rezultatul nu este chiar aşa de bun pentru că în cazul redirectului
de nume-site.ro/index.php la nume-site.ro/, toate paginile indexate cu conţinut dinamic gen nume-site/index.php?action=* vor fi de acum redirectate catre nume-site/?action=*, lucru care nu va face decât să complice lucrurile.
Codul din .htaccess pentru acest caz este:
RewriteEngine on
# Redirect nume-site.ro to www.nume-site.ro
RewriteCond %{HTTP_HOST} ^nume-site.ro$
RewriteRule ^/?$ "http\:\/\/www\.nume\-site\.ro" [R=301,L]
# Redirect nume-site.ro/index.php si www.nume-site.ro/index.php to www.nume-site.ro
RewriteCond %{HTTP_HOST} ^nume-site.ro$ [OR]
RewriteCond %{HTTP_HOST} ^www.nume-site.ro$
RewriteRule ^index.php$ "http\:\/\/www\.nume\-site\.ro" [R=301,L]
Ce este de facut?
Problema se poate rezolva foarte uşor, cu o editare manuală a fişierului .htaccess. Ca să înţelegi cum se face asta e destul de greu, aşa că iţi ofer direct codul:
# Redirect 301 /index.php to /
Options +FollowSymLinks
DirectoryIndex index.php
RewriteEngine On
RewriteBase /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://www.nume-site.ro/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
Trebuie doar să modifici www.nume-site.ro cu adresa site-ului tău.
Rezultatul va fi că toate intrarile în browser care nu conţin www sau care conţin şi index.php, vor fi redirectate către www.nume-site.ro, însă adresările interne de genul
nume-site/index.php?action=* vor conţine mai departe şi “index.php”.
Un exemplu de site pentru care s-a folosit acest redirect este Forum Braşov.




eu chiar nu pot sa fac modificarea asta . nu imi iese deloc
papetarie, sunt dispus să te ajut ca să rezolvăm problema. Postează aici un comentariu cu ce ai scris în fişierul .htaccess.
RewriteEngine On
Options +FollowSymLinks
RewriteRule ^produse/(\w+)/(\w+)$ produse.php?c=$1&s=$2
Păi nu e bine ce ai folosit tu. Conform celor scrise de mine mai sus ar trebui să foloseşti codul de mai jos (presupunând că site-ul în cauză este cel din semnătură).
Îl poţi lua cu copy-paste. Succes!
Ideea este foarte buna dar imi rescrie doar pagina de index . nu mai apare .ro/index.php
restul ramane ne schimbat
Oricum multumesc foarte mult pentru ajutor.
sper intrun tarziu sa ajung sa modifi si linkurile .
Ok, in cazul asta verifica daca hostingul tau permite FollowSymLinks pentru contul tau; e foarte probabil sa nu ai permisiune pentru optiunea asta. In cazul meu functioneaza fara nicio problema.
O alternativa la redirect pentru a evita continutul duplicat este utilizarea linkurilor canonice; daca folosesti wordpress, poti folosi pluginul de Canonical URL pentru WordPress.
am reusit . am linkuri de tipul : http://www.paperdistribution.ro/produse/Tehnica-si-accesorii-de-birou-papetarie/Benzi-adezive/3 , multa munca cu schimbarile astea
Da, e de munca, dar ce ai reusit se face cu URL rewrite si se refera la altceva decat ce ziceam eu.
Eu ma refeream strict la redirectul URL.
Oricum este utila modificarea ta si mai adauga ceva puncte cu + la SEO.
ok am si codul de la tine , dar ma intreb un redirect 301 nu afecteaza la google?
Nu, cel care ar putea afecta este redirectul catre alt site, in cazul de fata e ceva util. Insa varianta cea mai simpla este sa folosesti link-ul canonic de care spuneam in comentariul #6.
Util articol. L-am rezolvat si eu SEO-ul.
Am vazut ca iti merge, face redirect asa cum trebuie.
ms mult de tot … sa speram ca acum dupa ce am implementat 301 redirect o sa mearga treaba mai bine
suntem in prima pagina de 4 zile , si asta multumita ajutorului dat de cateva persoane , printre care si tu . inca o data multumesc foarte mult
@produsebio: pai vad ca deja merge destul de bine, cel putin la cautari.
@Papetarie: felicitari, ma bucur daca am putut fi de folos. Nu sunt expert seo, insa din cate stiu nu e f. greu sa ajungi in top… e mai greu sa ramai acolo, asa ca mult succes la promovarea in continuare a siteului!
@Catalin ma chinui si eu .. putem face si un linkexchange sa-mi dai si mie ceva PR ?
Treaba cu PR-ul e depasita, mai ales la link exchange reciproc. Plus ca eu sunt in re-design si acum chiar e un moment nepotrivit pt ca pe noul blog nu am inca blogroll, iar pe acesta am incheiat activitatea… poate te ajuta totusi articolul meu despre inscrierea in directoare web.
Succes!
Salutare, ma tot chinui sa gasesc o solutie pentru ce am eu aici. Am 2 versiuni una veche si una noua www-ul este redirectat spre cea noua , problema este atunci cand acesez fara www ajung la versiunea veche.
Asa arata codul :
RewriteEngine On
RewriteCond %{HTTP_HOST} ^.zzz\.ro$ [OR]
RewriteCond %{HTTP_HOST} ^www\.zzz.ro\.ro$
RewriteCond %{REQUEST_URI} !^/versiune2/openx/
RewriteCond %{REQUEST_URI} !^/versiune2/admin/
RewriteCond %{REQUEST_URI} !^/admin_popel/
RewriteCond %{REQUEST_URI} !^/blogeuropean/
Redirect 301 /zzz-online.php http://www.zzz.ro/rfi-online-player.html
RewriteRule (.*) /versiune2/$1 [L]
gata rezolvat , era o gresala aici: RewriteCond %{HTTP_HOST} ^.zzz\.ro$ [OR]
si anume un punct in plus
Corect, trebuia RewriteCond %{HTTP_HOST} ^zzz\.ro$ [OR]
Nu am apucat sa intru mai repede, dar ma bucur ca ai gasit problema. Frumoase fotografiile de pe blogul tau.
Multumesc de aprecieri
o intrebare. Daca folosesc redirect 301 de multe ori (3-400 de ori)pe acelasi site, sunt penalizat de google?
Daca e prin .htaccess, nu. Cel putin din cate stiu eu.
De penalizari auzisem in cazul redirecturilor prin Meta. De asemenea, redirect mai poti face prin HTML sau PHP dar cel mai recomdandat e cel prin .htaccess.
Am si eu o intrebare legata de redirectul permanent: dupa ce ai facut redirect de la non www la www si redirect la toate paginile site-ului care sa fie catre www. ai setat si in webmaster tools ca principal http://www.site.ro mai trebuie sa redirectezi si paginile pe care le vei creea pe viitor? Daca exista un cod ceva ca sa nu stau la fiecare pagina sa dau redirect ar fi perfect.
multumesc