SlideShare una empresa de Scribd logo
1 de 47
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

WordPress für Einsteiger - Für wen eignet sich das CMS
WordPress für Einsteiger - Für wen eignet sich das CMSWordPress für Einsteiger - Für wen eignet sich das CMS
WordPress für Einsteiger - Für wen eignet sich das CMSEduPress / Inpsyde GmbH
 
Was ist WordPress eigentlich?
Was ist WordPress eigentlich?Was ist WordPress eigentlich?
Was ist WordPress eigentlich?learnWP
 
SEO Day 2016: Perfekte Ladezeiten und SEO-Hosting für Speed-Freaks
SEO Day 2016: Perfekte Ladezeiten und SEO-Hosting für Speed-FreaksSEO Day 2016: Perfekte Ladezeiten und SEO-Hosting für Speed-Freaks
SEO Day 2016: Perfekte Ladezeiten und SEO-Hosting für Speed-FreaksSEARCH ONE
 
HTML5 und CSS3 - was jetzt schon möglich ist
HTML5 und CSS3 - was jetzt schon möglich istHTML5 und CSS3 - was jetzt schon möglich ist
HTML5 und CSS3 - was jetzt schon möglich istRenate Hermanns
 
Campixx 2012-ladezeit-extreme
Campixx 2012-ladezeit-extremeCampixx 2012-ladezeit-extreme
Campixx 2012-ladezeit-extremeAlexander Merkel
 
PhpStorm 6 Configuration for TYPO3
PhpStorm 6 Configuration for TYPO3PhpStorm 6 Configuration for TYPO3
PhpStorm 6 Configuration for TYPO3marco-huber
 
WordPress- eine Einführung
WordPress- eine EinführungWordPress- eine Einführung
WordPress- eine EinführungJohannes Fruth
 
MongoDB: Security-Tipps gegen Hacker
MongoDB: Security-Tipps gegen HackerMongoDB: Security-Tipps gegen Hacker
MongoDB: Security-Tipps gegen HackerGregor Biswanger
 
Ein kurze Einführung in WordPress
Ein kurze Einführung in WordPressEin kurze Einführung in WordPress
Ein kurze Einführung in WordPressCathrin Tusche
 
Performance Optimierung - Barrierefreiheit beginnt mit Ladezeiten
Performance Optimierung - Barrierefreiheit beginnt mit LadezeitenPerformance Optimierung - Barrierefreiheit beginnt mit Ladezeiten
Performance Optimierung - Barrierefreiheit beginnt mit LadezeitenDavid Maciejewski
 
WP-CLI - Das Kommandozeilen Interface für Wordpress
WP-CLI - Das Kommandozeilen Interface für WordpressWP-CLI - Das Kommandozeilen Interface für Wordpress
WP-CLI - Das Kommandozeilen Interface für Wordpressfrankstaude
 
Wordpress - Einführung und Überblick über die Kernfunktionen
Wordpress - Einführung und Überblick über die KernfunktionenWordpress - Einführung und Überblick über die Kernfunktionen
Wordpress - Einführung und Überblick über die KernfunktionenMario Fink
 
SEODay 2011 - Seitennetzwerk mit WordPress effizient aufbauen und verwalten
SEODay 2011 - Seitennetzwerk mit WordPress effizient aufbauen und verwaltenSEODay 2011 - Seitennetzwerk mit WordPress effizient aufbauen und verwalten
SEODay 2011 - Seitennetzwerk mit WordPress effizient aufbauen und verwaltenget on top gmbh
 
Sicherheit für WordPress
Sicherheit für WordPressSicherheit für WordPress
Sicherheit für WordPressWalter Ebert
 
Blogwerk WordPress für die Corporate Website
Blogwerk WordPress für die Corporate WebsiteBlogwerk WordPress für die Corporate Website
Blogwerk WordPress für die Corporate WebsiteBlogwerk AG
 
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET CoreHands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET CoreGregor Biswanger
 

La actualidad más candente (20)

WordPress für Einsteiger - Für wen eignet sich das CMS
WordPress für Einsteiger - Für wen eignet sich das CMSWordPress für Einsteiger - Für wen eignet sich das CMS
WordPress für Einsteiger - Für wen eignet sich das CMS
 
Was ist WordPress eigentlich?
Was ist WordPress eigentlich?Was ist WordPress eigentlich?
Was ist WordPress eigentlich?
 
SEO Day 2016: Perfekte Ladezeiten und SEO-Hosting für Speed-Freaks
SEO Day 2016: Perfekte Ladezeiten und SEO-Hosting für Speed-FreaksSEO Day 2016: Perfekte Ladezeiten und SEO-Hosting für Speed-Freaks
SEO Day 2016: Perfekte Ladezeiten und SEO-Hosting für Speed-Freaks
 
Baustein 07 grundlagen-html-css-php
Baustein 07 grundlagen-html-css-phpBaustein 07 grundlagen-html-css-php
Baustein 07 grundlagen-html-css-php
 
Node.js
Node.jsNode.js
Node.js
 
HTML5 und CSS3 - was jetzt schon möglich ist
HTML5 und CSS3 - was jetzt schon möglich istHTML5 und CSS3 - was jetzt schon möglich ist
HTML5 und CSS3 - was jetzt schon möglich ist
 
Campixx 2012-ladezeit-extreme
Campixx 2012-ladezeit-extremeCampixx 2012-ladezeit-extreme
Campixx 2012-ladezeit-extreme
 
Typo3 und Varnish
Typo3 und VarnishTypo3 und Varnish
Typo3 und Varnish
 
PhpStorm 6 Configuration for TYPO3
PhpStorm 6 Configuration for TYPO3PhpStorm 6 Configuration for TYPO3
PhpStorm 6 Configuration for TYPO3
 
WordPress- eine Einführung
WordPress- eine EinführungWordPress- eine Einführung
WordPress- eine Einführung
 
MongoDB: Security-Tipps gegen Hacker
MongoDB: Security-Tipps gegen HackerMongoDB: Security-Tipps gegen Hacker
MongoDB: Security-Tipps gegen Hacker
 
Ein kurze Einführung in WordPress
Ein kurze Einführung in WordPressEin kurze Einführung in WordPress
Ein kurze Einführung in WordPress
 
Performance Optimierung - Barrierefreiheit beginnt mit Ladezeiten
Performance Optimierung - Barrierefreiheit beginnt mit LadezeitenPerformance Optimierung - Barrierefreiheit beginnt mit Ladezeiten
Performance Optimierung - Barrierefreiheit beginnt mit Ladezeiten
 
WP-CLI - Das Kommandozeilen Interface für Wordpress
WP-CLI - Das Kommandozeilen Interface für WordpressWP-CLI - Das Kommandozeilen Interface für Wordpress
WP-CLI - Das Kommandozeilen Interface für Wordpress
 
Wordpress - Einführung und Überblick über die Kernfunktionen
Wordpress - Einführung und Überblick über die KernfunktionenWordpress - Einführung und Überblick über die Kernfunktionen
Wordpress - Einführung und Überblick über die Kernfunktionen
 
SEODay 2011 - Seitennetzwerk mit WordPress effizient aufbauen und verwalten
SEODay 2011 - Seitennetzwerk mit WordPress effizient aufbauen und verwaltenSEODay 2011 - Seitennetzwerk mit WordPress effizient aufbauen und verwalten
SEODay 2011 - Seitennetzwerk mit WordPress effizient aufbauen und verwalten
 
Dockerize It - Mit apex in die amazon cloud
Dockerize It - Mit apex in die amazon cloudDockerize It - Mit apex in die amazon cloud
Dockerize It - Mit apex in die amazon cloud
 
Sicherheit für WordPress
Sicherheit für WordPressSicherheit für WordPress
Sicherheit für WordPress
 
Blogwerk WordPress für die Corporate Website
Blogwerk WordPress für die Corporate WebsiteBlogwerk WordPress für die Corporate Website
Blogwerk WordPress für die Corporate Website
 
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET CoreHands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
 

Destacado

Pagespeed Learnings aus mehreren Relaunches (SEO Campixx 2017)
Pagespeed Learnings aus mehreren Relaunches (SEO Campixx 2017)Pagespeed Learnings aus mehreren Relaunches (SEO Campixx 2017)
Pagespeed Learnings aus mehreren Relaunches (SEO Campixx 2017)SEO & UX München
 
Campixx 2017 SEO für KMU
Campixx 2017 SEO für KMUCampixx 2017 SEO für KMU
Campixx 2017 SEO für KMUHeiko Hoehn
 
Content-Produktion aus der Praxis – Von der Idee zum Inhalt – SEO Campixx 2017
Content-Produktion aus der Praxis – Von der Idee zum Inhalt – SEO Campixx 2017Content-Produktion aus der Praxis – Von der Idee zum Inhalt – SEO Campixx 2017
Content-Produktion aus der Praxis – Von der Idee zum Inhalt – SEO Campixx 2017Niels Dahnke
 
Excel Based IP Functions
Excel Based IP FunctionsExcel Based IP Functions
Excel Based IP FunctionsRajiv Bhardwaj
 
Lecture#5 Operators in C++
Lecture#5 Operators in C++Lecture#5 Operators in C++
Lecture#5 Operators in C++NUST Stuff
 
Java Concurrency Idioms
Java Concurrency IdiomsJava Concurrency Idioms
Java Concurrency IdiomsAlex Miller
 
Operators in c language
Operators in c languageOperators in c language
Operators in c languageAmit Singh
 
2017 Info Night Presentation - TIF bond
2017 Info Night Presentation - TIF bond2017 Info Night Presentation - TIF bond
2017 Info Night Presentation - TIF bondF. X. Flinn
 
Disruptor tools in action
Disruptor   tools in actionDisruptor   tools in action
Disruptor tools in actionMichael Barker
 
Java - Introdução a banco de dados
Java - Introdução a banco de dadosJava - Introdução a banco de dados
Java - Introdução a banco de dadosSérgio Souza Costa
 
Manual de Usuário - TCC André Luiz Jamarino Abekawa
Manual de Usuário - TCC André Luiz Jamarino AbekawaManual de Usuário - TCC André Luiz Jamarino Abekawa
Manual de Usuário - TCC André Luiz Jamarino AbekawaAndré Luiz Jamarino Abekawa
 
Replicacao Object Sistemas
Replicacao Object SistemasReplicacao Object Sistemas
Replicacao Object Sistemastaniamaciel
 
Minicurso de Cakephp
Minicurso de CakephpMinicurso de Cakephp
Minicurso de CakephpCauan Cabral
 

Destacado (20)

Pagespeed Learnings aus mehreren Relaunches (SEO Campixx 2017)
Pagespeed Learnings aus mehreren Relaunches (SEO Campixx 2017)Pagespeed Learnings aus mehreren Relaunches (SEO Campixx 2017)
Pagespeed Learnings aus mehreren Relaunches (SEO Campixx 2017)
 
Campixx 2017 SEO für KMU
Campixx 2017 SEO für KMUCampixx 2017 SEO für KMU
Campixx 2017 SEO für KMU
 
Content-Produktion aus der Praxis – Von der Idee zum Inhalt – SEO Campixx 2017
Content-Produktion aus der Praxis – Von der Idee zum Inhalt – SEO Campixx 2017Content-Produktion aus der Praxis – Von der Idee zum Inhalt – SEO Campixx 2017
Content-Produktion aus der Praxis – Von der Idee zum Inhalt – SEO Campixx 2017
 
Google Analytics fürs Content-Marketing
Google Analytics fürs Content-MarketingGoogle Analytics fürs Content-Marketing
Google Analytics fürs Content-Marketing
 
ADO.NET
ADO.NETADO.NET
ADO.NET
 
Excel Based IP Functions
Excel Based IP FunctionsExcel Based IP Functions
Excel Based IP Functions
 
Lecture#5 Operators in C++
Lecture#5 Operators in C++Lecture#5 Operators in C++
Lecture#5 Operators in C++
 
Java Concurrency Idioms
Java Concurrency IdiomsJava Concurrency Idioms
Java Concurrency Idioms
 
Operators in c language
Operators in c languageOperators in c language
Operators in c language
 
2017 Info Night Presentation - TIF bond
2017 Info Night Presentation - TIF bond2017 Info Night Presentation - TIF bond
2017 Info Night Presentation - TIF bond
 
Slides chapter 16
Slides chapter 16Slides chapter 16
Slides chapter 16
 
Elm intro
Elm introElm intro
Elm intro
 
Disruptor tools in action
Disruptor   tools in actionDisruptor   tools in action
Disruptor tools in action
 
Java - Introdução a banco de dados
Java - Introdução a banco de dadosJava - Introdução a banco de dados
Java - Introdução a banco de dados
 
Trial set
Trial setTrial set
Trial set
 
Control statements
Control statementsControl statements
Control statements
 
5 retro pay_methods_i___ii_part_5
5 retro pay_methods_i___ii_part_55 retro pay_methods_i___ii_part_5
5 retro pay_methods_i___ii_part_5
 
Manual de Usuário - TCC André Luiz Jamarino Abekawa
Manual de Usuário - TCC André Luiz Jamarino AbekawaManual de Usuário - TCC André Luiz Jamarino Abekawa
Manual de Usuário - TCC André Luiz Jamarino Abekawa
 
Replicacao Object Sistemas
Replicacao Object SistemasReplicacao Object Sistemas
Replicacao Object Sistemas
 
Minicurso de Cakephp
Minicurso de CakephpMinicurso de Cakephp
Minicurso de Cakephp
 

Similar a WordPress Professional II

Meine ersten 12 Monate als Plugin-Entwickler für WordPress - WP Camp 2012 Berlin
Meine ersten 12 Monate als Plugin-Entwickler für WordPress - WP Camp 2012 BerlinMeine ersten 12 Monate als Plugin-Entwickler für WordPress - WP Camp 2012 Berlin
Meine ersten 12 Monate als Plugin-Entwickler für WordPress - WP Camp 2012 BerlinDavid Decker
 
Tag Manager Professional
Tag Manager ProfessionalTag Manager Professional
Tag Manager ProfessionalSebastian Blum
 
WordPress CMS - WebMontag Chemnitz Oktober 2011
WordPress CMS - WebMontag Chemnitz Oktober 2011WordPress CMS - WebMontag Chemnitz Oktober 2011
WordPress CMS - WebMontag Chemnitz Oktober 2011David Decker
 
Bestehende WordPress-Seiten auf Multisite migrieren
Bestehende WordPress-Seiten auf Multisite migrierenBestehende WordPress-Seiten auf Multisite migrieren
Bestehende WordPress-Seiten auf Multisite migrierenWalter Ebert
 
Word Press Als Blog Und Cms O
Word Press Als Blog Und Cms OWord Press Als Blog Und Cms O
Word Press Als Blog Und Cms Osol777
 
WordPress sicherer machen - Basics
WordPress sicherer machen - BasicsWordPress sicherer machen - Basics
WordPress sicherer machen - BasicsAndreas Rudorfer
 
Vagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und ArchitektenVagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und ArchitektenOPITZ CONSULTING Deutschland
 
Cloud Provisioning mit Juju
Cloud Provisioning mit JujuCloud Provisioning mit Juju
Cloud Provisioning mit JujuFrank Müller
 
WordPress vs. TYPO3
WordPress vs. TYPO3WordPress vs. TYPO3
WordPress vs. TYPO3webpard UG
 
Sicherheit von Webanwendungen
Sicherheit von WebanwendungenSicherheit von Webanwendungen
Sicherheit von Webanwendungenthomasgemperle
 
Ausrollen von Multi-Tier-Applikationen mit Docker
Ausrollen von Multi-Tier-Applikationen mit DockerAusrollen von Multi-Tier-Applikationen mit Docker
Ausrollen von Multi-Tier-Applikationen mit DockerB1 Systems GmbH
 
Secure Linux Administration Conference 2006: Linux Disaster Recovery mit ReaR...
Secure Linux Administration Conference 2006: Linux Disaster Recovery mit ReaR...Secure Linux Administration Conference 2006: Linux Disaster Recovery mit ReaR...
Secure Linux Administration Conference 2006: Linux Disaster Recovery mit ReaR...Schlomo Schapiro
 
Infrastructure as Code - BaselOne 17
Infrastructure as Code - BaselOne 17Infrastructure as Code - BaselOne 17
Infrastructure as Code - BaselOne 17remigius-stalder
 
Synology DSM 6.0 - Features und Erfahrungsbericht
Synology DSM 6.0 - Features und ErfahrungsberichtSynology DSM 6.0 - Features und Erfahrungsbericht
Synology DSM 6.0 - Features und ErfahrungsberichtThomas-Krenn.AG
 
Der Datenbank-Backup ist gemacht - was nun?
Der Datenbank-Backup ist gemacht - was nun?Der Datenbank-Backup ist gemacht - was nun?
Der Datenbank-Backup ist gemacht - was nun?FromDual GmbH
 
Web460 ppt-de-jul-wi-web-all-2020
Web460 ppt-de-jul-wi-web-all-2020Web460 ppt-de-jul-wi-web-all-2020
Web460 ppt-de-jul-wi-web-all-2020HansruediDbeli1
 
Dockerbank II - 03 - Szenarien des Routinebetriebs (aktualisiert).pdf
Dockerbank II - 03 - Szenarien des Routinebetriebs (aktualisiert).pdfDockerbank II - 03 - Szenarien des Routinebetriebs (aktualisiert).pdf
Dockerbank II - 03 - Szenarien des Routinebetriebs (aktualisiert).pdfSyahri Ramadhan
 
USPs (Alleinstellungsmerkmale) zum Company-Messenger
USPs (Alleinstellungsmerkmale) zum Company-MessengerUSPs (Alleinstellungsmerkmale) zum Company-Messenger
USPs (Alleinstellungsmerkmale) zum Company-MessengerThomas Teufel
 
Compact, Compress, De-DUplicate
Compact, Compress, De-DUplicateCompact, Compress, De-DUplicate
Compact, Compress, De-DUplicateUlrich Krause
 

Similar a WordPress Professional II (20)

Meine ersten 12 Monate als Plugin-Entwickler für WordPress - WP Camp 2012 Berlin
Meine ersten 12 Monate als Plugin-Entwickler für WordPress - WP Camp 2012 BerlinMeine ersten 12 Monate als Plugin-Entwickler für WordPress - WP Camp 2012 Berlin
Meine ersten 12 Monate als Plugin-Entwickler für WordPress - WP Camp 2012 Berlin
 
Tag Manager Professional
Tag Manager ProfessionalTag Manager Professional
Tag Manager Professional
 
WordPress CMS - WebMontag Chemnitz Oktober 2011
WordPress CMS - WebMontag Chemnitz Oktober 2011WordPress CMS - WebMontag Chemnitz Oktober 2011
WordPress CMS - WebMontag Chemnitz Oktober 2011
 
Bestehende WordPress-Seiten auf Multisite migrieren
Bestehende WordPress-Seiten auf Multisite migrierenBestehende WordPress-Seiten auf Multisite migrieren
Bestehende WordPress-Seiten auf Multisite migrieren
 
Word Press Als Blog Und Cms O
Word Press Als Blog Und Cms OWord Press Als Blog Und Cms O
Word Press Als Blog Und Cms O
 
Einführung in Docker
Einführung in DockerEinführung in Docker
Einführung in Docker
 
WordPress sicherer machen - Basics
WordPress sicherer machen - BasicsWordPress sicherer machen - Basics
WordPress sicherer machen - Basics
 
Vagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und ArchitektenVagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und Architekten
 
Cloud Provisioning mit Juju
Cloud Provisioning mit JujuCloud Provisioning mit Juju
Cloud Provisioning mit Juju
 
WordPress vs. TYPO3
WordPress vs. TYPO3WordPress vs. TYPO3
WordPress vs. TYPO3
 
Sicherheit von Webanwendungen
Sicherheit von WebanwendungenSicherheit von Webanwendungen
Sicherheit von Webanwendungen
 
Ausrollen von Multi-Tier-Applikationen mit Docker
Ausrollen von Multi-Tier-Applikationen mit DockerAusrollen von Multi-Tier-Applikationen mit Docker
Ausrollen von Multi-Tier-Applikationen mit Docker
 
Secure Linux Administration Conference 2006: Linux Disaster Recovery mit ReaR...
Secure Linux Administration Conference 2006: Linux Disaster Recovery mit ReaR...Secure Linux Administration Conference 2006: Linux Disaster Recovery mit ReaR...
Secure Linux Administration Conference 2006: Linux Disaster Recovery mit ReaR...
 
Infrastructure as Code - BaselOne 17
Infrastructure as Code - BaselOne 17Infrastructure as Code - BaselOne 17
Infrastructure as Code - BaselOne 17
 
Synology DSM 6.0 - Features und Erfahrungsbericht
Synology DSM 6.0 - Features und ErfahrungsberichtSynology DSM 6.0 - Features und Erfahrungsbericht
Synology DSM 6.0 - Features und Erfahrungsbericht
 
Der Datenbank-Backup ist gemacht - was nun?
Der Datenbank-Backup ist gemacht - was nun?Der Datenbank-Backup ist gemacht - was nun?
Der Datenbank-Backup ist gemacht - was nun?
 
Web460 ppt-de-jul-wi-web-all-2020
Web460 ppt-de-jul-wi-web-all-2020Web460 ppt-de-jul-wi-web-all-2020
Web460 ppt-de-jul-wi-web-all-2020
 
Dockerbank II - 03 - Szenarien des Routinebetriebs (aktualisiert).pdf
Dockerbank II - 03 - Szenarien des Routinebetriebs (aktualisiert).pdfDockerbank II - 03 - Szenarien des Routinebetriebs (aktualisiert).pdf
Dockerbank II - 03 - Szenarien des Routinebetriebs (aktualisiert).pdf
 
USPs (Alleinstellungsmerkmale) zum Company-Messenger
USPs (Alleinstellungsmerkmale) zum Company-MessengerUSPs (Alleinstellungsmerkmale) zum Company-Messenger
USPs (Alleinstellungsmerkmale) zum Company-Messenger
 
Compact, Compress, De-DUplicate
Compact, Compress, De-DUplicateCompact, Compress, De-DUplicate
Compact, Compress, De-DUplicate
 

WordPress Professional II

  • 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
  • 4. 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
  • 6. 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
  • 7. 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
  • 8. WORDPRESS SECURITY: AKTUELLE LAGE RANSOMWARE BEFÄLLT AUCH WEBSERVER
  • 9. 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
  • 11. 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
  • 12. 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
  • 13. 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
  • 14. 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)
  • 15. 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 {} ;
  • 16. 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
  • 17. 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
  • 19. 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>
  • 20. 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>
  • 21. 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>
  • 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!
  • 24. 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
  • 26. VORTRAG 2015: WORDPRESS PROFESSIONAL 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
  • 30. THEME UNIT TESTS WORDPRESS ENVIRONMENT – 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: 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
  • 35. 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
  • 37. 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
  • 38. WORDPRESS ENVIRONMENT: CUSTOM POST TYPE BILDUNG-FUER-FLUECHTLINGE.DE: BACKEND ▸ Auswahl ▸ Textfeld ▸ Bild-Upload
 
 
 
 
 ▸ Standort (Google Maps)
  • 39. WORDPRESS ENVIRONMENT: CUSTOM POST TYPE BILDUNG-FUER-FLUECHTLINGE.DE: FRONTEND ▸ Kontaktdaten
 ▸ Standort (Google Maps)
  • 40. 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
  • 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: 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
  • 47. WORDPRESS PROFESSIONAL II DANKE FÜR DIE AUFMERKSAMKEIT ▸ Sebastian Blum
 sb@sblum.de ▸ Präsentation auf unserer Webseite
 lj https://www.sblum.de/seocampixx