noindex πριν το robots.txt: γιατί η σειρά δεν είναι λεπτομέρεια

Ahrefs Athens Meetup 5 20.01.2024
noindex before robots
general

Last Updated on June 26, 2026 by Thomas Vavougios

Ένα από τα πιο συχνά και πιο ακριβά λάθη στο technical SEO είναι η σειρά με την οποία αφαιρείς σελίδες από τον index της Google. Το σενάριο που ακολουθεί είναι πραγματικό, από site με πάνω από 650000 URLs.

Το πρόβλημα

Το internal search route ενός Drupal site (/search) επέστρεφε HTTP 200, ήταν self-canonical και χωρίς noindex. Παρήγαγε απεριόριστα indexable URLs της μορφής /search?keywords=…&page=…, με pagination που έφτανε page πάνω από 30000 σε κενά queries.

Ο verified Googlebot το χτύπησε πάνω από 81.000 φορές σε 12 μέρες.(Καταγραφή googlebot με ip verification μέσω worker πάνω στο Cloudflare με async σε  BigQuery)
Οργανική αξία πρακτικά μηδέν, περίπου 60 impressions και 1 click σε 30 μέρες.

Χειρότερα, spammers έσπρωχναν εξωτερικό περιεχόμενο μέσα στην παράμετρο keywords (escort spam, FC coin spam), και αυτά τα spam URLs είχαν μπει στον index, φέροντας το domain του site.

Ο υπάρχων κανόνας Disallow: /search/ στο robots.txt δεν έπιανε ούτε το σκέτο /search ούτε τη μορφή /search?keywords=…, επειδή λειτουργεί ως literal prefix και το query string δεν αρχίζει με slash. Το route ήταν ακάλυπτο.

Γιατί το robots.txt-first είναι λάθος

Η πρώτη αντίδραση των περισσότερων είναι «βάζω Disallow στο robots.txt και φεύγουν». Δεν φεύγουν.

Το robots.txt ελέγχει το crawling, όχι το indexing. Δεν είναι delete button. Όταν κάνεις Disallow μια ήδη indexed σελίδα, δεν την αφαιρείς. Ο Google απλώς δεν μπορεί πια να μπει για να δει τι έχει μέσα, αλλά την κρατάει στον index.

Το κρίσιμο σημείο: ένα noindex ζει μέσα στη σελίδα, σε header ή meta tag. Για να το σεβαστεί ο Google, πρέπει να το διαβάσει. Για να το διαβάσει, πρέπει να κάνει crawl τη σελίδα. Αν την έχεις μπλοκάρει στο robots.txt, ο crawler δεν μπαίνει, δεν βλέπει ποτέ το noindex, δεν αφαιρεί ενδεχομένως ποτέ τίποτα.

Και το χειρότερο σενάριο, αυτό που μετατρέπει το λάθος από προσωρινό σε μόνιμο: αν ένα spam URL έχει external backlink, η Google το ξέρει από το link αλλά δεν επιτρέπεται να μπει λόγω του robots.txt. Έτσι το κρατάει indexed σαν URL-only entry, χωρίς να το έχει δει ποτέ. Το επίσημο documentation το λέει ρητά: disallowed URL με external link παραμένει indexed. Χωρίς link ξεθωριάζει, με link καρφώνεται. Δηλαδή κλειδώνεις ένα spam URL με το domain σου μόνιμα στα αποτελέσματα, και δεν μπορείς να το καθαρίσεις, γιατί έκλεισες τον μόνο crawler που θα διάβαζε το noindex.

Η λύση, με δεσμευτική σειρά

  1. GSC Removals tool, «remove all URLs with this prefix» στο /search. Άμεση απόκρυψη όλων των παραλλαγών μέσα σε ώρες. Προσοχή: το ίδιο το dialog της Google λέει ότι κρατάει περίπου 6 μήνες. Κρύβει, δεν σκοτώνει. Είναι κάλυψη, όχι λύση.
  2. Route-level X-Robots-Tag: noindex, follow σε όλο το /search, παραμέτρων συμπεριλαμβανομένων, με τη σελίδα να μένει crawlable. Αυτό είναι που πραγματικά αφαιρεί μόνιμα τα URLs από τον index, και δουλεύει μέσα στο 6μηνο παράθυρο που σου αγόρασε το Removals.
  3. Source fix: οι junk ή μη υποστηριζόμενες queries να επιστρέφουν 404/410, ώστε να μη γεννιούνται νέα spam URLs. Αυτό λύνει ταυτόχρονα και το crawl budget και το origin load στην πηγή. Δεν μπορείς να κερδίσεις έναν πόλεμο φθοράς απέναντι σε bots που παράγουν άπειρα URLs, κόβεις τη γέννηση.
  4. Μόνο αφού αδειάσει ο index, αντικατάσταση του Disallow: /search/ με Disallow: /search (χωρίς trailing slash), για να κλείσεις το crawl budget οριστικά.

Το takeaway

Η σειρά είναι δεσμευτική: ποτέ disallow πριν ολοκληρωθεί το deindexing. Χωρίς external links, η λάθος σειρά κοστίζει χρόνο. Με external links, η λάθος σειρά είναι μόνιμη. Γι’ αυτό η αναμονή δεν είναι προφύλαξη, είναι όλη η ουσία.

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

Θάνος Λάππας
Founder, Datafunc | Forensic & Technical SEO for large-scale sites

×