Robots.txt και XML Sitemap: Μήπως εμποδίζεις τη Google να δει το Site σου;

Σε λίγα λόγια

  • Το robots.txt ελέγχει κυρίως το crawling: λέει στους crawlers ποια URLs μπορούν ή δεν μπορούν να ζητήσουν.
  • Το noindex ελέγχει το indexing: λέει στη Google ότι μια σελίδα δεν πρέπει να εμφανίζεται στα αποτελέσματα.
  • Αν μπλοκάρεις μια σελίδα στο robots.txt, η Google μπορεί να μην μπορέσει να δει το noindex που υπάρχει μέσα στη σελίδα.
  • Το XML sitemap βοηθά τη Google να ανακαλύψει σημαντικές URLs, αλλά δεν εγγυάται ότι θα τις κάνει index.

Robots.txt και XML sitemap είναι δύο από τα πιο παρεξηγημένα στοιχεία στο τεχνικό SEO. Και το πρόβλημα είναι ότι ένα λάθος εδώ μπορεί να επηρεάσει κάτι πολύ πιο βασικό από έναν τίτλο ή μια λέξη-κλειδί: το αν η Google μπορεί να φτάσει σωστά στις σελίδες σου.

Έχω δει ιστοσελίδες να έχουν καλό περιεχόμενο, σωστά titles και φαινομενικά σωστό SEO, αλλά στο Google Search Console να εμφανίζονται προβλήματα crawling ή URLs που δεν καταλήγουν στο index όπως περιμένει ο ιδιοκτήτης τους.

Είμαι Μηχανικός ΗΜΜΥ και δουλεύω ως freelancer στην κατασκευή ιστοσελίδων και το SEO. Σε έναν τεχνικό SEO έλεγχο ιστοσελίδας, το robots.txt, τα meta robots και το XML sitemap είναι από τα πρώτα σημεία που ελέγχω όταν υπάρχει πρόβλημα με crawling ή indexing.

Η αφορμή για αυτόν τον οδηγό είναι το επίσημο βίντεο “How Robots.txt Works” του Google Search Central, όπου εξηγείται η διαφορά ανάμεσα στο robots.txt, τα robots meta tags και το noindex.

Τι είναι το robots.txt;

Το robots.txt είναι ένα αρχείο κειμένου που βρίσκεται στη ρίζα του site. Σε ένα domain όπως το example.gr, συνήθως θα το βρεις στη διεύθυνση:

https://example.gr/robots.txt

Ο βασικός του ρόλος είναι να δίνει οδηγίες σε crawlers σχετικά με τα URLs που επιτρέπεται ή δεν επιτρέπεται να ζητήσουν.

Ένα απλό παράδειγμα για WordPress μπορεί να μοιάζει κάπως έτσι:

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

Sitemap: https://example.gr/sitemap_index.xml

Το User-agent: * σημαίνει ότι οι συγκεκριμένοι κανόνες απευθύνονται στους crawlers που υποστηρίζουν το Robots Exclusion Protocol.

Το Disallow δηλώνει paths που δεν θέλεις να ανιχνεύονται, ενώ το Allow μπορεί να επιτρέψει μια συγκεκριμένη εξαίρεση.

Η γραμμή Sitemap: μπορεί επίσης να χρησιμοποιηθεί για να δηλώσεις πού βρίσκεται το XML sitemap σου.

Το robots.txt δεν είναι το ίδιο με το noindex

Αυτό είναι ίσως το σημαντικότερο σημείο ολόκληρου του άρθρου.

Το robots.txt ελέγχει κυρίως το crawling. Το noindex ελέγχει το indexing.

Οι δύο έννοιες συχνά χρησιμοποιούνται σαν να σημαίνουν το ίδιο πράγμα, αλλά δεν σημαίνουν.

Robots.txt, noindex και sitemap: ποια είναι η διαφορά;
ΜέθοδοςΤι κάνειΠότε χρησιμοποιείται
robots.txtΠεριορίζει το crawling συγκεκριμένων URLs ή paths.Όταν υπάρχει συγκεκριμένος λόγος να μη ζητούν οι crawlers ένα τμήμα του site.
noindexΖητά από τη μηχανή αναζήτησης να μη δείξει τη σελίδα στα αποτελέσματα.Όταν η σελίδα μπορεί να είναι προσβάσιμη αλλά δεν θέλεις να εμφανίζεται στη Google.
XML SitemapΠαρέχει μια οργανωμένη λίστα σημαντικών URLs.Για να βοηθήσεις τις μηχανές αναζήτησης να ανακαλύψουν το περιεχόμενο.

Το μεγάλο λάθος: Disallow και noindex στην ίδια σελίδα

Εδώ γίνεται ένα από τα πιο συνηθισμένα τεχνικά λάθη.

Κάποιος δεν θέλει μια σελίδα στη Google και σκέφτεται:

«Θα τη βάλω noindex και, για μεγαλύτερη ασφάλεια, θα τη μπλοκάρω και στο robots.txt.»

Στην πράξη, το δεύτερο μπορεί να εμποδίσει το πρώτο.

Για να δει η Google ένα robots meta tag όπως:

<meta name="robots" content="noindex">

πρέπει πρώτα να μπορεί να κάνει crawl τη σελίδα.

Αν όμως το robots.txt της λέει να μην τη ζητήσει, μπορεί να μη φτάσει ποτέ στο HTML ώστε να διαβάσει το noindex.

Γι’ αυτό, όταν θέλεις μια κανονική web page να μη βρίσκεται στα αποτελέσματα αναζήτησης, δεν πρέπει να βασίζεσαι μόνο στο robots.txt. Η Google πρέπει να μπορεί να επισκεφθεί τη σελίδα ώστε να δει την οδηγία noindex.

Μπορεί μια σελίδα που είναι blocked στο robots.txt να εμφανιστεί στη Google;

Ναι, σε ορισμένες περιπτώσεις.

Αυτό γίνεται πιο κατανοητό όταν ξεχωρίσουμε την ανακάλυψη ενός URL από το crawling του περιεχομένου του.

Η Google μπορεί να μάθει ότι ένα URL υπάρχει από κάποιο link σε άλλη σελίδα ή από άλλη πηγή. Αν το URL είναι blocked στο robots.txt, μπορεί να γνωρίζει τη διεύθυνσή του αλλά να μην μπορεί να επισκεφθεί τη σελίδα και να διαβάσει το περιεχόμενό της.

Σε μια τέτοια περίπτωση, το URL μπορεί υπό προϋποθέσεις να εμφανιστεί στα αποτελέσματα χωρίς κανονικό snippet.

Disallow ≠ εγγυημένο deindex.

Αν θέλεις μια δημόσια προσβάσιμη σελίδα να μη βρίσκεται στη Google, το σωστό εργαλείο είναι συνήθως το noindex.

Αν το περιεχόμενο είναι ιδιωτικό ή ευαίσθητο, ούτε το robots.txt ούτε το noindex είναι μέθοδοι ασφάλειας. Εκεί χρειάζεται πραγματικός περιορισμός πρόσβασης, όπως authentication ή password protection.

Το επικίνδυνο Disallow: /

Υπάρχει μία γραμμή στο robots.txt που θέλει ιδιαίτερη προσοχή:

User-agent: *
Disallow: /

Αυτό ζητά από τους crawlers να μην κάνουν crawl ολόκληρο το site.

Μπορεί να έχει χρήση σε συγκεκριμένα development ή testing περιβάλλοντα, αλλά είναι πολύ επικίνδυνο αν παραμείνει κατά λάθος σε ένα live website.

Ένα από τα πράγματα που ελέγχω μετά από migration, redesign ή μεταφορά από staging σε production είναι ακριβώς αυτό: μήπως έμεινε ενεργός κάποιος περιορισμός που χρησιμοποιήθηκε όσο το site βρισκόταν υπό κατασκευή.

Αν έχεις κάνει πρόσφατα μεγάλες αλλαγές στην ιστοσελίδα, αξίζει να ακολουθήσεις και ένα ολοκληρωμένο SEO checklist αντί να ελέγξεις μόνο το robots.txt.

Μην μπλοκάρεις CSS και JavaScript χωρίς λόγο

Το robots.txt δεν αφορά μόνο HTML σελίδες. Μπορεί να περιορίσει και resources.

Εδώ χρειάζεται προσοχή. Αν μπλοκάρεις αρχεία CSS ή JavaScript που είναι απαραίτητα για να αποδοθεί σωστά η σελίδα, μπορεί να δυσκολεύεις τη Google να δει το site όπως το βλέπει ο χρήστης.

Σε ένα σύγχρονο website, ειδικά όταν χρησιμοποιεί page builder ή αρκετή JavaScript, θέλω ο Googlebot να μπορεί να φορτώσει τα σημαντικά resources που χρειάζεται για rendering.

Το ότι ένας φάκελος «δεν είναι σελίδα που θέλω να κατατάσσεται» δεν σημαίνει αυτόματα ότι πρέπει να τον βάλω σε Disallow.

Τι είναι το XML Sitemap;

Αν το robots.txt διαχειρίζεται κυρίως πού επιτρέπεται να πάει ένας crawler, το XML sitemap λειτουργεί περισσότερο σαν οργανωμένος κατάλογος των URLs που θεωρείς σημαντικά.

Ένα sitemap μπορεί να βοηθήσει τη Google να ανακαλύψει νέες ή ενημερωμένες σελίδες και να κατανοήσει καλύτερα ποιο περιεχόμενο υπάρχει στο site.

Δεν είναι όμως εντολή.

Το ότι μια URL βρίσκεται στο sitemap δεν σημαίνει ότι η Google είναι υποχρεωμένη να την κάνει crawl, index ή να την κατατάξει ψηλά.

Το ίδιο ισχύει και αντίστροφα: μια σελίδα μπορεί να ανακαλυφθεί και χωρίς sitemap, για παράδειγμα μέσω των εσωτερικών συνδέσμων της ιστοσελίδας.

Τι πρέπει να περιέχει ένα σωστό XML sitemap;

Η βασική αρχή που ακολουθώ είναι απλή:

Στο sitemap θέλω κυρίως τις URLs που πραγματικά θέλω να είναι διαθέσιμες για indexing.

Αυτό συνήθως σημαίνει:

  • κανονικές indexable σελίδες,
  • canonical URLs,
  • άρθρα που θέλω να εμφανίζονται στην αναζήτηση,
  • σημαντικές landing pages και σελίδες υπηρεσιών.

Δεν θέλω, αντίθετα, να γεμίζω το sitemap με:

  • 404 URLs,
  • URLs που κάνουν redirect,
  • σελίδες με noindex,
  • duplicate παραλλαγές όταν υπάρχει διαφορετικό canonical URL,
  • σελίδες που δεν θέλω πραγματικά στη Google.

Για τις URLs του sitemap χρησιμοποιούμε πλήρεις διευθύνσεις, όπως:

https://example.gr/ypiresies/

και όχι απλώς:

/ypiresies/

Χρειάζεται κάθε site XML sitemap;

Όχι απαραίτητα.

Αν ένα μικρό site έχει πολύ καλή εσωτερική σύνδεση, οι μηχανές αναζήτησης μπορούν συνήθως να ανακαλύψουν τις σημαντικές σελίδες ακολουθώντας τα links.

Ένα sitemap γίνεται ιδιαίτερα χρήσιμο όταν το site είναι μεγάλο, καινούργιο, έχει σχετικά λίγα εξωτερικά links, διαθέτει πολύ media content ή περιλαμβάνει URLs που δεν είναι εύκολο να ανακαλυφθούν μόνο μέσω της πλοήγησης.

Στην πράξη, πάντως, σε ένα WordPress business site δεν βλέπω σοβαρό λόγο να μην υπάρχει sitemap όταν το CMS ή το SEO plugin μπορεί να το δημιουργεί και να το ενημερώνει αυτόματα.

Η σωστή τεχνική βάση προηγείται του SEO

Αν στο Search Console βλέπεις blocked URLs, προβλήματα indexing ή σελίδες που δεν εμφανίζονται όπως περιμένεις, αξίζει πρώτα να ελεγχθεί η τεχνική δομή της ιστοσελίδας.


ΕΛΕΓΧΟΣ & ΔΙΟΡΘΩΣΗ SEO

Robots.txt και XML Sitemap σε WordPress με Yoast SEO

Στα περισσότερα WordPress sites η διαδικασία είναι πιο απλή από όσο ακούγεται.

Το WordPress μπορεί να παρέχει robots.txt δυναμικά, ενώ το Yoast SEO δημιουργεί XML sitemap index και το ενημερώνει καθώς αλλάζει το indexable περιεχόμενο.

Με ενεργό το XML Sitemap του Yoast, η βασική διεύθυνση είναι συνήθως:

https://to-domain-sou.gr/sitemap_index.xml

Το sitemap index μπορεί στη συνέχεια να οδηγεί σε επιμέρους sitemaps για posts, pages, categories ή άλλους public content types.

Μια σελίδα που έχει οριστεί ως noindex στο Yoast κανονικά δεν χρειάζεται να εμφανίζεται στο XML sitemap.

Αυτό είναι λογικό: δεν θέλω από τη μία να παρουσιάζω μια URL ως σημαντική για ανακάλυψη και από την άλλη να δηλώνω ότι δεν θέλω να βρίσκεται στο index.

Πώς ελέγχω αν robots.txt και sitemap είναι σωστά

1. Ανοίγω το robots.txt στον browser

Γράφω:

https://to-domain-sou.gr/robots.txt

και ελέγχω αν υπάρχει κάποιος ύποπτος γενικός αποκλεισμός ή path που περιλαμβάνει σημαντικές σελίδες.

2. Ανοίγω το sitemap

Αν χρησιμοποιώ Yoast SEO, ελέγχω συνήθως:

/sitemap_index.xml

και επιβεβαιώνω ότι ανοίγει κανονικά και εμφανίζει τα αντίστοιχα sitemaps.

3. Ελέγχω το sitemap στο Google Search Console

Στην αναφορά Sitemaps μπορώ να υποβάλω το sitemap και να δω αν η Google κατάφερε να το διαβάσει ή αν υπάρχουν προβλήματα.

Αν δεν έχεις εξοικειωθεί ακόμη με το εργαλείο, έχω αναλυτικό οδηγό για το Google Search Console.

4. Κάνω URL Inspection στις σημαντικές σελίδες

Αν μια συγκεκριμένη σελίδα δεν εμφανίζεται στη Google, δεν αρχίζω να αλλάζω στα τυφλά τίτλους και keywords.

Ελέγχω πρώτα αν:

  • η Google μπορεί να την κάνει crawl,
  • έχει noindex,
  • υπάρχει διαφορετικό canonical,
  • βρίσκεται στο sitemap,
  • και έχει γίνει indexed.

6 συχνά λάθη σε robots.txt και XML sitemap

1. Μένει το Disallow: / μετά το launch

Κλασικό πρόβλημα μετά από staging ή development. Πριν θεωρήσεις ότι η Google «δεν αγαπά το site σου», βεβαιώσου ότι της επιτρέπεις να το επισκεφθεί.

2. Χρησιμοποιείς robots.txt για deindex

Αν ο στόχος είναι να μη βρίσκεται μια HTML σελίδα στα αποτελέσματα, το robots.txt δεν είναι το σωστό εργαλείο από μόνο του.

3. Βάζεις noindex και μετά μπλοκάρεις το crawl

Έτσι μπορεί να εμποδίζεις τη Google να δει την ίδια την οδηγία noindex.

4. Το sitemap περιέχει URLs που δεν θέλεις στο index

Noindex pages, redirects και μη canonical URLs δεν έχουν λόγο να παρουσιάζονται ως βασικοί indexable προορισμοί.

5. Νομίζεις ότι sitemap σημαίνει indexing

Το sitemap βοηθά στην ανακάλυψη. Δεν υποχρεώνει τη Google να εμφανίσει μια σελίδα.

6. Προσπαθείς να «βελτιστοποιήσεις» υπερβολικά το robots.txt

Για ένα συνηθισμένο επαγγελματικό WordPress site δεν χρειάζεται ένα τεράστιο robots.txt με δεκάδες αμφίβολους κανόνες.

Προτιμώ ένα απλό setup που επιτρέπει στη Google να δει το πραγματικό περιεχόμενο και περιορίζει μόνο URLs ή paths για τα οποία υπάρχει συγκεκριμένος λόγος.

Τι θα έκανα σε μια μικρή ελληνική επαγγελματική ιστοσελίδα

Σε ένα τυπικό WordPress site μικρής επιχείρησης δεν θα ξεκινούσα προσπαθώντας να κάνω «crawl budget optimization» σαν να διαχειρίζομαι εκατομμύρια URLs.

Θα ξεκινούσα από τα βασικά:

  • οι σημαντικές σελίδες να είναι crawlable,
  • να μην υπάρχει κατά λάθος site-wide noindex ή Disallow,
  • οι σελίδες που δεν θέλω στη Google να έχουν σωστό noindex,
  • το sitemap να περιέχει τις πραγματικά indexable URLs,
  • το sitemap να έχει υποβληθεί στο Search Console,
  • και οι σημαντικές σελίδες να συνδέονται σωστά μεταξύ τους.

Αυτή η βάση έχει πολύ μεγαλύτερη αξία από το να αντιγράψεις ένα «τέλειο robots.txt template» από κάποιο blog, χωρίς να γνωρίζεις αν ταιριάζει στη δομή του δικού σου site.

Συμπέρασμα

Το robots.txt και το XML sitemap δεν είναι εργαλεία που «ανεβάζουν» από μόνα τους μια ιστοσελίδα στην πρώτη σελίδα της Google.

Είναι όμως μέρος της τεχνικής βάσης που επιτρέπει στις μηχανές αναζήτησης να ανακαλύψουν και να επεξεργαστούν σωστά το περιεχόμενό σου.

Πρώτον: robots.txt σημαίνει κυρίως crawling, όχι deindex.

Δεύτερον: αν θέλεις να λειτουργήσει ένα noindex, η Google πρέπει να μπορεί να επισκεφθεί τη σελίδα και να το διαβάσει.

Τρίτον: το sitemap βοηθά τη Google να βρει σημαντικές URLs, αλλά δεν αποτελεί εγγύηση ότι θα τις κάνει index ή ότι θα τις κατατάξει.

Αν αυτή η τεχνική βάση είναι σωστή, τότε μπορείς να προχωρήσεις στο επόμενο επίπεδο: περιεχόμενο, On-Page SEO, internal linking, authority και εμπειρία χρήστη.

Δεν είσαι σίγουρος τι βλέπει πραγματικά η Google στο site σου;

Μπορώ να ελέγξω robots.txt, sitemap, indexing, redirects, canonical URLs και τα βασικά τεχνικά σημεία της ιστοσελίδας σου και να σου δείξω τι χρειάζεται πραγματικά διόρθωση.


ΕΠΙΚΟΙΝΩΝΗΣΕ ΜΑΖΙ ΜΟΥ

Συχνές ερωτήσεις για robots.txt και XML sitemap

Τι είναι το robots.txt;

Το robots.txt είναι ένα αρχείο στη ρίζα μιας ιστοσελίδας που δίνει οδηγίες σε crawlers σχετικά με τα URLs ή paths που επιτρέπεται ή δεν επιτρέπεται να ζητήσουν. Χρησιμοποιείται κυρίως για τη διαχείριση του crawling και όχι ως ασφαλής τρόπος αφαίρεσης μιας web page από τη Google.

Ποια είναι η διαφορά ανάμεσα σε noindex και Disallow;

Το Disallow στο robots.txt ζητά από τον crawler να μην κάνει crawl ένα URL ή path. Το noindex ζητά από τη μηχανή αναζήτησης να μη δείξει τη σελίδα στα αποτελέσματα. Για να δει η Google το noindex μιας σελίδας πρέπει να μπορεί να την κάνει crawl.

Μπορεί μια blocked URL να εμφανίζεται στη Google;

Ναι. Η Google μπορεί να ανακαλύψει τη διεύθυνση μιας URL από links ή άλλες πηγές ακόμη και αν το robots.txt δεν της επιτρέπει να διαβάσει το περιεχόμενο. Σε ορισμένες περιπτώσεις η URL μπορεί να εμφανιστεί στα αποτελέσματα χωρίς κανονικό snippet.

Χρειάζεται κάθε ιστοσελίδα XML sitemap;

Όχι απαραίτητα. Η Google μπορεί να ανακαλύψει τις σελίδες ενός μικρού και σωστά διασυνδεδεμένου site ακολουθώντας links. Ένα sitemap όμως βοηθά ιδιαίτερα νέα, μεγάλα ή σύνθετα sites και στις περισσότερες WordPress ιστοσελίδες μπορεί να δημιουργείται αυτόματα.

Πού βρίσκεται το XML sitemap στο Yoast SEO;

Όταν το XML sitemap του Yoast SEO είναι ενεργό, το sitemap index βρίσκεται συνήθως στη διεύθυνση /sitemap_index.xml. Από εκεί μπορείς να δεις τα επιμέρους sitemaps για posts, pages και άλλους indexable content types.

Αν υποβάλω το sitemap στο Search Console θα μπουν όλες οι σελίδες στη Google;

Όχι. Η υποβολή sitemap βοηθά τη Google να ανακαλύψει URLs και να γνωρίζει ποιες θεωρείς σημαντικές, αλλά δεν εγγυάται crawling, indexing ή υψηλή κατάταξη.