Προς το περιεχόμενο

osCommerce kai SEF URLs


Psyx

Προτεινόμενες αναρτήσεις

*** ΠΡΟΕΙΔΟΠΟΙΗΣΗ : ΜΕΓΑΑΑΑΛΟ ΠΟΣΤ ***

 

Εδώ και αρκετό καιρό ψάχνω να βρώ πώς μπορείς μέσω του osCommerec (osC)

να κάνεις τα dynamic url που παράγει πιο SEF (Search Engine Firendly)...

π.χ. το Google παραδέχεται ότι:

 

If you decide to use dynamic pages (i.e., the URL contains a "?" character), be aware that not every search engine spider crawls dynamic pages as well as static pages. It helps to keep the parameters short

 

and thenumber of them few.

 

http://www.google.com/support/webmasters/bin/answer.py?answer=35769

 

ψάχνοντας διάφορα contributions που κάνουν αυτή ακριβώς την δουλειά για το osC

βρήκα το πιό εντυπωσιακό απ'αυτά ...

 

Seach Engine Friendly URL (Link)...

οπώς βλέπετε και στην σελίδα του contribution, κάνει το εξής :

 

από

http://www.yoursite.com/product_info.php?cPath=1_4&products_id=1

σε

http://www.yoursite.com/Hardware/Graphics-Cards/Matrox-G200-MMS/

 

το οποίο είναι αρκετά εντυπωσιακό γιατί δεν μεταμορφώνει απλά τα dynamic urls,

αλλά ''τραβάει'' και το όνομα του προιόντος, φτιάχνοντας ενα "keyword rich" url...

 

Όλα όμορφα και ωραία... όμως το ελληνικό encoding δυσκολεύει την κατάσταση

και τα πράγματα δεν είναι τόσο απλά... Ο τύπος λοιπόν που το έγραψε, πρόσθεσε

την εξής γραμμή στο url_rewrite.php:

 

>// catalog\includes\classes\url_rewrite.php, Line 8

// Convert special characters from European countries into the English alphabetic equivalent
$url = strtr($url, '�����ΐΑΒΓΔΕΗΘΙΚΛΜΝΞΟΡΣΤΥΦΨΩΪΫάέΰαβγδεηθικλμνξορςστυφψωϊϋόύ', 'SZszYAAAAAACEEEEIIIINOOOOOOUUUUYaaaaaaceeeeiiiinoooooouuuuyy');

 

με αποτέλεσμα το εξής url:

 

http://www.yoursite.com/Υπολογιστές/Κάρτες-Γραφικών/Matrox-G200-MMS/

να γίνεται

http://www.yoursite.com/OooneYe/ooeeii-aceiioY/Matrox-G200-MMS/

 

άρα δεν μας βοηθάει και πολύ... ψαχνοντάς αρκετά sites με SEO και SEF tips τα

τελευταία χρόνια, έχω καταλήξει πώς η καλύτερη δυνατή πρακτική για να κάνεις

ένα link πιο SEF, είναι η μετατροπή των ελληνικών χαρακτήρων σε "percent escapes" utf-8...

και εξήγω :

 

Α = %CE%91

Β = %CE%92

Γ = %CE%93

Δ = %CE%94

 

Θα μου πείτε ''Μα καλά, θές να βγάλεις 1 link που να'ναι σαν σιδηρόδρομος?''

Και απαντώ ''Με απασχολεί πιο πολύ το SEF, παρά η καλαισθησία''... κατέληξα στην πρακτική αυτή,

αφού την χρησιμοποιεί το Google για να επιστρέψει τ'αποτελέσματα αναζήτησης καθώς και η

Wikipedia για το ελληνικό της περιεχόμενο...

 

Αναζήτηση στο Google για Υπολογιστής:

Δεν ξέρω αν βλέπετε το ίδιο αποτέλεσμα, αλλά σε εμένα δεύτερο link βγαίνει η Wikipedia και

μάλιστα με αυτό που θέλω : http://el.wikipedia.org/wiki/Ηλεκτρονικός_υπολογιστής

(μη μου πείτε ότι η Wikipedia έχει μεγάλο PageRank γι'αυτό και βγαίνει 2η... δεν είναι αυτό

το θέμα μου... ΑΛΛΑ ότι είναι το ΜΟΝΟ site που στ'αποτελέσματα έχει ελληνικούς χαρακτήρες στο url!!!)

 

Και ερχόμαστε λοιπόν στο ζητούμενο... πώς θα μπορέσουμε αυτή την γραμμή του κώδικα να την

κάνουμε να μετατρέπει τους ελληνικούς χαρακτήρες στους ανάλογους percent escapes?

 

Η γνώση μου σε php είναι κάτω του επιπέδου ενός lamer και δεν μπορώ να με βοηθήσω...

επίσης υποψιάζομαι πώς δεν αρκεί μόνο αυτή η γραμμή, αλλά πρέπει να επέμβεις και στον

υπόλοιπο κώδικα στο url_rewrite.php... ίσως και σε άλλα αρχεία του contribution?

 

Όποιος μπορεί να βάλει ενα χεράκι, νομίζω πώς θα βοηθήσει σημαντικά την ελληνική κοινότητα των osC users...

 

Ευχαριστώ :D

 

Υ.Γ.: πρόσφατα ανακάλυψα πώς και το e-shop μπήκε στην διαδικασία ν'αλλάξει ενα κομμάτι

από τα links του... Παλιότερα ήταν:

http://www.eshop.gr/search_per.phtml?category=ΣΚΛΗΡΟΣ ΔΙΣΚΟΣ

ενώ τώρα

http://www.eshop.gr/search_per.phtml?category=%D3%CA%CB%C7%D1%CF%D3%2520%C4%C9%D3%CA%CF%D3

Σε όσους έχουν ασχοληθεί, εστώ και ελάχιστα με SEO, νομίζω θα καταλάβουν πόσο σημαντικό είναι.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Το πρόβλημά σου είναι σύνθετο...

Εγώ προσωπικά σε Ελληνικούς χαρακτήρες χρησιμοποιώ την μέθοδο της μετατροπής σε greeklish για να δώσω την φιλική διαδρομή..

Για να μπορέσεις να δουλέψεις με τον τρόπο της wiki θα πρέπει να προσθέσεις μια array η οποία θα μετατρέπει τους Ελληνικούς χαρακτήρες σε αυτά τα περίεργα που εμφανίζει στο τέλος στην γραμμή διευθύνσεων (π.χ. %CE%B9%CE%BA%CF%8C%CF%82)..

 

Η array θα είναι κάπως έτσι:

 

$greekmap = array(

"α" => "%CE%91","β" => "%CE%92",.....κλπ κλπ );

foreach($greekmap as $greek => $greekme) {

$title = str_replace($greek, $greekme, $title);

}

 

όπου $title η μεταβλητή για τον τίτλο του προϊόντος..

τώρα για την αντικατάσταση των Ελληνικών γραμμάτων με τα κινέζικα θα πρέπει να δίνεις ένα προς ένα τα γράμματα σε firefox και να βλέπεις πως τα μετατρέπει και να κάνεις αντικατάσταση.. (π.χ. http://el.wikipedia.org/wiki/α , http://el.wikipedia.org/wiki/ά κλπ)... μην ξεχάσεις τα τονισμένα και τα κεφαλαία....

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

φίλε Grjava ευχαριστώ για την απάντηση σου... κι εγώ κάτι τέτοιο

φανταζόμονα οτι πρέπει να γίνει αλλά δεν έχω καν τις γνώσεις να

χρησιμοποιήσω το παράδειγμα σου για να κάνω κάτι χρήσιμο...

 

ελπίζω οι υπόλοιποι insomniacs που κατέχουν να βάλουνε ένα χεράκι

βοήθειας...

 

την πρακτική των greeklish την έχω συναντήσει και υπάρχει ακόμα και

τώρα σε αρκετά μικρά και μεγάλα ελληνικά sites... απλά από SEO πλευράς

το να δίνεις στο Google links που διαβάζοντε στα Ελληνικά, είναι ότι

καλύτερο για την τοποθέτηση του site σου ψηλότερα... όπως και να

το κάνουμε, και το Google σε percent escapes ψάχνει τα keywords

της ελληνικής γλώσσας...

 

btw υπάρχει και ένας online μετατροπέας χαρακτήρων σε percent escapes

από το W3:

http://people.w3.org/rishida/scripts/uniview/conversion

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δεν είμαι σίγουρος αν δουλέψει αλλά δοκιμασέ το

 

Αντικατέστησε τον κώδικα:

 

// Convert special characters from European countries into the English alphabetic equivalent

$url = strtr($url, 'ŠŽšžŸΐΑΒΓΔΕΗΘΙΚΛΜΝΞΟΡΣΤΥΦΨΩΪΫάέΰαβγδεηθικλμνξορςστυφψωϊϋόύ', 'SZszYAAAAAACEEEEIIIINOOOOOOUUUUYaaaaaaceeeeiiiinoooooouuuuyy');

 

που είναι στο αρχείο catalog\includes\classes\url_rewrite.php με αυτόν που σου έδωσα και άλλαξε την μεταβλητή $title σε $url (δηλ. να γίνει: $url = str_replace($greek, $greekme, $url);

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δεν είμαι σίγουρος αν δουλέψει αλλά δοκιμασέ το

 

Αντικατέστησε τον κώδικα:

 

// Convert special characters from European countries into the English alphabetic equivalent

$url = strtr($url' date=' 'ŠŽšžŸΐΑΒΓΔΕΗΘΙΚΛΜΝΞΟΡΣΤΥΦΨΩΪΫάέΰαβγδεηθικλμνξορςστυφψωϊϋόύ', 'SZszYAAAAAACEEEEIIIINOOOOOOUUUUYaaaaaaceeeeiiiinoooooouuuuyy');

 

που είναι στο αρχείο catalog\includes\classes\url_rewrite.php με αυτόν που σου έδωσα και άλλαξε την μεταβλητή $title σε $url (δηλ. να γίνει: $url = str_replace($greek, $greekme, $url);[/quote']

 

Θα το δοκιμάσω και θα ενημερώσω για το αποτέλεσμα :-D

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...