WORDPRESS PROFESSIONAL II
SEBASTIAN BLUM
WORDPRESS PROFESSIONAL II
AGENDA WORDPRESS PROFESSIONAL II
▸ Security
▸ Aktuelle Lage
▸ Best Practices

Automatische Updates und Zugriffsbeschränkung
▸ Environment
▸ Themes
▸ Custom Post Types
▸ (Micro-) Plug-Ins
WORDPRESS SECURITY
TEIL 1
IT macht Arbeit nicht billiger, sondern in der
Regel nur schneller. Wenn man
Geschwindigkeit nicht immer benötigt, sollte
man auf IT auch mal verzichten können.
Klemens Kowalski, kowabit.de
WORDPRESS SECURITY
WORDPRESS SECURITY

AKTUELLE LAGE
WORDPRESS SECURITY: AKTUELLE LAGE
RANSOMWARE BEFÄLLT NUTZER ÜBER EXPLOIT KITS
▸ TeslaCrypt

Schwachstellen in veralteten CMS / WordPress-Installation
▸ Befall des Besuchers über Exploit Kits

nutzt Lücken in Adobe Flash Player, Internet Explorer
und Adobe Acrobat (Reader)
▸ Verschlüsselt alle Dateien (lokale und in
Netzwerkfreigaben)

→ Gefahr für Nutzer mit veralteter Software

→ Regelmäßig Updates und Security-Fixes installieren
WORDPRESS SECURITY: AKTUELLE LAGE
WORDPRESS AUF 26% ALLER INTERNETSEITEN
▸ Oftmals …
▸ … kein HTTPS für Backend (WP-Admin)
▸ … Standardbenutzer und einfache Passwörter
▸ … (zu viele) Plug-Ins aktiviert
WORDPRESS SECURITY: AKTUELLE LAGE
RANSOMWARE BEFÄLLT AUCH WEBSERVER
WORDPRESS SECURITY: AKTUELLE LAGE
RANSOMWARE BEFÄLLT AUCH WEBSERVER
▸ CTB-Locker

„Your personal files are encrypted by CTB-Locker. Your
scripts, documents, photos, databases and other important
files have been encrypted with strongest encryption
algorithm AES-256 and unique key, generated for this
site.“



→ Wiederherstellung (bisher) unmöglich

→ Externe Backups regelmäßig erstellen
WORDPRESS SECURITY

AUTOMATISCHE UPDATES
WORDPRESS SECURITY: AUTOMATISIERTE UPDATES
PROBLEM
▸ WordPress Core und Plug-Ins sollten regelmäßig
aktualisiert werden
▸ Theoretisch kein Problem:

WordPress kann automatisch aktualisieren
▸ Automatische Updates benötigen Schreibrechte für PHP

oder FTP-Zugang

→ keine Absicherung bei Angriffen
WORDPRESS SECURITY: AUTOMATISIERTE UPDATES
LÖSUNG
▸ Unix-Rechteverwaltung sinnvoll nutzen

Standardwerte: Ordner = 755, Dateien = 644	
▸ 7	 	 	 6	 	 	 4

rwx rwx rwx

Besitzer Gruppe Sonstige
▸ Live-Modus
▸ Rechte Ordner (chmod 555), Rechte Dateien (444)

→ PHP kann keine Dateien / Ordner schreiben
WORDPRESS SECURITY: AUTOMATISIERTE UPDATES
LÖSUNG
▸ Update-Modus
▸ Rechte Dateien / Ordner (777)

→ PHP kann Dateien / Ordner schreiben und ausführen
▸ Vorgehen
▸ Rechte werden nur für die Zeit der Updates gesetzt
▸ Benutzer können zusätzlich angepasst werden, jedoch
▸ Einschränkungen beim Shared Hosting
▸ PHP-CGI-Prozesse laufen oftmals mit Standardbenutzer
WORDPRESS SECURITY: AUTOMATISIERTE UPDATES
UMSETZUNG
▸ Shared-Hosting mit Cronjobs und SSH
▸ all-inkl: ab Premium-Paket
▸ domainfactory: ab Professional-Paket
▸ STRATO: ab PowerWeb Plus
▸ Eigener Server
▸ Cronjobs über crontab
▸ Jobs mit Jenkins (continuous integration)
WORDPRESS SECURITY: AUTOMATISIERTE UPDATES
UMSETZUNG
▸ Update-Modus aktivieren





▸ Live-Modus aktivieren
cd	/var/www	
chmod	-R	0777	./wordpress
cd	/var/www	
find	./wordpress	-type	d	-exec	chmod	0555	{}	;	
find	./wordpress	-type	f	-exec	chmod	0444	{}	;	
find	./wordpress/wp-content/cache	-type	d	-exec	chmod	0755	{}	;	
find	./wordpress/wp-content/cache	-type	f	-exec	chmod	0655	{}	;	
find	./wordpress/wp-content/uploads	-type	d	-exec	chmod	0755	{}	;	
find	./wordpress/wp-content/uploads	-type	f	-exec	chmod	0644	{}	;
WORDPRESS SECURITY: AUTOMATISIERTE UPDATES
UMSETZUNG
▸ WP-CLI herunterladen
▸ Updates installieren
cd	~	
curl	-O	https://raw.githubusercontent.com/wp-cli/builds/gh-pages⤸	
/phar/wp-cli.phar	
chmod	+x	wp-cli.phar
./wp-cli.phar	core	update	--path=/var/www/wordpress	(--debug)	
./wp-cli.phar	core	update-db	--path=/var/www/wordpress	
./wp-cli.phar	plugin	update	--all	--path=/var/www/wordpress	
./wp-cli.phar	theme	update	--all--path=/var/www/wordpress
WORDPRESS SECURITY: AUTOMATISIERTE UPDATES
ÜBER DEN TELLERRAND
▸ Zusätzliche Überprüfung

Tools suchen nach Schwachstellen

WPScan: http://wpscan.org/

wprecon: http://wprecon.com/
▸ Jens Altmann

Samstag Vortrag: Secure your company
WORDPRESS SECURITY

ZUGRIFFSBESCHRÄNKUNG
WORDPRESS SECURITY: ZUGRIFFSBESCHRÄNKUNG
.HTACCESS-DATEIEN BEI APACHE-WEBSERVER
▸ Ordner-Auflistung deaktivieren
▸ Direktzugriff nur für bestimmte Dateitypen erlauben

Options	All	-Indexes
Order	deny,allow	
Deny	from	all	
<Files	~	".(css|doc|docx|gif|jpe?g|js|odf|pdf|png|rar|rtf|xls|xlsx|⤸	
xml|zip)$">	
		Allow	from	all	
</Files>
WORDPRESS SECURITY: ZUGRIFFSBESCHRÄNKUNG
.HTACCESS-DATEIEN BEI APACHE-WEBSERVER
▸ Login nur nach Passworteingabe
▸ Zugriff auf wp-includes Ordner blockieren

<Files	wp-login.php>	
		AuthType	Basic	
		AuthName	"Restricted	Admin-Area"	
		AuthUserFile	/pfad/zur/.htpasswd	
		Require	valid-user	
</Files>
<IfModule	mod_rewrite.c>	
		RewriteEngine	On	
		RewriteBase	/	
		RewriteRule	^wp-admin/includes/	-	[F,L]	
		RewriteRule	!^wp-includes/	-	[S=3]	
		RewriteRule	^wp-includes/[^/]+.php$	-	[F,L]	
</IfModule>
WORDPRESS SECURITY: ZUGRIFFSBESCHRÄNKUNG
.HTACCESS-DATEIEN BEI APACHE-WEBSERVER
▸ Zugriff auf wp-config.php blockieren







▸ Zugriff auf .htaccess-Dateien blockieren
<files	~	"^.*.([Hh][Tt])">	
		Order	allow,deny	
		Deny	from	all	
		Satisfy	all	
</files>
<files	wp-config.php>	
		Order	allow,deny	
		Deny	from	all	
</files>
WORDPRESS SECURITY: LEARNINGS
ZUSAMMENFASSUNG
▸ Möglichst wenig (Schreib-) Rechte für Web-Server
▸ Updatebarkeit ist Schutz und Risiko gleichzeitig
▸ Externe Backups notwendig
▸ Dateien: ohne Schreibrechte für Web-Server
▸ Datenbank: komplette Dumps
▸ Schwächstes Glied in Kette beachten!
WORDPRESS ENVIRONMENT
TEIL 2
WORDPRESS PROFESSIONAL II
AGENDA WORDPRESS PROFESSIONAL II
▸ Security
▸ Aktuelle Lage
▸ Best Practices

Automatische Updates und Zugriffsbeschränkung
▸ Environment
▸ Themes
▸ Custom Post Types
▸ (Micro-) Plug-Ins
WORDPRESS ENVIRONMENT

THEMES
VORTRAG 2015: WORDPRESS PROFESSIONAL I
RÜCKBLICK: LETZTES JAHR
▸ Unterscheidungen von
▸ Default-Themes
▸ Starter-Themes
▸ Child-Themes
▸ Vollwertige Themes
▸ Den jeweiligen Einsatzzweck
WORDPRESS ENVIRONMENT: THEMES - THEME OPTIONS
THEME OPTIONS: DESIGN ANPASSEN
▸ Wechsel zwischen Themes, die alle Theme Options
unterstützen, sollte möglich sein

(Beispiel: Jedes Theme von wordpress.com)
▸ Ziel: Optionen Theme-übergreifend zu standardisieren
▸ Viele Themes verwenden eigenes Theme Panel

→ Theme-Wechsel nur schwer möglich
VERWENDUNG DER THEME OPTIONS
VERWENDUNG EINES THEME PANELS
THEME UNIT TESTS
WORDPRESS ENVIRONMENT – THEMES
WORDPRESS ENVIRONMENT: THEMES - UNIT TESTS
THEME UNIT TESTS
▸ Theme Unit Tests sind möglich
▸ Verbessern deutlich die Qualität von Themes
▸ Mehr Infos unter:

https://codex.wordpress.org/Theme_Unit_Test
Theme Plug-In
Vorteile ‣ Stabiler, dank
getesten Versionen
‣ Schnellere Updates
‣ Theme-Wechsel
Nachteile ‣ Abhängigkeit vom
Theme
‣ Theme-Lock-In
‣ Updates
‣ Versionskonflikte
‣ Namenkonflikte
WORDPRESS ENVIRONMENT: THEMES
FUNKTIONALITÄT IN THEME ODER PLUG-IN
WORDPRESS ENVIRONMENT: FAZIT THEMES
FAZIT: FUNKTIONALITÄT IN THEMES
▸ Elegant Themes bringen die Funktionalität im Theme mit
▸ Eigener Page-Builder: Divi Builder
▸ Verwendung der Theme Options

→ guter Lösungsansatz
▸ Präferieren selbst die Funktionalität in Plug-Ins
▸ Probleme mit Visual Composer Versionskonflikten
▸ Lock-In bei Custom-Post-Types im Theme

→ Trennung ermöglicht größere Flexibilität
WORDPRESS ENVIRONMENT

CUSTOM POST TYPE
WORDPRESS ENVIRONMENT: CUSTOM POST TYPE
CUSTOM POST TYPE
▸ Einfach selbst definieren mit Hilfe eines kleinen Plug-Ins
▸ Bringt zusätzliche Dokumentarten mit
▸ Im Child-Theme können Template-Dateien speziell für den
Custom-Post-Type erstellt werden
BEISPIEL

BILDUNG FÜR
FLÜCHTLINGE
WORDPRESS ENVIRONMENT: CUSTOM POST TYPE
BILDUNG-FUER-FLUECHTLINGE.DE
▸ Organisationen mit zusätzlichen Informationen speichern
▸ Kontaktdaten (Auswahl und Textfelder)
▸ Ansprechpartner (Foto)
▸ Standort (Google Maps Karte)
▸ Bereich (Kategorie)
▸ Ausgabe der (gefilterten) Inhalte im Frontend
WORDPRESS ENVIRONMENT: CUSTOM POST TYPE
BILDUNG-FUER-FLUECHTLINGE.DE: BACKEND
▸ Auswahl
▸ Textfeld
▸ Bild-Upload









▸ Standort (Google Maps)
WORDPRESS ENVIRONMENT: CUSTOM POST TYPE
BILDUNG-FUER-FLUECHTLINGE.DE: FRONTEND
▸ Kontaktdaten

▸ Standort (Google Maps)
WORDPRESS ENVIRONMENT: FAZIT CUSTOM POST TYPES
FAZIT: CUSTOM POST TYPES
▸ Eigene „Dokument-Arten“ mit zusätzlichen Feldern
▸ Bessere semantische Datenspeicherung
▸ Updatebarkeit ohne Inhaltsanpassung
▸ Mit Shortcodes in Widgets platzierbar

→ guter Lösungsansatz
▸ Am besten Custom Post Types Definition & Custom
Taxonomy selbst mit einem Plugin erstellen
▸ AdvancedCustomFields-Plugin für Verwaltung
zusätzlicher Felder im Backend nutzen
WORDPRESS ENVIRONMENT

(MICRO-) PLUG-INS
WORDPRESS ENVIRONMENT: (MICRO-) PLUG-INS
EINFACHE MICRO-PLUG-INS
▸ Beispiel: sblum-force-https

Alle verlinkten / verknüpften Inhalte über HTTPS abrufen
▸ Single Responsibility Pattern

→ Bietet exakt eine Funktionalität
▸ Einfache Unit-Tests
▸ Keine Konfiguration, keine eierlegende Wollmilchsau
Quelle: Pixelrausch - Wikimedia Commons
WORDPRESS ENVIRONMENT: (MICRO-) PLUG-INS
SBLUM-FORCE-HTTPS PLUG-IN
▸ Einsatz-Zweck: Umstellung auf HTTPS
▸ Problemstellung
▸ Im Theme / Plug-in werden http:// Assets eingebunden
▸ Interne http-Links in Artikeln
▸ Lösung: Interne Links, CSS, Javascript durch https ersetzen

→ Micro-Plug-in für genau diese Anforderung ausreichend
WORDPRESS ENVIRONMENT: (MICRO-) PLUG-INS
SBLUM-FORCE-HTTPS PLUG-IN
WORDPRESS ENVIRONMENT: (MICRO-) PLUG-INS
MUST-USE-PLUGIN: FINAL OUTPUT HOOK
WORDPRESS ENVIRONMENT: FAZIT PLUGINS
FAZIT: PLUG-INS
▸ Einsatz von Micro-Plug-Ins, wenn…
▸ ein Problem zu 100% gelöst werden kann
▸ Performance wichtig (keine aufwendige Konfiguration)
▸ Einsatz von (umfangreichen) Plug-Ins, wenn…
▸ eine Vielzahl von Anforderungen erfüllt werden
▸ Yoast SEO Plug-In
▸ W3 Total Cache
▸ Konfiguration / Anpassung notwendig
WORDPRESS PROFESSIONAL II
DANKE FÜR DIE AUFMERKSAMKEIT
▸ Sebastian Blum

sb@sblum.de
▸ Präsentation auf unserer Webseite

lj https://www.sblum.de/seocampixx

WordPress Professional II

  • 1.
  • 2.
    WORDPRESS PROFESSIONAL II AGENDAWORDPRESS PROFESSIONAL II ▸ Security ▸ Aktuelle Lage ▸ Best Practices
 Automatische Updates und Zugriffsbeschränkung ▸ Environment ▸ Themes ▸ Custom Post Types ▸ (Micro-) Plug-Ins
  • 3.
  • 4.
    IT macht Arbeitnicht billiger, sondern in der Regel nur schneller. Wenn man Geschwindigkeit nicht immer benötigt, sollte man auf IT auch mal verzichten können. Klemens Kowalski, kowabit.de WORDPRESS SECURITY
  • 5.
  • 6.
    WORDPRESS SECURITY: AKTUELLELAGE RANSOMWARE BEFÄLLT NUTZER ÜBER EXPLOIT KITS ▸ TeslaCrypt
 Schwachstellen in veralteten CMS / WordPress-Installation ▸ Befall des Besuchers über Exploit Kits
 nutzt Lücken in Adobe Flash Player, Internet Explorer und Adobe Acrobat (Reader) ▸ Verschlüsselt alle Dateien (lokale und in Netzwerkfreigaben)
 → Gefahr für Nutzer mit veralteter Software
 → Regelmäßig Updates und Security-Fixes installieren
  • 7.
    WORDPRESS SECURITY: AKTUELLELAGE WORDPRESS AUF 26% ALLER INTERNETSEITEN ▸ Oftmals … ▸ … kein HTTPS für Backend (WP-Admin) ▸ … Standardbenutzer und einfache Passwörter ▸ … (zu viele) Plug-Ins aktiviert
  • 8.
    WORDPRESS SECURITY: AKTUELLELAGE RANSOMWARE BEFÄLLT AUCH WEBSERVER
  • 9.
    WORDPRESS SECURITY: AKTUELLELAGE RANSOMWARE BEFÄLLT AUCH WEBSERVER ▸ CTB-Locker
 „Your personal files are encrypted by CTB-Locker. Your scripts, documents, photos, databases and other important files have been encrypted with strongest encryption algorithm AES-256 and unique key, generated for this site.“
 
 → Wiederherstellung (bisher) unmöglich
 → Externe Backups regelmäßig erstellen
  • 10.
  • 11.
    WORDPRESS SECURITY: AUTOMATISIERTEUPDATES PROBLEM ▸ WordPress Core und Plug-Ins sollten regelmäßig aktualisiert werden ▸ Theoretisch kein Problem:
 WordPress kann automatisch aktualisieren ▸ Automatische Updates benötigen Schreibrechte für PHP
 oder FTP-Zugang
 → keine Absicherung bei Angriffen
  • 12.
    WORDPRESS SECURITY: AUTOMATISIERTEUPDATES LÖSUNG ▸ Unix-Rechteverwaltung sinnvoll nutzen
 Standardwerte: Ordner = 755, Dateien = 644 ▸ 7 6 4
 rwx rwx rwx
 Besitzer Gruppe Sonstige ▸ Live-Modus ▸ Rechte Ordner (chmod 555), Rechte Dateien (444)
 → PHP kann keine Dateien / Ordner schreiben
  • 13.
    WORDPRESS SECURITY: AUTOMATISIERTEUPDATES LÖSUNG ▸ Update-Modus ▸ Rechte Dateien / Ordner (777)
 → PHP kann Dateien / Ordner schreiben und ausführen ▸ Vorgehen ▸ Rechte werden nur für die Zeit der Updates gesetzt ▸ Benutzer können zusätzlich angepasst werden, jedoch ▸ Einschränkungen beim Shared Hosting ▸ PHP-CGI-Prozesse laufen oftmals mit Standardbenutzer
  • 14.
    WORDPRESS SECURITY: AUTOMATISIERTEUPDATES UMSETZUNG ▸ Shared-Hosting mit Cronjobs und SSH ▸ all-inkl: ab Premium-Paket ▸ domainfactory: ab Professional-Paket ▸ STRATO: ab PowerWeb Plus ▸ Eigener Server ▸ Cronjobs über crontab ▸ Jobs mit Jenkins (continuous integration)
  • 15.
    WORDPRESS SECURITY: AUTOMATISIERTEUPDATES UMSETZUNG ▸ Update-Modus aktivieren
 
 
 ▸ Live-Modus aktivieren cd /var/www chmod -R 0777 ./wordpress cd /var/www find ./wordpress -type d -exec chmod 0555 {} ; find ./wordpress -type f -exec chmod 0444 {} ; find ./wordpress/wp-content/cache -type d -exec chmod 0755 {} ; find ./wordpress/wp-content/cache -type f -exec chmod 0655 {} ; find ./wordpress/wp-content/uploads -type d -exec chmod 0755 {} ; find ./wordpress/wp-content/uploads -type f -exec chmod 0644 {} ;
  • 16.
    WORDPRESS SECURITY: AUTOMATISIERTEUPDATES UMSETZUNG ▸ WP-CLI herunterladen ▸ Updates installieren cd ~ curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages⤸ /phar/wp-cli.phar chmod +x wp-cli.phar ./wp-cli.phar core update --path=/var/www/wordpress (--debug) ./wp-cli.phar core update-db --path=/var/www/wordpress ./wp-cli.phar plugin update --all --path=/var/www/wordpress ./wp-cli.phar theme update --all--path=/var/www/wordpress
  • 17.
    WORDPRESS SECURITY: AUTOMATISIERTEUPDATES ÜBER DEN TELLERRAND ▸ Zusätzliche Überprüfung
 Tools suchen nach Schwachstellen
 WPScan: http://wpscan.org/
 wprecon: http://wprecon.com/ ▸ Jens Altmann
 Samstag Vortrag: Secure your company
  • 18.
  • 19.
    WORDPRESS SECURITY: ZUGRIFFSBESCHRÄNKUNG .HTACCESS-DATEIENBEI APACHE-WEBSERVER ▸ Ordner-Auflistung deaktivieren ▸ Direktzugriff nur für bestimmte Dateitypen erlauben
 Options All -Indexes Order deny,allow Deny from all <Files ~ ".(css|doc|docx|gif|jpe?g|js|odf|pdf|png|rar|rtf|xls|xlsx|⤸ xml|zip)$"> Allow from all </Files>
  • 20.
    WORDPRESS SECURITY: ZUGRIFFSBESCHRÄNKUNG .HTACCESS-DATEIENBEI APACHE-WEBSERVER ▸ Login nur nach Passworteingabe ▸ Zugriff auf wp-includes Ordner blockieren
 <Files wp-login.php> AuthType Basic AuthName "Restricted Admin-Area" AuthUserFile /pfad/zur/.htpasswd Require valid-user </Files> <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^wp-admin/includes/ - [F,L] RewriteRule !^wp-includes/ - [S=3] RewriteRule ^wp-includes/[^/]+.php$ - [F,L] </IfModule>
  • 21.
    WORDPRESS SECURITY: ZUGRIFFSBESCHRÄNKUNG .HTACCESS-DATEIENBEI APACHE-WEBSERVER ▸ Zugriff auf wp-config.php blockieren
 
 
 
 ▸ Zugriff auf .htaccess-Dateien blockieren <files ~ "^.*.([Hh][Tt])"> Order allow,deny Deny from all Satisfy all </files> <files wp-config.php> Order allow,deny Deny from all </files>
  • 22.
    WORDPRESS SECURITY: LEARNINGS ZUSAMMENFASSUNG ▸Möglichst wenig (Schreib-) Rechte für Web-Server ▸ Updatebarkeit ist Schutz und Risiko gleichzeitig ▸ Externe Backups notwendig ▸ Dateien: ohne Schreibrechte für Web-Server ▸ Datenbank: komplette Dumps ▸ Schwächstes Glied in Kette beachten!
  • 23.
  • 24.
    WORDPRESS PROFESSIONAL II AGENDAWORDPRESS PROFESSIONAL II ▸ Security ▸ Aktuelle Lage ▸ Best Practices
 Automatische Updates und Zugriffsbeschränkung ▸ Environment ▸ Themes ▸ Custom Post Types ▸ (Micro-) Plug-Ins
  • 25.
  • 26.
    VORTRAG 2015: WORDPRESSPROFESSIONAL I RÜCKBLICK: LETZTES JAHR ▸ Unterscheidungen von ▸ Default-Themes ▸ Starter-Themes ▸ Child-Themes ▸ Vollwertige Themes ▸ Den jeweiligen Einsatzzweck
  • 27.
    WORDPRESS ENVIRONMENT: THEMES- THEME OPTIONS THEME OPTIONS: DESIGN ANPASSEN ▸ Wechsel zwischen Themes, die alle Theme Options unterstützen, sollte möglich sein
 (Beispiel: Jedes Theme von wordpress.com) ▸ Ziel: Optionen Theme-übergreifend zu standardisieren ▸ Viele Themes verwenden eigenes Theme Panel
 → Theme-Wechsel nur schwer möglich
  • 28.
  • 29.
  • 30.
    THEME UNIT TESTS WORDPRESSENVIRONMENT – THEMES
  • 31.
    WORDPRESS ENVIRONMENT: THEMES- UNIT TESTS THEME UNIT TESTS ▸ Theme Unit Tests sind möglich ▸ Verbessern deutlich die Qualität von Themes ▸ Mehr Infos unter:
 https://codex.wordpress.org/Theme_Unit_Test
  • 32.
    Theme Plug-In Vorteile ‣Stabiler, dank getesten Versionen ‣ Schnellere Updates ‣ Theme-Wechsel Nachteile ‣ Abhängigkeit vom Theme ‣ Theme-Lock-In ‣ Updates ‣ Versionskonflikte ‣ Namenkonflikte WORDPRESS ENVIRONMENT: THEMES FUNKTIONALITÄT IN THEME ODER PLUG-IN
  • 33.
    WORDPRESS ENVIRONMENT: FAZITTHEMES FAZIT: FUNKTIONALITÄT IN THEMES ▸ Elegant Themes bringen die Funktionalität im Theme mit ▸ Eigener Page-Builder: Divi Builder ▸ Verwendung der Theme Options
 → guter Lösungsansatz ▸ Präferieren selbst die Funktionalität in Plug-Ins ▸ Probleme mit Visual Composer Versionskonflikten ▸ Lock-In bei Custom-Post-Types im Theme
 → Trennung ermöglicht größere Flexibilität
  • 34.
  • 35.
    WORDPRESS ENVIRONMENT: CUSTOMPOST TYPE CUSTOM POST TYPE ▸ Einfach selbst definieren mit Hilfe eines kleinen Plug-Ins ▸ Bringt zusätzliche Dokumentarten mit ▸ Im Child-Theme können Template-Dateien speziell für den Custom-Post-Type erstellt werden
  • 36.
  • 37.
    WORDPRESS ENVIRONMENT: CUSTOMPOST TYPE BILDUNG-FUER-FLUECHTLINGE.DE ▸ Organisationen mit zusätzlichen Informationen speichern ▸ Kontaktdaten (Auswahl und Textfelder) ▸ Ansprechpartner (Foto) ▸ Standort (Google Maps Karte) ▸ Bereich (Kategorie) ▸ Ausgabe der (gefilterten) Inhalte im Frontend
  • 38.
    WORDPRESS ENVIRONMENT: CUSTOMPOST TYPE BILDUNG-FUER-FLUECHTLINGE.DE: BACKEND ▸ Auswahl ▸ Textfeld ▸ Bild-Upload
 
 
 
 
 ▸ Standort (Google Maps)
  • 39.
    WORDPRESS ENVIRONMENT: CUSTOMPOST TYPE BILDUNG-FUER-FLUECHTLINGE.DE: FRONTEND ▸ Kontaktdaten
 ▸ Standort (Google Maps)
  • 40.
    WORDPRESS ENVIRONMENT: FAZITCUSTOM POST TYPES FAZIT: CUSTOM POST TYPES ▸ Eigene „Dokument-Arten“ mit zusätzlichen Feldern ▸ Bessere semantische Datenspeicherung ▸ Updatebarkeit ohne Inhaltsanpassung ▸ Mit Shortcodes in Widgets platzierbar
 → guter Lösungsansatz ▸ Am besten Custom Post Types Definition & Custom Taxonomy selbst mit einem Plugin erstellen ▸ AdvancedCustomFields-Plugin für Verwaltung zusätzlicher Felder im Backend nutzen
  • 41.
  • 42.
    WORDPRESS ENVIRONMENT: (MICRO-)PLUG-INS EINFACHE MICRO-PLUG-INS ▸ Beispiel: sblum-force-https
 Alle verlinkten / verknüpften Inhalte über HTTPS abrufen ▸ Single Responsibility Pattern
 → Bietet exakt eine Funktionalität ▸ Einfache Unit-Tests ▸ Keine Konfiguration, keine eierlegende Wollmilchsau Quelle: Pixelrausch - Wikimedia Commons
  • 43.
    WORDPRESS ENVIRONMENT: (MICRO-)PLUG-INS SBLUM-FORCE-HTTPS PLUG-IN ▸ Einsatz-Zweck: Umstellung auf HTTPS ▸ Problemstellung ▸ Im Theme / Plug-in werden http:// Assets eingebunden ▸ Interne http-Links in Artikeln ▸ Lösung: Interne Links, CSS, Javascript durch https ersetzen
 → Micro-Plug-in für genau diese Anforderung ausreichend
  • 44.
    WORDPRESS ENVIRONMENT: (MICRO-)PLUG-INS SBLUM-FORCE-HTTPS PLUG-IN
  • 45.
    WORDPRESS ENVIRONMENT: (MICRO-)PLUG-INS MUST-USE-PLUGIN: FINAL OUTPUT HOOK
  • 46.
    WORDPRESS ENVIRONMENT: FAZITPLUGINS FAZIT: PLUG-INS ▸ Einsatz von Micro-Plug-Ins, wenn… ▸ ein Problem zu 100% gelöst werden kann ▸ Performance wichtig (keine aufwendige Konfiguration) ▸ Einsatz von (umfangreichen) Plug-Ins, wenn… ▸ eine Vielzahl von Anforderungen erfüllt werden ▸ Yoast SEO Plug-In ▸ W3 Total Cache ▸ Konfiguration / Anpassung notwendig
  • 47.
    WORDPRESS PROFESSIONAL II DANKEFÜR DIE AUFMERKSAMKEIT ▸ Sebastian Blum
 sb@sblum.de ▸ Präsentation auf unserer Webseite
 lj https://www.sblum.de/seocampixx