Η
ταχύτητα φόρτωσης των σελίδων ενός διαδικτυακού χώρου (website) είναι ένα σημαντικό στοιχείο για την επισκεψιμότητα του. Οι διαδικτυακοί χώροι των οποίων οι σελίδες αργούν να εμφανιστούν δεν βοηθούν την
παραμονή του επισκέπτη. Ο τακτικός επισκέπτης μπορεί και να έχει την υπομονή να συνεχίσει την επίσκεψη του, αλλά ένας νέος το πιο πιθανό είναι να ψάξει κάπου αλλού την πληροφορία που αναζητεί (ένα κλικ απόσταση είναι!)
Το βασικότερο στοιχείο για την καλή απόδοση είναι η
ποιότητα της υπηρεσίας φιλοξενίας (web hosting). Ο συνδυασμός αποδεκτών τεχνικών χαρακτηριστικών και η σωστή παραμετροποίηση των διακομιστών (web servers) χαρακτηρίζει ένα γρήγορο website.
Ας δούμε κάποια βασικές τεχνικές που βοηθούν την απόδοση και την επιτάχυνση κατά την εμφάνιση ιστοσελίδων.
Διαχείριση Cache
Αφορά τους τακτικούς επισκέπτες και ενδείκνυται για “φορτωμένες” σελίδες, πλούσιες σε εικόνες και γραφικά. Το cache είναι ένα είδος προσωρινής μνήμης και με τις κατάλληλες ρυθμίσεις στο webserver (expire headers) τα αρχεία παραμένουν μεγαλύτερο διάστημα στον υπολογιστή του επισκέπτη με αποτέλεσμα να μην χρειάζεται χρόνος επαναφόρτωσης.
Χρήση Συμπίεσης (Gzip)
Σημαντικό χαρακτηριστικό των σύγχρονων browsers (Firefox, chrome, κλπ) είναι η δυνατότητα αποσυμπίεσης αρχείων που λαμβάνουν απο τους webservers. Συνεπώς η σωστή ρύθμιση του webserver ώστε να στέλνει συμπιεσμένα τα αρχεία τα οποία δημιουργούν μια σελίδα εξασφαλίζει σημαντική μείωση του όγκου δεδομένων και συνεπώς ταχύτερη φόρτωση.
CDNs
Είναι μονόδρομος για διαδικτυακούς χώρους με μεγάλη επισκεψιμότητα. Το CDN (content delivery network) είναι μια υπηρεσία διανομής περιεχομένου αποτελούμενη από servers οι οποίοι “αποφορτίζουν” τον βασικό webserver αναλαμβάνοντας την παράδοση συγκεκριμένων αρχείων. Τυπικό παράδειγμα είναι η αποστολή των φωτογραφιών ενός website μέσω cdn.website.org ενώ το υπόλοιπο περιεχόμενο από το τυπικό www.website.org,
Περιορισμένες ανακατευθύνσεις (Redirects)
Οι ανακατευθύνσεις url είναι μια λύση που εξυπηρετεί κάποιες ανάγκες (ειδικά κατά την ανακατασκευή ενός website) αλλά σίγουρα όχι την απόδοση ειδικά όταν γίνεται κατάχρηση. Θα έχετε ίσως παρατηρήσει κατά την επίσκεψη σας σε κάποια σελίδα τη διεύθυνση να αλλάζει (ίσως και περισσότερες από μια φορά) μέχρι τελικά να σας εμφανιστεί το περιεχόμενο.
Διασύνδεση με τρίτους
Συχνά η εμφάνιση μιας σελίδας εμπλέκει και άλλα websites τα οποία μπορεί να καθυστερούν τη σελίδα μας. Για παράδειγμα κώδικας για παρακολούθηση στατιστικών, κώδικας για εμφάνιση διαφημιστικού Banner ή κάποιο widget από social network (facebook, twitter, Κλπ) είναι τυπικές εξωτερικές κλήσεις που μπορεί να καθυστερούν μια σελίδα. Πέρα από την επιλεκτική και περιορισμένη χρήση εξωτερικών κλήσεων, η τεχνική της ασύγχρονης κλήσης μπορεί να βοηθήσει σημαντικά,
Μέγεθος εικόνων και γραφικών
Είναι ένα πολύ συνηθισμένο πρόβλημα και το παραθέτω αν και δεν αφορά τον webserver αλλά το διαχειριστικό και την εισαγωγή περιεχομένου. Η σωστή πρακτική απαιτεί τα γραφικά και οι φωτογραφίες να είναι κατάλληλα επεξεργασμένες για χρήση στο διαδίκτυο (optimization) γεγονός που εξοικονομεί σε μέγεθος αρχείου και συνεπώς σε ταχύτητα φόρτωσης χωρίς να αλλοιώνεται η ποιότητα . Ένα σωστό διαχειριστικό με την σωστή χρήση του βοηθά στη βελτίωση αλλά το καλύτερο είναι η σωστή επεξεργασία εικόνων πριν την εισαγωγή. Πρόσφατα από δημοφιλές website παραπονέθηκαν για καθυστέρηση στην αρχική σελίδα, για να αποκαλυφθεί ότι είχαν εισάγει τρεις φωτογραφίες συνολικού όγκου 2 MB (!) για να φτάσουν τα 350Kb μετά το optimization.
Σωστός κώδικας
Ο τρόπο κατασκευής (web development) είναι ένα θέμα εκτενές. Απλά θα αναφέρω ότι o τρόπος γραφής κώδικα επηρεάζει σημαντικά τη φόρτωση μιας σελίδας. Για να σχηματιστεί μια σελίδα ο Browser λαμβάνει, εκτός των άλλων, πληροφορίες σχετικά με τα αντικείμενα, τη θέση και τη διάσταση τους. Όσο πιο περιεκτικές και σωστές τόσο πιο γρήγορα θα σχηματιστεί και τελικά εμφανιστεί το περιεχόμενο. Τυπικά λάθη είναι: η κατασπατάληση των http κλήσεων, η κλήση γραφικών χωρίς διαστάσεις, τα πολλά και εν μέρη άχρηστα αρχεία css και javascript και πάει μακρυά…
Συνοπτικά
Οι επιλογές σε περιεχόμενο, πλατφόρμα ανάπτυξης και υπηρεσία φιλοξενίας κρίνουν την απόδοση ενός website. Σε μικρομεσαίες επιχειρήσεις που δεν υπάρχει τμήμα ή σύμβουλος σε θέματα διαδικτύου η επιλογή εταιρίας ή επαγγελματία για ανάπτυξη ενός website γίνεται συνήθως με γνώμονα το κόστος, τις συστάσεις και θέματα όπως η εμφάνιση και οι λειτουργίες,
χωρίς έμφαση στις υποδομές ανάπτυξης και φιλοξενίας! Πολλές φορές μάλιστα είναι και ο λόγος για χαμηλό κόστος. Όλα τα τεχνικά θέματα που ανέφερα παραπάνω είναι βασικές τεχνικές για τις οποίες δεν θα πρέπει να ανησυχεί όποιος έχει επιλέξει σωστά...