«Think twice before you speak, because your words and influence will plant the seed of either success or failure in the mind of another»
Napoleon Hill
Τα permalinks στο WordPress (όπως και σε κάθε σύστημα παραγωγής και διαχείρισης ιστοσελίδων) έχει να κάνει με τη δομή των URL των σελίδων καθώς και των επιμέρους στοιχείων ενός website όπως tags, categories κλπ.
Η default δομή των WordPress urls που συναντά κανείς αμέσως μετά την εγκατάσταση είναι η ακόλουθη:
http://mydomain.com/?p=12
Γιατί όμως συμβαίνει αυτό και δεν υπάρχει μία καλύτερη default ρύθμιση για το WordPress ως να αποφεύγονται μετέπειτα προβλήματα;
Η απλή απάντηση είναι ότι η παραπάνω δομή απεικονίζει ακριβώς τον τρόπο λειτουργίας του WordPress έτσι όπως το αποτυπώνει το query string. Το τμήμα “?p=12” τμήμα του URL αναφέρεται σε Post και Page Ids. Η τιμή μετά το “=” είναι η τιμή αυτής της συγκεκριμένης παραμέτρου. Συνεπώς το ανωτέρω URL λέει στο WordPress «ανέκτησε και δείξε το Post ή Page που έχει την τιμή ID 12”.
Πέρα από θέματα πρακτικότητας, το θέμα των “readable” ή “friendly” URLs ή “pretty permalinks” είναι γνωστό και από την πλευρά των χρηστών (σύγκρινε http://mydomain.com/super-duper-offer) και από το θέμα του SEO όταν μπορούμε στο URL να βάλουμε keywords που έχουν σχέση με το post / page.
Όπως και στο παραπάνω παράδειγμα το WordPress δεν δημιουργεί πραγματικά καινούργια directories που περιέχουν τα posts / pages αλλά στην ουσία «μασκαρεύει» τα URLs με τη βοήθεια ενός ειδικού αρχείου που ονομάζεται .htaccess (για Apache server. Στην περίπτωση Microsoft IIS το αρχείο web.config). Το αρχείο .htaccess πρέπει κανονικά να υπάρχει στο root κάθε εγκατάστασης WordPress αλλά ίσως να μη χρειάζεται να το δημιουργήσετε άμεσα. Ανάλογα με το περιβάλλον εγκατάστασης το WordPress θα δημιουργήσει αυτόματα το αρχείο αυτό, πράγμα που έχει και μικρότερο κίνδυνο για λάθη.
Απλά πηγαίνουμε στο Settings>Permalinks και επιλέγουμε τη ρύθμιση που θέλουμε εκτός από την default. Αν εμφανιστεί το παρακάτω μήνυμα
Permalink Structure Updated
Τότε αυτό σημαίνει ότι το WordPress μπόρεσε να δημιουργήσει το .htaccess και να προσθέσει σ’ αυτό τον κατάλληλο κώδικα. Διαφορετικά, θα εμφανιστεί ένα block κώδικα σαν το παρακάτω
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
που θα πρέπει να συμπεριλάβουμε σε ένα νέο αρχείο .htaccess και να το βάλουμε στο root του WordPress installation μας.
Ποιο στυλ Permalinks;
Το WordPress μας δίνει τη δυνατότητα να επιλέξουμε τη δική μας δομή των URLs του site μας. Παρόλο που το φορμά των permalinks είναι σε μεγάλο βαθμό προσωπικό θέμα, υπάρχουν ορισμένα θέματα που πρέπει να λάβουμε υπόψη.
Για παράδειγμα είναι το site σας blog που ανεβαίνουν άρθρα σε τακτική βάση; Σ’ αυτή την περίπτωση η δομή των URL θα μπορούσε να είναι /%year%/%month%/%day%/%postname%/
Σε άλλο παράδειγμα μπορεί το WordPress site σας να είναι κριτικές και επισκόπηση κινηματογραφικών ταινιών. Σ’ αυτή την περίπτωση ίσως να μην χρειάζεται ο χρόνος του άρθρου αλλά κυρίως η κατηγορία του ή τυχόν custom taxonomies που έχουν δημιουργηθεί /%category%/%postname%/ ή /%custom-taxonomy%/%postname%/. Ή πολύ απλά για λίγα posts με «άχρονο» περιεχόμενο το /%postname%/ μπορεί να είναι αρκετό.
Σε κάθε περίπτωση το URL έτσι όπως αντικατοπτρίζει τη δομή permalinks αποτελεί τη βάση κάθε προσπάθειας SEO που θα γίνει. Το indexing στις μηχανές αναζήτησης θα γίνει με βάση το πλάνο για τα URL permalinks που θα έχετε φτιάξει. Ένα άλλο χαρακτηριστικό των “pretty permalinks” είναι ότι μπορούν να χρησιμοποιηθούν αποτελεσματικά ως anchor text για εισερχόμενα backlinks. Παρόλο που πλέον το WordPress υποστηρίζει πολύ καλά τα redirects η αλλαγή τους δεν βοηθά καθόλου ούτε την εμπειρία των χρηστών ούτε τις προσπάθειες SEO.
Τα Post Slugs
Το slug είναι ο τρόπος που το WordPress μας επιτρέπει να ορίζουμε τα πραγματικά permalinks των posts / pages του WordPress site μας. Εξ ορισμού δημιουργείται αυτόματα από τον τίτλο του post, με κάποιες αλλαγές (όλα πεζά και παύλες αντί κενού) ώστε να μπορεί να μπει στο URL. Φυσικά για να μπει αυτό, το permalink structure θα πρέπει να περιέχει το /%postname%/. Τα πολύ μεγάλα slugs έτσι όπως γράφονται τα post titles δεν είναι καλά ούτε για τους χρήστες ούτε για τις μηχανές αναζήτησης. Τα καλά νέα είναι ότι το slug κάθε άρθρου είναι επεξεργάσιμο και πρέπει να το κρατούμε μικρό και ευκολο-μνημόνευτο.