Acasă > Sfaturi SEO > Redirect .htaccess pentru homepage

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.

Categories: Sfaturi SEO Etichete:
  1. septembrie 19, 2009 la 9:21 pm | #1

    eu chiar nu pot sa fac modificarea asta . nu imi iese deloc

  2. septembrie 20, 2009 la 10:00 pm | #2

    papetarie, sunt dispus să te ajut ca să rezolvăm problema. Postează aici un comentariu cu ce ai scris în fişierul .htaccess.

  3. septembrie 21, 2009 la 6:22 am | #3

    RewriteEngine On
    Options +FollowSymLinks

    RewriteRule ^produse/(\w+)/(\w+)$ produse.php?c=$1&s=$2

    • septembrie 21, 2009 la 2:01 pm | #4

      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ă).

      # 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.paperdistribution.ro/ [R=301,L]
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule . /index.php [L]

      Îl poţi lua cu copy-paste. Succes!

  4. septembrie 21, 2009 la 8:01 pm | #5

    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 .

    • septembrie 21, 2009 la 8:40 pm | #6

      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.

  5. octombrie 6, 2009 la 4:28 am | #7

    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

  6. octombrie 6, 2009 la 10:52 am | #8

    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.

  7. octombrie 6, 2009 la 10:00 pm | #9

    ok am si codul de la tine , dar ma intreb un redirect 301 nu afecteaza la google?

    • octombrie 6, 2009 la 10:03 pm | #10

      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.

  8. octombrie 8, 2009 la 8:59 am | #11

    Util articol. L-am rezolvat si eu SEO-ul. :D

  9. octombrie 9, 2009 la 12:31 pm | #12

    Am vazut ca iti merge, face redirect asa cum trebuie.

  10. octombrie 20, 2009 la 1:01 pm | #13

    ms mult de tot … sa speram ca acum dupa ce am implementat 301 redirect o sa mearga treaba mai bine

  11. octombrie 20, 2009 la 9:32 pm | #14

    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

  12. octombrie 21, 2009 la 1:36 am | #15

    @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!

    • bio
      octombrie 21, 2009 la 2:08 am | #16

      @Catalin ma chinui si eu .. putem face si un linkexchange sa-mi dai si mie ceva PR ?

  13. octombrie 22, 2009 la 12:12 am | #17

    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!

  14. octombrie 29, 2009 la 1:01 pm | #18

    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]

  15. octombrie 29, 2009 la 2:04 pm | #19

    gata rezolvat , era o gresala aici: RewriteCond %{HTTP_HOST} ^.zzz\.ro$ [OR]
    si anume un punct in plus

    • octombrie 30, 2009 la 12:38 pm | #20

      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.

      • februarie 19, 2010 la 11:48 pm | #21

        Multumesc de aprecieri

  16. aprilie 10, 2010 la 8:04 am | #22

    o intrebare. Daca folosesc redirect 301 de multe ori (3-400 de ori)pe acelasi site, sunt penalizat de google?

    • aprilie 14, 2010 la 9:37 pm | #23

      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.

  17. mai 27, 2011 la 1:03 am | #24

    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

  1. iulie 18, 2009 la 8:01 am | #1
  2. octombrie 13, 2009 la 11:18 pm | #2

Lasă un răspuns

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Schimbă )

Twitter picture

You are commenting using your Twitter account. Log Out / Schimbă )

Facebook photo

You are commenting using your Facebook account. Log Out / Schimbă )

Connecting to %s

Follow

Get every new post delivered to your Inbox.