Ένα e-shop έχασε το 47% της ορατότητάς του στην αναζήτηση AI, αφού μια αλλαγή στην ανάπτυξη άλλαξε τον τρόπο που αποδίδονται οι σελίδες. Οι ίδιες σελίδες προϊόντων κατατάσσονταν ακόμη στη Google. Το ChatGPT, το Claude και το Perplexity όμως δεν επέστρεφαν κανένα αποτέλεσμα. Η διαφορά ήταν το JavaScript rendering.
Αυτό συμβαίνει σε κάθε ιστοσελίδα που στηρίζεται σε client-side rendering. Μια σελίδα προορισμού SaaS χτισμένη με Vue.js δεν εμφανίζεται ποτέ στις απαντήσεις του ChatGPT. Μια ειδησεογραφική ιστοσελίδα σε framework JavaScript δεν έχει καμία παρουσία στο Perplexity. Μια βάση γνώσεων που αποδίδει το περιεχόμενο με React μένει αόρατη στους crawlers της AI. Δεν είναι οριακές περιπτώσεις. Είναι η προεπιλεγμένη συμπεριφορά των περισσότερων σύγχρονων web frameworks.
Η διαφορά ανάμεσα σε μια ιστοσελίδα που τρέχει με JavaScript και σε μια που είναι ορατή στην AI δεν έχει να κάνει με πολυπλοκότητα ή budget. Έχει να κάνει με το να καταλάβεις τι γίνεται στα πρώτα χιλιοστά του δευτερολέπτου, όταν φτάνει ένας crawler.
Τι βλέπουν οι crawlers της AI όταν ζητούν τη σελίδα σου
Ο crawler της Google εκτελεί JavaScript. Περιμένει να αποδοθεί η σελίδα, καταγράφει την τελική οπτική κατάσταση και την ευρετηριάζει. Οι περισσότεροι crawlers της AI όχι.
Όταν ο crawler του ChatGPT (GPTBot) φτάνει στην ιστοσελίδα σου, η σειρά είναι αυτή: 1. Παίρνει το αρχείο HTML 2. Εξάγει το κείμενο που φαίνεται σε αυτό το ωμό HTML 3. Προχωρά στην επόμενη σελίδα
Το JavaScript που αποδίδει τον τίτλο σου, την περιγραφή του προϊόντος σου, το κείμενο του άρθρου σου δεν τρέχει ποτέ. Ο crawler βλέπει τις αναφορές στα αρχεία JavaScript, αλλά τις αγνοεί. Η σελίδα σου φαίνεται σαν κέλυφος χωρίς περιεχόμενο.
Αυτό συμβαίνει επειδή οι crawlers της AI είναι φτιαγμένοι για ταχύτητα και αποδοτικότητα. Η εκτέλεση JavaScript είναι αργή. Απαιτεί να ξεκινήσει ένας browser, να φορτωθούν πόροι, να χειριστούν σφάλματα, να διαχειριστούν χρονικά όρια. Όταν σαρώνεις δισεκατομμύρια σελίδες κάθε μέρα, η εκτέλεση JavaScript γίνεται απαγορευτικά ακριβή.
Η Google επενδύει σε αυτή την υποδομή, επειδή τα αποτελέσματα αναζήτησης εξαρτώνται από την κατανόηση της οπτικής απόδοσης. Οι μηχανές αναζήτησης AI δίνουν προτεραιότητα στην εξαγωγή ωμού κειμένου. Είναι φτιαγμένες για να παίρνουν γεγονότα και αναφορές απευθείας από το HTML, όχι από αυτό που εμφανίζεται αφού το JavaScript το μετασχηματίσει.
Ποιοι τρόποι απόδοσης δημιουργούν προβλήματα στους crawlers της AI
Δεν προκαλούν όλα τα frameworks JavaScript την ίδια απώλεια ορατότητας. Το πρόβλημα είναι συγκεκριμένα το client-side rendering (CSR), όπου το JavaScript τρέχει *στον browser* και χτίζει τη σελίδα αφού φορτωθεί το HTML.
Client-side rendering (CSR): Frameworks όπως React, Vue, Angular, Svelte όταν είναι ρυθμισμένα σε CSR. Το HTML φτάνει άδειο ή με σκελετούς φόρτωσης. Το JavaScript γεμίζει το περιεχόμενο μετά τη λήψη. Οι crawlers της AI δεν περιμένουν.
Server-side rendering (SSR): Frameworks που είναι φτιαγμένα για SSR. Ο διακομιστής χτίζει τη σελίδα με το περιεχόμενο ήδη μέσα στο HTML. Ο browser παίρνει πλήρες HTML. Οι crawlers της AI τα βλέπουν όλα αμέσως.
Στατική δημιουργία (SSG): Γεννήτριες στατικών ιστοσελίδων. Οι σελίδες χτίζονται από πριν και ανεβαίνουν ως στατικά αρχεία HTML. Δεν γίνεται απόδοση τη στιγμή του αιτήματος. Οι crawlers της AI παίρνουν όλο το περιεχόμενο αμέσως.
Εφαρμογές μίας σελίδας (SPA): Η κατηγορία με τον μεγαλύτερο κίνδυνο. Μια SPA φορτώνει ένα αρχείο HTML και χρησιμοποιεί JavaScript για να αλλάζει το περιεχόμενο ανάλογα με την πλοήγηση. Κάθε διαδρομή φαίνεται ίδια σε έναν crawler, εκτός αν ο διακομιστής χειρίζεται ξεχωριστά κάθε διαδρομή.
Τη στιγμή που επιλέγεις CSR ως στρατηγική απόδοσης, φτιάχνεις ένα αόρατο εμπόδιο ανάμεσα στο περιεχόμενό σου και σε κάθε crawler της AI στο διαδίκτυο.
Γιατί αυτό μετράει περισσότερο απ' ό,τι νομίζεις
Η αναζήτηση AI είναι ακόμη στην αρχή της, αλλά η υιοθέτησή της επιταχύνεται. Μελέτες δείχνουν ότι οι αναζητήσεις AI μεγαλώνουν πιο γρήγορα από τις παραδοσιακές αναζητήσεις στο web. Το ChatGPT, το Perplexity και το Claude γίνονται βασικά εργαλεία έρευνας για επαγγελματίες, φοιτητές και όσους παίρνουν αποφάσεις.
Όταν κάποιος ρωτά το ChatGPT "best website builders for small business", η AI διαλέγει ποια brands θα αναφέρει. Η απόφαση αυτή εξαρτάται από το ποιο περιεχόμενο μπορεί να διαβάσει. Αν η σελίδα σου τρέχει με JavaScript, είναι αόρατη.
Δεν είναι πρόβλημα του μέλλοντος. Μια ανάλυση του 2025 σε πάνω από 500M αιτήματα του GPTBot έδειξε ότι οι ιστοσελίδες που εξαρτώνται από JavaScript έπαιρναν σημαντικά λιγότερες αναφορές από τους ανταγωνιστές με server-side απόδοση στον ίδιο κλάδο. Το χάσμα μεγάλωνε για τεχνικό περιεχόμενο, σελίδες προϊόντων και οδηγούς how-to, δηλαδή ακριβώς τα είδη περιεχομένου που προτιμούν οι μηχανές AI.
Για εταιρείες B2B και e-commerce, οι αναφορές από την AI γίνονται μοχλός ανταγωνιστικής ορατότητας. Μια αναφορά σε μια απάντηση του ChatGPT ή σε ένα απόσπασμα του Perplexity μπορεί να αξίζει όσο και μια θέση στην πρώτη σελίδα της Google. Μόνο που δεν μπορούν να σε αναφέρουν, αν ο crawler δεν διαβάζει το περιεχόμενό σου.
Πώς θα αποφασίσεις τι να κάνεις
Δεν χρειάζεται κάθε ιστοσελίδα να εγκαταλείψει το client-side rendering. Η απόφαση εξαρτάται από τρεις παράγοντες: το είδος του περιεχομένου σου, το κοινό σου και την επιχειρηματική αξία της ορατότητας στην αναζήτηση AI για τη δική σου περίπτωση.
Ρώτα πρώτα τον εαυτό σου:
Αξίζει το περιεχόμενό σου να αναφερθεί από την AI; Ειδήσεις, οδηγοί how-to, συγκρίσεις προϊόντων, άρθρα έρευνας, συμβουλές ειδικών. Αυτά τα αναφέρει η AI. Η τεχνική τεκμηρίωση, τα διαδραστικά εργαλεία και τα dashboards που υπάρχουν κυρίως για συνδεδεμένους χρήστες όχι. Αν η ιστοσελίδα σου είναι κυρίως το δεύτερο, το JavaScript rendering μετράει λιγότερο.
Ψάχνει το κοινό σου σε μηχανές AI; Επαγγελματίες B2B, όσοι ερευνούν προϊόντα, φοιτητές, developers. Χρησιμοποιούν πολύ την αναζήτηση AI. Αν το κοινό σου είναι πολύ εξειδικευμένο και ψάχνει μόνο στη Google, η ορατότητα στην AI έχει μικρότερη άμεση απόδοση.
Πόσο κοστίζει το να είσαι αόρατος; Για μια ειδησεογραφική ιστοσελίδα ή μια βάση γνώσεων, το μηδέν αναφορές από την AI είναι ανταγωνιστικό μειονέκτημα. Για το intranet μιας εταιρείας ή ένα SaaS μόνο για μέλη, είναι άσχετο. Για ένα e-shop, εξαρτάται από το αν οι πελάτες σου ανακαλύπτουν προϊόντα μέσα από προτάσεις αγορών της AI.
Αν απάντησες "περιεχόμενο που αξίζει αναφορά από την AI", "ναι, το κοινό μου χρησιμοποιεί αναζήτηση AI" και "η χαμένη ορατότητα είναι πραγματικό κόστος", προχώρα. Αν οι απαντήσεις είναι μικτές, ίσως να βάλεις άλλες προτεραιότητες.
Server-side rendering: η πιο πλήρης λύση
Το SSR λύνει το πρόβλημα του JavaScript συνολικά. Ο διακομιστής χτίζει ολόκληρη τη σελίδα με όλο το περιεχόμενο πριν τη στείλει στον browser. Μέχρι να φτάσει οποιοσδήποτε crawler, το περιεχόμενο υπάρχει ήδη.
Πώς δουλεύει: Όταν κάποιος (ή ένα bot) ζητά μια σελίδα, ο διακομιστής σου τρέχει τον κώδικά σου και παράγει το τελικό HTML. Αυτό το HTML περιλαμβάνει τον τίτλο σου, το κείμενο του άρθρου, τις λεπτομέρειες του προϊόντος. Ο browser παίρνει πλήρη σελίδα και την αποδίδει αμέσως. Το JavaScript μπορεί να προσθέσει διαδραστικότητα, αλλά το περιεχόμενο είναι ήδη προσβάσιμο.
Εργαλεία που κάνουν το SSR απλό: Υπάρχουν frameworks φτιαγμένα ειδικά για να κάνουν το SSR εύκολο, για τα πιο γνωστά frameworks JavaScript. Γράφεις τα components σου μία φορά, το framework αναλαμβάνει την απόδοση στον διακομιστή και η σελίδα φτάνει έτοιμη.
Το αντάλλαγμα: Το SSR θέλει πόρους διακομιστή. Ο διακομιστής σου επεξεργάζεται κάθε αίτημα, χτίζει το HTML και το στέλνει. Αυτό θέλει περισσότερη CPU και μνήμη από το σερβίρισμα έτοιμων στατικών αρχείων. Οι αργές ή σύνθετες σελίδες μπορούν να αυξήσουν τον χρόνο απόκρισης, κάτι που επηρεάζει μετρικές απόδοσης όπως το First Contentful Paint (FCP) και τα Core Web Vitals.
Για τις περισσότερες ιστοσελίδες, η επιβάρυνση στην απόδοση είναι μικρή. Για ιστοσελίδες με πολλή επισκεψιμότητα και σύνθετες σελίδες, γίνεται αισθητή. Λύνεται με caching, edge computing ή βελτιστοποίηση κώδικα, αλλά θέλει αποφάσεις αρχιτεκτονικής.
Pre-rendering: μια ελαφρύτερη προσέγγιση για στατικό περιεχόμενο
Το pre-rendering χτίζει τις σελίδες σου από πριν και τις ανεβάζει ως στατικά αρχεία HTML. Όταν φτάνει ένας crawler, παίρνει αμέσως πλήρη σελίδα. Όταν τις επισκέπτεται κάποιος, παίρνει ένα στατικό αρχείο που φορτώνει εξαιρετικά γρήγορα.
Υπηρεσίες pre-rendering το αυτοματοποιούν. Τις δείχνεις την ιστοσελίδα σου, επισκέπτονται κάθε URL του sitemap σου, αποδίδουν κάθε σελίδα (εκτελώντας το JavaScript), καταγράφουν το τελικό HTML και σερβίρουν αυτές τις στατικές εκδόσεις στους crawlers, ενώ οι browsers παίρνουν ακόμη τη διαδραστική έκδοση.
Δουλεύει αν: Το περιεχόμενό σου αλλάζει σπάνια. Άρθρα blog, σελίδες προϊόντων, τεκμηρίωση. Περιεχόμενο που ενημερώνεται ίσως μία φορά τη μέρα.
Δεν δουλεύει αν: Το περιεχόμενό σου είναι δυναμικό. Αριθμοί αποθέματος, δεδομένα ανά χρήστη, πληροφορίες πραγματικού χρόνου, εξατομικευμένο περιεχόμενο. Αν η σελίδα σου φαίνεται διαφορετική σε κάθε επισκέπτη, το pre-rendering δεν θα καταγράψει όλες τις εκδόσεις.
Κόστος και πολυπλοκότητα: Μια τέτοια υπηρεσία κοστίζει $99-$499 τον μήνα, ανάλογα με τον όγκο σελίδων. Συντηρείς δύο σύνολα περιεχομένου: ένα για τον browser (JavaScript) και ένα pre-rendered για τους crawlers. Αυτό διπλασιάζει το βάρος της συντήρησης. Όταν ανεβάζεις ένα νέο άρθρο, πρέπει να ξαναχτίσεις και να ξαναανεβάσεις τη στατική έκδοση.
Για ιστοσελίδες με σταθερό περιεχόμενο, το pre-rendering είναι μια πρακτική μέση λύση ανάμεσα στο να μην κάνεις τίποτα και στη μετάβαση σε SSR.
Dynamic rendering: μια τακτική επιλογή για μερικές ιστοσελίδες
Το dynamic rendering εντοπίζει ποιος user agent κάνει το αίτημα. Αν είναι crawler, σερβίρει HTML που έχει αποδοθεί στον διακομιστή. Αν είναι browser, σερβίρει την έκδοση JavaScript. Έτσι κρατάς την υπάρχουσα τεχνολογική σου στοίβα και δίνεις στους crawlers πλήρες περιεχόμενο.
Η ιδέα είναι κομψή στη θεωρία. Στην πράξη είναι εύθραυστη. Πρέπει:
Να κρατάς μια λίστα με τους User-Agents των crawlers της AI και να την ενημερώνεις συνέχεια καθώς εμφανίζονται νέοι crawlers. Αν χάσεις έναν, αυτός ο crawler βλέπει κενή σελίδα.
Να χτίσεις server-side rendering ειδικά για τους crawlers, κρατώντας client-side rendering για τους browsers. Ουσιαστικά χτίζεις δύο εκδόσεις της ιστοσελίδας σου.
Να ελέγχεις ότι οι δύο εκδόσεις μένουν συγχρονισμένες. Ένα σφάλμα στην έκδοση των crawlers χαλάει αθόρυβα την ορατότητά σου στην αναζήτηση AI.
Το dynamic rendering δουλεύει για απλές ιστοσελίδες περιεχομένου. Για σύνθετες εφαρμογές, είναι περισσότερος κόπος απ' όσο αξίζει. Αν θα κάνεις απόδοση στον διακομιστή για τους crawlers, καλύτερα να την κάνεις για όλους (αυτό είναι το SSR).
Πώς θα καταλάβεις αν η ιστοσελίδα σου έχει αυτό το πρόβλημα τώρα
Δεν χρειάζεται να μαντέψεις. Μπορείς να το ελέγξεις απευθείας.
Δες τον πηγαίο κώδικα της σελίδας: Κάνε δεξί κλικ στη σελίδα σου, διάλεξε "View Page Source" και ψάξε τον τίτλο σου. Αν ο τίτλος δεν υπάρχει στο ωμό HTML, αποδίδεται με JavaScript. Οι crawlers της AI δεν θα τον δουν.
Πάρε τη σελίδα με curl: Στο τερματικό σου τρέξε curl https://yoursite.com/your-page. Αν το περιεχόμενο δεν υπάρχει, το απέδωσε το JavaScript.
Έλεγξε το robots.txt σου: Αν εμποδίζεις τους crawlers να εκτελούν JavaScript, θα βλέπουν μόνο το ωμό HTML. Έλεγξε το αρχείο robots.txt ή τις ρυθμίσεις σάρωσης της ιστοσελίδας σου.
Χρησιμοποίησε ένα εργαλείο crawler: Ένα εργαλείο SEO crawler μπορεί να φέρει τις σελίδες σου όπως θα τις έφερνε ένας crawler. Αν το περιεχόμενο εμφανίζεται στον browser αλλά όχι στον crawler, ο ένοχος είναι το JavaScript.
Ψάξε απευθείας στις μηχανές AI: Ψάξε στο ChatGPT, το Perplexity ή το Claude συγκεκριμένες φράσεις από τις σελίδες σου. Αν το περιεχόμενό σου δεν εμφανίζεται ποτέ, έχεις πρόβλημα ορατότητας λόγω JavaScript.
Βελτιστοποίηση ανά πλατφόρμα για διαφορετικούς crawlers της AI
Δεν συμπεριφέρονται όλοι οι crawlers της AI με τον ίδιο τρόπο. Έχουν διαφορετικές δυνατότητες απόδοσης, διαφορετικές συχνότητες σάρωσης και διαφορετικές προτιμήσεις περιεχομένου.
ChatGPT (GPTBot): Δεν εκτελεί JavaScript. Παίρνει ωμό HTML. Χρησιμοποιεί ένα ευρετήριο αναζήτησης για περιεχόμενο πραγματικού χρόνου. Συχνότητα: περίπου εβδομαδιαία για καθιερωμένο περιεχόμενο.
Claude: Δεν εκτελεί JavaScript. Παίρνει ωμό HTML. Δίνει προτεραιότητα σε φρέσκο, έγκυρο περιεχόμενο. Συχνότητα: διαφέρει ανάλογα με τα σήματα φρεσκάδας του περιεχομένου.
Perplexity: Δεν εκτελεί JavaScript. Παίρνει ωμό HTML. Βαραίνει πολύ τη φρεσκάδα. Περιεχόμενο παλαιότερο από 48 ώρες μπορεί να χάσει προτεραιότητα. Συχνότητα: υψηλή για θέματα σε τάση, χαμηλή για στατικό περιεχόμενο.
AI Overviews της Google: *Εκτελούν* JavaScript, επειδή χρησιμοποιούν την ίδια υποδομή απόδοσης με την Αναζήτηση Google. Βελτιστοποίησε όμως σαν να μην το κάνουν, και θα είσαι πιο ορατός στις άλλες μηχανές αναζήτησης AI.
Το πρακτικό συμπέρασμα: μη βελτιστοποιείς για έναν crawler. Κάνε server-side απόδοση στο βασικό σου περιεχόμενο και θα είσαι ορατός σε όλους.
Σε τι βοηθά η WEMASY
Με τον δημιουργό ιστοσελίδων της WEMASY φτιάχνεις τις δικές σου σελίδες στην ιστοσελίδα σου.
Αν διαλέγεις δημιουργό ιστοσελίδων και η ορατότητα στην αναζήτηση AI μετράει για την επιχείρησή σου, το server-side rendering πρέπει να είναι απαίτηση και όχι εκ των υστέρων σκέψη. Δες τι περιλαμβάνει κάθε πακέτο της WEMASY.
Συχνές ερωτήσεις
Μπορώ να χρησιμοποιήσω JavaScript για διαδραστικές λειτουργίες χωρίς να εμποδίσω τους crawlers της AI;
Ναι. Κάνε server-side απόδοση στο βασικό περιεχόμενο (τον τίτλο, το κείμενο του άρθρου, τις λεπτομέρειες του προϊόντος) και χρησιμοποίησε JavaScript για βελτιώσεις (animations, έλεγχο φορμών, διαδραστικά widgets). Λέγεται "progressive enhancement". Το περιεχόμενο είναι ήδη στο HTML και το JavaScript προσθέτει το φινίρισμα από πάνω. Οι crawlers της AI βλέπουν το βασικό περιεχόμενο. Οι browsers παίρνουν την πλήρη διαδραστική εμπειρία. Με τον δημιουργό ιστοσελίδων της WEMASY φτιάχνεις τις δικές σου σελίδες στην ιστοσελίδα σου.
Θα κάνει την ιστοσελίδα μου πιο αργή η μετάβαση σε server-side rendering;
Μπορεί, αν ο διακομιστής σου είναι αδύναμος ή οι σελίδες σου σύνθετες. Το σύγχρονο server-side rendering με επίπεδα caching (όπως το edge caching σε σύγχρονες πλατφόρμες φιλοξενίας) μπορεί να είναι και πιο γρήγορο από το client-side rendering. Η διαφορά είναι μικρή για τις περισσότερες ιστοσελίδες. Αν σε απασχολεί η απόδοση, δοκίμασε σε περιβάλλον staging πριν δεσμευτείς.
Πρέπει να αλλάξω ολόκληρη την τεχνολογική μου στοίβα;
Αν χρησιμοποιείς React, Vue ή άλλο framework JavaScript ως CSR, η μετάβαση σε ένα framework SSR σημαίνει να ξαναγράψεις τα components σου ώστε να δουλεύουν με server rendering. Δεν είναι γρήγορη αλλαγή. Αν η ιστοσελίδα σου είναι εντελώς νέα, διάλεξε από την αρχή ένα framework που βάζει πρώτα το SSR. Αν έχεις καθιερωμένη ιστοσελίδα, το pre-rendering ή το dynamic rendering μπορεί να είναι πιο πρακτικό βραχυπρόθεσμα.
Τι γίνεται αν οι crawlers της AI υποστηρίξουν τελικά εκτέλεση JavaScript;
Είναι πιθανό, αλλά όχι σύντομα. Η εκτέλεση JavaScript είναι υπολογιστικά ακριβή σε μεγάλη κλίμακα. Αν η επιχειρηματική αξία των αναφορών από την AI δεν δικαιολογεί το κόστος της υποδομής, οι crawlers θα συνεχίσουν να παίρνουν ωμό HTML. Προς το παρόν, κάνε server-side απόδοση στο περιεχόμενό σου και μείωσε τον κίνδυνο.
Το πρόβλημα JavaScript rendering της ιστοσελίδας μου βλάπτει την κατάταξή μου στη Google;
Όχι. Ο crawler της Google εκτελεί JavaScript, άρα η κατάταξή σου στη Google δεν επηρεάζεται. Το πρόβλημα είναι οι μηχανές αναζήτησης AI όπως το ChatGPT, το Claude και το Perplexity. Δεν εκτελούν JavaScript. Κάνε server-side απόδοση στο περιεχόμενό σου αν θέλεις ορατότητα στα αποτελέσματα αναζήτησης AI, όχι επειδή το απαιτεί η Google. Είναι ξεχωριστό πρόβλημα από το SEO.
Έχουν οι ειδησεογραφικές ιστοσελίδες το ίδιο πρόβλημα με το JavaScript;
Ναι, και συχνά περνά απαρατήρητο. Μια ειδησεογραφική ιστοσελίδα χτισμένη σε framework JavaScript που αποδίδει το περιεχόμενο στον client παίρνει μηδέν αναφορές από την AI, ακόμη κι αν το περιεχόμενο είναι δημοσιευμένο και ευρετηριασμένο. Εκδότες ειδήσεων το ανακάλυψαν τυχαία, όταν άρθρα που κατατάσσονταν στο Google News έπαιρναν μηδέν αναφορές στο ChatGPT ή στο Perplexity. Έλεγξε τον πηγαίο κώδικα της σελίδας. Αν ο τίτλος σου δεν είναι εκεί, διόρθωσέ το.