Η ιστοσελίδα ανοίγει στο laptop του γραφείου και φαίνεται μια χαρά. Έπειτα ένας πελάτης αναφέρει ότι στο κινητό του άργησε αφόρητα, ή την ανοίγετε εσείς οι ίδιοι με δεδομένα κινητής σε ένα πάρκινγκ και βλέπετε το λογότυπο να στέκεται μόνο του σε μια λευκή οθόνη όσο τα υπόλοιπα προσπαθούν να το προλάβουν. Αναζητάτε γιατί η ιστοσελίδα μου είναι αργή, τρέχετε ένα δωρεάν τεστ ταχύτητας και παίρνετε μια σελίδα με κόκκινα σημάδια και ορολογία που δεν λέει τι πρέπει να κάνετε στην πράξη.
Τα συνηθισμένα συμπεράσματα είναι ότι η φιλοξενία θέλει αναβάθμιση ή ότι ολόκληρη η ιστοσελίδα θέλει ξαναφτιάξιμο. Κάποιες φορές ισχύει το ένα από τα δύο. Πιο συχνά οι αιτίες είναι λίγες, φαίνονται στον browser που ήδη έχετε, και οι φθηνές έρχονται πρώτες. Μια αργή ιστοσελίδα δεν είναι απλώς ενόχληση: ο επισκέπτης που περίμενε αρκετά ώστε να εκνευριστεί σπάνια συμπληρώνει φόρμα, και αυτός είναι ένας από τους πιο αθόρυβους λόγους που μια ιστοσελίδα έχει επισκέπτες αλλά όχι αιτήματα.
Γιατί η ιστοσελίδα μου είναι αργή: οι συνηθισμένες αιτίες
Οι εικόνες είναι πολύ μεγαλύτερες από τον χώρο που γεμίζουν. Οι φωτογραφίες πηγαίνουν κατευθείαν από τη φωτογραφική μηχανή ή από τράπεζα εικόνων στη σελίδα, αρκετές φορές πλατύτερες από το πλαίσιο όπου κάθονται, και ο browser κατεβάζει ολόκληρο το αρχείο πριν το σμικρύνει. Το σημάδι: η δομή της σελίδας εμφανίζεται γρήγορα, αλλά οι φωτογραφίες γεμίζουν μία μία, και η ιστοσελίδα είναι αισθητά χειρότερη στο κινητό απ’ ό,τι σε ενσύρματο υπολογιστή.
Πάρα πολλά πρόσθετα, widgets και scripts. Μια ιστοσελίδα σε CMS ή σε εργαλείο κατασκευής μαζεύει πρόσθετα με τα χρόνια: ένα slider, ένα widget συνομιλίας, αρκετούς κώδικες αναλυτικών, ένα banner για cookies, μια ενότητα κρατήσεων που κανείς δεν χρησιμοποιεί πια, βίντεο αυτόματης αναπαραγωγής στην κεφαλίδα. Το καθένα φορτώνει τον δικό του κώδικα πριν κατασταλάξει η σελίδα. Το σημάδι: η σελίδα συνεχίζει να δουλεύει πολύ αφότου φανεί το κείμενο, τα κουμπιά δεν αποκρίνονται για μια στιγμή, και η διάταξη πηδάει καθώς φτάνουν τα κομμάτια.
Ο server αργεί να απαντήσει. Πριν εμφανιστεί έστω και ένα κομμάτι της σελίδας, ο browser περιμένει τον server. Ένα φθηνό πακέτο κοινόχρηστης φιλοξενίας, ένα CMS που συναρμολογεί κάθε σελίδα από την αρχή σε κάθε επίσκεψη επειδή το cache είναι κλειστό, ή μια βάση δεδομένων που μεγαλώνει εδώ και χρόνια δείχνουν όλα το ίδιο: μια λευκή οθόνη για λίγο, μετά όλα μαζί.
Ο επισκέπτης βρίσκεται μακριά από τον server. Μια ιστοσελίδα που φιλοξενείται σε μία χώρα και δέχεται επισκέψεις από άλλη χάνει χρόνο μόνο και μόνο λόγω απόστασης· μοιάζει γρήγορη στην έδρα και αργή στο εξωτερικό, και κανείς στην έδρα δεν το προσέχει. Το σημάδι: τα παράπονα έρχονται από συγκεκριμένη περιοχή.
Κάτι στη σελίδα μπλοκάρει όλα τα υπόλοιπα. Μια γραμματοσειρά που πρέπει να κατέβει πριν σχεδιαστεί οποιοδήποτε κείμενο, ένας χάρτης ενσωματωμένος σε κάθε σελίδα, ένα script που περιμένει μια εξωτερική υπηρεσία που έχει κακή μέρα. Το σημάδι: η ιστοσελίδα είναι καλή κάποιες μέρες και όχι άλλες, ή μένει κενή μέχρι να εμφανιστεί ένα συγκεκριμένο στοιχείο.
Πώς θα καταλάβετε ποια είναι η δική σας
Όλα τα παρακάτω γίνονται με ένα κινητό, ένα laptop και τα δωρεάν εργαλεία που έχει ήδη ο browser σας. Πηγαίνετε με τη σειρά· ο πρώτος έλεγχος που αποτυγχάνει είναι συνήθως η αιτία σας.
- Ανοίξτε την ιστοσελίδα σε κινητό με δεδομένα κινητής, όχι με Wi-Fi. Χρονομετρήστε πρόχειρα με ένα ρολόι, από το πάτημα του συνδέσμου μέχρι να μπορείτε να διαβάσετε και να πατήσετε, και μετά κάντε το ίδιο στο laptop. Ένα κινητό δραματικά χειρότερο δείχνει εικόνες και βαριά scripts.
- Παρατηρήστε τι εμφανίζεται πρώτο. Ανανεώστε και σημειώστε τη σειρά. Κενή οθόνη και μετά όλα μαζί δείχνει τον server· πρώτα κείμενο και φωτογραφίες που στάζουν μία μία δείχνει εικόνες· διάταξη που πηδάει και κουμπιά που δεν αποκρίνονται δείχνει scripts.
- Τρέξτε ένα δωρεάν τεστ ταχύτητας από μεγάλη μηχανή αναζήτησης ή κατασκευαστή browser και αγνοήστε τη βαθμολογία. Διαβάστε μόνο τη λίστα με τα μεγαλύτερα αρχεία και τις προτεινόμενες βελτιώσεις: κατονομάζουν με απλά λόγια υπερμεγέθεις εικόνες, αχρησιμοποίητα scripts και αργή απόκριση server. Δοκιμάστε μια σελίδα υπηρεσίας, όχι μόνο την αρχική.
- Ανοίξτε τα εργαλεία προγραμματιστή του browser στην καρτέλα δικτύου, ανανεώστε και ταξινομήστε κατά μέγεθος. Αν οι μεγαλύτερες εγγραφές είναι αρχεία εικόνας πολύ μεγαλύτερα από την ορατή φωτογραφία, αυτή είναι η απάντησή σας· αν η λίστα έχει δεκάδες scripts από domains που δεν αναγνωρίζετε, μετρήστε τα πρόσθετα.
- Καταγράψτε κάθε πρόσθετο, widget και κώδικα τρίτων στην ιστοσελίδα και γράψτε δίπλα σε καθένα ποιος το χρησιμοποιεί και για τι. Από την εμπειρία μας η λίστα είναι μακρύτερη απ’ ό,τι περίμενε ο καθένας, και ένα μέρος της είναι νεκρό.
- Ελέγξτε το πακέτο φιλοξενίας και τη ρύθμιση του cache. Μπείτε στον πίνακα φιλοξενίας και δείτε τι πληρώνετε και αν το cache σελίδων είναι ενεργό. Αν δεν ξέρετε, το ξέρει αυτός που έφτιαξε την ιστοσελίδα, και η ερώτηση κοστίζει ένα email.
- Δοκιμάστε από τις άλλες αγορές σας. Ζητήστε από συνάδελφο στο εξωτερικό να χρονομετρήσει την ίδια σελίδα, ή χρησιμοποιήστε ένα δωρεάν τεστ που σας αφήνει να επιλέξετε την τοποθεσία ελέγχου.
Η διόρθωση, με τη σειρά
Πρώτα τα φθηνότερα. Από την εμπειρία μας οι περισσότερες ιστοσελίδες ανακτούν το μεγαλύτερο μέρος της ταχύτητάς τους στα τρία πρώτα βήματα, χωρίς ξαναφτιάξιμο.
- Αλλάξτε μέγεθος και συμπιέστε τις εικόνες. Εξάγετε τις φωτογραφίες στο μέγεθος που πραγματικά χρησιμοποιεί η διάταξη, σε σύγχρονη μορφή για το web, και αντικαταστήστε τα πρωτότυπα· σε CMS, ένα πρόσθετο βελτιστοποίησης εικόνων περνά όλη τη βιβλιοθήκη με μία κίνηση. Είναι η πιο συνηθισμένη διόρθωση και κοστίζει ένα απόγευμα.
- Αφαιρέστε ό,τι δεν χρησιμοποιείται. Απενεργοποιήστε και διαγράψτε κάθε πρόσθετο, widget και κώδικα για τον οποίο κανείς δεν μπόρεσε να κατονομάσει χρήστη, συγχωνεύστε τους διπλούς κώδικες αναλυτικών σε έναν, αντικαταστήστε τον ζωντανό ενσωματωμένο χάρτη με στατική εικόνα που παραπέμπει στον χάρτη, και φορτώνετε με καθυστέρηση ό,τι βρίσκεται κάτω από την πρώτη οθόνη.
- Ενεργοποιήστε το cache. Το cache σελίδων σημαίνει ότι ο server δίνει ένα έτοιμο αντίγραφο αντί να συναρμολογεί τη σελίδα για κάθε επισκέπτη. Οι περισσότερες πλατφόρμες CMS και οι περισσότεροι πάροχοι φιλοξενίας το προσφέρουν ως ρύθμιση ή ως πρόσθετο.
- Διορθώστε τα στοιχεία που μπλοκάρουν. Φορτώστε τις γραμματοσειρές έτσι ώστε το κείμενο να εμφανίζεται αμέσως με εναλλακτική γραμματοσειρά και να αντικαθίσταται αργότερα, αναβάλετε τα scripts που δεν χρειάζονται για την πρώτη οθόνη, και βγάλτε κάθε βίντεο από την κεφαλίδα. Συνήθως είναι μια ώρα προγραμματιστή και όχι έργο.
- Φέρτε την ιστοσελίδα πιο κοντά στον επισκέπτη. Ένα δίκτυο διανομής περιεχομένου (CDN) κρατά αντίγραφα των στατικών αρχείων σας σε πολλές περιοχές, ώστε ο επισκέπτης από άλλη χώρα να κατεβάζει από κοντά. Οι περισσότεροι πάροχοι φιλοξενίας και υπηρεσιών domain προσφέρουν ένα· αν πουλάτε διασυνοριακά, αυτό μπαίνει στη λίστα πριν από οποιαδήποτε αναβάθμιση φιλοξενίας.
- Αναβαθμίστε τη φιλοξενία μόνο όταν ο server αποδειχθεί αργός. Αν η αναμονή με λευκή οθόνη παραμένει και μετά την ενεργοποίηση του cache, το πακέτο είναι το στενό σημείο. Περάστε σε πακέτο που ταιριάζει στην επισκεψιμότητα, όχι στο φθηνότερο που τεχνικά δουλεύει.
- Ξαναφτιάξτε τις βαρύτερες σελίδες, όχι την ιστοσελίδα. Αν ένα πρότυπο σέρνει δεκάδες στοιχεία σε κάθε σελίδα, το ξαναφτιάξιμο των βασικών σελίδων προορισμού σε ελαφρύτερη δομή συχνά αρκεί. Στα έργα κατασκευής ιστοσελίδων που αναλαμβάνουμε η ταχύτητα είναι κριτήριο για την έναρξη λειτουργίας, και αυτό είναι το βήμα όπου μια σελίδα σχεδιάζεται γύρω από αυτό που πρέπει να κάνει και όχι από αυτό που προσφέρει το θέμα.
Η ταχύτητα διαμορφώνει και το πώς βρίσκεται η ιστοσελίδα: οι μηχανές αναζήτησης μετρούν τις ίδιες αναμονές που νιώθουν οι επισκέπτες σας, οπότε οι παραπάνω αλλαγές είναι μέρος κάθε σοβαρής εργασίας SEO. Και αν η ιστοσελίδα ήταν αργή για πολύ καιρό, κάποια αιτήματα έχουν χαθεί αθόρυβα· η καταγραφή της προέλευσης κάθε αιτήματος, από εκεί όπου ξεκινούν τα έργα CRM και αναλυτικών που αναλαμβάνουμε, σας λέει αν η διόρθωση άλλαξε κάτι.
Τι να μετράτε
- Χρόνος μέχρι μια χρησιμοποιήσιμη σελίδα σε κινητό με δεδομένα κινητής, χρονομετρημένος με το χέρι με τον ίδιο τρόπο κάθε φορά, μηνιαίως.
- Βάρος σελίδας και αριθμός αιτημάτων για τις κύριες σελίδες προορισμού, από την καρτέλα δικτύου, πριν και μετά από κάθε αλλαγή.
- Χρόνος απόκρισης του server όπως τον δείχνει το τεστ ταχύτητας, η αναμονή πριν φτάσει οτιδήποτε, που θα πρέπει να πέσει μόλις ενεργοποιηθεί το cache.
- Ποσοστό εγκατάλειψης και συμπληρωμένες φόρμες στις σελίδες που αλλάξατε, στα αναλυτικά σας, λίγες εβδομάδες μετά την αλλαγή σε σύγκριση με λίγες εβδομάδες πριν.
Πού μπαίνουμε εμείς
Ένας ιδιοκτήτης με ένα βράδυ, μια ώρα προγραμματιστή και κωδικούς για τη φιλοξενία μπορεί να τα κάνει όλα αυτά. Αυτό που προσθέτουμε εμείς είναι η σειρά: εικόνες και νεκρό βάρος πριν από τη φιλοξενία, cache πριν από ξαναφτιάξιμο, και μια μέτρηση πριν και μετά ώστε η βελτίωση να είναι γεγονός και όχι αίσθηση. Αν προτιμάτε να μας αναθέσετε τη διάγνωση, ένα σύντομο brief με τη διεύθυνση της ιστοσελίδας και τις σελίδες που μετράνε περισσότερο αρκεί για να ξεκινήσουμε.