Τελευταία ενημέρωση:
Γιατί να χωρίσετε το frontend από το CMS
Στα περισσότερα παραδοσιακά sites, αυτό που βλέπει ο επισκέπτης και αυτό που χρησιμοποιεί ο συντάκτης για να γράψει είναι το ίδιο σύστημα. Σε WordPress, το theme τρέχει μέσα στο ίδιο PHP process που ρωτάει τη βάση δεδομένων σε κάθε επίσκεψη. Αυτό δουλεύει, αλλά σημαίνει ότι η ταχύτητα και η ασφάλεια του frontend είναι δεμένες με την πολυπλοκότητα του backend. Στη headless αρχιτεκτονική τα δύο χωρίζουν: το frontend είναι στατικό, γρήγορο, ανεξάρτητο, και το backend υπάρχει μόνο για να διαχειρίζεται περιεχόμενο, όχι για να σερβίρει σελίδες σε πραγματικό χρόνο.
Πώς δουλεύει τεχνικά
Frontend σε Astro. Το site που βλέπει ο επισκέπτης χτίζεται σε Astro και σερβίρεται ως στατικό HTML από το Cloudflare edge. Δεν υπάρχει server που ρωτάει βάση δεδομένων σε κάθε επίσκεψη.
CMS ή API πίσω. Το περιεχόμενο ζει σε ξεχωριστό σύστημα, headless CMS όπως Sanity, Contentful, Strapi, ή στο δικό μας Symbols CMS. Ο συντάκτης γράφει εκεί, και το frontend παίρνει το περιεχόμενο μέσω API, είτε τη στιγμή του build είτε σε runtime.
Ανθεκτικότητα. Επειδή τα δύο συστήματα είναι ξεχωριστά, ένα πρόβλημα στο backend δεν ρίχνει το frontend. Το site που βλέπει ο κόσμος μένει ζωντανό ακόμα κι αν το CMS έχει προσωρινό θέμα.
Πολλαπλά κανάλια. Το ίδιο περιεχόμενο μπορεί να τροφοδοτήσει περισσότερα από ένα σημεία, το site, μια εφαρμογή, ένα newsletter, χωρίς να γράφετε το ίδιο κείμενο δύο φορές σε δύο συστήματα.
Πότε βγάζει νόημα
Headless βγάζει νόημα όταν έχετε πολλούς συντάκτες με διαφορετικούς ρόλους, πολύπλοκο content model με πολλούς τύπους περιεχομένου, ή ανάγκη το ίδιο περιεχόμενο να τροφοδοτήσει περισσότερα από ένα κανάλια εξόδου. Δεν βγάζει νόημα για ένα μικρό site με έναν συντάκτη και απλά κείμενα, εκεί τα markdown content collections μέσα στο ίδιο Astro project κάνουν την ίδια δουλειά με λιγότερα κινούμενα μέρη. Το προτείνουμε όταν το βλέπουμε ότι χρειάζεται, όχι επειδή είναι μοντέρνος όρος.
Πώς το χτίζουμε
- Content model. Καταγράφουμε τι τύποι περιεχομένου χρειάζεστε, σελίδες, άρθρα, προϊόντα, και πώς σχετίζονται μεταξύ τους.
- Επιλογή CMS. Symbols CMS για τις περισσότερες περιπτώσεις, ή Sanity, Contentful, Strapi όπου έχει συγκεκριμένο λόγο.
- Frontend σε Astro που καταναλώνει το API, με preview URL κάθε εβδομάδα.
- Preview mode ώστε οι συντάκτες να βλέπουν αλλαγές πριν δημοσιευτούν.
- Launch και εκπαίδευση της ομάδας σας στο νέο CMS.
Για ομάδες που θέλουν headless αλλά χωρίς μηνιαία συνδρομή τρίτου, δείτε πώς δουλεύει το Symbols CMS πάνω από Astro. Αν χρειάζεστε eshop με headless αρχιτεκτονική και API προς courier ή ERP, δείτε την κατασκευή eshop σε Pshop. Επιστροφή στην κατασκευή ιστοσελίδων.
Ποιο CMS ταιριάζει πού
Το Symbols CMS ταιριάζει στους περισσότερους πελάτες που θέλουν visual editor, χωρίς μηνιαία συνδρομή τρίτου, πάνω σε Astro build που ήδη γνωρίζουμε καλά. Το Sanity ταιριάζει όταν χρειάζεστε πολύ ευέλικτο content model με σύνθετες σχέσεις ανάμεσα σε τύπους περιεχομένου, ή όταν η ομάδα σας έχει ήδη τεχνική εξοικείωση με structured content. Το Contentful ταιριάζει σε μεγαλύτερους οργανισμούς με πολλαπλά brands ή sites που θέλουν κοινή υποδομή περιεχομένου. Το Strapi ταιριάζει όταν θέλετε πλήρη έλεγχο του backend, self-hosted, χωρίς εξάρτηση από πάροχο τρίτου. Διαλέγουμε μαζί σας ανάλογα με το τι πραγματικά χρειάζεστε, όχι με βάση το τι είναι πιο διαδεδομένο εκείνη τη στιγμή.
Migration από monolithic CMS σε headless
Αν έρχεστε από WordPress ή άλλο σύστημα όπου frontend και backend είναι δεμένα μεταξύ τους, η μετάβαση σε headless γίνεται σε δύο παράλληλα κομμάτια: το περιεχόμενο μεταφέρεται στο νέο CMS, καθαρισμένο από markup του παλιού theme ή builder, και το frontend χτίζεται από την αρχή σε Astro, χωρίς να κουβαλάει τεχνικό χρέος του παλιού συστήματος. Η διαδικασία ακολουθεί την ίδια λογική με το WordPress development μας, crawl, καταγραφή URLs, redirects, με τη διαφορά ότι το νέο σύστημα έχει CMS ξεχωριστό από το frontend αντί για ενσωματωμένο Symbols CMS.
Κόστος συντήρησης headless αρχιτεκτονικής
Ένα headless σύστημα έχει δύο κομμάτια που θα μπορούσαν θεωρητικά να χρειάζονται ξεχωριστή συντήρηση, το frontend και το CMS. Στην πράξη, επειδή το frontend είναι στατικό στο edge, δεν χρειάζεται καθόλου συντήρηση διακομιστή, ενημερώνεται μόνο όταν αλλάζει ο κώδικας. Το CMS, αν είναι Symbols CMS ή managed υπηρεσία όπως Sanity, δεν χρειάζεται ενημερώσεις από εσάς, ο πάροχος το συντηρεί. Το αποτέλεσμα είναι λιγότερη συντήρηση συνολικά σε σχέση με ένα παραδοσιακό σύστημα όπου server, βάση και frontend είναι όλα δεμένα μαζί.
Ρίσκο και πολυπλοκότητα
Ένα headless σύστημα έχει περισσότερα κινούμενα μέρη από ένα απλό Astro site με markdown, αυτό είναι πραγματικό κόστος που αξίζει να το γνωρίζετε πριν αποφασίσετε. Το API ανάμεσα σε frontend και CMS πρέπει να δουλεύει σωστά, και μια αλλαγή στο content model μπορεί να χρειαστεί αλλαγή και στα δύο συστήματα. Το προτείνουμε όταν το όφελος, ευελιξία, πολλαπλά κανάλια, πολλοί συντάκτες, ξεπερνά αυτή την επιπλέον πολυπλοκότητα, όχι ως προεπιλογή για κάθε project.