Seit über sechs Jahren arbeiten wir mit Drupal, fast zwei Jahre davon mit Drupal 8. Die Erfahrung, die wir in dieser Zeit gewonnen haben, ist für uns selber wie auch für unsere Kunden von grossem Wert. Im Jahr 2011 war Drupal 6 aktuell, und seither hat sich die Plattform laufend weiterentwickelt. Wir arbeiten grundsätzlich mit der neusten Version, um ihre Funktionalitäten zu nutzen und unseren Kunden moderne, sichere und zuverlässige Anwendungen zu bieten.

Da sich unsere Kunden immer wieder mit Fragen an uns wenden, möchten wir unsere Erfahrung hier mit Ihnen teilen – in der Hoffnung, dass Ihnen diese Antworten weiterhelfen und Sie Drupal als Plattform für Ihre künftigen Unternehmensanwendungen in Erwägung ziehen.

Einige der folgenden Erwägungen und Best Practices sind allgemeiner Art. Bei spezifischeren Fragestellungen beziehen wir uns hauptsächlich auf Drupal 8.

Was sind die wichtigsten Vorteile von Drupal?

Drupal ist mehr als ein herkömmliches CMS: Es ist ein Content-Management-Framework, mit dem sich Websites modular erstellen lassen. Dadurch kombiniert Drupal die Flexibilität eines High-Level-Frameworks mit der Einfachheit eines Content-Management-Systems.

Drupal bietet zahlreiche Vorteile wie eine hervorragende Performance, hohe Sicherheit, einfache Inhaltserstellung und vieles mehr. Seine Attraktivität beruht jedoch insbesondere auf der grossen Flexibilität. Der modulare Aufbau als eines der Kernprinzipien macht Drupal zu einer umfassend konfigurierbaren Plattform.

Weitere Vorteile, die Drupal von einem herkömmlichen CMS unterscheiden:

  • Einfache Handhabung der Daten im Backend;
  • Ausgefeilte APIs, die Drupal zu einem äusserst leistungsstarken Framework für Webanwendungen machen;
  • Zuverlässige Verwaltung von Benutzern, Rollen und Zugriffsberechtigungen;
  • Detaillierte Benutzereinstellungen für komplexe Prozesse, redaktionelle Workflows und Social-Media-Anwendungen;
  • Rapid Prototyping dank der Verwendung von Site Building;
  • Unterstützung von RESTful-Webservices;
  • Geringe Anbieterabhängigkeit dank einer grossen Community von erfahrenen Webentwicklern;
  • Framework-Level-Support für Mobile-first-Designs.
Für welche Anwendungen eignet sich Drupal?

Drupal ist die Plattform erster Wahl für unterschiedlichste Online-Präsenzen und kann für fast alle Arten von kleineren, mittleren oder besonders grossen Webanwendungen eingesetzt werden.

Unserer Ansicht nach wird Drupal die Oberhand gewinnen und ist ähnlichen Plattformen wie WordPress oder Joomla! vorzuziehen, wenn eine unternehmensorientierte Lösung mit hoher Sicherheit und Performance sowie umfangreichen Inhalten gefragt ist.

Unter „unternehmensorientiert“ verstehen wir eine Lösung, die sich leicht mit Ihrer Website und anderen Anwendungen integrieren lässt – also auch mit Ihrem E-Mail-Dienst, mit Analyse- und Marketingtools oder sogar mit externen CRM-, ERP-, HRM- und Service-Desk-Anwendungen.

Auch Social Apps sprechen für Drupal, weil Sie dabei zahlreiche Inhalte zusammenführen müssen. Wir haben beispielsweise für die Mobiliar eine interne Plattform entwickelt, auf der sich die Mitarbeiter auf spielerische Art und Weise mit den Unternehmensrichtlinien vertraut machen können. Die Benutzer testen ihr Wissen in Quiz und teilen ihre Entdeckungen, um Punkte zu erhalten und im Mitarbeiter-Ranking aufzusteigen. Alle News, Ranglisten und Aktivitäten werden mit Hilfe von WebSockets in Echtzeit aktualisiert. Der automatisierte Import der Benutzerinformationen aus dem Active Directory erlaubt eine Single-Sign-on-Funktion und ermöglicht es den Benutzern, sich automatisch einzuloggen. Erfahren Sie hier mehr über dieses Projekt.

Welche Drupal-Version sollte ich einsetzen?

Wir sind der klaren Überzeugung, dass stets die neuste Version von Drupal zum Einsatz kommen sollte. Wenn Sie ein neues Projekt lancieren, empfehlen wir Ihnen unbedingt, die Vorteile von Drupal 8 zu nutzen: die verbesserte Performance, die einfachere Bearbeitung von Inhalten, die Unterstützung von Webservices und vieles mehr.

Für Entwickler ist die Umstellung von Drupal 7 auf Drupal 8 wegen der modernen und objektorientierten Programmierung möglicherweise gewöhnungsbedürftig. Drupal 8 setzt stark auf verschiedene Symfony-2-Komponenten und erfordert ein Verständnis für zukunftsweisende Konzepte wie Service Containers und Dependency Injection. Wem das zu aufwendig erscheint, der kann zurzeit nach wie vor Drupal 7 nutzen: Bis gegen Ende 2017 sollen Fehler dieser Version behoben werden, und offizieller Support für Sicherheitsprobleme wird bis mindestens 2019 angeboten.

Für alle früheren Hauptversionen von Drupal ist hingegen kein Support der Community verfügbar. Auch wenn einige Anbieter noch Unterstützung liefern, empfiehlt es sich, auf eine neuere Version mit langfristig gesichertem Support zu wechseln.

Wie funktionieren Drupal-Updates?

Die Entwicklung einer neuen Drupal-Version ist eine Innovation. Drupal 8 ist daher genauso wenig rückwärtskompatibel wie frühere Hauptversionen. Jeder grosse Release kann als eigenständiges Produkt angesehen werden, das nur in den Kernprinzipien mit früheren Versionen übereinstimmt. Ein Upgrade von Drupal 7 auf Drupal 8 ist daher kompliziert und kostspielig. Sofern es möglich ist, empfehlen wir Ihnen dringend, gleich mit Drupal 8 zu beginnen.

Drupal ist im Laufe der Jahre jedoch enorm gereift, und diese fehlende Rückwärtskompatibilität hat mit Drupal 8 ein Ende. Bei der Lancierung von Drupal 9 wird lediglich überholter Code entfernt und der Support für ältere Module eingestellt werden. Solange Ihre Website keine veralteten Funktionen oder APIs verwendet, ersetzt ein künftiges Upgrade auf Drupal 9 ganz einfach den Code von Drupal 8 mit der neuen Version.

Während künftige Upgrades also mit geringem Aufwand verbunden sind, gilt das nicht für die bisherigen Hauptversionen. Sollten Sie die Aktualisierung eines älteren Projekts in Erwägung ziehen, um die Vorteile der neuen Features zu nutzen oder weiterhin vom Support der Community zu profitieren, helfen wir Ihnen gerne weiter.

Welche Möglichkeiten bietet Drupal für mehrsprachige Websites?

Was die Mehrsprachigkeit angeht, möchten wir auf wesentliche Unterschiede zwischen Drupal 7 (sowie früheren Versionen) und Drupal 8 hinweisen.

Vor Drupal 8 mussten mehrere Module und Add-ons installiert und konfiguriert werden, um eine Website in mehreren Sprachen aufbauen zu können. Dazu gehörte insbesondere das Internationalization-Modul). Mit der Lancierung von Drupal 8 wurde jedoch ein Grossteil der Funktionen in den Drupal-Kern integriert, so dass Sprachen und Übersetzungen ohne weitere Module über verschiedene Komponenten konfiguriert werden können (Sprache, Oberflächenübersetzung sowie die Übersetzung von Inhalten und Konfigurationen).

Mit beiden Varianten ist es problemlos möglich, Ihre Website in mehreren Sprachen anzubieten und damit eine globale Reichweite zu erzielen.

In Drupal 8 sind bereits über 90 Sprachen integriert, die Sie sämtlichen Elementen wie Nodes, Benutzern, Ansichten, Blöcken und Menüs zuweisen können. Zusätzlich lassen sich die integrierte Benutzeroberfläche, Ihre Inhalte und Konfigurationsoptionen sowie die Sprache Ihrer Module und Themes übersetzen.

Kann ich mit Drupal Themes benutzen?

Ja, Sie können Themes in ähnlicher Weise verwenden, wie Sie es möglicherweise von WordPress kennen. Es stehen allerdings weniger Themes zur Auswahl, und ihre Qualität ist nicht ganz so gut. Premium Themes sind daher nicht besonders beliebt.

Wie bei allen generischen Themes werden Sie mit Einschränkungen konfrontiert sein: Möglich ist nur das, was die Entwickler vorgesehen haben. Wenn Ihr Budget es erlaubt, empfehlen wir Ihnen eindeutig ein benutzerdefiniertes Theme.

Welche Module verwendet Ihr am häufigsten?

Zunächst möchten wir darauf hinweisen, dass die Verwendung von Modulen mit Drupal sehr einfach ist. Sie müssen sie lediglich herunterladen und konfigurieren, um die gewünschten Funktionen in Ihre Website einzubauen.

Allerdings können Module, wenn sie unzureichend gewartet werden oder Bugs enthalten, die Sicherheit, Stabilität und Performance Ihrer Website ernsthaft beeinträchtigen. Wir empfehlen Ihnen daher, sich auf drupal.org über wichtige Details wie die Anzahl offener Anfragen und Probleme zu informieren und sicherzustellen, dass das Modul nach wie vor aktiv gewartet wird.

Achten Sie darauf, nur Module zu verwenden, die der Security Advisory Policy entsprechen (gekennzeichnet mit einem grünen Schild). Das bedeutet, dass sie vom Drupal Security Team getestet wurden.

Als Beispiel können Sie auf der Website der Drupal-Organisation alle relevanten Informationen über das Google-Analytics-Modul, das wir regelmässig einsetzen, nachlesen.

Andere generische Module, die als gut gewartet gelten und die wir für grundlegende Funktionen gern und oft einsetzen, sind zum Beispiel Paragraphs, Search API und Media.

Es stehen unzählige Module zur Auswahl, und die Entscheidung hängt natürlich von den spezifischen Funktionalitäten ab, die Sie einsetzen möchten. Einige weitere Module werden wir in diesen FAQ bei den entsprechenden Themen vorstellen.

Meistens sind Sie allerdings am Ende mit einem benutzerdefinierten Modul besser bedient. Oft sind die benötigten Funktionalitäten zu spezifisch, und Sie möchten überdies die volle Kontrolle über Ihren Code behalten. Hier kommen wir ins Spiel – denn genau das ist seit sechs Jahren unsere tägliche Arbeit.

Wie sieht es mit der Performance aus?

Drupal bietet für Ihr Projekt eine hervorragende Performance. Drupal 8 verfügt über ein ausgeklügeltes Caching-System, das die Leistung auf mehreren Ebenen entscheidend verbessert. Einmal konfiguriert und aktiviert, läuft das Caching vollständig automatisch ab und erhöht die Ladegeschwindigkeit erheblich.

Caching bedeutet grundsätzlich, dass von einer Seite eine Kopie erstellt wird, die beim nächsten Aufruf derselben Seite um ein Vielfaches schneller angezeigt wird. Was aber, wenn in der Zwischenzeit Inhalte verändert wurden oder wenn die Seite Elemente enthält, die von sich aus variieren? Zu diesem Zweck bietet Drupal 8 den Entwicklern ein umfangreiches Toolset, um so viele Inhalte wie möglich zu cachen, ohne auf die dynamischen Inhalte verzichten zu müssen.

Konkret zeichnen Drupal 8 die folgenden Features aus:

  • Präzisere Cache-Invalidierung;
  • Präzisere Cache-Variation;
  • Neue Rendering-Pipeline (BigPipe);
  • Serverseitige Platzhalter für dynamischen Content;
  • Clientseitige Platzhalter für dynamischen Content;
  • Vollständige Informationen über Asset-Abhängigkeiten;
  • CSS- und JavaScript-Aggregation und Minification.
Wie kann ich die Seitengeschwindigkeit meiner Drupal-Website verbessern?

Drupal bietet von Natur aus eine hervorragende Performance. Sie können jedoch einiges tun, um die Leistung weiter zu verbessern.

Die Verwendung der neusten Drupal-Version kann die Seitengeschwindigkeit erhöhen, da Updates in der Regel Fehler beheben und manchmal auch Leistungsverbesserungen enthalten. Sie sollten den Drupal Core, die Module und die Themes stets aktuell halten.

Weitere Optimierungen ermöglichen unter anderem die folgenden allgemeingültigen Empfehlungen:

  • Komprimieren Sie die Abbildungen, um die nötige Bandbreite zu reduzieren;
  • Stellen Sie sicher, dass Sie keine grossen Mediadateien ausspielen (zum Beispiel ein hochauflösendes Bild, das nicht wirklich nötig ist);
  • Benutzen Sie ein Content Delivery Network (CDN) wie KeyCDN;
  • Setzen Sie spezifische Caching Backends wie Memcached, Redis oder Varnish ein;
  • Verwenden Sie zusätzliche Caching-Module (Internal Page Cache Module und Dynamic Page Cache Module)
  • Optimieren Sie die Bandbreite und stellen Sie sicher, dass alle CSS- und JavaScript-Dateien gemeinsam laden;
  • Deinstallieren Sie alle Module, die Sie nicht verwenden.

Vergessen Sie nicht, dass bei der Geschwindigkeit auch die Wahl eines guten Hosts eine wichtige Rolle spielt. Shared Hosting bedeutet in der Regel eine langsamere Ladegeschwindigkeit und häufige Ausfälle während Zeiten mit hohem Traffic.

Was sind die neusten Funktionen von Drupal 8?

Mit Drupal 8 wurden über 200 neue Features eingeführt. Zu den wichtigsten zählen wir unter anderem:

  • Einfachere Bearbeitung von Inhalten dank WYSIWYG;
  • Hervorragende Integration mit Fremdanwendungen;
  • Integrierte Webservices;
  • Responsive Design und „Mobile first“;
  • Verbesserte Möglichkeiten für mehrsprachige Websites;
  • Neue PHP-Templating-Engine (Twig).

Dank der Verwendung von Symfony 2 ist Drupal 8 kompatibel mit den neusten Standards von PHP 7 und bietet damit einen moderneren, objektorientierten Ansatz für die Programmierung.

Ein weiteres wichtiges Thema, bei dem Drupal 8 mit entscheidenden neuen Funktionen aufwartet, ist die Sicherheit. Die wichtigsten Verbesserungen sind:

  • Übereinstimmung der JavaScript-Schnittstelle des Drupal-Kerns mit der Content Security Policy;
  • Automatischer Schutz vor Cross-Site Request Forgery (CSRF);
  • Entfernung des PHP-Filters, einschliesslich der Option, mit PHP die Sichtbarkeit von Blöcken zu steuern;
  • Hinzufügung einer Autoescape API zur Vermeidung von Cross-Site Scripting (XSS) an manchen Stellen, an denen Drupal HTML ausgibt;
  • Bessere Handhabung von Benutzersessions und Session-IDs;
  • Separate Berechtigung für die Verwaltung von Feldern für jeden Entity-Typ.

Eine detailliertere Beschreibung aller neuen Features finden Sie auf der Website der Drupal Community unter den Release Notes für Drupal 8.

Weitere Verbesserungen, die wir an Drupal 8 schätzen und mit denen wir täglich arbeiten, haben wir in unserem Beitrag „Arbeiten mit Drupal 8“ zusammengefasst.

Gibt es bei Drupal 8 im Hinblick auf die Serverwahl etwas Spezielles zu beachten?

Grundsätzlich nicht. Das Hosting ist allerdings ein sehr komplexes Thema, das wir in unserem Artikel „Welches Hosting passt zu mir?“ ausführlich behandelt haben.

Die meisten Aspekte, die es dabei zu beachten gilt, hängen nicht von der Wahl des CMS ab. Weil Drupal allerdings leistungsstärker ist als die meisten anderen CMS, können durchaus geringere Hosting-Kosten anfallen.

Wie einfach kann ich Drupal mit Diensten von Drittanbietern integrieren?

Dienste und Lösungen für digitale Medien lassen sich mit Drupal 8 problemlos integrieren. Die Plattform ist enorm leistungsfähig, was die Verbindung von Apps angeht.

Grund dafür ist die modulare und skalierbare Architektur von Drupal. Die Integration wird von der Drupal’s Library API und vom Services Layer verarbeitet, welche die Einbindung von externen Schnittstellen gewährleisten.

Generische Module für spezifische Integrationsanforderungen werden ausserdem von der Drupal Community bereitgestellt. Hinzu kommt die Integration der häufigsten Webservices in den Drupal Core.

Als Letztes möchten wir hier die Drupal Integration vorstellen, ein unabhängiges Online-Repository mit einer Zusammenstellung sämtlicher Anwendungen und Dienste von Drittanbietern, die mit Drupal integriert wurden oder gerade werden. Hier finden sich detaillierte Informationen zum Status der Integration, zur Stabilität des Moduls, zu seinen Funktionen und zur Komplexität der Integration sowie alle relevanten Dokumentationen.

Ist Drupal ein sicheres CMS?

Drupal gilt allgemein als sehr sichere Plattform. Dennoch müssen die Entwickler Vorsicht walten lassen und sich an Best Practices und Richtlinien halten.

Professionelle Überprüfungen der Sicherheit von Drupal-Websites haben gezeigt, dass mehr als 90 Prozent aller Schwachstellen nicht vom Drupal-Kern oder von ergänzenden Modulen ausgehen, sondern von benutzerspezifischen Themes oder Modulen. Ihre Programmierung durchläuft nicht die gleiche Prüfung durch die Community wie alles, was auf drupal.org zur Verfügung steht. Drupal besitzt darüber hinaus ein spezifisches Security Team – das erste überhaupt für ein CMS und noch dazu eines der besten –, das den Kern und verschiedene ergänzende Module testet und überprüft.

Häufig sind auch Probleme auf der Server-Ebene die Ursache für Sicherheitslücken, etwa ein veraltetes Betriebssystem oder die Verwendung unsicherer Protokolle wie FTP.

Wenn sich im Drupal-Kern trotz allem Sicherheitslücken finden, werden sie sehr schnell behoben. Solange Sie Drupal stets aktualisieren, ist die Gefahr eines erfolgreichen Hackerangriffs daher gering.

Schon in unseren FAQ zu WordPress haben wir darauf hingewiesen, dass die Sicherheit ein sehr umfangreiches Gebiet ist. Es gibt zahlreiche und teilweise komplexe Möglichkeiten, die Risiken weiter zu verringern.

In diesem Abschnitt werden wir einigen Überlegungen rund um das Thema Sicherheit nachgehen, unsere Vorgehensweise vorstellen und Empfehlungen abgeben, die wir allen unseren Kunden ans Herz legen.

Wie kann ich die Sicherheit meiner Drupal-Website erhöhen?

Auch Sie als Kunde können verschiedene Massnahmen ergreifen, um die Sicherheitsrisiken zu minimieren. Dazu gehören:

  • Benutzen Sie immer starke Passwörter, vor allem für Benutzer mit weitgehenden Berechtigungen;
  • Verwenden Sie einen Passwort-Manager wie LastPass;
  • Ändern Sie Ihre Passwörter regelmässig und verwenden Sie eine Zwei-Faktor-Authentifizierung;
  • Melden Sie sich nie über ein öffentliches oder nicht gesichertes Netzwerk bei Drupal an, wenn auf Ihrer Website kein SSL-Zertifikat installiert ist;
  • Loggen Sie sich nur auf Geräten ein, denen Sie vertrauen können. Stellen Sie sicher, dass die Betriebssysteme Ihrer Geräte stets auf dem neusten Stand sind;
  • Wählen Sie für das Hosting einen zuverlässigen Provider, der für seine Sicherheit bekannt ist.

Gerne kümmern wir uns um die sicherheitstechnischen Aspekte Ihrer Website.

In den meisten Fällen ist der Mensch die grösste Schwachstelle. Schützen Sie deshalb Ihre Passwörter und halten Sie sich an interne Sicherheitsvorgaben, um Ihre Website vor Angriffen zu schützen.

Was tut Ihr für die Sicherheit meiner Drupal-Website?

Die Sicherheit Ihrer Website hängt zu einem grossen Teil von einfachen Best Practices ab, an die sich Ihre Entwickler bei der Programmierung von benutzerdefinierten Modulen und Themes halten sollten. Dazu gehören offensichtliche Dinge wie die Verwendung von Twig als Template-Engine, die richtige Konfiguration der Benutzerrollen und Zugriffsrechte sowie – am allerwichtigsten – die laufende Aktualisierung des Drupal-Kerns und der Module.

In unserem Unternehmen ist die Sicherheit ein grosses Thema. Unsere Entwickler halten sich an eine strenge Checkliste, die unter anderem folgende Punkte enthält:

  • Frontend bereinigen, um die Maskierung von sicherem Markup zu vermeiden;
  • Datenbankausgaben bereinigen, um XSS-Angriffe zu verhindern (Cross-Site Scripting);
  • Database Abstraction Layer bzw. Datenbankabstraktionsschicht verwenden, um SQL-Injection-Angriffe zu vermeiden;
  • Benutzerdefiniertes Tabellen-Präfix verwenden;
  • In Produktionsumgebungen nur schreibgeschützte Speicherklassen verwenden;
  • Unnötige Funktionalitäten und Module deaktivieren;
  • Sicherstellen, dass keine Benutzerrolle mehr Berechtigungen hat als vorgesehen;
  • Keine Rollenbezeichnungen als Benutzernamen verwenden (wie „Admin“ für Administratoren).

Es gibt zahlreiche ausführliche Richtlinien für sicheres Programmieren. Uns überzeugt insbesondere die Zusammenstellung auf drupal.org, die wir allen Entwicklern ans Herz legen möchten.

Während der Entwicklung prüfen und testen wir alle diese Aspekte laufend. Bevor wir eine Website an den Kunden übergeben, führen wir zudem eine umfassende Sicherheitsprüfung durch.

Zu den weiteren Faktoren, die wir mit berücksichtigen, zählen:

Wir verfolgen die Security Reports für den Drupal Core und die ergänzenden Module sehr genau. In Frage kommen für uns nur Module, die vom Drupal Security Team getestet wurden und als sicher gelten. Natürlich meiden wir Module, die schon einmal mit Sicherheitsproblemen zu kämpfen hatten oder die wiederholt das Ziel von Hackern waren.

Meine Drupal-Website wurde gehackt. Was muss ich tun?

Als Erstes sollten Sie von der gehackten Website eine lokale Kopie erstellen. Diese können Sie später verwenden, um die Schwachstelle zu analysieren und herauszufinden, wie es zum Hack gekommen ist.

Informieren Sie sofort Ihre wichtigsten Stakeholder und treffen Sie eine Entscheidung, ob Sie die Website offline nehmen oder nicht. Wenn Sie unseren Empfehlungen Folge geleistet haben, besitzen Sie eine lokale Sicherungskopie Ihrer Website. Diese können Sie vorübergehend aufschalten (mit limitierten oder eingeschränkten Funktionalitäten), ohne Ihre Daten zu gefährden. So können Sie die Sicherheitslücke in Ruhe analysieren und das Problem lösen.

Wenn Sie die Schwachstelle identifiziert haben, die zum Hack geführt hat (eine SQL-Abfrage, ein Sicherheitsproblem beim Server, ein schwaches Passwort usw.), sollten Sie diese beheben oder die Installation auf die letzte sichere Version zurücksetzen. Überprüfen Sie anschliessend, ob Dateien neu hinzugefügt wurden, die nicht von Ihnen stammen. Kontrollieren Sie auch die Datenbank und machen Sie allfällige Änderungen rückgängig.

Zum Schluss sollten Sie den Vorfall dem Drupal Security Team melden. Dieses kann sich zwar nicht um einzelne betroffene Websites kümmern, hat aber gern einen Überblick, um allfällige Muster zu erkennen und die Sicherheit von Drupal insgesamt zu verbessern.

Tools welche wir benutzen.

Wir sind sehr stolz darauf, Projekte von hoher Qualität zu liefern. Diese sind die Werkzeuge und Technologien, die unsere Arbeit erleichtern: