WordPress + Docker - Reusable WordPress development environments
Mehr Performance für WordPress - Walter...
Transcript of Mehr Performance für WordPress - Walter...
![Page 1: Mehr Performance für WordPress - Walter Ebertwalterebert.com/files/wpfra-wordpress-web-performance.pdfPerformance-Budget Zum Beispiel • Antwortzeit < 0,4 S. • Start Browserrendering](https://reader034.fdocuments.in/reader034/viewer/2022042300/5ecab4eeab8f606ab60d9599/html5/thumbnails/1.jpg)
Mehr Performance für WordPress
Walter Ebert
http://wpmeetup-frankfurt.de/
![Page 2: Mehr Performance für WordPress - Walter Ebertwalterebert.com/files/wpfra-wordpress-web-performance.pdfPerformance-Budget Zum Beispiel • Antwortzeit < 0,4 S. • Start Browserrendering](https://reader034.fdocuments.in/reader034/viewer/2022042300/5ecab4eeab8f606ab60d9599/html5/thumbnails/2.jpg)
https://www.flickr.com/photos/usnavy/6083504722/https://www.flickr.com/photos/usnavy/6083504722/
![Page 3: Mehr Performance für WordPress - Walter Ebertwalterebert.com/files/wpfra-wordpress-web-performance.pdfPerformance-Budget Zum Beispiel • Antwortzeit < 0,4 S. • Start Browserrendering](https://reader034.fdocuments.in/reader034/viewer/2022042300/5ecab4eeab8f606ab60d9599/html5/thumbnails/3.jpg)
https://developers.google.com/speed/pagespeed/insights/https://developers.google.com/speed/pagespeed/insights/
![Page 4: Mehr Performance für WordPress - Walter Ebertwalterebert.com/files/wpfra-wordpress-web-performance.pdfPerformance-Budget Zum Beispiel • Antwortzeit < 0,4 S. • Start Browserrendering](https://reader034.fdocuments.in/reader034/viewer/2022042300/5ecab4eeab8f606ab60d9599/html5/thumbnails/4.jpg)
![Page 5: Mehr Performance für WordPress - Walter Ebertwalterebert.com/files/wpfra-wordpress-web-performance.pdfPerformance-Budget Zum Beispiel • Antwortzeit < 0,4 S. • Start Browserrendering](https://reader034.fdocuments.in/reader034/viewer/2022042300/5ecab4eeab8f606ab60d9599/html5/thumbnails/5.jpg)
https://www.igvita.com/slides/2012/wordpress-performance/#23https://www.igvita.com/slides/2012/wordpress-performance/#23
![Page 9: Mehr Performance für WordPress - Walter Ebertwalterebert.com/files/wpfra-wordpress-web-performance.pdfPerformance-Budget Zum Beispiel • Antwortzeit < 0,4 S. • Start Browserrendering](https://reader034.fdocuments.in/reader034/viewer/2022042300/5ecab4eeab8f606ab60d9599/html5/thumbnails/9.jpg)
![Page 10: Mehr Performance für WordPress - Walter Ebertwalterebert.com/files/wpfra-wordpress-web-performance.pdfPerformance-Budget Zum Beispiel • Antwortzeit < 0,4 S. • Start Browserrendering](https://reader034.fdocuments.in/reader034/viewer/2022042300/5ecab4eeab8f606ab60d9599/html5/thumbnails/10.jpg)
Profiler in Eigenbau
function meins_profiler() {
$profiler = sprintf(
'%d queries in %.3f seconds using %.2fMB memory',
get_num_queries(),
timer_stop( 0, 3 ),
memory_get_peak_usage() / 1024 / 1024
);
echo '<!-- ' . $profiler . ' -->';
}
add_action( 'shutdown', 'meins_profiler' );
![Page 11: Mehr Performance für WordPress - Walter Ebertwalterebert.com/files/wpfra-wordpress-web-performance.pdfPerformance-Budget Zum Beispiel • Antwortzeit < 0,4 S. • Start Browserrendering](https://reader034.fdocuments.in/reader034/viewer/2022042300/5ecab4eeab8f606ab60d9599/html5/thumbnails/11.jpg)
https://wordpress.org/plugins/query-monitor/https://wordpress.org/plugins/query-monitor/
![Page 12: Mehr Performance für WordPress - Walter Ebertwalterebert.com/files/wpfra-wordpress-web-performance.pdfPerformance-Budget Zum Beispiel • Antwortzeit < 0,4 S. • Start Browserrendering](https://reader034.fdocuments.in/reader034/viewer/2022042300/5ecab4eeab8f606ab60d9599/html5/thumbnails/12.jpg)
https://wordpress.org/plugins/developer/https://wordpress.org/plugins/developer/https://wordpress.org/plugins/debug-bar/https://wordpress.org/plugins/debug-bar/
![Page 13: Mehr Performance für WordPress - Walter Ebertwalterebert.com/files/wpfra-wordpress-web-performance.pdfPerformance-Budget Zum Beispiel • Antwortzeit < 0,4 S. • Start Browserrendering](https://reader034.fdocuments.in/reader034/viewer/2022042300/5ecab4eeab8f606ab60d9599/html5/thumbnails/13.jpg)
Performance-BudgetZum Beispiel
• Antwortzeit < 0,4 S.
• Start Browserrendering < 1,0 S.
• Vollständig geladen < 3,0 S.
• Gesamter Seitenumfang < 0,5 MB
http://timkadlec.com/2014/11/performance-budget-metrics/http://timkadlec.com/2014/05/performance-budgeting-with-grunt/http://cognition.happycog.com/article/designing-with-a-performance-budget
![Page 14: Mehr Performance für WordPress - Walter Ebertwalterebert.com/files/wpfra-wordpress-web-performance.pdfPerformance-Budget Zum Beispiel • Antwortzeit < 0,4 S. • Start Browserrendering](https://reader034.fdocuments.in/reader034/viewer/2022042300/5ecab4eeab8f606ab60d9599/html5/thumbnails/14.jpg)
.htaccess<IfModule mod_headers.c> Header set Connection Keep-Alive</IfModule>
![Page 15: Mehr Performance für WordPress - Walter Ebertwalterebert.com/files/wpfra-wordpress-web-performance.pdfPerformance-Budget Zum Beispiel • Antwortzeit < 0,4 S. • Start Browserrendering](https://reader034.fdocuments.in/reader034/viewer/2022042300/5ecab4eeab8f606ab60d9599/html5/thumbnails/15.jpg)
.htaccess<IfModule mod_deflate.c> AddOutputFilterByType DEFLATE application/atom+xml \ application/javascript application/json application/ld+json \ application/rss+xml application/vnd.ms-fontobject \ application/x-font-ttf application/x-web-app-manifest+json \ application/xhtml+xml application/xml font/opentype \ image/svg+xml image/x-icon \ text/css text/html text/plain text/vtt text/x-component text/xml</IfModule>
![Page 16: Mehr Performance für WordPress - Walter Ebertwalterebert.com/files/wpfra-wordpress-web-performance.pdfPerformance-Budget Zum Beispiel • Antwortzeit < 0,4 S. • Start Browserrendering](https://reader034.fdocuments.in/reader034/viewer/2022042300/5ecab4eeab8f606ab60d9599/html5/thumbnails/16.jpg)
.htaccess<IfModule mod_expires.c> ExpiresActive on ExpiresDefault "access plus 1 week" ExpiresByType text/css "access plus 1 year" ExpiresByType application/json "access plus 0 seconds" ExpiresByType application/ld+json "access plus 0 seconds" ExpiresByType application/xml "access plus 0 seconds" ExpiresByType text/xml "access plus 0 seconds" ExpiresByType image/x-icon "access plus 1 week" ExpiresByType text/x-component "access plus 1 month" ExpiresByType text/html "access plus 0 seconds" ExpiresByType application/javascript "access plus 1 year" ExpiresByType application/x-web-app-manifest+json "access plus 0 seconds" ExpiresByType text/cache-manifest "access plus 0 seconds" ExpiresByType audio/ogg "access plus 1 month" ExpiresByType image/gif "access plus 1 month" ExpiresByType image/jpeg "access plus 1 month" ExpiresByType image/png "access plus 1 month" ExpiresByType video/mp4 "access plus 1 month" ExpiresByType video/ogg "access plus 1 month" ExpiresByType video/webm "access plus 1 month" ExpiresByType application/atom+xml "access plus 1 hour" ExpiresByType application/rss+xml "access plus 1 hour" ExpiresByType application/font-woff "access plus 1 month" ExpiresByType application/vnd.ms-fontobject "access plus 1 month" ExpiresByType application/x-font-ttf "access plus 1 month" ExpiresByType font/opentype "access plus 1 month" ExpiresByType image/svg+xml "access plus 1 month"</IfModule>
![Page 18: Mehr Performance für WordPress - Walter Ebertwalterebert.com/files/wpfra-wordpress-web-performance.pdfPerformance-Budget Zum Beispiel • Antwortzeit < 0,4 S. • Start Browserrendering](https://reader034.fdocuments.in/reader034/viewer/2022042300/5ecab4eeab8f606ab60d9599/html5/thumbnails/18.jpg)
DatenbankMyISAM InnoDB→ALTER TABLE `wp_options` ENGINE = InnoDB;
/etc/my.cnf[mysqld]query_cache_size = 0query_cache_type = 0innodb_buffer_pool_size = 512M
![Page 19: Mehr Performance für WordPress - Walter Ebertwalterebert.com/files/wpfra-wordpress-web-performance.pdfPerformance-Budget Zum Beispiel • Antwortzeit < 0,4 S. • Start Browserrendering](https://reader034.fdocuments.in/reader034/viewer/2022042300/5ecab4eeab8f606ab60d9599/html5/thumbnails/19.jpg)
Caching-Plugins
http://codex.wordpress.org/Theme_Unit_Test
Fullpage file caching , Linux, Apache 2.4.6, PHP 5.6.7, MariaDB 15.1ab -n 100 -c 3 http://localhost/ab -n 100 -c 3 http://localhost/template-sticky/ab -n 100 -c 3 http://localhost/sample-page/
Startseite Post Page
Ohne 598 419 466
W3 Total Cache 23 1 1
WP Supercache 15 1 1
Cachify 737 1 1Median Antwortzeiten (ms)
![Page 20: Mehr Performance für WordPress - Walter Ebertwalterebert.com/files/wpfra-wordpress-web-performance.pdfPerformance-Budget Zum Beispiel • Antwortzeit < 0,4 S. • Start Browserrendering](https://reader034.fdocuments.in/reader034/viewer/2022042300/5ecab4eeab8f606ab60d9599/html5/thumbnails/20.jpg)
https://wordpress.org/plugins/cache-buddy/https://wordpress.org/plugins/cache-buddy/http://de.slideshare.net/markjaquith/cache-money-businesshttp://de.slideshare.net/markjaquith/cache-money-business
![Page 22: Mehr Performance für WordPress - Walter Ebertwalterebert.com/files/wpfra-wordpress-web-performance.pdfPerformance-Budget Zum Beispiel • Antwortzeit < 0,4 S. • Start Browserrendering](https://reader034.fdocuments.in/reader034/viewer/2022042300/5ecab4eeab8f606ab60d9599/html5/thumbnails/22.jpg)
http://httparchive.org/http://httparchive.org/
März 2012 1,0 MBMärz 2015 2,0 MB
![Page 23: Mehr Performance für WordPress - Walter Ebertwalterebert.com/files/wpfra-wordpress-web-performance.pdfPerformance-Budget Zum Beispiel • Antwortzeit < 0,4 S. • Start Browserrendering](https://reader034.fdocuments.in/reader034/viewer/2022042300/5ecab4eeab8f606ab60d9599/html5/thumbnails/23.jpg)
https://imageoptim.com/https://imageoptim.com/https://github.com/JamieMason/ImageOptim-CLIhttps://github.com/JamieMason/ImageOptim-CLI
![Page 26: Mehr Performance für WordPress - Walter Ebertwalterebert.com/files/wpfra-wordpress-web-performance.pdfPerformance-Budget Zum Beispiel • Antwortzeit < 0,4 S. • Start Browserrendering](https://reader034.fdocuments.in/reader034/viewer/2022042300/5ecab4eeab8f606ab60d9599/html5/thumbnails/26.jpg)
https://wordpress.org/plugins/ewww-image-optimizer/https://wordpress.org/plugins/ewww-image-optimizer/
![Page 28: Mehr Performance für WordPress - Walter Ebertwalterebert.com/files/wpfra-wordpress-web-performance.pdfPerformance-Budget Zum Beispiel • Antwortzeit < 0,4 S. • Start Browserrendering](https://reader034.fdocuments.in/reader034/viewer/2022042300/5ecab4eeab8f606ab60d9599/html5/thumbnails/28.jpg)
https://wordpress.org/plugins/imsanity/https://wordpress.org/plugins/imsanity/
![Page 29: Mehr Performance für WordPress - Walter Ebertwalterebert.com/files/wpfra-wordpress-web-performance.pdfPerformance-Budget Zum Beispiel • Antwortzeit < 0,4 S. • Start Browserrendering](https://reader034.fdocuments.in/reader034/viewer/2022042300/5ecab4eeab8f606ab60d9599/html5/thumbnails/29.jpg)
https://wordpress.org/plugins/ricg-responsive-images/https://wordpress.org/plugins/ricg-responsive-images/
![Page 30: Mehr Performance für WordPress - Walter Ebertwalterebert.com/files/wpfra-wordpress-web-performance.pdfPerformance-Budget Zum Beispiel • Antwortzeit < 0,4 S. • Start Browserrendering](https://reader034.fdocuments.in/reader034/viewer/2022042300/5ecab4eeab8f606ab60d9599/html5/thumbnails/30.jpg)
https://wordpress.org/plugins/bj-lazy-load/https://wordpress.org/plugins/bj-lazy-load/
![Page 31: Mehr Performance für WordPress - Walter Ebertwalterebert.com/files/wpfra-wordpress-web-performance.pdfPerformance-Budget Zum Beispiel • Antwortzeit < 0,4 S. • Start Browserrendering](https://reader034.fdocuments.in/reader034/viewer/2022042300/5ecab4eeab8f606ab60d9599/html5/thumbnails/31.jpg)
Child-Themesstyle.css/*Theme Name: MeinsTemplate: twentyfifteen*/@import url( "../twentyfifteen/style.css" );
functions.phpfunction meins_wp_enqueue_scripts() { wp_enqueue_style('parent', get_template_directory_uri() . '/style.css'); wp_enqueue_style( 'child', get_stylesheet_directory_uri() . '/style.css', array( 'parent' ) );}add_action( 'wp_enqueue_scripts', 'meins_wp_enqueue_scripts' );
https://codex.wordpress.org/Child_Themeshttp://www.stevesouders.com/blog/2009/04/09/dont-use-import/
![Page 32: Mehr Performance für WordPress - Walter Ebertwalterebert.com/files/wpfra-wordpress-web-performance.pdfPerformance-Budget Zum Beispiel • Antwortzeit < 0,4 S. • Start Browserrendering](https://reader034.fdocuments.in/reader034/viewer/2022042300/5ecab4eeab8f606ab60d9599/html5/thumbnails/32.jpg)
Konditionelles Ladenfunction meins_enqueue_scripts() { if ( is_front_page() ) { wp_enqueue_style( 'homepage', get_stylesheet_uri() . '/home.css ); wp_enqueue_script( 'masonry' ); }}add_action( 'wp_enqueue_scripts', 'meins_enqueue_scripts' );
http://codex.wordpress.org/Conditional_Tagshttps://codex.wordpress.org/Function_Reference/wp_enqueue_script#Default_Scripts_Included_and_Registered_by_WordPress
Oder andere Conditional Tags:is_home(), is_page(), is_single(), is_archive(), usw.
![Page 33: Mehr Performance für WordPress - Walter Ebertwalterebert.com/files/wpfra-wordpress-web-performance.pdfPerformance-Budget Zum Beispiel • Antwortzeit < 0,4 S. • Start Browserrendering](https://reader034.fdocuments.in/reader034/viewer/2022042300/5ecab4eeab8f606ab60d9599/html5/thumbnails/33.jpg)
Hooks entfernenfunction meins_remove_scripts() { if ( ! is_page_template( 'events.php' ) ) { remove_action( 'wp_enqueue_scripts', array( 'EM_Scripts_and_Styles', 'public_enqueue' ) ); }}add_action( 'wp_enqueue_scripts', 'meins_remove_scripts', 9 );
http://codex.wordpress.org/Function_Reference/remove_action
-14 HTTP Requests-220 KB-2 MySQL Queries
![Page 34: Mehr Performance für WordPress - Walter Ebertwalterebert.com/files/wpfra-wordpress-web-performance.pdfPerformance-Budget Zum Beispiel • Antwortzeit < 0,4 S. • Start Browserrendering](https://reader034.fdocuments.in/reader034/viewer/2022042300/5ecab4eeab8f606ab60d9599/html5/thumbnails/34.jpg)
Javascript + CSS• Dateien minifizieren
• Dateien kombinieren
Plugins
• Autoptimize
• W3 Total Cache
![Page 35: Mehr Performance für WordPress - Walter Ebertwalterebert.com/files/wpfra-wordpress-web-performance.pdfPerformance-Budget Zum Beispiel • Antwortzeit < 0,4 S. • Start Browserrendering](https://reader034.fdocuments.in/reader034/viewer/2022042300/5ecab4eeab8f606ab60d9599/html5/thumbnails/35.jpg)
Javascript + CSS
JS-Bibliotheken
http://microjs.com/
CSS-Frameworks
Pure 17 KB vs. Bootstrap 115 KB
![Page 36: Mehr Performance für WordPress - Walter Ebertwalterebert.com/files/wpfra-wordpress-web-performance.pdfPerformance-Budget Zum Beispiel • Antwortzeit < 0,4 S. • Start Browserrendering](https://reader034.fdocuments.in/reader034/viewer/2022042300/5ecab4eeab8f606ab60d9599/html5/thumbnails/36.jpg)
Responsive Design + Server Side Components (RESS)
if ( wp_is_mobile() ) {
// z.B. keine Werbung
} else {
// Kohle schäffeln
}
http://www.lukew.com/ff/entry.asp?1392https://codex.wordpress.org/Function_Reference/wp_is_mobile
Nicht in Kombination mit Fullpage-Caching nutzen
![Page 37: Mehr Performance für WordPress - Walter Ebertwalterebert.com/files/wpfra-wordpress-web-performance.pdfPerformance-Budget Zum Beispiel • Antwortzeit < 0,4 S. • Start Browserrendering](https://reader034.fdocuments.in/reader034/viewer/2022042300/5ecab4eeab8f606ab60d9599/html5/thumbnails/37.jpg)
Caching-Funktionen
wp_cache_set( 'meine_daten', $data );
$daten = wp_cache_get( 'meine_daten' );
set_transient( 'meine_daten', $data );
$daten = get_transient( 'meine_daten' );
https://codex.wordpress.org/Class_Reference/WP_Object_Cachehttps://codex.wordpress.org/Transients_API
![Page 38: Mehr Performance für WordPress - Walter Ebertwalterebert.com/files/wpfra-wordpress-web-performance.pdfPerformance-Budget Zum Beispiel • Antwortzeit < 0,4 S. • Start Browserrendering](https://reader034.fdocuments.in/reader034/viewer/2022042300/5ecab4eeab8f606ab60d9599/html5/thumbnails/38.jpg)
Cronfunction meins_update_function() {
$data = wp_remote_get( 'http://example.com/data.json' );
if ( $data ) set_transient( 'meine_daten', $data['body'] );
}
add_action( 'meins_update_hook', 'meins_update_function' );
function meins_cronjobs() {
if ( ! wp_next_scheduled( 'meins_update_hook' ) ) {
wp_schedule_event( time(), 'hourly', 'meins_update_hook' );
}
}
add_action( 'wp', 'meins_cronjobs');
https://codex.wordpress.org/Function_Reference/wp_schedule_event
![Page 39: Mehr Performance für WordPress - Walter Ebertwalterebert.com/files/wpfra-wordpress-web-performance.pdfPerformance-Budget Zum Beispiel • Antwortzeit < 0,4 S. • Start Browserrendering](https://reader034.fdocuments.in/reader034/viewer/2022042300/5ecab4eeab8f606ab60d9599/html5/thumbnails/39.jpg)
Critical Rendering Path
![Page 40: Mehr Performance für WordPress - Walter Ebertwalterebert.com/files/wpfra-wordpress-web-performance.pdfPerformance-Budget Zum Beispiel • Antwortzeit < 0,4 S. • Start Browserrendering](https://reader034.fdocuments.in/reader034/viewer/2022042300/5ecab4eeab8f606ab60d9599/html5/thumbnails/40.jpg)
Critical Rendering Path a.k.a.
Above the Fold Content
![Page 41: Mehr Performance für WordPress - Walter Ebertwalterebert.com/files/wpfra-wordpress-web-performance.pdfPerformance-Budget Zum Beispiel • Antwortzeit < 0,4 S. • Start Browserrendering](https://reader034.fdocuments.in/reader034/viewer/2022042300/5ecab4eeab8f606ab60d9599/html5/thumbnails/41.jpg)
Critical Rendering Path a.k.a.
Above the Fold Contenta.k.a.
100/100 Punkte
https://developers.google.com/web/fundamentals/performance/critical-rendering-path/?hl=dehttps://developers.google.com/speed/docs/insights/about?hl=de
![Page 42: Mehr Performance für WordPress - Walter Ebertwalterebert.com/files/wpfra-wordpress-web-performance.pdfPerformance-Budget Zum Beispiel • Antwortzeit < 0,4 S. • Start Browserrendering](https://reader034.fdocuments.in/reader034/viewer/2022042300/5ecab4eeab8f606ab60d9599/html5/thumbnails/42.jpg)
Javascript im Footer ladenfunction meins_scripts() {
wp_enqueue_script(
'script-name',
get_template_directory_uri() . '/js/beispiel.js',
array(),
'1.0.0',
true
);
}
add_action( 'wp_enqueue_scripts', 'meins_scripts' );
https://codex.wordpress.org/Function_Reference/wp_enqueue_script
![Page 43: Mehr Performance für WordPress - Walter Ebertwalterebert.com/files/wpfra-wordpress-web-performance.pdfPerformance-Budget Zum Beispiel • Antwortzeit < 0,4 S. • Start Browserrendering](https://reader034.fdocuments.in/reader034/viewer/2022042300/5ecab4eeab8f606ab60d9599/html5/thumbnails/43.jpg)
jQuery im Footer ladenfunction meins_wp_enqueue_scripts(){ if ( ! is_user_logged_in() ) { wp_dequeue_script( 'jquery-core' ); wp_enqueue_script( 'jquery-core', includes_url( '/js/jquery/jquery.js' ), array(), '', true ); }}
add_action( 'wp_enqueue_scripts', 'meins_wp_enqueue_scripts' );
![Page 44: Mehr Performance für WordPress - Walter Ebertwalterebert.com/files/wpfra-wordpress-web-performance.pdfPerformance-Budget Zum Beispiel • Antwortzeit < 0,4 S. • Start Browserrendering](https://reader034.fdocuments.in/reader034/viewer/2022042300/5ecab4eeab8f606ab60d9599/html5/thumbnails/44.jpg)
Javascript asynchron ladenfunction meins_async_scripts() {
?>
<script
src="<?php echo get_template_directory_uri(); ?>/js/beispiel.js"
async
defer></script>
<?php
}
add_action( 'wp_head', 'meins_async_scripts' );
Nur für Skripte die keine Abhängigkeiten haben
https://www.igvita.com/2014/05/20/script-injected-async-scripts-considered-harmful/
![Page 45: Mehr Performance für WordPress - Walter Ebertwalterebert.com/files/wpfra-wordpress-web-performance.pdfPerformance-Budget Zum Beispiel • Antwortzeit < 0,4 S. • Start Browserrendering](https://reader034.fdocuments.in/reader034/viewer/2022042300/5ecab4eeab8f606ab60d9599/html5/thumbnails/45.jpg)
Critical CSSfunction meins_critical_css() { echo '<style>' . file_get_contents( __DIR__ . DIRECTORY_SEPARATOR . 'critical.css' ) . '</style>';}add_action( 'wp_head', 'meins_critical_css' );
function meins_full_css() { echo '<link rel="stylesheet" type="text/css" href="' . get_stylesheet_directory_uri() . '/style.css">';}add_action( 'wp_footer', 'meins_full_css', 1 );
![Page 46: Mehr Performance für WordPress - Walter Ebertwalterebert.com/files/wpfra-wordpress-web-performance.pdfPerformance-Budget Zum Beispiel • Antwortzeit < 0,4 S. • Start Browserrendering](https://reader034.fdocuments.in/reader034/viewer/2022042300/5ecab4eeab8f606ab60d9599/html5/thumbnails/46.jpg)
https://github.com/pocketjoso/penthousehttps://github.com/pocketjoso/penthouse
![Page 47: Mehr Performance für WordPress - Walter Ebertwalterebert.com/files/wpfra-wordpress-web-performance.pdfPerformance-Budget Zum Beispiel • Antwortzeit < 0,4 S. • Start Browserrendering](https://reader034.fdocuments.in/reader034/viewer/2022042300/5ecab4eeab8f606ab60d9599/html5/thumbnails/47.jpg)
http://jonassebastianohlsson.com/criticalpathcssgenerator/http://jonassebastianohlsson.com/criticalpathcssgenerator/
![Page 48: Mehr Performance für WordPress - Walter Ebertwalterebert.com/files/wpfra-wordpress-web-performance.pdfPerformance-Budget Zum Beispiel • Antwortzeit < 0,4 S. • Start Browserrendering](https://reader034.fdocuments.in/reader034/viewer/2022042300/5ecab4eeab8f606ab60d9599/html5/thumbnails/48.jpg)
https://wordpress.org/plugins/async-js-and-css/https://wordpress.org/plugins/async-js-and-css/
![Page 49: Mehr Performance für WordPress - Walter Ebertwalterebert.com/files/wpfra-wordpress-web-performance.pdfPerformance-Budget Zum Beispiel • Antwortzeit < 0,4 S. • Start Browserrendering](https://reader034.fdocuments.in/reader034/viewer/2022042300/5ecab4eeab8f606ab60d9599/html5/thumbnails/49.jpg)
Grunt• grunt-contrib-uglify
• grunt-contrib-cssmin
• grunt-penthouse
• grunt-criticalcss
• grunt-contrib-imagemin
• grunt-imageoptim
• grunt-perfbudget
• grunt-uncss
http://gruntjs.com/
![Page 50: Mehr Performance für WordPress - Walter Ebertwalterebert.com/files/wpfra-wordpress-web-performance.pdfPerformance-Budget Zum Beispiel • Antwortzeit < 0,4 S. • Start Browserrendering](https://reader034.fdocuments.in/reader034/viewer/2022042300/5ecab4eeab8f606ab60d9599/html5/thumbnails/50.jpg)
https://developers.google.com/speed/pagespeed/modulehttps://developers.google.com/speed/pagespeed/modulehttp://kau-boys.de/1925/wordpress/meine-session-beim-wp-camp-berlin-2013-perfohttp://kau-boys.de/1925/wordpress/meine-session-beim-wp-camp-berlin-2013-performance-optimierung-mit-mod_pagespeedrmance-optimierung-mit-mod_pagespeedhttp://www.wpmayor.com/can-mod_pagespeed-improve-page-load-speed/http://www.wpmayor.com/can-mod_pagespeed-improve-page-load-speed/
![Page 51: Mehr Performance für WordPress - Walter Ebertwalterebert.com/files/wpfra-wordpress-web-performance.pdfPerformance-Budget Zum Beispiel • Antwortzeit < 0,4 S. • Start Browserrendering](https://reader034.fdocuments.in/reader034/viewer/2022042300/5ecab4eeab8f606ab60d9599/html5/thumbnails/51.jpg)
SPDY / HTTP 2.0Best Practices
• Viele kleine Dateien
• Eine Domain
Worst Practices
• JS kombinieren
• CSS kombinieren
• CSS-Sprites
• Iconfonts
http://caniuse.com/spdy
![Page 52: Mehr Performance für WordPress - Walter Ebertwalterebert.com/files/wpfra-wordpress-web-performance.pdfPerformance-Budget Zum Beispiel • Antwortzeit < 0,4 S. • Start Browserrendering](https://reader034.fdocuments.in/reader034/viewer/2022042300/5ecab4eeab8f606ab60d9599/html5/thumbnails/52.jpg)
http://www.smashingmagazine.com/2014/09/08/improving-smashing-magazine-performance-case-study/http://www.smashingmagazine.com/2014/09/08/improving-smashing-magazine-performance-case-study/
![Page 53: Mehr Performance für WordPress - Walter Ebertwalterebert.com/files/wpfra-wordpress-web-performance.pdfPerformance-Budget Zum Beispiel • Antwortzeit < 0,4 S. • Start Browserrendering](https://reader034.fdocuments.in/reader034/viewer/2022042300/5ecab4eeab8f606ab60d9599/html5/thumbnails/53.jpg)
Walter Ebert
@wltrd
walterebert.de
slideshare.net/walterebert