Περνάμε πολλές ώρες της ημέρας στο internet αφιερώνοντας μεγάλο μέρος του χρόνου μας αναζητώντας το περιεχόμενο που μας ενδιαφέρει στο Google ή σε κάποια άλλη μηχανή αναζήτησης. Πόσοι όμως γνωρίζουν πως λειτουργεί εσωτερικά μια μηχανή αναζήτησης και ποιες διεργασίες εκτελούνται όταν αναζητούμε κάτι;
Οι μηχανές αναζήτησης λειτουργούν ανιχνεύοντας εκατοντάδες δισεκατομμύρια ιστοσελίδες καταγράφοντας ένα σύνολο πληροφοριών για αυτές στο Ευρετήριο τους έτσι ώστε οι χρήστες να μπορούν να αναζητήσουν περιεχόμενο σε αυτές. Πως οι μηχανές αναζήτησης ανιχνεύουν και εντοπίζουν ιστοσελίδες μέσα στο internet, πως ευρετηριοποιούνται και ποιες πληροφορίες καταγράφουν; Τι είναι η διαδικασία crawling και τι κάνει ένας crawler; Πως ένας διαχειριστής ενός website μπορεί να διευκολύνει τις μηχανές αναζήτησης να ανιχνεύουν και να ευρετηριοποιούν τις ιστοσελίδες του website του πιο αποτελεσματικά;
Σε αυτό το άρθρο θα βρείτε απαντήσεις σε ερωτήματα όπως αυτά και άλλα πολλά που σχετίζονται με την λειτουργία μιας μηχανής αναζήτησης, αλλά και με τις δυνατότητες που έχει ένας διαχειριστής να ορίζει την αλληλεπίδραση του website του με τις μηχανές αναζήτησης. Αν και δεν προσπαθώ να διεισδύσω σε πολύπλοκες έννοιες όπως το SEO και τους τρόπους για να αυξήσει κάποιος την επισκεψιμότητα του website του, εντούτοις το άρθρο αποτελεί μια πολύ καλή βάση και ένας πρόλογος για δύσκολες έννοιες όπως αυτές.
Ο αλγόριθμος μιας μηχανής αναζήτησης: Τι γίνεται όταν αναζητούμε κάτι; Πως ορίζεται η κατάταξη των ιστοσελίδων μέσα στα αποτελέσματα αναζήτησης;
Όταν αναζητούμε με λέξεις κλειδιά σε μια μηχανή αναζήτησης, όπως το Google, τρέχει ένας αλγόριθμος ο οποίος, με βάση τις λέξεις κλειδιά που πληκτρολογήσαμε, αναζητεί μέσα στο Ευρετήριο της (θα δούμε παρακάτω τι είναι αυτό το Ευρετήριο) και επιστρέφει όσο το δυνατόν γρηγορότερα μια λίστα σχετικών ιστοσελίδων. Στην συνέχεια επιλέγουμε την ιστοσελίδα που θεωρούμε ότι μας καλύπτει και έπειτα διαβάζουμε το περιεχόμενο της.Ο αλγόριθμος αυτός "μαθαίνει" από όλη αυτήν την αλληλεπίδραση των χρηστών με την μηχανή αναζήτησης και επηρεάζει την μελλοντική κατάταξη των ιστοσελίδων στην λίστα αποτελεσμάτων. Έτσι αν ο αλγόριθμος "βλέπει" ότι η επιλογή πολλών χρηστών, μετά από αναζήτηση συγκεκριμένων λέξεων-κλειδιών, είναι μια ιστοσελίδα που εμφανίζεται σε χαμηλότερες θέσεις μέσα στην λίστα, θα αρχίσει να την εμφανίζει πιο ψηλά στην λίστα.
Ένα άλλο σημαντικό δεδομένο που λαμβάνει υπόψη της μια μηχανή αναζήτησης για την κατάταξη μιας ιστοσελίδας στην λίστα αποτελεσμάτων, είναι ο αριθμός PageRank. Το PageRank μιας ιστοσελίδας είναι ο αριθμός των links που υπάρχουν σε άλλα website και οδηγούν σε αυτή (μετράνε και τα links που υπάρχουν στα social networks όπως, Facebook, Twitter, Youtube, κτλ). Το PageRank δηλώνει την αξία της ιστοσελίδας αυτής σε σχέση με κάθε άλλη ιστοσελίδα στο internet. Βέβαια, δεν έχουν όλα τα links ίδια αξία. Έτσι το link που βρίσκεται σε μια ιστοσελίδα με υψηλό PageRank έχει υψηλότερη αξία από ένα link που βρίσκεται σε μια ιστοσελίδα με χαμηλότερο PageRank.
Η κατάταξη των ιστοσελίδων μπορεί επίσης να επηρεαστεί και από μια σειρά άλλων παραγόντων που λαμβάνει υπ’ όψη του ο αλγόριθμος, όπως η γλώσσα του χρήστη, το ιστορικό αναζήτησης του, την συσκευή που χρησιμοποιεί (αν είναι pc, android συσκευή, iphone κτλ.) ή ακόμη και την ακριβή τοποθεσία που βρίσκεται την ώρα που κάνει την αναζήτηση (αν έχει ανοιχτό GPS). Και αυτοί είναι μόνο μερικοί από τους παράγοντες κατάταξης των ιστοσελίδων μέσα στην λίστα αποτελεσμάτων. Ο αλγόριθμος της Google συνυπολογίζει περίπου 200 παράγοντες για να κατατάξει τις ιστοσελίδες μετά από μια αναζήτηση.
Οι αλγόριθμοι κάθε μηχανής αναζήτησης, αν και έχουν περίπου την ίδια λειτουργία, αξιολογούν τις ιστοσελίδες με διαφορετικό τρόπο. Έτσι μια ιστοσελίδα που εμφανίζεται πρώτη στο Google, μπορεί να εμφανίζεται πολύ χαμηλότερα στο Bing ή σε άλλη μηχανή αναζήτησης.
Τι είναι το Ευρετήριο μιας μηχανής αναζήτησης: Τι αποθηκεύεται σε αυτό για κάθε ιστοσελίδα; Πόσο μεγάλο μπορεί να είναι ένα Ευρετήριο;
Οι μηχανές αναζήτησης μπορούν να ανιχνεύσουν τρισεκατομμύρια ιστοσελίδες χρησιμοποιώντας ανιχνευτές, τους λεγόμενους crawlers οι οποίοι είναι προγραμματικά που οι μηχανές αναζήτησης τρέχουν μέσα στο internet για να εντοπίζουν και να καταγράφουν το περιεχόμενο τους μέσα σε ένα Ευρετήριο. Για τους crawlers θα αναφερθούμε λεπτομερώς παρακάτω στο άρθρο αυτό.Τα URLs των ιστοσελίδων που ανιχνεύει ένας crawler αποθηκεύονται σε μια βάση δεδομένων που ονομάζεται Ευρετήριο (index) και έχει την έννοια του καταλόγου (ενός καταλόγου με URLs). Στο Ευρετήριο, για κάθε ένα URL, καταχωρούνται ένα σύνολο πληροφοριών όπως:
- οι λέξεις κλειδιά του περιεχόμενου που επαναλαμβάνονται πολλές φορές μέσα σε αυτό,
- τον τύπο του περιεχομένου, τι, δηλαδή, περιλαμβάνει η ιστοσελίδα εκτός από κείμενο (εικόνες, video, ήχο κτλ.),
- την ημερομηνία της τελευταίας ενημέρωσης της ιστοσελίδας,
- πως οι χρήστες αλληλεπιδρούν με την ιστοσελίδα και άλλες τέτοιες πληροφορίες
Αμέσως μόλις καταγραφεί μια ιστοσελίδα στο Ευρετήριο μιας μηχανής αναζήτησης, αυτή γίνεται αυτόματα διαθέσιμη στους χρήστες της και μπορεί να εμφανιστεί στην λίστα αποτελεσμάτων όταν αυτοί αναζητούν κάτι.
Ο όγκος των Ευρετηρίων είναι τεράστιος καθώς ένα μόνο website αποτελείται απο δεκάδες, εκατοντάδες ή ακόμη και χιλιάδες ιστοσελίδες. Αν αναλογιστείτε ότι το wlearn.gr, όταν δημοσιεύτηκε αυτό το άρθρο, αποτελούταν από 2.128 ιστοσελίδες, φανταστείτε τα τρισεκατομμύρια εγγραφών του Ευρετηρίου της Google και άλλων μηχανών αναζήτησης!
Η διαδικασία ανίχνευσης μιας μηχανής αναζήτησης: Τι είναι crawling;
Το crawling είναι η διαδικασία που χρησιμοποιούν οι μηχανές αναζήτησης προκειμένου, τρέχοντας προγραμματάκια που ονομάζονται crawlers, να ανιχνεύουν και να καταγράφουν στο Ευρετήριο τους ιστοσελίδες.Προγράμματα ανίχνευσης (crawlers): Τι είναι και πως δουλεύουν; Τι είναι το robots.txt;
Crawlers ονομάζονται τα προγραμματάκια που χρησιμοποιούν οι μηχανές αναζήτησης για να εκτελούν την διαδικασία crawling. Τα προγραμματάκια αυτά μπορεί να είναι bots ή spiders.Αν και ο αλγόριθμος των crawlers που χρησιμοποιεί κάθε μηχανή αναζήτησης για να ανιχνεύει νέες ιστοσελίδες είναι διαφορετικός, η λειτουργία τους είναι περίπου η ίδια. Ένας crawler όταν ξεκινάει το crawling σε ένα website διαβάζει πρώτα το αρχείο robots.txt - που βρίσκεται στο root directory του server που φιλοξενεί το website. Το αρχείο αυτό δημιουργείται από τον διαχειριστή ενός website και περιέχει κανόνες προς τους crawlers που περιγράφουν σε ποιες ιστοσελίδες επιτρέπεται και σε ποιες όχι να γίνει crawling. Αν δεν υπάρχει αυτό το αρρχείο τότε οι crawlers κάνουν crawling σε όλες τις ιστοσελίδες του website. Δείτε μερικά παράδειγμα περιεχομένου ενός τέτοιου αρχείου.
Έπειτα περιηγείται στις ιστοσελίδες του website ακολουθώντας συνδέσμους (links) μέσα σε αυτές για να ανιχνεύσει στην συνέχεια περιεχόμενο σε νέες ιστοσελίδες μέχρι την εξάντληση όλων των links.
Αν ο crawler εντοπίσει link που οδηγεί σε άλλο website, τότε εκτελείται η διαδικασία του crawling και στις ιστοσελίδες αυτού του website. Με αυτόν τον τρόπο o, περιπλανώμενος μέσα στο internet, crawler περιηγείται από website σε website προσπαθώντας να καταγράψει όσες περισσότερες ιστοσελίδες μπορεί εμπλουτίζοντας έτσι το Ευρετήριο της μηχανής αναζήτησης.
Επίσης αν ο crawler έρθει αντιμέτωπος με ένα URL που οδηγεί σε περιεχόμενο που δεν είναι κείμενο, όπως μια εικόνα (https://www.wlearn.gr/images/logo.png) ή ένα αρχείο ήχου (https://www.wlearn.gr/audio_files/waves.mp3) ή ένα αρχείο pdf (http://www.wlearn.gr/docs/akis.pdf), τότε οι μηχανές αναζήτησης θα προχωρήσουν στην καταγραφή του URL στο Ευρετήριο τους, αλλά – ελλείψει κειμένου - θα καταγράψουν για αυτό λιγότερες πληροφορίες, όπως τον τύπο του αρχείου, το μέγεθος, τις διαστάσεις (αν πρόκειται για εικόνες) και άλλες παρόμοιες πληροφορίες.
Ένας crawler, όταν ανιχνεύει μια ιστοσελίδα, θέτει για αυτήν ένα σύνολο από κανόνες, όπως πόσο συχνά πρέπει αυτή να γίνεται crawling, αλλά και αν πρέπει να την προσθέσει στο Ευρετήριο της μηχανής αναζήτησης. Για παράδειγμα, μια ιστοσελίδα που ενημερώνεται καθημερινά με νέο περιεχόμενο γίνεται crawling πιο συχνά από μια ιστοσελίδα που ενημερώνεται λιγότερο συχνά. Αυτοί οι κανόνες θέτονται από τον ίδιο τον crawler, αλλά μπορεί και ο ίδιος ο διαχειριστής ενός website να θέσει αυτούς τους κανόνες με την χρήση ενός XML sitemap αρχείου.
Αρχείο sitemap.xml: Πως είναι η δομή του αρχείου; Ποια τα οφέλη δημιουργίας του από τους διαχειριστές των websites;
Γενικά, ένα sitemap ή χάρτης ενός website είναι ένα ευρετήριο από links που βοηθάει τον επισκέπτη της να βλέπει την δομή του website και να εντοπίζει ευκολότερα το περιεχόμενο που ψάχνει.Το XML sitemap είναι παρόμοιας φιλοσοφίας, μόνο που σε αυτή την περίπτωση, ο διαχειριστής του website δεν το δημιουργεί για να διευκολύνει τους επισκέπτες του, αλλά για να διευκολύνει τις μηχανές αναζήτησης να κάνουν γρηγορότερα και περισσότερο ελεγχόμενα crawling στις ιστοσελίδες του.
Πιο συγκεκριμένα, το XML sitemap είναι ένα αρχείο xml (sitemap.xml) που βρίσκεται στο root directory ενός website και περιέχει όλα τα URLs του website, καθώς επίσης και ένα σύνολο πληροφοριών για αυτά.
Πολλοί είναι εκείνοι οι διαχειριστές που δημιουργούν το sitemap.xml για να βοηθούν τις μηχανές αναζήτησης να εντοπίζουν ιστοσελίδες που βρίσκονται "χωμένες" βαθιά μέσα στην δομή του website τους ελέγχοντας καλύτερα την διαδικασία του crawling στις ιστοσελίδες τους θέτοντας - για κάθε μια ιστοσελίδα - κανόνες, όπως η συχνότητα που πρέπει να περάσει ένας crawler από αυτήν αλλά και η βαρύτητα κάθε μιας από αυτές. Δείτε ένα παράδειγμα ενός τέτοιου αρχείου.
Αίτημα για ευρετηριοποίηση μιας ιστοσελίδας
Όπως είπαμε, οι crawlers των μηχανών αναζήτησης τρέχουν συνέχεια εντοπίζοντας και ευρετηριοποιόντας νέο περιεχόμενο ή ενημερώνοντας ένα URL που ήδη υπάρχει. Επίσης αναφερθήκαμε και στην δυνατότητα που έχει ένας διαχειριστής ενός website να ελέγχει το crawling στις ιστοσελίδες του δημιουργώντας το αρχείο sitemap.xml.Παρόλ’ αυτά, οι περισσότερες μηχανές αναζήτησης, όπως η Google, δίνουν την δυνατότητα στον διαχειριστή ενός website, μέσω της πλατφόρμας τους, να κάνουν αίτηση για crawling ενός συγκεκριμένου URL της ιστοσελίδας τους. Την πρακτική αυτή ακολουθούν πολλοί διαχειριστές όταν ανεβάζουν στο website τους ένα νέο άρθρο ή αν μεταβάλλουν το περιεχόμενο ενός υφιστάμενου άρθρου και θέλουν να ενημερώσουν το ευρετήριο της μηχανής αναζήτησης χωρίς να περιμένουν να περάσει ο crawler.
Η πλατφόρμα της μηχανής αναζήτησης του Google στην οποία μπορεί κάποιος να υποβάλει ένα τέτοιο αίτημα, αλλά και να διαχειριστεί διάφορες ρυθμίσεις που αφορούν τον τρόπο αλληλεπίδρασης των ιστοσελίδων του με την μηχανή αναζήτησης είναι το Google Search Console.