# ============================================================ # robots.txt - HairMaker.gr # Version: April 2026 - Search parameter blocking # ============================================================ # # CHANGELOG - Τι αλλάξαμε σε αυτή την αναθεώρηση: # # ΠΡΟΗΓΟΥΜΕΝΕΣ ΑΛΛΑΓΕΣ (Προηγούμενη έκδοση): # # 1. Αφαιρέσαμε επικίνδυνα broad rules όπως /*order, /*cart, # /*address που έκαναν false matches σε legitimate product, # category και blog URLs. # # 2. Βάλαμε ασφαλές blocking μόνο για πραγματικά private # account URLs, χωρίς να αγγίζουμε indexable content. # # 3. Χρησιμοποιήσαμε friendly URL rules για /el/ και /en/ που # ταιριάζουν στο πραγματικό URL structure του PrestaShop. # # 4. Κρατήσαμε fallback rules για ?controller=... ώστε να # καλύπτουμε edge cases και legacy cached URLs. # # 5. Διορθώσαμε το AhrefsSiteAudit allow rule σε Allow: / # (ήταν κενό και κάποιοι parsers το διάβαζαν σαν "allow nothing"). # # 6. Αφήσαμε product, category, brand και blog URLs ελεύθερα # για crawl χωρίς καμία παρέμβαση. # # ------------------------------------------------------------ # # ΑΛΛΑΓΕΣ ΑΠΡΙΛΙΟΣ 2026 - Search Parameter Blocking: # # 7. Προσθήκη blocking για ?q= και &q= # Λόγος: Το Google Search Console εντόπισε ότι ο Googlebot # crawlάρει εσωτερικές σελίδες search/filter του PrestaShop # (π.χ. /el/2-home?q=Μάρκα-1Shape+Aurore...&resultsPerPage=99999) # οι οποίες είναι αποτελέσματα εσωτερικής αναζήτησης χωρίς # SEO αξία. Αυτό σπαταλά crawl budget και οδηγεί σε ανακάλυψη # κατηγοριών μέσω search URLs αντί μέσω κανονικής navigation. # Αποτέλεσμα: category pages εμφανίζονται ως orphans και δεν # indexάρονται σωστά από το Google. # # 8. Προσθήκη blocking για ?resultsPerPage= και &resultsPerPage= # Λόγος: Εντοπίστηκαν URLs με resultsPerPage=99999 στο GSC # ως referring pages για κατηγορίες που το Google δεν μπορεί # να indexάρει. Αυτές είναι paginated search result pages # εντελώς άχρηστες για SEO και καταναλώνουν crawl budget # χωρίς κανένα SEO όφελος. # # ΣΚΟΠΙΜΑ ΔΕΝ ΜΠΛΟΚΑΡΕΤΑΙ (απόφαση Απρίλιος 2026): # # - ?page= : ΔΕΝ μπλοκάρεται αυτή τη στιγμή γιατί χρησιμοποιείται # και σε κανονικές category paginations. Blanket block θα έκοβε # legitimate product discovery URLs. Χρειάζεται έλεγχος πριν # αποφασιστεί αν αφορά μόνο search/filter states ή και κανονικές # κατηγορίες. Επανεξέταση σε επόμενη αναθεώρηση. # # - /el/presents/ και /el/kerastase-members-club/ : ΔΕΝ μπλοκάρονται # ακόμα. Είναι strategic/business choice και όχι τεχνικό must. # Τα 403 που επιστρέφουν ήδη αποτρέπουν indexing. Επανεξέταση # σε επόμενη αναθεώρηση. # # ------------------------------------------------------------ # Strategy: Minimal blocking + Clean crawl architecture # Goal: Avoid "Indexed though blocked" & Preserve crawl budget # Matching: Google uses path-prefix matching, so /el/order covers # /el/order-history, /el/order-slip, etc. automatically. # ============================================================ User-agent: * # ============================================================ # BLOCK - Server/System Directories ONLY # ============================================================ Disallow: /app/ Disallow: /bin/ Disallow: /cache/ Disallow: /classes/ Disallow: /config/ Disallow: /controllers/ Disallow: /log/ Disallow: /override/ Disallow: /src/ Disallow: /tools/ Disallow: /translations/ Disallow: /upload/ Disallow: /var/ Disallow: /vendor/ Disallow: /webservice/ # ============================================================ # BLOCK - Private Customer Account Pages # (Friendly URL safe - prefix match handles all sub-paths) # ============================================================ Disallow: /el/authentication Disallow: /en/authentication Disallow: /el/my-account Disallow: /en/my-account Disallow: /el/cart Disallow: /en/cart Disallow: /el/order Disallow: /en/order Disallow: /el/address Disallow: /en/address Disallow: /el/addresses Disallow: /en/addresses Disallow: /el/identity Disallow: /en/identity Disallow: /el/discount Disallow: /en/discount Disallow: /el/guest-tracking Disallow: /en/guest-tracking Disallow: /el/password-recovery Disallow: /en/password-recovery # ============================================================ # FALLBACK - Non-friendly controller URLs # (Backup for edge cases and legacy cached URLs) # ============================================================ Disallow: /*?controller=authentication Disallow: /*?controller=my-account Disallow: /*?controller=identity Disallow: /*?controller=address Disallow: /*?controller=addresses Disallow: /*?controller=cart Disallow: /*?controller=order Disallow: /*?controller=password Disallow: /*?controller=discount Disallow: /*?controller=guest-tracking Disallow: /*?controller=history # ============================================================ # BLOCK - Query Parameters (True Duplicate Risk) # ============================================================ Disallow: /*?search_query= Disallow: /*&search_query= Disallow: /*?tag= Disallow: /*&tag= Disallow: /*?id_currency= Disallow: /*&id_currency= # ============================================================ # BLOCK - Internal Search & Search Result Parameters # (Προστέθηκε Απρίλιος 2026 - crawl budget protection) # Βλέπε changelog #7 και #8 παραπάνω για πλήρη αιτιολογία # ============================================================ Disallow: /*?q= Disallow: /*&q= Disallow: /*?resultsPerPage= Disallow: /*&resultsPerPage= # ============================================================ # NOT BLOCKED (Handled via Canonical / 410 / Internal Logic) # ------------------------------------------------------------ # /modules/ → Allowed (needed for rendering) # ?order= → Canonical handles it (sort order) # ?back= → Canonical handles it # ?n= → Canonical handles it # ?page= → Under review - see changelog # controller=search → 410 via .htaccess # controller=attachment → 410 via .htaccess # controller=pagination → Canonical handles it # /el/presents/ → Under review - see changelog # /el/kerastase-members-club/ → Under review - see changelog # ============================================================ # ============================================================ # SITEMAPS # ============================================================ Sitemap: https://hairmaker.gr/sitemap-with-alternate-links-index.xml Sitemap: https://hairmaker.gr/sitemap-blog.xml Sitemap: https://hairmaker.gr/sitemap-with-images-only-category.xml # ============================================================ # SEO Audit Crawlers - Full Access # ============================================================ User-agent: AhrefsBot Allow: / User-agent: AhrefsSiteAudit Allow: /