ݺߣ

ݺߣShare a Scribd company logo
Jak stworzyć wielojęzyczny
portal z milionem wyświetleń
na WordPressie?
Kim jestem?
• Jestem developerem WordPressa od 3 lat
• Tworzę szablony, strony, wtyczki pod WordPress
• Jestem głównodowodzącym technologicznym
rosyjskojęzycznego portalu informacyjnego
PosetitPolshu.ru
Dlaczego WordPress?
Założenia projektu
Założenia projektu
• Cel: Stworzyć „Onet.pl” za „budżet” ;) 

(dodajcie sobie tutaj całkowicie nieadekwatną sumę)
Założenia projektu
• Cel: Stworzyć „Onet.pl” za „budżet” ;) 

(dodajcie sobie tutaj całkowicie nieadekwatną sumę)
• Czas: 30 dni
Założenia projektu
• Cel: Stworzyć „Onet.pl” za „budżet” ;) 

(dodajcie sobie tutaj całkowicie nieadekwatną sumę)
• Czas: 30 dni
• :)
Założenia projektu
• Cel: Stworzyć „Onet.pl” za „budżet” ;) 

(dodajcie sobie tutaj całkowicie nieadekwatną sumę)
• Czas: 30 dni
• :)
Optymalizacja
Po co?
Po co?
• Tańszy serwer
• Szybsze działanie czyli:
• Wzrost użytkowników
• Mniej problemów z serwerem (dłuższy sen)
Cache
Cache
• WP Object Cache
Cache
• WP Object Cache
• W3 Total Cache (klasycznie)
Cache
• WP Object Cache
• W3 Total Cache (klasycznie)
• Varnish / APC / XCache / etc.
Cache
• WP Object Cache (natywny)
• W3 Total Cache (klasycznie)
• Varnish / APC / XCache / etc (serwer)
• Minifikacja (serwer lub ręcznie)
• CDN
CDN
CDN
• Mirrory plików/zdjęć/obrazów
CDN
• Mirrory plików/zdjęć/obrazów
• Obejście blokady pobierania plików przez
przeglądarki
CDN
• Mirrory plików/zdjęć/obrazów
• Obejście blokady pobierania plików przez
przeglądarki
• (Jakieś) Zabezpieczenie przed DDOS
HTTP Expire Date
<IfModule mod_expires.c>
Header set cache-control: public
ExpiresActive on
ExpiresDefault "access plus 1 month"
ExpiresByType text/html "access plus 1 hour"
ExpiresByType application/rss+xml "access plus 1 hour"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/jpg "access plus 1 month”
ExpiresByType image/x-icon "access plus 1 year"
ExpiresByType font/ttf "access plus 1 year”
</IfModule>
Optymalizacja
wtyczkami lub natywna
WP Object Cache
WP Object Cache
• wp_cache_add( $key, $data, $group, $expire )
WP Object Cache
• wp_cache_add( $key, $data, $group, $expire )
• wp_cache_set( $key, $data, $group, $expire )
WP Object Cache
• wp_cache_add( $key, $data, $group, $expire )
• wp_cache_set( $key, $data, $group, $expire )
• wp_cache_get( $key, $group = '', $force = false,
$found = null )
WP Object Cache
• wp_cache_add( $key, $data, $group, $expire )
• wp_cache_set( $key, $data, $group, $expire )
• wp_cache_get( $key, $group = '', $force = false,
$found = null )
• wp_cache_delete( $key, $group )
WP Object Cache
• wp_cache_add( $key, $data, $group, $expire )
• wp_cache_set( $key, $data, $group, $expire )
• wp_cache_get( $key, $group = '', $force = false,
$found = null )
• wp_cache_delete( $key, $group )
• wp_cache_replace( $key, $data, $group, $expire )
WP Object Cache
• wp_cache_add( $key, $data, $group, $expire )
• wp_cache_set( $key, $data, $group, $expire )
• wp_cache_get( $key, $group = '', $force = false,
$found = null )
• wp_cache_delete( $key, $group )
• wp_cache_replace( $key, $data, $group, $expire )
• wp_cache_flush()
W3 Total Cache
Kombajn, którego nie da się opisać w 30 min
Wtyczki
Rezygnacja z wtyczek.
Natywność pierwsza.
Czemu?
Ponieważ wtyczki, bardzo
często popełniają ten
sam błąd!
Ładowanie
WSZĘDZIE!
add_action( 'admin_init', 'adziner::print_styles' );
add_action( 'admin_enqueue_scripts', 'adziner::print_scripts' );
add_action( 'init', 'adziner::print_widget_styles' );
add_action( 'init', 'adziner::print_widget_scripts');
Czego nie instalować?
Czego nie instalować?
• Broken Link Checker — Nadmierna ilość zapytać
HTTP - blokuje buforowanie
• MyReviewPlugin — Źle napisana wtyczka, za duża
ilość insertów
• Events Manager, LinkMan, Fuzzy SEO Booster, WP
PostViews, Tweet Blender, WP PRO Advertising
System
Optymalizacja
serwerowa
Varnish pod WP
sub vcl_recv {
# sprawdza po URLu jeszce zanim załadują się
# ciastecka
if (!(req.url ~ "wp-(login|admin)")) {
unset req.http.cookie;
}
}
Apache
Jak stworzyć wielojęzyczny portal z milionem wyświetleń na WordPressie?
Jak stworzyć wielojęzyczny portal z milionem wyświetleń na WordPressie?
Jak stworzyć wielojęzyczny portal z milionem wyświetleń na WordPressie?
Jak pilnować tego
burdelu?
New Relic - Monitoring
New Relic - Monitoring
New Relic - Monitoring
New Relic - Monitoring
ٳęę.
ٳęę.
rafalosinski.com
hello@rafalosinski.com
facebook.com/osinski.rafal
twitter.com/osinskirafal

More Related Content

Jak stworzyć wielojęzyczny portal z milionem wyświetleń na WordPressie?