E-Book, Deutsch, 900 Seiten
Reihe: Rheinwerk Computing
Brinkmann / Kraft WordPress 6
3. Auflage 2025
ISBN: 978-3-367-10165-8
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection
Das umfassende Handbuch
E-Book, Deutsch, 900 Seiten
Reihe: Rheinwerk Computing
ISBN: 978-3-367-10165-8
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection
WordPress ist mit Abstand das beliebteste System zur Erstellung von Webseiten. Dieses umfassende Handbuch beantwortet alle Ihre Fragen im Umgang mit dem CMS: Installation, Konfiguration, Bedienung, Wartung, Entwicklung eigener Themes und Plugins u. v. m. Inklusive Einstieg in HTML und CSS. Aktuell zu WordPress 6!
Aus dem Inhalt:
- Installation in wenigen Minuten
- Websites einrichten
- Administration und Konfiguration
- Inhalte veröffentlichen
- Themes und Plugins nutzen
- Wartung und Pflege
- Performance- und Suchmaschinenoptimierung
- Sicherheit und Notfallmaßnahmen gegen Hacking
- Webshops mit WooCommerce
- Ihre Website im IndieWeb
- Entwicklung eigener Plugins und Themes
Die Fachpresse zur Vorauflage:
intux.de: »Ein ideales Nachschlagewerk für Einsteiger und versierte WordPress-Nutzer gleichermaßen.«
Florian Brinkmann ist Webentwickler und in der WordPress-Community zuhause. Er schreibt unter anderem für sein eigenes Blog (florianbrinkmann.com/blog) und veröffentlicht Fachartikel auf KrautPress.de und sporadisch für t3n.
Autoren/Hrsg.
Weitere Infos & Material
Vorwort ... 21 1. Was Sie mit WordPress vorhaben und wo Sie jetzt weiterlesen ... 23 1.1 ... Das richtige Handbuch für Sie ... 23 1.2 ... Eine kurze Geschichte von WordPress ... 25 1.3 ... Warum WordPress? ... 28 1.4 ... Anleitung zum Handbuch ... 29 1.5 ... Nach der letzten Seite ... 32
TEIL I. WordPress installieren und bedienen ... 35 2. WordPress-Installation in wenigen Minuten mit Playground ... 37 2.1 ... WordPress Playground -- eine ganze WordPress-Installation lokal im Browser ... 37 2.2 ... wp-now: Playground für Entwickler*innen ... 42 2.3 ... Playground mit Blueprints vorkonfigurieren ... 45 2.4 ... Komfortablere Playground-Nutzung mit »Studio« von WordPress.com ... 58 3. WordPress-Installation -- flexibel ... 61 3.1 ... Installation von Docker ... 61 3.2 ... Installation von Lando ... 62 3.3 ... Lando-Installation testen ... 62 4. Hoster-Auswahl und Installation ... 65 4.1 ... Welches Hosting darf's denn sein? ... 65 4.2 ... Installation mit einem One-Click-Installer ... 70 5. Administration und Konfiguration von WordPress ... 71 5.1 ... Das Backend kennenlernen ... 71 5.2 ... Einstellungen ... 93 5.3 ... Einstellungstipps für Fortgeschrittene ... 113 6. Inhalte veröffentlichen ... 117 6.1 ... Beiträge schreiben/Seiten anlegen ... 117 6.2 ... Beiträge/Seiten verwalten ... 199 6.3 ... Mit Revisionen arbeiten ... 205 6.4 ... Individuelle Felder nutzen ... 207 6.5 ... Medien organisieren ... 211 6.6 ... Die mobilen Apps ... 217 6.7 ... Inhalte planen ... 217 6.8 ... Classic Editor statt Block-Editor nutzen ... 220 6.9 ... Impressum und Datenschutzerklärung nicht vergessen ... 221 7. Benutzer*innen verwalten ... 223 7.1 ... Rollen verstehen ... 223 7.2 ... Benutzer*innen hinzufügen ... 224 7.3 ... Benutzer*innen verwalten: sortieren, filtern, suchen ... 225 7.4 ... Benutzerprofil bearbeiten ... 226 7.5 ... Benutzer*in deaktivieren oder löschen ... 230 8. Kommentare managen ... 233 8.1 ... Kommentar-Einstellungen ... 233 8.2 ... Kommentare freigeben ... 235 8.3 ... Datenschutz-Bedenken und -Lösungen ... 238 8.4 ... Spamschutz mit Antispam Bee ... 241 8.5 ... Webmentions ... 242 9. WordPress Multisite ... 243 9.1 ... Was ist WordPress Multisite? ... 243 9.2 ... Die Multisite-Einrichtung ... 248 9.3 ... Bedienung des Netzwerks und Unterschiede zum Standard ... 254
TEIL II. WordPress-Website anpassen und erweitern ... 273
10. Design anpassen ... 275 10.1 ... Classic Themes und Block-Themes: Was ist das? ... 275 10.2 ... Installierte Themes vorab ansehen und aktivieren ... 276 10.3 ... Block-Theme anpassen: den Website-Editor kennenlernen ... 278 10.4 ... Classic Theme anpassen ... 308 10.5 ... Neues Theme suchen und installieren ... 319 10.6 ... Barrierefreiheit von Themes testen ... 327
11. Neue Funktionen mit Plugins hinzufügen ... 331 11.1 ... Plugins testen -- sicher ... 332 11.2 ... Von der Anforderung zum Plugin ... 333 11.3 ... Gute Plugins erkennen ... 334 11.4 ... Plugins installieren ... 340 11.5 ... Plugin aktualisieren ... 345 11.6 ... Plugins deaktivieren und löschen ... 351
TEIL III. Beispiel-Projekte ... 353
12. Einen Online-Shop mit WooCommerce betreiben ... 355 12.1 ... Die Vor- und Nachteile von WooCommerce ... 355 12.2 ... WooCommerce installieren und einrichten ... 358 12.3 ... Letzter Schliff und Testkauf ... 383 12.4 ... Zusätzliche Erweiterungen für Ihren Shop ... 384
13. Das Blog ... 387 13.1 ... Zielgruppe und Plan ... 388 13.2 ... Design und Layout ... 390 13.3 ... Struktur und Navigation ... 394 13.4 ... Funktionen und Plugins ... 395 13.5 ... Blogging-Tipps ... 405
14. Eine Community-Website ... 409 14.1 ... Aufgaben einer Vereins-Website ... 409 14.2 ... Design, Struktur und Navigation ... 410 14.3 ... Funktionalitäten und Plugins ... 411
15. IndieWeb und Fediverse ... 415 15.1 ... Das IndieWeb ... 416 15.2 ... Das Fediverse ... 431 15.3 ... IndieWeb oder Fediverse? ... 445
TEIL IV. WordPress optimieren und warten ... 447
16. WordPress-Wartung und -Pflege ... 449 16.1 ... WordPress, Plugins und Themes aktualisieren ... 449 16.2 ... Wartungsmodus aktivieren -- Plugin »Slim Maintenance Mode« ... 460 16.3 ... Backups planen und durchführen ... 461
17. Migrationen, Synchronisationen und Deployments ... 473 17.1 ... Testen und entwickeln mit Entwicklungs-, Staging- und Live-Umgebungen ... 473 17.2 ... Eine Website migrieren ... 476
18. WordPress absichern ... 493 18.1 ... Login-Sicherheit ... 494 18.2 ... Die Wichtigkeit von SSL/TLS ... 497 18.3 ... WordPress abhärten ... 501 18.4 ... No-Gos der WordPress-Sicherheit ... 509
19. Performance-Optimierung ... 511 19.1 ... Grundlagen zur Optimierung ... 511 19.2 ... PageSpeed Insights -- Missstände verstehen und bei Bedarf abarbeiten ... 513 19.3 ... Optimierungs-Plugin »Autoptimize« ... 528 19.4 ... Einfaches Caching-Plugin ohne Schnickschnack -- »Cachify« ... 538 19.5 ... Profi-Cache mit WP Rocket ... 541 19.6 ... Bilder optimieren ... 552 19.7 ... Optimieren für den Klimaschutz ... 558
20. Suchmaschinenoptimierung ... 565 20.1 ... Schlank mit allen wichtigen Funktionen -- Plugin »The SEO Framework« ... 565 20.2 ... Viele SEO-Maßnahmen in einem Plugin mit »Yoast SEO« ... 591 20.3 ... Sitemap bei Google und Bing einreichen ... 613
21. Notfallmaßnahmen ... 615 21.1 ... Gehackt, was nun? ... 615 21.2 ... Die häufigsten Standardproblemlösungen ... 619
TEIL V. WordPress für Entwickler*innen ... 629
22. Grundwissen für WordPress-Entwickler*innen ... 631 22.1 ... Coding-Standards ... 631 22.2 ... WordPress-Konzepte ... 649 22.3 ... Entwicklungs- und Testumgebung einrichten ... 661
23. Theme entwickeln ... 667 23.1 ... Block-Theme erstellen ... 667 23.2 ... Classic Theme anpassen und erstellen ... 710 23.3 ... Theme veröffentlichen ... 759 23.4 ... Weitere nützliche Funktionen für Themes ... 763
24. Plugin und Block entwickeln ... 771 24.1 ... Installation von Node.js ... 771 24.2 ... Das Grundgerüst des Plugins ... 772 24.3 ... Inhaltstyp erstellen ... 773 24.4 ... Panel in der Editor-Seitenleiste zur Bearbeitung der Metadaten ... 781 24.5 ... Editor-Blöcke erstellen ... 791 24.6 ... Eine Checkbox zur Hervorhebung eines Vortrags ins Veröffentlichungs-Panel einfügen ... 815 24.7 ... Block-Template für den Inhaltstyp erstellen ... 821 24.8 ... Übersetzung ... 822 24.9 ... Inhalte beim Deinstallieren löschen ... 824 24.10 ... Plugin veröffentlichen ... 826 24.11 ... Weitere nützliche Funktionen für Plugins ... 827 Glossar ... 877 Index ... 885
2.3 Playground mit Blueprints vorkonfigurieren
Blueprints sind eine Playground-Funktion, mit der Sie Aktionen definieren können, die bei der Erstellung der Playground-Instanz ausgeführt werden. Beispielsweise können Sie bestimmte Plugins installieren, Konstanten in der wp-config.php setzen oder auch beliebigen PHP-Code ausführen, sodass Sie nach Erstellung einer Playground-Instanz eine bereits vorkonfigurierte Installation haben.
Blueprints können sowohl mit playground.wordpress.net als auch mit wp-now genutzt werden.
2.3.1 Blueprint erstellen
Blueprints sind in JSON geschrieben, und ein ganz einfaches Blueprint sieht so aus:
"$schema": "https://playground.wordpress.net/blueprint-schema.json",
"preferredVersions": {
"php": "8.2",
"wp": "latest"
}
}
Listing 2.1 Ein Playground-Blueprint, das die PHP- und WordPress-Version festlegt
Die Angaben bedeuten Folgendes:
-
$schema ist optional, aber hilfreich, da Code-Editoren damit Autovervollständigung für Blueprints bieten können – wenn Sie die URL aufrufen, sehen Sie eine JSON-Datei mit allen möglichen Optionen.
-
Mit preferredVersions geben Sie an, dass die Website mit PHP 8.2 laufen und die neueste WordPress-Version installiert werden soll.
2.3.2 Blueprint anwenden
Die einfachste Methode ist wohl die Nutzung des Blueprint-Builders unter playground.wordpress.net/builder/builder.html. Hier haben Sie auf der linken Seite ein Feld für das Blueprint und sehen rechts das Ergebnis in Form der WordPress-Instanz.
Abbildung 2.9 Der Blueprint-Builder ist ein nützliches Tool beim Erstellen von Blueprints.
Eine weitere, sehr einfache Art des Testens ist, das Blueprint als URL-Fragment an playground.wordpress.net zu übergeben:
Alternativ können Sie mit dem blueprint-url-Query-Parameter auch eine URL zu einer öffentlich zugänglichen Blueprint-Datei angeben.
Auch bei wp-now können Blueprints verwendet werden. Dafür geben Sie beim Aufruf des start-Befehls mit dem Parameter --blueprint den Pfad zu einer Blueprint-JSON-Datei an, wie im folgenden Beispiel:
2.3.3 Verfügbare Blueprint-Optionen
Vermutlich haben Sie es sich schon gedacht: Die Möglichkeiten von Blueprints sind nicht nach der Angabe von PHP- und WordPress-Version erschöpft. Hier werden Sie die aktuell (November 2024) verfügbaren Optionen kennenlernen, die Sie in Ihrer Blueprint-JSON-Datei verwenden können. Immer aktuell ist die Dokumentation unter wordpress.github.io/wordpress-playground/blueprints-api/index.
Die Pfade zu den JSON-Keys werden mit Punkten getrennt. Wenn Sie also beispielsweise von preferredVersions.php lesen, meint das den folgenden Eintrag im JSON:
[…],
"preferredVersions": {
"php": "8.2",
[…]
}
}
Listing 2.2 Mit der Angabe »preferredVersions.php« ist das »php«-Attribut des »preferredVersions«-Objekts gemeint.
Info: Die Werte lassen sich beliebig kombinieren
Die Beispiel-Blueprints enthalten hier nur die jeweils besprochenen Werte, Sie können diese aber beliebig kombinieren.
Zu Beginn eine bestimmte Seite öffnen
Über den Schlüssel landingPage können Sie eine URL angeben, die nach der Abarbeitung des Blueprints aufgerufen wird. Um zum Beispiel direkt die »About«-Seite aufzurufen, können Sie folgendes Blueprint definieren.
"landingPage": "/?page_id=2"
}
Metadaten angeben
Wenn Sie ein Blueprint nicht nur für sich allein erstellen, ist es eine gute Idee, Metainformationen hinzuzufügen, etwa was das Blueprint macht und wer es erstellt hat. Auch wenn Sie nur für sich Blueprints erstellen, kann das übrigens nicht schaden – Ihr Zukunfts-Ich wird Ihnen dankbar sein, wenn ein komplexes Blueprint eine Beschreibung enthält, was passiert.
Die Metadaten werden unter dem Schlüssel meta angegeben, und es können vier Werte übergeben werden:
-
meta.title beinhaltet den Titel für das Blueprint.
-
meta.description bietet Platz für eine kurze Beschreibung davon, was das Blueprint tut.
-
meta.author – hier geben Sie Ihren Namen ein.
-
meta.categories kann ein Array von Kategorien enthalten.
Diese Metadaten können in einem zukünftig existierenden Blueprints-Bereich auf WordPress.org genutzt werden, title und author sind in dem Blueprint-Schema als erforderlich markiert.
Ein Meta-Blueprint könnte so aussehen:
"meta": {
"title": "Metadaten-Blueprint",
"description": "Ein Blueprint nur aus Metadaten",
"author": "Florian Brinkmann",
"categories": ["meta", "example"]
}
}
Listing 2.3 In einem Blueprint können verschiedene Metadaten angegeben werden.
WordPress- und PHP-Version angeben
Als erstes Beispiel eines Blueprints haben Sie bereits die beiden Werte preferredVersions.php und preferredVersions.wp kennengelernt.
-
Für PHP können Sie zum Zeitpunkt der Entstehung dieser Seiten (November 2024) alle Minor-Versionen von 7.0 bis 8.3 angeben (bis auf den Patch-Level genau, also etwa 8.1.2, funktioniert nicht), oder latest, damit immer die neueste unterstützte Version genutzt wird.
-
Auch bei WordPress können Sie die Version nicht bis auf die dritte Versionsnummer genau angeben, sondern nur auf die zweite Nummer einschränken, zum Beispiel 6.4 für die neueste Version des 6.4-Zweigs.
Standardmäßig können Sie aber nicht beliebig alte Versionen installieren, aktuell (November 2024) ist WordPress 6.2 die ältestmögliche Version. Sie können über einen Umweg eine ältere Version installieren, wie hier beschrieben: wordpress.github.io/wordpress-playground/blueprints-api/examples/#load-an-older-wordpress-version (wegen technischer Beschränkungen ist 5.9.9 aber die älteste Version, die möglich ist).
Zusätzliche Funktionen aktivieren oder deaktivieren
Unter dem features-Schlüssel ist momentan nur der Eintrag networking möglich. Darüber kann gesteuert werden, ob die Playground-Instanz Requests nach außen machen kann, was beispielsweise für die Installation von Plugins oder Themes aus den WordPress.org-Verzeichnissen direkt aus dem Backend heraus notwendig ist. features.networking ist standardmäßig auf false gesetzt.
Ein Blueprint, um die Networking-Funktion zu aktivieren, sieht wie folgt aus:
"features": {
"networking": true
}
}
Listing 2.4 Dieses Blueprint aktiviert die Networking-Funktion von Playground, damit beispielsweise Plugins direkt aus dem Backend heraus installiert werden können.
WordPress-Benutzer*in einloggen
Mit dem Key login können Sie angeben, ob direkt ein*e Benutzer*in angemeldet werden soll. Hier gibt es die Wahl zwischen
-
true oder false (bei true wird der User admin mit dem Passwort password angemeldet),
-
einem Objekt aus username und password, um einen beliebigen User anzumelden.
Nachfolgend finden Sie ein Beispiel für einen Login des Standard-Users unter konkreter Angabe von User und Passwort. "login": true würde dasselbe Ergebnis liefern.
"login": {
"username": "admin",
"password": "password"
...




