Plugins FAQ Anleitungen Blog Support Kontakt Plugins ansehen

WordPress-Inhalte nach Benutzerrolle einschränken: so geht es

Content GateAktualisiert am 30. September 20267 Min. Lesezeit

Content Gate

Um in WordPress Inhalte nach Benutzerrolle einzuschränken, gibst du jeder Personengruppe eine eigene Rolle (zum Beispiel Kunde, Reseller oder Mitarbeiter) und legst dann eine Regel an, meist mit einem Plugin, die festlegt, welche Rollen welche Seiten öffnen dürfen. WordPress selbst hat keine Einstellung „nur diese Rolle darf diese Seite sehen“: Die eingebauten Möglichkeiten sind private Seiten, die nur Administratoren und Redakteure lesen können, und der Passwortschutz, der mit einem gemeinsamen Passwort arbeitet.

Dieser Leitfaden erklärt, was Rollen sind, was WordPress ohne Plugin kann und was nicht, welche realistischen Optionen es mit ihren Vor- und Nachteilen gibt, und zeigt ein Beispiel, das du Schritt für Schritt auf deiner eigenen Website nachbauen kannst.

Was eine Benutzerrolle in WordPress ist

Jedes Konto auf einer WordPress-Website hat eine Rolle. Die Rolle entscheidet, was die Person im Adminbereich tun darf: Beiträge schreiben, sie veröffentlichen, die Arbeit anderer bearbeiten, Plugins installieren. WordPress bringt diese Rollen mit, beschrieben in der offiziellen Dokumentation Roles and Capabilities (auf Englisch):

RolleWas sie darf
AdministratorAlles auf einer einzelnen Website: Einstellungen, Plugins, Themes, Benutzer.
RedakteurBeiträge und Seiten veröffentlichen und verwalten, auch die anderer Benutzer.
AutorEigene Beiträge veröffentlichen und verwalten.
MitarbeiterEigene Beiträge schreiben, aber nicht veröffentlichen.
AbonnentNur das eigene Profil verwalten.

Eine sechste Rolle, den Super-Administrator, gibt es nur in einem Multisite-Netzwerk. Andere Plugins fügen eigene Rollen hinzu: WooCommerce zum Beispiel gibt Käufern im Shop die Rolle Kunde. Welche Rolle ein neues Konto bekommt, legst du unter Einstellungen > Allgemein bei Standardrolle eines neuen Benutzers fest.

Der entscheidende Punkt: Rollen steuern den Adminbereich, nicht die öffentlichen Seiten. Ein angemeldeter Abonnent sieht genau dieselbe öffentliche Seite wie ein Besucher ohne Konto. Um eine Seite nur bestimmten Rollen zu zeigen, brauchst du etwas, das die Rolle prüft, bevor die Seite ausgeliefert wird.

Was WordPress ohne Plugin kann

Im Seiteneditor bietet die Sichtbarkeitseinstellung einer Seite oder eines Beitrags drei Möglichkeiten (siehe die Dokumentation Content Visibility, auf Englisch):

  • Öffentlich: Alle können sie sehen.
  • Privat: für die Öffentlichkeit und in Beitragslisten unsichtbar. Nur Benutzer mit der Berechtigung, private Inhalte zu lesen, können sie öffnen, und das sind standardmäßig Administratoren und Redakteure.
  • Passwortgeschützt: Besucher sehen den Titel und ein Passwortfeld. Wer das Passwort eingibt, sieht den Inhalt.

Keine davon ist eine Einschränkung nach Rolle. Wenn du deine Reseller zu Redakteuren machst, nur damit sie eine private Seite lesen können, dürfen sie auch Inhalte auf deiner Website bearbeiten und veröffentlichen, und das ist ein schlechter Tausch. Ein Passwort funktioniert für eine Seite, die du kurz teilst, aber alle nutzen dasselbe Passwort, du siehst nicht, wer es benutzt hat, und du kannst einer einzelnen Person den Zugang nicht entziehen, ohne ihn für alle zu ändern.

Wege, Inhalte nach Benutzerrolle einzuschränken

Wenn klar ist, dass WordPress allein nicht reicht, bleiben vier realistische Wege. Welcher richtig ist, hängt davon ab, was du sonst noch brauchst.

OptionGut fürAchte auf
Ein Rollenmanager-Plugin mit Inhaltsberechtigungen (zum Beispiel das kostenlose Plugin Members)Eigene Rollen anlegen und Beitrag für Beitrag festlegen, welche Rollen den Inhalt lesen dürfen.Du stellst den Zugriff Seite für Seite ein. Prüfe, wie es mit Listen, Suche und dem umgeht, was gesperrte Besucher sehen.
Ein komplettes Mitgliedschafts-Plugin (Paid Memberships Pro, MemberPress und ähnliche)Zugang verkaufen: Stufen, Zahlungen, Verlängerungen, Anmeldeformulare.Viel mehr Einrichtung als nötig, wenn niemand bezahlt und du deine Benutzer schon kennst.
Ein Plugin zur Inhaltsbeschränkung wie Content GateRegeln pro Rolle für Seiten, Inhaltstypen, Kategorien, einzelne Blöcke und Widgets, mit einer Nachricht, einer Weiterleitung oder einer anderen Seite für alle anderen.Bedingungen nach Rolle sind eine Pro-Funktion. Es legt keine Rollen an.
Eigener Code im ThemeEin Entwickler, der die volle Kontrolle über eine Vorlage will.Braucht Pflege und geht leicht schief, wenn sich das Theme ändert.

Egal wofür du dich entscheidest: Zuerst kommen die Rollen. Wenn die Standardrollen deine Gruppen nicht abbilden, lege neue mit einem Rolleneditor wie den Plugins Members oder User Role Editor an, beide kostenlos auf WordPress.org. Eine gute Gewohnheit ist, die Rolle Abonnent zu kopieren und umzubenennen (Reseller, Distributor, Mitarbeiter): Die neue Rolle bekommt keine zusätzlichen Rechte im Adminbereich, nur eine Bezeichnung, die deine Regeln prüfen können.

Schritt für Schritt: eine Seite auf eine Rolle beschränken

Dieses Beispiel nutzt Content Gate und folgt seinen Anleitungen. Das Ziel: eine Preislisten-Seite, die nur Benutzer mit der Rolle Reseller öffnen können, während alle anderen eine kurze Nachricht lesen.

1. Die Rolle anlegen und zuweisen

  1. Lege mit deinem Rolleneditor-Plugin eine Rolle Reseller an, wie oben beschrieben.
  2. Für eine neue Person gehst du zu Benutzer > Benutzer hinzufügen, füllst Benutzername und E-Mail-Adresse aus, wählst bei Rolle die Rolle Reseller und klickst auf Benutzer hinzufügen. Hake Benutzer benachrichtigen an, wenn die Person eine E-Mail zu ihrem Konto bekommen soll.
  3. Für ein bestehendes Konto öffnest du es unter Benutzer, änderst die Rolle und speicherst.

2. Die ID der Seite finden

Öffne die Preislisten-Seite zum Bearbeiten und schau in die Adressleiste: In post.php?post=12&action=edit ist die ID 12.

3. Die Regel schreiben

  1. Gehe zu Content Gate > Rules und klicke auf Add rule (oder auf Write the first rule, wenn die Liste noch leer ist).
  2. 1 Name it: ein Name, den nur du siehst, etwa Preisliste, nur Reseller.
  3. 2 Who can see it: Wähle Only certain roles und hake Reseller an. Du wählst die Gruppe, die Zugriff behält, nicht die, die du sperren willst.
  4. 3 What it covers: Gib 12 unter Single items, by ID ein.
  5. 4 What everyone else gets: Wähle A message where the content was und schreib etwas Hilfreiches, zum Beispiel wie man ein Reseller-Konto beantragt.
  6. Prüfe, ob This rule is on angehakt ist, und klicke auf Save rule.
Regeleditor von Content Gate mit der Option Only certain roles, angehakt sind die Rollen Reseller und Distributor, unter Single items, by ID stehen zwei Seiten-IDs
Der Regeleditor: Hake die Rollen an, die Zugriff behalten, und wähle dann, was die Regel abdeckt.

4. Als Besucher prüfen

Administratoren sehen immer alles, deine eigene Ansicht ändert sich also nicht. Öffne die Seite in einem privaten Browserfenster und melde dich dort nacheinander mit einem Testkonto mit der Rolle Reseller und mit einem ohne diese Rolle an. Die komplette Anleitung findest du unter Deine erste Regel schreiben.

Ausnahmen, Teile von Seiten und Listen

Echte Websites bleiben selten bei einer einzigen Seite. Drei Situationen kommen immer wieder vor.

Mehrere Regeln für denselben Inhalt

Content Gate liest die Regeln von oben nach unten, und die erste Regel, die eine Seite abdeckt, entscheidet. Setze spezielle Regeln über allgemeine: Eine Regel „Seite 42 für Reseller“ muss über „alle Produkte für alle mit einem Konto“ stehen, sonst lässt die allgemeine Regel jeden Kunden hinein. Die Reihenfolge und alle Optionen erklärt So funktionieren Regeln.

Nur ein Teil einer Seite

Oft kann die Seite öffentlich bleiben, und nur die Preise sind reserviert. Mit Pro bekommt jeder Block im Block-Editor ein Panel Visibility: Schalte Restrict this block ein und wähle Certain roles only. Der Block wird für alle anderen auf dem Server entfernt, nicht nur versteckt. In anderen Page Buildern setzt du den Text in den Shortcode, zum Beispiel [content_gate who="roles" roles="reseller"]Nettopreise...[/content_gate], mit dem internen Namen der Rolle in Kleinbuchstaben. Details findest du unter Einen einzelnen Block einschränken.

Titel in Listen und Suche

Wenn du eine Seite sperrst, verschwindet ihr Titel nicht aus Blog-Listen, Kategorieseiten oder der Website-Suche. Wenn schon der Titel vertraulich ist, hake die Optionen in Schritt 5 Outside the page itself (Pro) an, die den Inhalt auch aus der REST API heraushalten.

Was Einschränkungen nach Rolle nicht schützen

  • Hochgeladene Dateien. Ein PDF oder ein Bild in der Mediathek behält seine eigene direkte Adresse. Wenn du die Seite versteckst, die darauf verlinkt, ist diese Adresse nicht gesperrt, und kein Plugin kann sie aus WordPress heraus sperren. Für private Dokumente nimm stattdessen ein Dateiportal: siehe wie du ein Kundenportal mit Dropbox baust.
  • Menschen, die ihre Zugangsdaten teilen. Eine Einschränkung nach Rolle vertraut dem Konto. Gib jeder Person ein eigenes Konto, damit du einer einzelnen den Zugang entziehen kannst.
  • Deine eigene Ansicht. Als Administrator siehst du alles. Teste immer in einem privaten Fenster oder mit einem Testkonto.

Ein Seiten-Cache ist bei Rollenregeln selten ein Problem, weil Caching-Plugins gespeicherte Kopien normalerweise nur an Besucher ausliefern, die nicht angemeldet sind. Wenn eine Regel scheinbar nichts tut, leere den Cache und prüfe, ob die Regel auf On steht und nicht mit over the free limit markiert ist.

Welche Option zu dir passt

Wenn es nur um eine Seite geht und der Zugang vorübergehend ist, reicht eine passwortgeschützte Seite. Wenn du Zugang mit Zahlungen und Verlängerungen verkaufst, ist ein Mitgliedschafts-Plugin genau dafür gebaut. Wenn du eigene Rollen brauchst und es dir nichts ausmacht, den Zugriff Beitrag für Beitrag einzustellen, ist ein Rollenmanager mit Inhaltsberechtigungen eine solide kostenlose Wahl.

Wenn du Inhalte auf der ganzen Website nach Benutzerrolle einschränken willst, mit klaren Regeln, Ausnahmen, einzelnen Blöcken und einer ordentlichen Nachricht oder Weiterleitung für alle anderen, bündelt Content Gate das in einem kurzen Formular. Die kostenlose Version deckt schon einen einfachen Bereich für angemeldete Benutzer ab (siehe wie du einen Mitgliederbereich erstellst); Rollen gehören zu Pro, dessen Business-Lizenz 29,90 € pro Jahr für 1 Website kostet, inkl. MwSt.

Häufige Fragen

Kann ich eine Seite ohne Plugin auf eine Benutzerrolle beschränken?

Nicht mit den Standardeinstellungen. Private Seiten können nur Administratoren und Redakteure lesen, und der Passwortschutz nutzt ein Passwort für alle. Um eine Seite einer bestimmten Rolle zu zeigen, brauchst du ein Plugin oder eigenen Code im Theme.

Wie lege ich in WordPress eine eigene Benutzerrolle an?

WordPress hat keine Seite zum Anlegen von Rollen. Installiere einen Rolleneditor wie Members oder User Role Editor, lege die neue Rolle an (eine Kopie von Abonnent ist ein sicherer Ausgangspunkt) und weise sie den Benutzern dann unter Benutzer zu.

Sieht ein Abonnent mehr als ein Besucher ohne Konto?

Auf öffentlichen Seiten nicht. Ein Abonnent kann im Adminbereich nur sein eigenes Profil verwalten. Zusätzliche Inhalte sieht er nur, wenn ein Plugin oder dein Theme seine Rolle oder seinen Anmeldestatus prüft.

Sind Dateien in der Mediathek geschützt, wenn ich eine Seite einschränke?

Nein. Dateien in der Mediathek behalten eine direkte Adresse, die für jeden funktioniert, der sie kennt. Halte vertrauliche Dateien aus der Mediathek heraus, zum Beispiel in einem privaten Dropbox- oder Google-Drive-Ordner, den du über ein Portal freigibst.