Psyx Δημοσ. 27 Ιουνίου 2006 Δημοσ. 27 Ιουνίου 2006 *** ΠΡΟΕΙΔΟΠΟΙΗΣΗ : ΜΕΓΑΑΑΑΛΟ ΠΟΣΤ *** Εδώ και αρκετό καιρό ψάχνω να βρώ πώς μπορείς μέσω του 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... Ευχαριστώ Υ.Γ.: πρόσφατα ανακάλυψα πώς και το 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, νομίζω θα καταλάβουν πόσο σημαντικό είναι.
Grjava Δημοσ. 27 Ιουνίου 2006 Δημοσ. 27 Ιουνίου 2006 Το πρόβλημά σου είναι σύνθετο... Εγώ προσωπικά σε Ελληνικούς χαρακτήρες χρησιμοποιώ την μέθοδο της μετατροπής σε 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/ά κλπ)... μην ξεχάσεις τα τονισμένα και τα κεφαλαία....
Psyx Δημοσ. 28 Ιουνίου 2006 Μέλος Δημοσ. 28 Ιουνίου 2006 φίλε 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
Grjava Δημοσ. 28 Ιουνίου 2006 Δημοσ. 28 Ιουνίου 2006 Δεν είμαι σίγουρος αν δουλέψει αλλά δοκιμασέ το Αντικατέστησε τον κώδικα: // 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);
Psyx Δημοσ. 28 Ιουνίου 2006 Μέλος Δημοσ. 28 Ιουνίου 2006 Δεν είμαι σίγουρος αν δουλέψει αλλά δοκιμασέ το Αντικατέστησε τον κώδικα: // 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'] Θα το δοκιμάσω και θα ενημερώσω για το αποτέλεσμα
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.