In diesem Artikel möchte ich dir die verschiedenen Optionen zeigen, wie du eine Website erstellen kannst und anhand welcher Kriterien du dich für eine der Optionen entscheiden kannst.
Welche Optionen für das Erstellen von Webseiten gibt es?
Grundsätzlich gibt es drei Systeme:
- Website selbst programmieren: Die erste Option ist es, eine Website selbst zu programmieren. Für ganz einfache Webseiten genügt es, diese in HTML zu erstellen und dann mit CSS zu stylen. Sobald mehr Inhalte dazukommen, genügt das nicht mehr und es benötigt eine Datenbank und mehr Programmierung in echten Programmiersprachen. Typische Sprachen für die das Erstellen einer Website sind PHP, Python, Javascript und Java für Backends. Wer eine Website selbst programmiert, muss sich auch um das Hosting selbst kümmern, d.h. auf welchem Server die Webseite liegt und sie dann an die Nutzer ausgespielt werden. Dafür gibt es wiederum verschiedene Optionen.
- CMS (Content Management Systeme): Die zweite Option ist das Nutzen eines CMS. Ein CMS besteht normalerweise aus einer Datenbank und Templates, die die Inhalte aus der Datenbank darstellen. Um eine Webseite mit einem CMS zu erstellen, braucht man nur das CMS Programm auf seinen Server zu kopieren und dann nach den eigenen Wünschen zu konfigurieren. Kannst du programmieren, kannst du ein CMS beliebig anpassen – ansonsten helfen unzählige Plugins dabei. Typische CMS sind WordPress, Drupal oder Joomla.
- Homepage-Baukästen: Homepage Baukästen sind eine Sonderform von CMS. Im Gegensatz zu den klassischen Content Management Systemen hostest du diese nicht selbst, sondern der Baukasten-Anbieter übernimmt das für dich. Die Homepage-Baukästen bieten eine Vielzahl von Templates. Da du keinen Zugriff auf den Code hast, kannst du deine Webseite mit einem Homepage-Baukasten nicht weiter anpassen. Die beliebtesten Baukästen sind Shopify für Shops oder Wix und Squarespace für allgemeine Homepages.
Gehen wir mal durch, in welchem Fall du welche Option eigentlich am besten brauchen kannst.
Welceh Vorkenntnisse hast du beim Webseiten Bauen?
Der erste Punkt sind deine eigenen Vorkenntnisse. Kannst du programmieren? Wie wohl fühlst du dich, Lösungen auf technische Herausforderungen zu finden?
Möchtest du am liebsten eine Lösung, die so einfach ist, wie ein Word-Dokument zu bedienen? Dann sind die Homepage-Baukästen am besten für dich geeignet. Diese sind sehr gut für Anfänger geeignet, denn sie erfordern keine Vorkenntnisse. Bei Homepage-Baukästen wie WIX, Squarespace oder Shopify (für Shops) meldest du dich einfach an, wählst ein Design-Template aus und fängst an zu schreiben. Das Schwierigste beim Erstellen einer Website mit einem Homepage Baukasten ist es, die richtigen Worte zu finden.
Etwas mehr Kenntnisse erfordern Content Management Systeme. Bevor du sie überhaupt nutzen kannst, musst du dich erst einmal mit dem Hosting auseinander setzen. Du brauchst nämlich einen Server, auf dem du deine Webseite hosten kannst. Beim Absatz Skalierbarkeit & Leistung gehe ich mehr auf das Thema Hosting ein. Da du bei den CMS mehr Einstellungsmöglichkeiten als bei den Homepage-Baukästen hast, ist die Oberfläche auch komplexer. Du solltest dich also mit vielen Menüs und Optionen wohlfühlen. Um ein CMS zu bedienen, brauchst du jedoch keine Programmierkenntnisse – auch nicht für viele Anpassungen. Gibt es eine Einstellung nicht, gibt es höchstwahrscheinlich bereits ein Plugin dafür. Auch wenn du nicht programmieren können musst, musst du dich bei jedem Plugin doch immer wieder in neue Oberflächen und Einstellungen einarbeiten, die teilweise recht technisch gestaltet sind.
Die meisten Vorkenntnisse brauchst du offensichtlich, um eine Website selbst zu programmieren. Neben Kenntnissen zum Hosting brauchst du Programmierkenntnisse und auch gute Kenntnisse, wie man Webprojekte effizient strukturiert – sonst ist deine Website zum Schluss sehr langsam, skaliert nicht und ein Pain-in-the-ass in der Weiterentwicklung. Hast du die Vorkenntnisse nicht selbst, kannst du natürlich auch Programmierer anheuern, um dir deine Webseite zu programmieren.
Wie Individuell möchtest du deine Webseite gestalten?
Der zweite Punkt schaut darauf, wie die Website aussehen soll, du bauen möchtest.
Während die Homepage-Baukästen besonders einfach sind, lassen sie sich nicht besonders gut individualisieren. Die Anbieter stellen bereits Funktionen zur Verfügung. Dies sind die allgemeinen Standardfunktionen, die auf den meisten Webseiten vorkommen. Dh. alle Baukästen können einfache Seiten darstellen, einen Blog und ein Kontaktformular einbinden. Bei manchen gibt es auch die Möglichkeit für Shops, Buchungssysteme, Kurse und vieles mehr. Allen gemeinsam ist jedoch, dass die Templates vorgegeben sind und diese lassen sich nur minimal anpassen – also Farbe und Schriftart geht sicher immer. Doch wo ein Button, ein Bild oder der Text platziert ist, geht meist nicht mehr.
Wenn dir die Flexibilität zum Beispiel im Design sehr wichtig ist, dann solltest du überlegen, ob du von dem Baukastensystem gleich auf ein Content Management System wechselst. Denn dort hast du Freiheit in der Gestaltung deiner Website. Ein Content Management System wie z.B. WordPress ist auf drei Säulen aufgebaut: Inhalte, Funktionen und Design. Die Inhalte werden über die Inhaltstypen gesteuert. Standardmäßig gibt es bei WordPress Seiten und Beiträge. Diese können jedoch mithilfe von Plugins durch weitere individuelle Inhaltstypen ergänzt werden. Dann gibt es die Funktionen. Ein CMS bietet eine ganze Reihe von Grundfunktionen wie Usermanagement, Login, Kommentare etc. Alle weiteren Funktionen wie z.B. Newsletterempfänger sammeln und Newsletter senden kannst du über Plugins hinzufügen. Das Design wird über Themes gesteuert. In den Themes gibt es verschiedene Templates, die du je nach Theme unterschiedlich stark individualisieren kannst.
Brauchst du noch mehr Flexibilität, musst du deine Webseite selbst programmieren. Das kannst du entweder basierend auf einem CMS oder du kannst dein Webprojekt von Anfang an selbst aufbauen. Baust du dein Webprojekt selbst auf, musst du dich selbst um die Grundfunktionalitäten wie Darstellung deiner Datenbankinhalte oder Userverwaltung selbst kümmern. Dafür hast du alle Flexibilität, die du haben möchtest.
Wie Komplex ist dein WEbsite Projekt?
Unter Komplexität verstehe ich an dieser stelle, wie viele verschiedene Funktionen möchtest du bereit stellen. Wie individuell sind die Funktionen und wie viele Daten hast du? Möchtest du deine Inhalte nicht nur auf einer Webseite ausspielen, sondern auch in Apps?
Hast du eine einfache Webseite mit Standardfunktionen, bist du mit einem Homepage-Baukasten oder einem CMS gut bedient. Was unter Standardfunktionen zu verstehen ist, ändert sich auch mit den Jahren. Was vor einigen Jahren noch eigene Programmierung bedurfte wie z.B. Mitgliederwebseiten oder Buchungssysteme, gehört heute zum Standard. Als Daumenregel kann man sagen, dass Blogs, Shops, Online Kurse, Buchungssysteme einfach Standard sind.
Um einmal greifbarer zu machen, was ich mit einem komplexen System meine und wofür eine eigene Programmierung beim Erstellen einer Website absolut notwendig ist, möchte ich euch das Beispiel skoobe zeigen. Skoobe ist das Unternehmen, das ich von 2014 bis 2018 geleitet habe. skoobe ist eine eBook-Flatrate. D.h. die Nutzer zahlen einen monatlichen Beitrag und dafür können sie dann in der iOS oder Android App so viele Verlagsbücher lesen wie sie wollen. In so einem Software-Projekt braucht es einerseits die Nutzerverwaltung. Die Nutzer sollen zahlen können, sich sowohl auf der Webseite als auch in den Apps mit den gleichen Daten einloggen können. Sie wollen die Bücher bereits auf der Webseite sehen können und natürlich auch in den Apps auswählen und dann zum Schluss lesen können. All diese Optionen – insbesondere das App-Übergreifende Zugreifen auf die Datenbanken geht nicht ohne eigene Programmierung.
Das kann man nicht mehr mit einem CMS abbilden. Ein Content Management System kommt mit einer eigenen Datenbank und einer Datenbankstruktur, die auf die Bedürfnisse des CMS abgebildet sind. Da ist es dann schwierig, die Apps mit anzubinden. Und auch solche Funktionalitäten wie individuelle Buchvorschläge erfordern mehr Programmierung. Auch bei der Menge der Daten stoßen die Standard CMS an ihre Grenzen. Darauf ist ein WordPress nicht ausgelegt.
Wie viele Inhalte hast du und wie viele Nutzer erwartest du?
Ein weiterer wichtiger Punkt bei der Entscheidung, mit welchem System du deine Website erstellst, ist die Skalierbarkeit. Wie skalierbar muss euer System sein? Unter Skalierbarkeit verstehe ich einerseits die Anzahl der Inhalte. Skoobe hat zum Beispiel über 400.000 Bücher und zusätzlich noch Hörbücher. Andererseits ist auch die Anzahl der User relevant, die auf das System zugreifen.
Die Skalierbarkeit und Leistung deines Systems hängt nicht nur davon ab, ob du einen Homepage-Baukasten, ein CMS oder eine selbst programmierte Webseite wählst. Sondern es hängt auch Maßgeblich vom dahinter liegenden Hosting ab.
3 Arten von Hosting
Es gibt grundsätzlich 3 Arten von Hosting:
- Shared Server
- Managed Server
- Hyper Scaler
Bei Shared Servern ist es so, dass deine Website mit anderen Websites auf einem Server liegen, die sich sowohl den Arbeitsspeicher als auch die CPU-Kerne teilen. Dieses System funktioniert gut solange keine der auf dem geteilten Space besonders viel Kapazität braucht.
Bei Managed Servern liegt deine Webseite auf einem eigenen Server mit eigens zugewiesem Arbeitsspeicher und CPU. Ein Managed Server ist nicht automatisch schneller als ein Shared Server. Doch du bist unabhängig von anderen. Wie schnell dein Hosting hier ist, hängt von dem Paket ab, was du buchst.
Web Hosting via Shared Server und Managed Server findest du bei Firmen wie Goneo, Ionos, Strato usw. Hosting via Shared Server ist doe günstigste Option und gibt es schon für 3-5€ pro Monat. Managed Servers beginnen bei rund 25€. Willst du mehr Leistung, muss du entsprechend mehr zahlen. Mit bis zu 100€ pro Monat musst du wohl rechnen.
Hyper Scaler sind Server, die alle miteinander verbunden sind und besonders viel Leistung zusammen bringen. Das besondere ist, dass du bei Hyper Scalern automatisiert Leistung zubuchen kannst. Zum Beispiel kommen bei skoobe jede Woche Donnerstag neue Bücher raus. An diesem Tag gibt es einen Ansturm auf die App, weil alle schauen wollen, was es neues gibt. Deshalb mussten wir natürlich die Performance massiv steigern. Das haben wir dann einfach durch Kriterien gelöst wie z.B. „Wenn die Antwortzeiten eine bestimmte Dauer überschreitet, schalte automatisch einen neuen Server hinzu.“ Der Kunde merkt davon gar nichts. Es ist für ihn einfach ganz normal.
Hyper Scaler sind zum Beispiel Amazon Web Services (AWS), Google Cloud oder Microsoft Cloud. Die Funktionen der Hyperskalierer sind großartig. Doch man braucht ein bisschen Zeit, um sich in die Funktionen alle einzuarbeiten und diese Skalierbarkeit und Leistung lassen sie sich natürlich bezahlen. Meist bucht man fix Rechenleistung für die Grundlast und bucht dann die Spitzen flexibel zu. Die Kosten für das Hosting bei einem Hyperskalierer hängen von der Leistung ab und kosten mehrere Hundert bis mehrere Tausend € pro Monat.
Wo hosten Homepage-Baukästen, CMS und selbst programmierte Webseite?
Du hast nur eine Wahl beim Hosting, wenn du deine Website mithilfe eines CMS erstellst oder sie selbst programmierst. Nutzt du einem Homepage Baukasten, brauchst und darfst du dich nicht um das Hosting kümmern. Das übernimmt der Anbieter für dich. Das ist sehr bequem. Und du kannst davon ausgehen, dass du wahrscheinlich genügend Leistung bekommst, denn die großen Anbieter hosten selbst auf den Hyperskalierern.
Nutzt du ein Content Management System kannst du selbst wählen. Hast du eher ein kleines Webprojekt, genügt ein Shared Server vollkommen aus. Wächst du dann, lohnt es sich, auf einen Managed Server umzusteigen. Bleibst du beim gleichen Anbieter ist der Umzug im Allgemeinen auch sehr einfach – ein Umzug über Anbietergrenzen hinweg ist jedoch nicht ganz so trivial, auch nicht zu den Hyperskalierern. Wenn du jedoch so sehr wächst, dass du das Gefühl hast, selbst bei einem Managed Server an die Grenzen stößt, solltest du überlegen, ob du dein Webprojekt nicht noch einmal neu selbst programmiert aufbaust. Denn die Content Management Systeme funktionieren gut für ein paar Tausend Inhalte und vielleicht ein paar hunderttausend Nutzer. Darüber hinaus brauchst du wahrscheinlich eine andere IT-Architektur für dein Webprojekt.
Fazit
Ich habe dir 4 Kriterien vorgestellt, anhand derer du entscheiden kannst, welches System für dich das richtige ist, um deine Webseite zu erstellen: Wie viel Vorwissen hast du? Möchtest du deine Webseite sehr individuell gestalten? Wie komplex ist das Produkt, das du aufbaust? Wie viel Leistung brauchst du?
Aus meiner Sicht lohnen sich Homepage Baukästen vor allem für Anfänger und für diejenigen, die wenig Aufwand beim Erstellen ihrer Webseite haben wollen und dafür bereit sind, auf Flexibilität zu verzichten. Technisch versierte, die sich mehr Flexibilität wünschen, greifen zu einem Content Management System – zunächst auf einem Shared Server und ziehen dann auf einen Managed Server um. Und diejenigen, die ein wirklich neues Softwareprodukt auf den Markt bringen abseits von Standardfunktionen sollten selbst programmieren bzw. programmieren lassen. Für diejenigen ist das Websiteprojekt essentieller Bestandteil des Geschäftsmodells, für das sie wahrscheinlich auch eine Finanzierung bekommen haben. In diesen Fällen ist es sinnvoll, auch gleich auf einen Hyperskalierer zu setzen.