301 redirect για αρχάριους

By | 01/03/2012

Σε αυτό το tutorial, θα δούμε πως να κάνουμε με τη χρήση .htaccess αρχείου, διαφόρων τύπων 301 redirects.

Μαθαίνοντας Ανακατευθύνσεις 301 με το σωστό τρόπο

301 redirects είναι εντολές που εισάγετε στο «htaccess» αρχείο στην ιστοσελίδα σας. Αυτό το αρχείο βρίσκεται στο γονικό (root) κατάλογο (πχ httpdocs, public_html) του domain σας στο server που κάνετε το hosting σας. Η πρόσβαση στο htaccess γίνεται πριν καν φορτώσει η ιστοσελίδα σας κι έτσι οι εντολές του εκτελούνται πριν το site σας αρχίσει να φορτώνει όταν κάποιος το επισκέπτεται.

Μπορείτε να δημιουργήσετε ή να επεξεργαστείτε το υπάρχον htaccess σας με τη χρήση ενός επεξεργαστή κειμένου όπως το Notepad ή το Notepad++.

 

Σενάρια 301 Redirect

 

Τα 301 redirects που σας δείχνω σε αυτό το tutorial προορίζονται για χρήση αρχείου .htaccess σε Linux server με Apache web server ή LiteSpeed web server και με τη λειτουργία mod rewrite ενεργοποιημένη.

Σε κάθε παράδειγμα, θα δείτε μια γραμμή κώδικα που κάνει τη δουλειά που θέλουμε και την οποια θα πρέπει να εισάγετε στο htaccess αρχείο σας, κάτω από την γραμμή «RewriteEngine on» (υποχρεωτικά). Αν δεν υπάρχει η εντολή «RewriteEngine on» στο htaccess σας, απλά γράψτε την εσείς.

 

Ανακατεύθυνση μιας Ιστοσελίδας

 

Το πιο απλό σενάριο: 301 Ανακατεύθνση μιας παλιάς σελίδας σε μία καινούρια. Για παράδειγμα θα στείλουμε την www.mysite.gr/old.html στο www.mysite.gr/new.html:

 Redirect 301 /old.html http://www.mysite.gr/new.html

To πρώτο URL είναι αυτό που ανακατευθύνεται και το δεύτερο URL είναι αυτό στο οποίο θα ανακατευθυνθεί. Παρατηρήστε ότι στο πρώτο γράφετε μόνο το όνομα της σελίδας ενώ στο δεύτερο ολόκληρη τη διεύθυνση. Αυτή είναι η σωστή σύνταξη και έτσι πρεπει να την γράψετε και εσείς.

Αυτή η εντολή δουλεύει και για ανακατεύθυνση σελίδων που δεν έχουν κατάληξη .html ή .php – συνήθως τέτοιου είδους σελίδες παράγουν CMS σαν το Joomla ή το WordPress:

 Redirect 301 /old http://www.mysite.gr/new

Προσέξτε ότι δεν υπάρχει «/» μετά το όνομα της σελίδας στο 2ο URL!

 

Διευθύνσεις χωρίς www προς διευθύνσεις με www

 

Κάθε website που δημιουργείτε θα πρέπει να ακολουθεί αυτόν τον κανόνα. Θα ανακατευθύνουμε την εκδοση χωρίς-www του site (πχ mysite.gr) στην www έκδοση του site σας (πχ www.mysite.gr).

 

 Options +FollowSymlinks
 RewriteEngine on
 RewriteCond %{HTTP_HOST} ^mysite.com
 RewriteRule (.*) http://www.mysite.com/$1 [R=301,L]

 

Έτσι αποφεύγετε θέματα διπλού περιεχομένου ή σύγχισης με τις μηχανές αναζήτησης και δεν έχετε δύο εκδόσεις του site σας, μιας και το www. είναι στην ουσία ένα sub-domain του κύριου domain σας.

 

Μετονομασία Φακέλου

 

Αν μετανιώσατε που ονομάσατε έτσι ένα φάκελο του site σας και θέλετε να το αλλάξετε. Πχ δεν σας αρέσει το mysite.gr/newclothes/ και θέλετε να το κάνετε mysite.gr/clothes/, γιατί είναι μικρότερο και απλούστερο. Παρ’ όλα αυτά θέλετε όλες οι σελίδες μέσα σ’αυτό το φάκελο να δουλεύουν και να προσαρμοστούν με τη νέα ονομασία του φακέλου. Τότε θα χρησιμοποιήσετε αυτή την εντολή:

 

 redirect 301 /newclothes/ http://www.mysite.gr/clothes/

 

Μπορείτε να κάνετε αυτή την ανακατεύθυνση και για υποφακέλους. Πχ αν θέλετε ο φάκελος mysite.gr/clothes/classic/ να πάει στο /clothes/all/classic/ θα κάνετε το εξής:

 

 redirect 301 /clothes/classic/ http://www.mysite.gr/clothes/all/classic/

 

Εδώ θα πρέπει να αφήσετε την κάθετο «/» μετά τα ονόματα των φακέλων γιατί υποδηλώνει την ύπαρξη φακέλου. Για παράδειγμα, αυτή είναι μια ιστοσελίδα mysite.gr/test και αυτός είναι ένας φάκελος: mysite.gr/test/

 

Μετακίνηση Φακέλου

 

Αν έχετε ένα φάκελο mysite.gr/clothes και θέλετε να τον διαγράψετε μαζί με τις σελίδες που περιέχει (px /clothes/diesel.html, /clothes/energie.html, /clothes/staff.html) και να τα μεταφέρετε σε ένα άλλο φάκελο πχ mysite.gr/products, τότε γράψτε αυτή την εντολή:

 

 redirectMatch 301 ^/clothes/ http://www.mysite.gr/products/

 

Παρομοίως, αν θέλετε να ανακατευθύνετε έναν ολόκληρο φάκελο (πχ τον mysite.gr/clothes) μαζί με όλα τα περιεχόμενά του, προς μια μοναδική HTML σελίδα πχ mysite.gr/products/clothes.html

 

 redirectMatch 301 ^/clothes/ http://www.mysite.gr/products/clothes.html

 

Domain προς Domain

 

Μερικές φορές μπορεί ένα website (πχ domain.gr) να πρέπει να μεταφερθεί σε ένα άλλο domain (πχ new-domain.gr). Aπλά γράψτε τον παρακάτω κώδικα  μόνο, ώστε να είναι το μοναδικό περιεχόμενο του htaccess αρχείου σας:

 Options +FollowSymLinks
 RewriteEngine on
 RewriteRule (.*) http://www.new-domain.gr/$1 [R=301,L]

 

Με αυτό τον τρόπο, ανακατευθύνετε όλα τα περιεχόμενα από το παλιό σας site στην αρχική σελίδα του νέου site. Δεν ανακατευθύνετε κάθε ένα φάκελο και σελίδα ξεχωριστά προς τη νέα τοποθεσία τους στο νέο domain.

Η εναλλακτική σε αυτό, είναι να γράψετε ένα 301 redirect για κάθε φάκελο ή σελίδα, αν θέλετε φυσικά να κρατήσετε την κατάταξη κάθε σελίδας στις μηχανές αναζήτησης.Επίσης όταν ανακατευθύνετε με 301 redirect από ένα παλιό domain σε ένα καινούριο, θα πρέπει να συνεχίσετε να ανανεώνετε το παλιό domain σας.

Επίσης καλό θα είναι να ενημερώσετε όσους έχουν link προς το παλιό site σας, να το αλλάξουν και βάλουν στη θέση του το καινούριο domain σας. Όταν το κάνουν, τότε μπορείτε να διαγράψετε το παλιό σας domain και να μη χρειαστεί να το ξανανανεώσετε.

 

 

Παράδειγμα αρχείου .htaccess

 

Επιπλέον πληροφορίες για το 301 Redirect

 

Κώδικας 301 Redirect

  • [NC]: H δήλωση [NC] μπορεί να χρησιμοποιηθεί μέσα σε έναν rewrite κανόνα 301 redirect. Λέει απλά στον server σας ότι η αξία πριν από αυτή δεν είναι case sensitive και να αγνοήσει τις διαφορές μεταξύ κεφαλαίων και πεζών χαρακτήρων.
  • [L]: Αυτή η δήλωση, όταν χρησιμοποιείται στο τέλος ενός κανόνα rewrite, λέει στον server ότι είναι η τελευταία γραμμή σε αυτό το σετ κώδικα. Οτιδήποτε ακολουθεί μετά, δεν θα επεξεργαστεί σε αυτό το κομμάτι κώδικα. Πχ: «RewriteRule ^(.*)$ http://www.mysite.gr/$1 [R=301,L]«
  • Options +FollowSymLinks: Mπορεί να το δείτε στο ήδη υπάρχον αρχείο htaccess σας, πριν το «RewriteEngine on». Είναι μια δήλωση που ενεργοποιεί τη λειτουργία «Mod Rewrite».

Επιβεβαίωση λειτουργίας του 301 Redirect

Για να δείτε αν λειτουργεί η ανακατεύθυνση 301 απλά επισκευθείτε τη σελίδα που θέλετε να ανακατευθύνετε. Αν κάτι δεν πάει καλά μπορείτε να αναζητήσετε στις μηχανές αναζήτησης για κάποιο online «301 redirect check» εργαλείο που θα κάνει ένα διαγνωστικό έλεγχο για σας.

 

Συμβουλές, Κόλπα και Στοιχεία για το 301 Redirect

  • Οι ανακατευθύνσεις τύπου 301 γίνονται ακαριαία γιατί το αρχείο .htaccess διαβάζεται πριν φορτωθεί η ιστοσελίδα στον server.
  • Δε χρειάζεται να κάνετε 301 redirects σε σελίδες που δεν έχουνε backlinks, εκτός και αν έχουνε καλή θέση στις μηχανές αναζήτησης. Αλλιώς απλά διαγράψτε ή μετονομάστε τες και υποβάλετε ξανά το XML sitemap σας στα Google Webmaster και Bing Webmaster Tools.
  • Όταν κάνετε ένα 301 redirect, ελέξτε όλες τις σελίδες που εμπλέκονται σε αυτό για να δείτε αν συμπεριφέρονται όπως θα έπρεπε.
  • Τα 301 redirects μεταβιβάζουν την κατάταξη στις μηχανές αναζήτησης και το Pagerank με την πάροδο του χρόνου (και όχι στιγμιαία).

Περισσότερες πηγές για 301 Redirects

Redirects – groups.google.com
Ένας εκπρόσωπος της Google δίνει πληροφορίες για τα redirects και για συχνές παρερμηνείες τους.
Best Practices When Moving Your Site (Google Webmaster Blog)
Περιλαμβάνει όλα όσα πρέπει να κάνετε και να ελέγξετε, όταν έχετε μπροστά σας ένα μεγάλο εγχείρημα ανακατεύθυνσης ενός ολόκληρου site.

6 thoughts on “301 redirect για αρχάριους

  1. costas

    Απο το google master tools εκανα την εργασια απο www σε link χωρις www
    Αν όμως η σελίδα μας διαθέτει SSL το http μετατρέπετε σε https.
    Το αφήνω ως έχει η χρειαζετε κατι που δε γνωριζω???

    Reply
    1. Γιάννης Post author

      Αν έχεις ενεργοποιήσει κάποιο SSL στο domain σου, τότε θα θέλεις το http:// να ανακατευθύνει αυτόματα σε https://

      Reply
  2. προώθηση ιστοσελίδων

    Πολύ χρήσιμο post το οποίο ξεκαθαρίζει αρκετά θέματα για το 301. Να υπογραμμίσω και εγώ με τη σειρά μου τη σημασία του να ανακατευθύνουμε τις διευθύνσεις χωρίς www προς διευθύνσεις με www (ή το αντίστροφο). Με αυτό τον τρόπο ενημερώνουμε τις μηχανές αναζήτησης για το κυρίαρχο domain της ιστοσελίδας μας. Η συγκεκριμένη εργασία πάντως μπορεί να γίνει και μέσα από τα Google Webmaster Tools.

    Reply
  3. Rafaelo

    Μπραβο ρε παιδια, ενα πολυ χρήσιμο αρθρο!

    Reply
  4. Στέφανος

    Μπραβο σας!!Πολυ χρησιμο αρθρο!!!Ειδικα για εμας που δεν ειμαστε webmaster… 🙂

    Reply
    1. Παναγιώτης

      Απίστευτα χρήσιμο αρθο όσο και αν έψαξα, από εδώ βρήκα λύσεις!!! Μόνο μια απορία έχω πως γίνεται redirect από αρχείο με κατάληξη swf σε οτιδήποτε άλλο πχ html , php δοκίμασα όλα τα παραπάνω με redirect 301 γίνεται το redirect αλλά δεν λειτουργεί το swf (Flash Intro)

      Reply

Αφήστε μια απάντηση

Η ηλ. διεύθυνσή σας δεν δημοσιεύεται. Τα υποχρεωτικά πεδία σημειώνονται με *