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.«
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: https://playground.wordpress.net/#{"$schema": "https://playground.wordpress.net/blueprint-schema.json","preferredVersions": {"php": "8.2","wp": "latest"}} 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: wp-now start --blueprint=./blueprint.json 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"
...