Was ist ein CMS?
Wenn du etwas anderes als WordPress, Medium, Blogspot, Ghost usw. möchtest. Oder irgendeine andere Blogging-Plattform, oder du einfach mehr wissen willst. Dann wirst du einen Begriff namens CMS kennenlernen – Content-Management-System.
Ein CMS bietet lediglich eine strukturierte Möglichkeit, deine Inhalte zu verwalten. Stell dir vor, du hast Zehntausende von Blogbeiträgen – wie solltest du sie in einer guten Ordnung speichern und verwalten? So kannst du sie bearbeiten und später effektiv wieder aufrufen.
Verwaltungsfunktionen wie:
- Autoren – Verwalte, wie viele Autoren du hast, überprüfe ihre Texte usw.
- Inhalte – Ordne Beiträge in Kategorien ein, füge ein Tagging-System hinzu, platziere Themes in systematischer Reihenfolge.
- Plugins – WordPress hat viele Plugins, von der Verbesserung deines SEO bis zum Hinzufügen eines Abonnement-Bereichs usw.
Diese Funktionen sind fast ein Muss, wenn du einen langlebigen Blog oder eine Website betreiben willst. Aber wenn du nur eine einfache Website mit ein paar Seiten erstellst, brauchst du das wirklich nicht.
Was ist ein traditionelles CMS?
- Deine Beiträge werden als Markdown gespeichert
Ein traditionelles CMS speichert jeden deiner Blogbeiträge in einer separaten Datei, meist mit der Dateiendung .md oder .mdx, eine Kurzform für Markdown-Dateien. Du kannst also etwas schreiben wie:
## Happy New Year
**Hello** mum.Die obige Eingabe würde vom CMS übersetzt: „Überschrift 2 durch Verwendung von ##, und ** zum Fettdrucken“ und dann als HTML für dich ausgegeben. Du musst also keinen Code wie „<h2>Happy New Year</h2><p><b>Hello</b> mum</p>“ schreiben und kannst dich einfach auf das Schreiben des Inhalts konzentrieren.
- Von Markdown zur veröffentlichten URL
Deine Markdown-Dateien befinden sich normalerweise in einem Ordner namens blog oder posts, je nachdem, wie du es möchtest. Die Art, wie du deine Markdown-Dateien ablegst, spiegelt sich meist auch in der veröffentlichten URL wider. Wenn du deine Dateien in root/posts/hello-mum.md ablegst, sieht die veröffentlichte URL wie example.com/posts/hello-mum aus. Das hängt aber davon ab, wie du es einrichtest oder welches CMS du verwendest.
Wenn du einen neuen Beitrag möchtest, erstellst du einfach eine neue .md-Datei. Wenn du sie peter-parker.md nennst, endet die URL mit posts/peter-parker.
- Schema für dein Markdown
Ein Schema ist eine Sammlung von Variablen, die du für dein CMS definierst. Eine Beispiel-Markdown-Datei kann etwa so aussehen:
---title: 'Hello Mum'date: 2023-11-10tags: ['Parenting', 'Mum', 'Family']summary: 'Say hi to your mum instead of hello world'image: src: /images/mumSmiling.jpg alt: myMumauthors: ['default']---
<img src="../../../public/images/omelet.jpg" alt="omelet"/>or
3 collapsed lines
## Breakfast
I usually make omelet for her....... (continue on your article)Die Felder wie title, date, tags, summary, image src & alt, authors sind vordefiniert. Du musst nur ihre Werte für jedes Feld entsprechend ändern. Wenn du jedoch Entwickler bist, kannst du die Felder nach Belieben bearbeiten.
Wie du siehst, kannst du sogar HTML-Code in dein Markdown einfügen – wie praktisch ist das denn?
Was ist ein Headless CMS?
- Es verwendet eine Datenbank, um deine Webseite und Blogbeiträge zu trennen.
Ein Headless CMS funktioniert ähnlich wie ein traditionelles, du kannst auch in Markdown schreiben. Aber es speichert deinen Blogbeitrag nicht als Markdown auf deiner Website. Stattdessen trennt es deine Inhalte von deiner Website – lass es mich erklären.
Headless CMS bedeutet, dass der Inhalt von deinem Frontend getrennt ist. Deine Blogbeiträge werden auf einem Backend-Server anderswo gespeichert.
Wenn du deine Website in einem traditionellen CMS erstellst, nennen wir das üblicherweise statische Seitengenerierung. Das bedeutet, du legst alles – einschließlich der von dir geschriebenen Artikel, das Design deiner Website und das CMS-System – im selben Ordner ab. Dann generierst du es, wenn es fertig ist, und es wird ein Ordner mit allem ausgegeben – das bekommen die Besucher zu sehen.
Ein Headless CMS würde jedoch Blogbeiträge oder Autoreninformationen nicht von Anfang an im Designordner deiner Website enthalten.
Stattdessen werden die Inhalte auf einem Cloud-Server in einer Datenbank gespeichert. Wenn du deine Website baust, hat deine Website eine Logik, um die Datenbank in der Cloud abzufragen (mit ihr zu kommunizieren), um alle deine Beiträge abzurufen, die auf dem Cloud-Server gespeichert sind. Wenn du deine Website veröffentlichst, holt sie diese Daten automatisch aus der Cloud, integriert sie als Teil deiner Website und gibt dann eine vollständige Website mit deinen Blogbeiträgen aus.
Nachteile von Headless CMS
- Kosten
Traditionelle CMS sind normalerweise kostenlos, du musst nur die Kosten für dein Website-Hosting bezahlen. Wenn du GitHub verwendest, ist es im Grunde kostenlos. Ein Headless CMS hingegen berechnet in der Regel eine monatliche Gebühr plus zusätzliche Kosten pro Seat (Autor), das heißt, du zahlst dafür, wie groß dein Team ist.
- Bandbreitenlimits (Kosten)
Wenn deine Website viele Inhalte und Assets (Bilder) hat, kann sie viel Bandbreite deines Headless-CMS-Servers verbrauchen. Ihr Service hat auch Bandbreitenlimits für jeden Tarif, den du wählst. Bei einem traditionellen CMS musst du dich jedoch nur um die Hosting-Kosten und die Bandbreite der Website kümmern. Und wenn du Cloudflare Pages verwendest, bietet es unbegrenzte Bandbreite, kostenlos.
- Erfordert mehr Aufwand beim Aufbau
Ein Static-Site-Generator (traditionelles CMS) ist einfacher umzusetzen als ein Headless CMS. Das liegt daran, dass du dich bei einem traditionellen CMS nur um das Schema und das Schreiben von Markdown kümmern musst, und es funktioniert wahrscheinlich bei vielen traditionellen CMS. Ein Headless CMS erfordert jedoch ein wenig API-Fetch-Logik und das Erlernen einer spezifischen Abfragemethode für jeden Headless-CMS-Anbieter.
Wann verwendet man was?
- Traditionelles CMS
z. B. Hugo, 11ty, Jekyll, Gatsby usw.
Kleines Team oder nur du.
- Headless CMS
z. B. Sanity, WordPress, Strapi, Drupal, Payload, Prismic usw.
Großes Team oder für zukünftige Skalierbarkeit.
Das bedeutet nicht, dass du kein Headless CMS verwenden solltest, wenn du ein kleines Team hast – es ist nur eine allgemeine Richtlinie.
Wenn du deinen Blogbeitrag außerdem nicht lokal verwalten und schreiben möchtest, solltest du ebenfalls ein Headless CMS in Betracht ziehen.
Wenn du dich nur ums Schreiben kümmerst oder kein Entwickler bist
Verwende einfach WordPress. Mach dir nicht einmal die Mühe mit einem anderen CMS.
Es bietet Skalierbarkeit, wenn du sie brauchst, und – am wichtigsten – du musst nicht am Code herumbasteln.
Das stammt aus meiner Recherche und Erfahrung.
Viel Glück.