Prezentace z přednášky na meetupu wppivo.cz. Základy webové analytiky, jak dostat GTM do WordPress a jak měřit odesílání formulářů a další základní měření.
Prezentace ze 7. WP konference o ladění výkonu webových aplikací. Optimalizace obrázků, CSS, JS. Vliv PHP a HTTP serveru, cachování. Profilování výkonu s Blackfire.io a debugování s Xdebug.
Základy zabezpečení redakčního systému WordPress - aktualizace, problémy multihostingu, práva a hesla, bezpečnostní plugin WordFence, zálohování.
Prezentace z WordPress konference 25.6.2016.
Přednáška z 4. WP konference - bezpečnost Wordpressu. Aktuální statistiky, základní útoky, skenování wordpressu, iThemes Securtiy, Fail2Ban, Web Application Firewall.
Další info na: http://edu.lynt.cz/course/bezpecnost-wordpressu
Prezentace z přednášky na meetupu wppivo.cz. Základy webové analytiky, jak dostat GTM do WordPress a jak měřit odesílání formulářů a další základní měření.
Prezentace ze 7. WP konference o ladění výkonu webových aplikací. Optimalizace obrázků, CSS, JS. Vliv PHP a HTTP serveru, cachování. Profilování výkonu s Blackfire.io a debugování s Xdebug.
Základy zabezpečení redakčního systému WordPress - aktualizace, problémy multihostingu, práva a hesla, bezpečnostní plugin WordFence, zálohování.
Prezentace z WordPress konference 25.6.2016.
Přednáška z 4. WP konference - bezpečnost Wordpressu. Aktuální statistiky, základní útoky, skenování wordpressu, iThemes Securtiy, Fail2Ban, Web Application Firewall.
Další info na: http://edu.lynt.cz/course/bezpecnost-wordpressu
Slidy z přednášky o bezpečnostni Wordpressu na 3. WP konferenci.
Kdo je útočník, jaké jsou jeho možnosti a jak se mu bránit.
Další materiály se objeví na http://edu.lynt.cz
Spustit web není dnes nic složitého. Zajistit, aby běžel spolehlivě, rychle a bezpečně, může však být oříšek. V přednášce si projdeme nejčastější technické problémy moderních webů z pohledu bezpečnosti, rychlosti i použitelnosti.
Ukážeme si šikovné nástroje, které pomohou problémy odhalit, a nastíníme různé možnosti řešení. Přednáška bude moci sloužit i jako checklist toho, na co byste při provozu webu neměli zapomenout.
WordPress šablony a rychlost načítání (WordCamp Praha 2017)Martin Michálek
Jak si nejprodávanější WordPress šablony stojí s rychlostí frontendu? Zjistil jsem, že to moc testovat nejde a tak kupujete zajíce v pytli. V přednášce tedy dostanete seznam nejčastějších problémů a stručný návod k jejich odstranění.
Slidy z přednášky o bezpečnostni Wordpressu na 3. WP konferenci.
Kdo je útočník, jaké jsou jeho možnosti a jak se mu bránit.
Další materiály se objeví na http://edu.lynt.cz
Spustit web není dnes nic složitého. Zajistit, aby běžel spolehlivě, rychle a bezpečně, může však být oříšek. V přednášce si projdeme nejčastější technické problémy moderních webů z pohledu bezpečnosti, rychlosti i použitelnosti.
Ukážeme si šikovné nástroje, které pomohou problémy odhalit, a nastíníme různé možnosti řešení. Přednáška bude moci sloužit i jako checklist toho, na co byste při provozu webu neměli zapomenout.
WordPress šablony a rychlost načítání (WordCamp Praha 2017)Martin Michálek
Jak si nejprodávanější WordPress šablony stojí s rychlostí frontendu? Zjistil jsem, že to moc testovat nejde a tak kupujete zajíce v pytli. V přednášce tedy dostanete seznam nejčastějších problémů a stručný návod k jejich odstranění.
Wordcamp Praha 2015 - další útržky z prezentaceVladimír Smitka
Další náhled z mé připravované prezentace na Wordcamp Praha. Tyto slidy jsou vlastně takovou osnovou hlavní části přednášky. Jednotlivá témata budeme probírat více či méně podrobně. Vzhledem k tomu, že je přednáška v uživatelské sekci, bude prostor věnován hlavně bezpečnostním pluginům pro Wordpress.
Slidy k přednášce Martina Hlaváče o programátorských frameworcích pro vlastní šablony ve světě WordPressu. PS: zdrojové kódy ukázek jsou veřejně dostupné na: https://github.com/hlavacm/wordcamp-praha-2018
Co je sémantický web a proč bychom se o něj měli jako SEO konzultanti zajímat? A jak s ním souvisí i taková strukturovaná data, o kterých jste možná nikdy neslyšeli? Je to buzzword, nebo budoucnost?
Slides from my speech about web apps performance. Images, CSS, JS optimization. PHP and HTTP server effects + caching. Performance profiling with Blackfire.io, debugging with Xdebug.
Prezentace z praktických školení rozšíření síťových dovedností pro SMB segment - verze roku 2014. Účastníci si mohou stáhnout doplňkové materiály na http://edu.lynt.cz.
4. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba
WP-CLI
• wp-cli doctor (třeba doinstalovat)
• wp-cli profile (třeba doinstalovat)
• wp-cli search-replace
• wp db size --tables
• wp plugin status
• wp db query "SELECT * FROM wp_options"
• wp revisions clean
28. 4. 2018 4
5. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba
WP-CLI doctor
wp doctor list
+----------------------------+--------------------------------------------------------------------------------+
| name | description |
+----------------------------+--------------------------------------------------------------------------------+
| autoload-options-size | Warns when autoloaded options size exceeds threshold of 900 kb. |
| constant-savequeries-falsy | Confirms expected state of the SAVEQUERIES constant. |
| constant-wp-debug-falsy | Confirms expected state of the WP_DEBUG constant. |
| core-update | Errors when new WordPress minor release is available; warns for major release. |
| core-verify-checksums | Verifies WordPress files against published checksums; errors on failure. |
| cron-count | Errors when there's an excess of 50 total cron jobs registered. |
| cron-duplicates | Errors when there's an excess of 10 duplicate cron jobs registered. |
| file-eval | Checks files on the filesystem for regex pattern `eval(.*base64_decode(.*`. |
| option-blog-public | Confirms the expected value of the 'blog_public' option. |
| plugin-active-count | Warns when there are greater than 80 plugins activated. |
| plugin-deactivated | Warns when greater than 40% of plugins are deactivated. |
| plugin-update | Warns when there are plugin updates available. |
| theme-update | Warns when there are theme updates available. |
| cache-flush | Detects the number of occurrences of the `wp_cache_flush()` function. |
| php-in-upload | Warns when a PHP file is present in the Uploads folder. |
| language-update | Warns when there are language updates available. |
+----------------------------+--------------------------------------------------------------------------------+
28. 4. 2018 5
10. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba
Na infrastruktuře záleží
28. 4. 2018 10
3 komponenty – HTTP server, DB server a Zdroje dat
Každá má úplně jiné nároky…
DB
Storage
WEBLOADBALANCER
Cloud
× 2
12. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba
Kde je .htaccess?
28. 4. 2018 12
/wp-content/uploads/revslider/classicslider/bike.jpg
Heleď,
nemáš tu
.htaccess?
A co
tady?A tady?
A nebo
tady?
A tady už
určitě
bude!
Bez .htaccess s mpm_event je Apache téměř srovnatelný s Nginx
13. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba
Vlastní server pro DB?
• ANO!!! (ale záleží na počtu dotazů)
• Škálování
28. 4. 2018 13
14. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba
Memory_limit
• 128MB by mělo stačit každému
• Zpracování feedů spouštět z CLI
28. 4. 2018 14
23. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba
Hľadanie pomalého pluginu / šablóny
• Query Monitor
• Blackfire.io
• Xdebug (především pro krokování z IDE) + WebGrind
• Nejčastější problémy:
– Mnoho dotazů do DB (nemělo by jich být více než 35)
– Komunikace s externími službami (např. špatně udělaná kontrola
dostupnosti update) - častý problém prémiových šablon a
pluginů
– „Zacyklené“ shortkódy
28. 4. 2018 23
26. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba
Cachovánie
28. 4. 2018 26
• Disková cache – Linux využívá volnou RAM pro
rychlejší přístup k souborům = je dobré mít hodně RAM
• OP code cache – PHP do RAM ukládá zpracovaný PHP
kód (PHP 5.6+, starší s rozšířením)
• Transientní cache – při použití WP ukládá výsledky
složitých operací do DB
(https://codex.wordpress.org/Transients_API)
• Objektová cache – ukládá výsledky složitých operací do
jiného úložiště – lze použít jako úložiště pro transienty
– je třeba podpora serveru a drop-in do WP
(Memcache, Redis, Xcache, APCu)
27. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba
Cachovánie
28. 4. 2018 27
• Stránková cache – uloží výsledek pracování
skriptu do statického souboru – např. WP
SuperCache, W3 Total Cache, WP-Rocket
• Proxy – reverzní na straně serveru/„dopředná“ na
straně lokální sítě – ukládá statický soubor aby se
nemusel znova stahovat/generovat (varnish,
nginx microcache/squid)
• Cache prohlížeče – řídí se expires hlavičkami,
pokud nejsou, snaží se je odvodit (většinou podle
stáří souboru)
28. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba
Konstanty vs UI
• Potřebuje můj plugin uživatelské rozhraní?
• Rozhraní = ukládání do wp_options
28. 4. 2018 28
29. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba28. 4. 2018 29
aktualizujte, zálohujte, používejte bezpečnostní plugin, buďte opatrní
A to je vše, přátelé.
Reklamní vsuvka:
Děláte s PPC? Sledujte https://twitter.com/PPCrobot
Děláte v Pythonu? PPC Robot hledá vývojáře ;-)
Editor's Notes
$id = 1;
$wpdb->prepare("SELECT * FROM {$wpdb->posts} WHERE ID=%d",$id);