SlideShare 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 pilnować tego
burdelu?
New Relic - Monitoring
New Relic - Monitoring
New Relic - Monitoring
New Relic - Monitoring
Dziękuję.
Dziękuję.
rafalosinski.com
hello@rafalosinski.com
facebook.com/osinski.rafal
twitter.com/osinskirafal

More Related Content

Viewers also liked

Content is King & linking is Queen. Królewskie reguły SEO w WordPressie
Content is King & linking is Queen. Królewskie reguły SEO w WordPressieContent is King & linking is Queen. Królewskie reguły SEO w WordPressie
Content is King & linking is Queen. Królewskie reguły SEO w WordPressie
Tomasz Kołkiewicz
 
Permanentna inwigilacja. Podstawy analityki w WordPressie
Permanentna inwigilacja. Podstawy analityki w WordPressiePermanentna inwigilacja. Podstawy analityki w WordPressie
Permanentna inwigilacja. Podstawy analityki w WordPressie
Tomasz Kołkiewicz
 
SEO w WordPressie. Słowa kluczowe - relikt, czy mus?
SEO w WordPressie. Słowa kluczowe - relikt, czy mus?SEO w WordPressie. Słowa kluczowe - relikt, czy mus?
SEO w WordPressie. Słowa kluczowe - relikt, czy mus?
Tomasz Kołkiewicz
 
Jak wkurzyć użytkownika
Jak wkurzyć użytkownikaJak wkurzyć użytkownika
Jak wkurzyć użytkownika
Bartosz Romanowski
 
Unikaj falstartów - o czym warto pamiętać przed uruchomieniem nowego bloga
Unikaj falstartów - o czym warto pamiętać przed uruchomieniem nowego blogaUnikaj falstartów - o czym warto pamiętać przed uruchomieniem nowego bloga
Unikaj falstartów - o czym warto pamiętać przed uruchomieniem nowego bloga
Bartosz Romanowski
 
Pozycjonowanie na pasożyta
Pozycjonowanie na pasożytaPozycjonowanie na pasożyta
Pozycjonowanie na pasożyta
Tomasz Wieliczko
 
Taksonomie. Stosujesz - zyskujesz!
Taksonomie. Stosujesz - zyskujesz!Taksonomie. Stosujesz - zyskujesz!
Taksonomie. Stosujesz - zyskujesz!
Tomasz Kołkiewicz
 

Viewers also liked (7)

Content is King & linking is Queen. Królewskie reguły SEO w WordPressie
Content is King & linking is Queen. Królewskie reguły SEO w WordPressieContent is King & linking is Queen. Królewskie reguły SEO w WordPressie
Content is King & linking is Queen. Królewskie reguły SEO w WordPressie
 
Permanentna inwigilacja. Podstawy analityki w WordPressie
Permanentna inwigilacja. Podstawy analityki w WordPressiePermanentna inwigilacja. Podstawy analityki w WordPressie
Permanentna inwigilacja. Podstawy analityki w WordPressie
 
SEO w WordPressie. Słowa kluczowe - relikt, czy mus?
SEO w WordPressie. Słowa kluczowe - relikt, czy mus?SEO w WordPressie. Słowa kluczowe - relikt, czy mus?
SEO w WordPressie. Słowa kluczowe - relikt, czy mus?
 
Jak wkurzyć użytkownika
Jak wkurzyć użytkownikaJak wkurzyć użytkownika
Jak wkurzyć użytkownika
 
Unikaj falstartów - o czym warto pamiętać przed uruchomieniem nowego bloga
Unikaj falstartów - o czym warto pamiętać przed uruchomieniem nowego blogaUnikaj falstartów - o czym warto pamiętać przed uruchomieniem nowego bloga
Unikaj falstartów - o czym warto pamiętać przed uruchomieniem nowego bloga
 
Pozycjonowanie na pasożyta
Pozycjonowanie na pasożytaPozycjonowanie na pasożyta
Pozycjonowanie na pasożyta
 
Taksonomie. Stosujesz - zyskujesz!
Taksonomie. Stosujesz - zyskujesz!Taksonomie. Stosujesz - zyskujesz!
Taksonomie. Stosujesz - zyskujesz!
 

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

Motywy dla WordPressa - historia prawdziwa - WordUp Katowice
Motywy dla WordPressa - historia prawdziwa - WordUp KatowiceMotywy dla WordPressa - historia prawdziwa - WordUp Katowice
Motywy dla WordPressa - historia prawdziwa - WordUp Katowice
Tomasz Dziuda
 
WP-API - teoria i praktyka - WordUp Trójmiasto #2
WP-API - teoria i praktyka - WordUp Trójmiasto #2WP-API - teoria i praktyka - WordUp Trójmiasto #2
WP-API - teoria i praktyka - WordUp Trójmiasto #2
Tomasz Dziuda
 
WordPress 4.0 - co nowego dla programistów?
WordPress 4.0 - co nowego dla programistów?WordPress 4.0 - co nowego dla programistów?
WordPress 4.0 - co nowego dla programistów?
Tomasz Dziuda
 
WP-API - teoria i praktyka - WordUp Łódź #4
WP-API - teoria i praktyka - WordUp Łódź #4WP-API - teoria i praktyka - WordUp Łódź #4
WP-API - teoria i praktyka - WordUp Łódź #4
Tomasz Dziuda
 
Motywy Wordpressa Historia Prawdziwa
Motywy Wordpressa Historia PrawdziwaMotywy Wordpressa Historia Prawdziwa
Motywy Wordpressa Historia Prawdziwa
Tomasz Dziuda
 
Motywy dla WordPressa - historia prawdziwa - WordUp Warszawa
Motywy dla WordPressa - historia prawdziwa - WordUp WarszawaMotywy dla WordPressa - historia prawdziwa - WordUp Warszawa
Motywy dla WordPressa - historia prawdziwa - WordUp Warszawa
Tomasz Dziuda
 
REST API - teoria i praktyka - WordUp Trójmiasto
REST API - teoria i praktyka - WordUp TrójmiastoREST API - teoria i praktyka - WordUp Trójmiasto
REST API - teoria i praktyka - WordUp Trójmiasto
Tomasz Dziuda
 
WordUp Kraków - maj 2015
WordUp Kraków - maj 2015WordUp Kraków - maj 2015
WordUp Kraków - maj 2015Tomasz Dziuda
 
Architektura to nie bzdura
Architektura to nie bzduraArchitektura to nie bzdura
Architektura to nie bzdura
Pawel Szulc
 
Word up łódź kwiecień 2015
Word up łódź   kwiecień 2015Word up łódź   kwiecień 2015
Word up łódź kwiecień 2015
Tomasz Dziuda
 
WordPress dla początkujących
WordPress dla początkującychWordPress dla początkujących
WordPress dla początkujących
Katarzyna Javaheri-Szpak
 
WordUp Gdynia - Jak tworzyć motywy przyjazne użytkownikom i programistom
WordUp Gdynia - Jak tworzyć motywy przyjazne użytkownikom i programistomWordUp Gdynia - Jak tworzyć motywy przyjazne użytkownikom i programistom
WordUp Gdynia - Jak tworzyć motywy przyjazne użytkownikom i programistom
Tomasz Dziuda
 
Word up warszawa 2015
Word up warszawa 2015Word up warszawa 2015
Word up warszawa 2015
Tomasz Dziuda
 
Blog Forum Gdańsk 2012 | Jak lepiej skonfigurować Wordpressa
Blog Forum Gdańsk 2012 | Jak lepiej skonfigurować WordpressaBlog Forum Gdańsk 2012 | Jak lepiej skonfigurować Wordpressa
Blog Forum Gdańsk 2012 | Jak lepiej skonfigurować Wordpressa
Blog Forum Gdańsk
 

Similar to Jak stworzyć wielojęzyczny portal z milionem wyświetleń na WordPressie? (14)

Motywy dla WordPressa - historia prawdziwa - WordUp Katowice
Motywy dla WordPressa - historia prawdziwa - WordUp KatowiceMotywy dla WordPressa - historia prawdziwa - WordUp Katowice
Motywy dla WordPressa - historia prawdziwa - WordUp Katowice
 
WP-API - teoria i praktyka - WordUp Trójmiasto #2
WP-API - teoria i praktyka - WordUp Trójmiasto #2WP-API - teoria i praktyka - WordUp Trójmiasto #2
WP-API - teoria i praktyka - WordUp Trójmiasto #2
 
WordPress 4.0 - co nowego dla programistów?
WordPress 4.0 - co nowego dla programistów?WordPress 4.0 - co nowego dla programistów?
WordPress 4.0 - co nowego dla programistów?
 
WP-API - teoria i praktyka - WordUp Łódź #4
WP-API - teoria i praktyka - WordUp Łódź #4WP-API - teoria i praktyka - WordUp Łódź #4
WP-API - teoria i praktyka - WordUp Łódź #4
 
Motywy Wordpressa Historia Prawdziwa
Motywy Wordpressa Historia PrawdziwaMotywy Wordpressa Historia Prawdziwa
Motywy Wordpressa Historia Prawdziwa
 
Motywy dla WordPressa - historia prawdziwa - WordUp Warszawa
Motywy dla WordPressa - historia prawdziwa - WordUp WarszawaMotywy dla WordPressa - historia prawdziwa - WordUp Warszawa
Motywy dla WordPressa - historia prawdziwa - WordUp Warszawa
 
REST API - teoria i praktyka - WordUp Trójmiasto
REST API - teoria i praktyka - WordUp TrójmiastoREST API - teoria i praktyka - WordUp Trójmiasto
REST API - teoria i praktyka - WordUp Trójmiasto
 
WordUp Kraków - maj 2015
WordUp Kraków - maj 2015WordUp Kraków - maj 2015
WordUp Kraków - maj 2015
 
Architektura to nie bzdura
Architektura to nie bzduraArchitektura to nie bzdura
Architektura to nie bzdura
 
Word up łódź kwiecień 2015
Word up łódź   kwiecień 2015Word up łódź   kwiecień 2015
Word up łódź kwiecień 2015
 
WordPress dla początkujących
WordPress dla początkującychWordPress dla początkujących
WordPress dla początkujących
 
WordUp Gdynia - Jak tworzyć motywy przyjazne użytkownikom i programistom
WordUp Gdynia - Jak tworzyć motywy przyjazne użytkownikom i programistomWordUp Gdynia - Jak tworzyć motywy przyjazne użytkownikom i programistom
WordUp Gdynia - Jak tworzyć motywy przyjazne użytkownikom i programistom
 
Word up warszawa 2015
Word up warszawa 2015Word up warszawa 2015
Word up warszawa 2015
 
Blog Forum Gdańsk 2012 | Jak lepiej skonfigurować Wordpressa
Blog Forum Gdańsk 2012 | Jak lepiej skonfigurować WordpressaBlog Forum Gdańsk 2012 | Jak lepiej skonfigurować Wordpressa
Blog Forum Gdańsk 2012 | Jak lepiej skonfigurować Wordpressa
 

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