Jak stworzyć wielojęzyczny portal z milionem wyświetleń na WordPressie?
-
Upload
rafal-osinski -
Category
Software
-
view
874 -
download
0
Transcript of 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
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
• :)
Po co?
• Tańszy serwer
• Szybsze działanie czyli:
• Wzrost użytkowników
• Mniej problemów z serwerem (dłuższy sen)
Cache• WP Object Cache (natywny)
• W3 Total Cache (klasycznie)
• Varnish / APC / XCache / etc (serwer)
• Minifikacja (serwer lub ręcznie)
• CDN
CDN
• Mirrory plików/zdjęć/obrazów
• Obejście blokady pobierania plików przez przeglądarki
• (Jakieś) Zabezpieczenie przed DDOS
<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>
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()
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ć?• 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
Varnish pod WPsub vcl_recv {
# sprawdza po URLu jeszce zanim załadują się # ciastecka
if (!(req.url ~ "wp-(login|admin)")) {
unset req.http.cookie;
}
}
Dziękuję.
rafalosinski.com
facebook.com/osinski.rafal
twitter.com/osinskirafal