SlideShare ist ein Scribd-Unternehmen logo
1 von 50
https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba
Najčastejšie problémy WordPress
webov
Vláďa Smitka
vladimir.smitka@lynt.cz
@smitka
Lynt services s.r.o.
https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba
Drobné problémiky
28. 4. 2018 2
https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba
Popis webu
28. 4. 2018 3
14 100 výsledků,
reálně jsem nalezl
722 webů (1,2%)
Slovenský internet dle VS:
• 290 000 webů
• 13 000 mimo sk doménu
• 60 000 WP webů (20%)
https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba
Nekontrolované komentáre
• Ahoj svet - zapomenutý příspěvek - /?p=1
• Vhodné použít antispam plugin
– Akismet (je nutné ho aktivovat!)
– NoSpamNX
– Experimentální: https://github.com/lynt-
smitka/lynt-antispam
28. 4. 2018 4
Výchozí příspěvek je na
13 700 webech (23%),
9 500 webů (16%) na něm
má povoleny komentáře
https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba
SEO Pluginy
• Na mnoha webech je nainstalován SEO plugin bez
jakéhokoliv nastavení a není aktivně využíván
• K čemu SEO plugin slouží?
– Generuje sitemapu
– Přidává mikrodata (lze částečně řešit v šabloně)
– Nastavuje vazby ve stránkovaném obsahu (lze řešit v šabloně)
– Doplňuje meta tagy pro sociální sítě (lze řešit v šabloně)
– Upravuje podobu titulků (lze řešit v šabloně)
– Upravuje povolení indexace jednotlivých příspěvků (většinou
není třeba)
– Upravuje meta description příspěvků (což může přinést více
škody než užitku, když se to neudělá správně)
28. 4. 2018 5
Yoast SEO:
16 500 webů (28%)
AiO SEO Pack:
5 250 webů (9%)
https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba
Analytika
• Pokud již řešíte SEO a marketing, musíte vědět
co se na webu děje = mít nasazené analytické
nástroje
• Google Analytics – vložení pluginem, ručně do
šablony nebo pomocí functions.php
• Google Tag Manager -
https://cs.wordpress.org/plugins/duracelltomi
-google-tag-manager/
28. 4. 2018 6
GA chybí na 56% webů.
GTM je použit na 8% webů
https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba
GA kód ve functions.php/pluginu
function lynt_add_ga() { ?>
//zde vlozit merici kod
<?php }
add_action('wp_footer', 'lynt_add_ga');
28. 4. 2018 7
https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba
Pár tipov do GA
28. 4. 2018 8
https://github.com/lynt-smitka/WP-nginx-config/blob/master/extras/mu-plugins/lynt-team-cookie.php
https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba
Odosielanie e-mailov
• Odesílání mailů je často nevhodně nastavené
• V základu je používána php funkce mail()
• Na sdíleném hostingu může mít IP adresa
špatnou reputaci – infekce jiných webů, zasílání
newsletterů
• Lepší je nastavit vlastní SMTP server a ideálně
pro newslettery používat specializované služby
• https://cs.wordpress.org/plugins/wp-mail-smtp/
• https://cs.wordpress.org/plugins/postman-smtp/
28. 4. 2018 9
https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba
SMTP bez pluginu
function lynt_phpmailer( PHPMailer $mail ) {
$mail->Host = 'smpt.server';
$mail->Port = 465;
$mail->SMTPSecure = 'tls';
$mail->Username = 'jmeno';
$mail->Password = 'heslo';
$mail->SMTPAuth = true;
$mail->IsSMTP();
}
add_action( 'phpmailer_init', 'lynt_phpmailer' );
Více nastavení v dokumentaci:
https://github.com/PHPMailer/PHPMailer
28. 4. 2018 10
https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba
Maily z kontaktních formulářů
(např. Contact Form 7)
28. 4. 2018 11
Problém se SPF (sender policy framework) =
odesílání jménem domény je omezeno jen na
vybrané IP adresy.
Pro odpověď je nutné použít Reply-To hlavičku.
https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba
Overenie funkčnosti e-mailov
• Zaslání testovacího mailu na adresu vygenerovanou na
https://www.mail-tester.com/
• Poslání mailu z WP:
– WP CLI shell: wp_mail($komu, $co, $zprava);
– https://github.com/lynt-smitka/lynt-mail-tester
• Mail není spolehlivá forma komunikace, je vhodné
výstupy z kontaktních formulářů ukládat i jinak
– Pro CF7 - https://wordpress.org/plugins/flamingo/
28. 4. 2018 12
https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba
Bežné problémy
• Špatný Return Path:
• https://github.com/lynt-smitka/WP-nginx-
config/blob/master/extras/mu-plugins/lynt-
mailfixer.php
• Špatné nastavení SPF
• Neexistující MX server
• Špatný reverzní záznam serveru (musí vyřešit
hoster)
• Blacklistovaná IP
28. 4. 2018 13
https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba
Bezpečnosť
28. 4. 2018 14
https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba
Základy bezpečnosti
• Pravidelné aktualizace
• Limitace chybných přihlášení (je vhodné
využívat bezpečnostní plugin - WordFence)
• Silná hesla + správce hesel (KeePass, LastPass)
• Správná práva souborů i uživatelů
• Šifrované připojení – HTTPS, VPN
• Pravidelné zálohy DB i souborů webu
28. 4. 2018 15
https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba28. 4. 2018 16
4%Rozbitý autoupdate!
https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba
22% webů není aktuálních
28. 4. 2018 17
https://lynt.cz/blog/wordpress-v-cz-velky-pruzkum
7% Slovenských webů je
postiženo chybou ve verzi
4.9.3, která rozbila autoupdate
https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba
Aktualizácie
• Ohromné množství webů nemá aplikovány
aktualizace WP, pluginů a šablon
"Každý opensource je třeba
pravidelně aktualizovat!"
• WP updates notifier
• Systémy pro hromadnou správu
28. 4. 2018 18
https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba
Systémy pre hromadnú správu
• MainWP
• Infinite WP
• WP Remote
• Manage WP
28. 4. 2018 19
„Pokud spravujete více než 2
weby, používejte systém pro
hromadnou správu!“
https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba
Child themes
Nikdy neupravujte šablonu přímo! *
(pokud není na míru/nejedná o starter theme)
• Řešením je vytvořit „child theme“ – nová složka
šablony, kde jsou jen změněné soubory z
rodičovské
• https://www.wplama.cz/jak-vytvorit-child-
theme-a-proc-ji-vyuzivat/
28. 4. 2018 20
https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba
Ako na vlastné úpravy?
• functions.php v child theme
• Vlastní plugin:
– /wp-content/plugins/moje-upravy/moje-upravy.php
<?php
/*
Plugin Name: Moje upravy
*/
…kod…
28. 4. 2018 21
https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba
Príliš vysoká užívateľské práva
• Nejčastější důvod – menu a widgety může
editovat pouze admin
$role_object = get_role( 'editor' );
$role_object->add_cap( 'edit_theme_options' );
https://cs.wordpress.org/plugins/user-role-
editor/
28. 4. 2018 22
https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba
Více webů v jednom prostoru
na hostingu/VPS
28. 4. 2018 23
Složkasweby
Web1
Web2
Web3
https://github.com/lynt-smitka/PHP-Mini-File-Browser/blob/master/mfb.php
Websupport 25483 (43%)
VNET 7626 (13%)
LightStorm 4060 (7%)
BENESTRA 3927 (7%)
Yegon 2465 (4%)
WEDOS 1889 (3%)
ACTIVE 24 1504 (3%)
https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba
HTTPS
• Proč mít HTTPS?
– Bezpečně přenášíte data svých návštěvníků
– Nebezpečné sítě nemohou modifikovat váš obsah
– Můžete použít HTTP/2 pro vyšší výkon
– Můžete používat Google Nákupy
• Proč nemít HTTPS?
– Nevím…
28. 4. 2018 24
HTTPS používá pouze 28%
slovenských WP webů!
https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba
Nastavenie HTTPS
28. 4. 2018 25
WP vytváří absolutní odkazy, v DB tak zůstanou odkazy na HTTP obsah.
http://<muj-web> => https://<muj-web>
Je dobré přesměrovat dotazy z HTTP na HTTPS a nastavit HSTS hlavičku.
https://u.lynt.cz/htaccess
https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba
Mixed Content
• UPDATE wp_posts SET post_content = REPLACE(post_content,
'http://<muj-web>', 'https://<muj-web>')
+ ručně upravit nastavení (např. widgety, menu)
• WP CLI:
wp search-replace 'http://<muj-web>' 'https://<muj-web>'
--skip-columns=guid
• https://interconnectit.com/products/search-and-replace-for-
wordpress-databases/ (+ omezení přístupu https://blocking.top)
• https://cs.wordpress.org/plugins/ssl-insecure-content-fixer/
(nedoporučuji, pouze když není jiná možnost)
28. 4. 2018 26
https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba
Nastavenie HTTPS
• Test, zda je vše správně nastavené
• https://www.ssllabs.com/ssltest/analyze.html
• Let's Encrypt certifikát je OK
• Smyčka přesměrování u reverzní proxy (např. CloudFlare při Flexible SSL)
• if (
isset( $_SERVER['HTTP_X_FORWARDED_PROTO']) &&
'https'== $_SERVER['HTTP_X_FORWARDED_PROTO']
) {
$_SERVER['HTTPS']='on';
}
"Nový web spouštějte rovnou na HTTPS"
28. 4. 2018 27
https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba28. 4. 2018 28
„ Keď spustíš nový web bez HTTPS,
zomrie jednorožec!!!“
https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba
Citlivé informácie
• Verze WP - zbytečné ji skrývat
– https://lynt.cz/blog/verze-wordpress-skryvat-nebo-ne
• Uživatelská jména
– /?author=1
– /wp-json/wp/v2/users
• Zobrazování chybový hlášek - Full Path Disclosure
(FPD)
– /wp-includes/rss-functions.php
• Výpisy adresářů (index)
• Přístup do .git!!!
28. 4. 2018 29
60% umožňuje jednoduše vyčítat uživatele
58% zobrazuje chybové hlášky
5% umožňuje vypisovat obsah adresářů
0,2% (117) umožňuje stáhnout zdrojáky z .git
https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba
Bežná heslá 
• admin/admin
28. 4. 2018 30
1431404857
• <login>/<login>
• password
• heslo
• 12345,6,8
"Používejte generovaná hesla z password manageru a neopakujte je"
Uživatelské jméno admin
používá 27% webů
https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba
Hesla
28. 4. 2018 31
GTX 1050 MD5 PHPASS (MD5) Bcrypt
Hash/s 5 863 MH/s 1 880 kH/s 3 959 H/s
Doba louskání -
8 znaků
35 s 31 hod 610 dní
Typ hesla Počet kombinací
6 znaků (malá písmena) 308 915 776
8 znaků 208 827 064 576
8 znaků + čísla 2 821 109 907 456
8 znaků (velká/malá) + čísla 218 340 105 584 896
8 znaků (v/m) + čísla + speciál 6 634 204 312 890 625
Bcrypt ve WP:
https://github.com/lynt-smitka/WP-nginx-config/blob/master/extras/mu-plugins/lynt-enhancer.php
https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba
Zálohovanie
28. 4. 2018 32
Čím?
• Updraft Plus
• BackWPup
• BackupBuddy
• VaultPress
• Vlastní řešení
https://lynt.cz/blog/zalohovani-serveru-
do-cloudu-pomoci-restic
Kam?
• S3, DO Spaces, B2
• Azure, Google Cloud Storage
• Amazon Glacier
• Dropbox, OneDrive
• SFTP
Čo keď polícia zabaví všetky servery vášho webhostera?
Jak často a na jak dlouho?
Databáze
1x denně, 1-3 měsíce zpět (GDPR)
Soubory
1x týdně, několik měsíců zpět
individuálně pro wp-content/uploads
https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba
Výkon
28. 4. 2018 33
https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba
Mnoho zbytočných pluginov
• Více pluginů = větší nároky na správu a snížený
výkon
• Větší riziko bezpečnostních chyb
• Vliv pluginů – test na VPS serveru 1core, 4GB:
– Čistý WP: 16 požadavků/s
– WP + CF7 + JetPack + WPML + Yoast SEO + Slider
revolution: 3 požadavky/s
28. 4. 2018 34
https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba
„Zbytečné“ pluginy
• Neaktivovaný Akismet
• Ikonky sociálních sítí - lepší udělat staticky v
šabloně – nemění se
– https://gist.github.com/lynt-
smitka/6455e769b7e2497d3451db663ddaa48c
• Slidery – opět lepší staticky, pokud není třeba
často je aktualizovat
• Pluginy s duplicitní funkcionalitou
28. 4. 2018 35
https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba
Kde je problém?
28. 4. 2018 36
• Zjištění, zda pomalost způsobují skripty na straně
serveru nebo až načítání zdrojů – Waterfall
(vodopádový graf)
• https://gtmetrix.com/
• http://www.webpagetest.org/
• https://tools.pingdom.com/
• F12 - Devel konzole prohlížeče
• Nutno volit co nejbližší lokalitu
https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba
Waterfall
28. 4. 2018 37
< 2s < 800kB < 50
https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba
Načítanie zdrojov
• Expires hlavičky, Gzip textových souborů (i SVG!)
• https://u.lynt.cz/htaccess
• Sprity, data-uri (pro SVG není třeba base64!), Lazy loading
"Nejlepší HTTP požadavek je žádný požadavek"
• HTTP/2
• TLS 1.3
• CDN
28. 4. 2018 38
https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba
Obrázky
• Velké množství
• Zbytečně rozměrné
• Neoptimalizované – velká velikost
• https://tinypng.com/ - vyzkoušejte
• https://wordpress.org/plugins/shortpixel-image-optimiser/
• https://cs.wordpress.org/plugins/tiny-compress-images/
• https://cs.wordpress.org/plugins/ewww-image-optimizer/
28. 4. 2018 39
https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba
Fonty
• Opravdu potřebujete mít na webu
Google/Typekit font?
• Bezpečné fonty
• Řezy a znakové sady:
čím více, tím větší zdržení načítání
• https://yellowlab.tools/
28. 4. 2018 40
https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba
Diakritika
28. 4. 2018 41
<link
href="https://fonts.googleapis.com/css?family
=Roboto:400,700&subset=latin-ext"
rel="stylesheet">
https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba
Hľadanie pomalého pluginu / šablóny
• P3 profiler
• Query Monitor
• Blackfire.io
• 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 42
https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba28. 4. 2018 43
https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba28. 4. 2018 44
Cachování
OP code cache
Transientní cache
Stránková cache
Cache prohlížeče
Objektová cache
Disková cache
Proxy cache
https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba
Cachovánie
28. 4. 2018 45
• 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)
https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba
Cachovánie
28. 4. 2018 46
• 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)
https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba
Úlohy na zajtra
Aktualizujte
Zazálohujte
Otestujte rychlost webu
Otestujte odesílání e-mailů
Ověřte konfiguraci HTTPS
28. 4. 2018 47
https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba
Mé starší přednášky
• Výkon:
– https://www.slideshare.net/vsmitka/vkon-
wordpress
– https://www.slideshare.net/vsmitka/wp-vkon-a-
jeho-profilovn
• Bezpečnost:
– https://www.slideshare.net/vsmitka/wordcamp-
praha-2016-bezpenost-wordpress
– https://www.slideshare.net/vsmitka/bezpenost-
wp-tipy-pro-kadho-wordcamp-praha-2015
28. 4. 2018 48
https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba28. 4. 2018 49
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 ;-)
https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba
Bonus: 30 najpoužívanejších šablón
28. 4. 2018 50
Šablona Počet Šablona Počet Šablona Počet
Divi 1734 Twenty Twelve 465 Twenty Fifteen 308
Avada 1597 Twenty Sixteen 436 Impreza 303
Twenty Seventeen 1324 Twenty Fourteen 360 Storefront 300
Enfold 1046 Bridge 354 Salient 277
mioweb 1026 Twenty Eleven 347 Vantage 276
betheme 866 Newspaper 347 Spacious 230
Refur 752 Twenty Ten 327 Porto 230
The7 752 Customizr 321 Jupiter 227
Sydney 551 Twenty Thirteen 316 Kallyas 210
Zerif-lite 480 Flatsome 313 Hestia 167

Weitere ähnliche Inhalte

Was ist angesagt?

WordCamp Praha 2016 - Bezpečnost WordPress
WordCamp Praha 2016 - Bezpečnost WordPressWordCamp Praha 2016 - Bezpečnost WordPress
WordCamp Praha 2016 - Bezpečnost WordPressVladimír Smitka
 
WordPress: Základy - bezpečnost 3x3
WordPress: Základy - bezpečnost 3x3WordPress: Základy - bezpečnost 3x3
WordPress: Základy - bezpečnost 3x3Vladimír Smitka
 
Drobné chyby, které vám mohou zlomit vaz
Drobné chyby, které vám mohou zlomit vazDrobné chyby, které vám mohou zlomit vaz
Drobné chyby, které vám mohou zlomit vazVladimír Smitka
 
Nejčastejší problémy WordPress webů
Nejčastejší problémy WordPress webůNejčastejší problémy WordPress webů
Nejčastejší problémy WordPress webůVladimír Smitka
 
WordPress - základy bezpečnosti
WordPress - základy bezpečnostiWordPress - základy bezpečnosti
WordPress - základy bezpečnostiVladimír Smitka
 
WordCamp Brno 2017 - rychlý a bezpečný web
WordCamp Brno 2017  - rychlý a bezpečný webWordCamp Brno 2017  - rychlý a bezpečný web
WordCamp Brno 2017 - rychlý a bezpečný webVladimír Smitka
 
Bezpečnost Wordpressu - 4. WP konference
Bezpečnost Wordpressu - 4. WP konferenceBezpečnost Wordpressu - 4. WP konference
Bezpečnost Wordpressu - 4. WP konferenceVladimír Smitka
 
Jak si (ne)nechat hacknout Wordpress stránky
Jak si (ne)nechat hacknout Wordpress stránkyJak si (ne)nechat hacknout Wordpress stránky
Jak si (ne)nechat hacknout Wordpress stránkyVladimír Smitka
 
WP výkon a jeho profilování
WP výkon a jeho profilováníWP výkon a jeho profilování
WP výkon a jeho profilováníVladimír Smitka
 
Základní pluginy pro WordPress
Základní pluginy pro WordPressZákladní pluginy pro WordPress
Základní pluginy pro WordPressRadek Kucera
 
Bezpečnost WP, tipy pro každého - wordCamp Praha 2015
Bezpečnost WP, tipy pro každého - wordCamp Praha 2015Bezpečnost WP, tipy pro každého - wordCamp Praha 2015
Bezpečnost WP, tipy pro každého - wordCamp Praha 2015Vladimír Smitka
 
Wordpress_DOD
Wordpress_DODWordpress_DOD
Wordpress_DODDoubry99
 
WordPress šablony a rychlost načítání (WordCamp Praha 2017)
WordPress šablony a  rychlost načítání (WordCamp Praha 2017)WordPress šablony a  rychlost načítání (WordCamp Praha 2017)
WordPress šablony a rychlost načítání (WordCamp Praha 2017)Martin Michálek
 

Was ist angesagt? (15)

WordCamp Praha 2016 - Bezpečnost WordPress
WordCamp Praha 2016 - Bezpečnost WordPressWordCamp Praha 2016 - Bezpečnost WordPress
WordCamp Praha 2016 - Bezpečnost WordPress
 
WordPress: Základy - bezpečnost 3x3
WordPress: Základy - bezpečnost 3x3WordPress: Základy - bezpečnost 3x3
WordPress: Základy - bezpečnost 3x3
 
Drobné chyby, které vám mohou zlomit vaz
Drobné chyby, které vám mohou zlomit vazDrobné chyby, které vám mohou zlomit vaz
Drobné chyby, které vám mohou zlomit vaz
 
Nejčastejší problémy WordPress webů
Nejčastejší problémy WordPress webůNejčastejší problémy WordPress webů
Nejčastejší problémy WordPress webů
 
WordPress - základy bezpečnosti
WordPress - základy bezpečnostiWordPress - základy bezpečnosti
WordPress - základy bezpečnosti
 
WordCamp Brno 2017 - rychlý a bezpečný web
WordCamp Brno 2017  - rychlý a bezpečný webWordCamp Brno 2017  - rychlý a bezpečný web
WordCamp Brno 2017 - rychlý a bezpečný web
 
Bezpečnost Wordpressu - 4. WP konference
Bezpečnost Wordpressu - 4. WP konferenceBezpečnost Wordpressu - 4. WP konference
Bezpečnost Wordpressu - 4. WP konference
 
Jak si (ne)nechat hacknout Wordpress stránky
Jak si (ne)nechat hacknout Wordpress stránkyJak si (ne)nechat hacknout Wordpress stránky
Jak si (ne)nechat hacknout Wordpress stránky
 
WP výkon a jeho profilování
WP výkon a jeho profilováníWP výkon a jeho profilování
WP výkon a jeho profilování
 
Základní pluginy pro WordPress
Základní pluginy pro WordPressZákladní pluginy pro WordPress
Základní pluginy pro WordPress
 
Instalace WordPress
Instalace WordPressInstalace WordPress
Instalace WordPress
 
Bezpečnost WP, tipy pro každého - wordCamp Praha 2015
Bezpečnost WP, tipy pro každého - wordCamp Praha 2015Bezpečnost WP, tipy pro každého - wordCamp Praha 2015
Bezpečnost WP, tipy pro každého - wordCamp Praha 2015
 
Wordfence 2016
Wordfence 2016Wordfence 2016
Wordfence 2016
 
Wordpress_DOD
Wordpress_DODWordpress_DOD
Wordpress_DOD
 
WordPress šablony a rychlost načítání (WordCamp Praha 2017)
WordPress šablony a  rychlost načítání (WordCamp Praha 2017)WordPress šablony a  rychlost načítání (WordCamp Praha 2017)
WordPress šablony a rychlost načítání (WordCamp Praha 2017)
 

Ähnlich wie Najčastejšie problémy WordPress webov

06 prez2(tvorba webu)
06 prez2(tvorba webu)06 prez2(tvorba webu)
06 prez2(tvorba webu)olc_user
 
Tomáš Poner a Vladislav Musílek, Nejlepší affiliate pluginy pro WordPress
Tomáš Poner a Vladislav Musílek, Nejlepší affiliate pluginy pro WordPressTomáš Poner a Vladislav Musílek, Nejlepší affiliate pluginy pro WordPress
Tomáš Poner a Vladislav Musílek, Nejlepší affiliate pluginy pro WordPressColpirio.com s.r.o.
 
Generátory statických webů
Generátory statických webůGenerátory statických webů
Generátory statických webůMichal Doležel
 
Semantický web (Martin Šimko)
Semantický web (Martin Šimko)Semantický web (Martin Šimko)
Semantický web (Martin Šimko)Taste Medio
 
Co ukázal globální scan přístupných .git repozitářů?
Co ukázal globální scan přístupných .git repozitářů?Co ukázal globální scan přístupných .git repozitářů?
Co ukázal globální scan přístupných .git repozitářů?Vladimír Smitka
 
Jak zrychlit WP pomocí cachovacích pluginů
Jak zrychlit WP pomocí cachovacích pluginůJak zrychlit WP pomocí cachovacích pluginů
Jak zrychlit WP pomocí cachovacích pluginůJakub Klapka
 
WordPress ve školském prostředí
WordPress ve školském prostředíWordPress ve školském prostředí
WordPress ve školském prostředíVlastimil Ott
 
Sémantický web - má nás to vůbec zajímat?
Sémantický web - má nás to vůbec zajímat?Sémantický web - má nás to vůbec zajímat?
Sémantický web - má nás to vůbec zajímat?Martin Šimko
 
Nette v cloudu - Poslední Sobota
Nette v cloudu - Poslední SobotaNette v cloudu - Poslední Sobota
Nette v cloudu - Poslední SobotaPatrik Votoček
 
4. WordPress konference - E-commerce řešení pro WordPress
4. WordPress konference - E-commerce řešení pro WordPress4. WordPress konference - E-commerce řešení pro WordPress
4. WordPress konference - E-commerce řešení pro WordPressJan Kalianko
 
Hledání příčin pomalého webu a jak to řešit
Hledání příčin pomalého webu a jak to řešitHledání příčin pomalého webu a jak to řešit
Hledání příčin pomalého webu a jak to řešitDesingdev
 
Web rychlý jako blesk (s důrazem na AMP)
Web rychlý jako blesk (s důrazem na AMP)Web rychlý jako blesk (s důrazem na AMP)
Web rychlý jako blesk (s důrazem na AMP)Martin Michálek
 
Webový front-end ve službách mobilního vývojáře
Webový front-end  ve službách mobilního  vývojáře Webový front-end  ve službách mobilního  vývojáře
Webový front-end ve službách mobilního vývojáře Martin Michálek
 
WordCamp Bratislava 2017 - Martin Hlaváč
WordCamp Bratislava 2017 - Martin HlaváčWordCamp Bratislava 2017 - Martin Hlaváč
WordCamp Bratislava 2017 - Martin HlaváčBrilo Team
 
Pavel Ondřej: WordPress z pohledu hostingového poskytovatele
Pavel Ondřej: WordPress z pohledu hostingového poskytovatelePavel Ondřej: WordPress z pohledu hostingového poskytovatele
Pavel Ondřej: WordPress z pohledu hostingového poskytovateleLiberix, o.p.s.
 
Říjnový SEOloger 2019 - Screaming Frog a crawlování webů
Říjnový SEOloger 2019 - Screaming Frog a crawlování webůŘíjnový SEOloger 2019 - Screaming Frog a crawlování webů
Říjnový SEOloger 2019 - Screaming Frog a crawlování webůMartin Žatkovič
 
Optimalizace webových aplikací
Optimalizace webových aplikacíOptimalizace webových aplikací
Optimalizace webových aplikacíVašek Purchart
 
Vyhledávače a JavaScript
Vyhledávače a JavaScriptVyhledávače a JavaScript
Vyhledávače a JavaScriptTaste Medio
 

Ähnlich wie Najčastejšie problémy WordPress webov (20)

06 prez2(tvorba webu)
06 prez2(tvorba webu)06 prez2(tvorba webu)
06 prez2(tvorba webu)
 
Tomáš Poner a Vladislav Musílek, Nejlepší affiliate pluginy pro WordPress
Tomáš Poner a Vladislav Musílek, Nejlepší affiliate pluginy pro WordPressTomáš Poner a Vladislav Musílek, Nejlepší affiliate pluginy pro WordPress
Tomáš Poner a Vladislav Musílek, Nejlepší affiliate pluginy pro WordPress
 
Generátory statických webů
Generátory statických webůGenerátory statických webů
Generátory statických webů
 
Semantický web (Martin Šimko)
Semantický web (Martin Šimko)Semantický web (Martin Šimko)
Semantický web (Martin Šimko)
 
Co ukázal globální scan přístupných .git repozitářů?
Co ukázal globální scan přístupných .git repozitářů?Co ukázal globální scan přístupných .git repozitářů?
Co ukázal globální scan přístupných .git repozitářů?
 
Jak zrychlit WP pomocí cachovacích pluginů
Jak zrychlit WP pomocí cachovacích pluginůJak zrychlit WP pomocí cachovacích pluginů
Jak zrychlit WP pomocí cachovacích pluginů
 
WordPress ve školském prostředí
WordPress ve školském prostředíWordPress ve školském prostředí
WordPress ve školském prostředí
 
Sémantický web - má nás to vůbec zajímat?
Sémantický web - má nás to vůbec zajímat?Sémantický web - má nás to vůbec zajímat?
Sémantický web - má nás to vůbec zajímat?
 
Nette v cloudu - Poslední Sobota
Nette v cloudu - Poslední SobotaNette v cloudu - Poslední Sobota
Nette v cloudu - Poslední Sobota
 
4. WordPress konference - E-commerce řešení pro WordPress
4. WordPress konference - E-commerce řešení pro WordPress4. WordPress konference - E-commerce řešení pro WordPress
4. WordPress konference - E-commerce řešení pro WordPress
 
Hledání příčin pomalého webu a jak to řešit
Hledání příčin pomalého webu a jak to řešitHledání příčin pomalého webu a jak to řešit
Hledání příčin pomalého webu a jak to řešit
 
Web rychlý jako blesk (s důrazem na AMP)
Web rychlý jako blesk (s důrazem na AMP)Web rychlý jako blesk (s důrazem na AMP)
Web rychlý jako blesk (s důrazem na AMP)
 
Informujte a nechejte se informovat
Informujte a nechejte se informovatInformujte a nechejte se informovat
Informujte a nechejte se informovat
 
Webový front-end ve službách mobilního vývojáře
Webový front-end  ve službách mobilního  vývojáře Webový front-end  ve službách mobilního  vývojáře
Webový front-end ve službách mobilního vývojáře
 
WordCamp Bratislava 2017 - Martin Hlaváč
WordCamp Bratislava 2017 - Martin HlaváčWordCamp Bratislava 2017 - Martin Hlaváč
WordCamp Bratislava 2017 - Martin Hlaváč
 
Pavel Ondřej: WordPress z pohledu hostingového poskytovatele
Pavel Ondřej: WordPress z pohledu hostingového poskytovatelePavel Ondřej: WordPress z pohledu hostingového poskytovatele
Pavel Ondřej: WordPress z pohledu hostingového poskytovatele
 
Říjnový SEOloger 2019 - Screaming Frog a crawlování webů
Říjnový SEOloger 2019 - Screaming Frog a crawlování webůŘíjnový SEOloger 2019 - Screaming Frog a crawlování webů
Říjnový SEOloger 2019 - Screaming Frog a crawlování webů
 
Optimalizace webových aplikací
Optimalizace webových aplikacíOptimalizace webových aplikací
Optimalizace webových aplikací
 
Vyhledávače a JavaScript
Vyhledávače a JavaScriptVyhledávače a JavaScript
Vyhledávače a JavaScript
 
Základy internetu
Základy internetuZáklady internetu
Základy internetu
 

Mehr von Vladimír Smitka

WordPress Security: Defend yourself against digital invaders
WordPress Security:Defend yourself against digital invadersWordPress Security:Defend yourself against digital invaders
WordPress Security: Defend yourself against digital invadersVladimír Smitka
 
WordPress performance tuning
WordPress performance tuningWordPress performance tuning
WordPress performance tuningVladimír Smitka
 
WordPress security for everyone
WordPress security for everyoneWordPress security for everyone
WordPress security for everyoneVladimír Smitka
 
České weby a Wordpress (Q4/2014)
České weby a Wordpress (Q4/2014)České weby a Wordpress (Q4/2014)
České weby a Wordpress (Q4/2014)Vladimír Smitka
 
Wordcamp Praha 2015 - další útržky z prezentace
Wordcamp Praha 2015 - další útržky z prezentaceWordcamp Praha 2015 - další útržky z prezentace
Wordcamp Praha 2015 - další útržky z prezentaceVladimír Smitka
 
Sítě pro malé a střední podniky 2014
Sítě pro malé a střední podniky 2014Sítě pro malé a střední podniky 2014
Sítě pro malé a střední podniky 2014Vladimír Smitka
 

Mehr von Vladimír Smitka (9)

Http/2 vs Image Sprites
Http/2 vs Image SpritesHttp/2 vs Image Sprites
Http/2 vs Image Sprites
 
Ansible
AnsibleAnsible
Ansible
 
WordPress Security: Defend yourself against digital invaders
WordPress Security:Defend yourself against digital invadersWordPress Security:Defend yourself against digital invaders
WordPress Security: Defend yourself against digital invaders
 
WordPress performance tuning
WordPress performance tuningWordPress performance tuning
WordPress performance tuning
 
WordPress security for everyone
WordPress security for everyoneWordPress security for everyone
WordPress security for everyone
 
České weby a Wordpress (Q4/2014)
České weby a Wordpress (Q4/2014)České weby a Wordpress (Q4/2014)
České weby a Wordpress (Q4/2014)
 
Wordcamp Praha 2015 - další útržky z prezentace
Wordcamp Praha 2015 - další útržky z prezentaceWordcamp Praha 2015 - další útržky z prezentace
Wordcamp Praha 2015 - další útržky z prezentace
 
Dijskrův algoritmus
Dijskrův algoritmusDijskrův algoritmus
Dijskrův algoritmus
 
Sítě pro malé a střední podniky 2014
Sítě pro malé a střední podniky 2014Sítě pro malé a střední podniky 2014
Sítě pro malé a střední podniky 2014
 

Najčastejšie problémy WordPress webov

  • 1. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba Najčastejšie problémy WordPress webov Vláďa Smitka vladimir.smitka@lynt.cz @smitka Lynt services s.r.o.
  • 2. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba Drobné problémiky 28. 4. 2018 2
  • 3. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba Popis webu 28. 4. 2018 3 14 100 výsledků, reálně jsem nalezl 722 webů (1,2%) Slovenský internet dle VS: • 290 000 webů • 13 000 mimo sk doménu • 60 000 WP webů (20%)
  • 4. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba Nekontrolované komentáre • Ahoj svet - zapomenutý příspěvek - /?p=1 • Vhodné použít antispam plugin – Akismet (je nutné ho aktivovat!) – NoSpamNX – Experimentální: https://github.com/lynt- smitka/lynt-antispam 28. 4. 2018 4 Výchozí příspěvek je na 13 700 webech (23%), 9 500 webů (16%) na něm má povoleny komentáře
  • 5. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba SEO Pluginy • Na mnoha webech je nainstalován SEO plugin bez jakéhokoliv nastavení a není aktivně využíván • K čemu SEO plugin slouží? – Generuje sitemapu – Přidává mikrodata (lze částečně řešit v šabloně) – Nastavuje vazby ve stránkovaném obsahu (lze řešit v šabloně) – Doplňuje meta tagy pro sociální sítě (lze řešit v šabloně) – Upravuje podobu titulků (lze řešit v šabloně) – Upravuje povolení indexace jednotlivých příspěvků (většinou není třeba) – Upravuje meta description příspěvků (což může přinést více škody než užitku, když se to neudělá správně) 28. 4. 2018 5 Yoast SEO: 16 500 webů (28%) AiO SEO Pack: 5 250 webů (9%)
  • 6. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba Analytika • Pokud již řešíte SEO a marketing, musíte vědět co se na webu děje = mít nasazené analytické nástroje • Google Analytics – vložení pluginem, ručně do šablony nebo pomocí functions.php • Google Tag Manager - https://cs.wordpress.org/plugins/duracelltomi -google-tag-manager/ 28. 4. 2018 6 GA chybí na 56% webů. GTM je použit na 8% webů
  • 7. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba GA kód ve functions.php/pluginu function lynt_add_ga() { ?> //zde vlozit merici kod <?php } add_action('wp_footer', 'lynt_add_ga'); 28. 4. 2018 7
  • 8. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba Pár tipov do GA 28. 4. 2018 8 https://github.com/lynt-smitka/WP-nginx-config/blob/master/extras/mu-plugins/lynt-team-cookie.php
  • 9. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba Odosielanie e-mailov • Odesílání mailů je často nevhodně nastavené • V základu je používána php funkce mail() • Na sdíleném hostingu může mít IP adresa špatnou reputaci – infekce jiných webů, zasílání newsletterů • Lepší je nastavit vlastní SMTP server a ideálně pro newslettery používat specializované služby • https://cs.wordpress.org/plugins/wp-mail-smtp/ • https://cs.wordpress.org/plugins/postman-smtp/ 28. 4. 2018 9
  • 10. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba SMTP bez pluginu function lynt_phpmailer( PHPMailer $mail ) { $mail->Host = 'smpt.server'; $mail->Port = 465; $mail->SMTPSecure = 'tls'; $mail->Username = 'jmeno'; $mail->Password = 'heslo'; $mail->SMTPAuth = true; $mail->IsSMTP(); } add_action( 'phpmailer_init', 'lynt_phpmailer' ); Více nastavení v dokumentaci: https://github.com/PHPMailer/PHPMailer 28. 4. 2018 10
  • 11. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba Maily z kontaktních formulářů (např. Contact Form 7) 28. 4. 2018 11 Problém se SPF (sender policy framework) = odesílání jménem domény je omezeno jen na vybrané IP adresy. Pro odpověď je nutné použít Reply-To hlavičku.
  • 12. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba Overenie funkčnosti e-mailov • Zaslání testovacího mailu na adresu vygenerovanou na https://www.mail-tester.com/ • Poslání mailu z WP: – WP CLI shell: wp_mail($komu, $co, $zprava); – https://github.com/lynt-smitka/lynt-mail-tester • Mail není spolehlivá forma komunikace, je vhodné výstupy z kontaktních formulářů ukládat i jinak – Pro CF7 - https://wordpress.org/plugins/flamingo/ 28. 4. 2018 12
  • 13. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba Bežné problémy • Špatný Return Path: • https://github.com/lynt-smitka/WP-nginx- config/blob/master/extras/mu-plugins/lynt- mailfixer.php • Špatné nastavení SPF • Neexistující MX server • Špatný reverzní záznam serveru (musí vyřešit hoster) • Blacklistovaná IP 28. 4. 2018 13
  • 14. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba Bezpečnosť 28. 4. 2018 14
  • 15. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba Základy bezpečnosti • Pravidelné aktualizace • Limitace chybných přihlášení (je vhodné využívat bezpečnostní plugin - WordFence) • Silná hesla + správce hesel (KeePass, LastPass) • Správná práva souborů i uživatelů • Šifrované připojení – HTTPS, VPN • Pravidelné zálohy DB i souborů webu 28. 4. 2018 15
  • 16. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba28. 4. 2018 16 4%Rozbitý autoupdate!
  • 17. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba 22% webů není aktuálních 28. 4. 2018 17 https://lynt.cz/blog/wordpress-v-cz-velky-pruzkum 7% Slovenských webů je postiženo chybou ve verzi 4.9.3, která rozbila autoupdate
  • 18. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba Aktualizácie • Ohromné množství webů nemá aplikovány aktualizace WP, pluginů a šablon "Každý opensource je třeba pravidelně aktualizovat!" • WP updates notifier • Systémy pro hromadnou správu 28. 4. 2018 18
  • 19. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba Systémy pre hromadnú správu • MainWP • Infinite WP • WP Remote • Manage WP 28. 4. 2018 19 „Pokud spravujete více než 2 weby, používejte systém pro hromadnou správu!“
  • 20. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba Child themes Nikdy neupravujte šablonu přímo! * (pokud není na míru/nejedná o starter theme) • Řešením je vytvořit „child theme“ – nová složka šablony, kde jsou jen změněné soubory z rodičovské • https://www.wplama.cz/jak-vytvorit-child- theme-a-proc-ji-vyuzivat/ 28. 4. 2018 20
  • 21. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba Ako na vlastné úpravy? • functions.php v child theme • Vlastní plugin: – /wp-content/plugins/moje-upravy/moje-upravy.php <?php /* Plugin Name: Moje upravy */ …kod… 28. 4. 2018 21
  • 22. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba Príliš vysoká užívateľské práva • Nejčastější důvod – menu a widgety může editovat pouze admin $role_object = get_role( 'editor' ); $role_object->add_cap( 'edit_theme_options' ); https://cs.wordpress.org/plugins/user-role- editor/ 28. 4. 2018 22
  • 23. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba Více webů v jednom prostoru na hostingu/VPS 28. 4. 2018 23 Složkasweby Web1 Web2 Web3 https://github.com/lynt-smitka/PHP-Mini-File-Browser/blob/master/mfb.php Websupport 25483 (43%) VNET 7626 (13%) LightStorm 4060 (7%) BENESTRA 3927 (7%) Yegon 2465 (4%) WEDOS 1889 (3%) ACTIVE 24 1504 (3%)
  • 24. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba HTTPS • Proč mít HTTPS? – Bezpečně přenášíte data svých návštěvníků – Nebezpečné sítě nemohou modifikovat váš obsah – Můžete použít HTTP/2 pro vyšší výkon – Můžete používat Google Nákupy • Proč nemít HTTPS? – Nevím… 28. 4. 2018 24 HTTPS používá pouze 28% slovenských WP webů!
  • 25. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba Nastavenie HTTPS 28. 4. 2018 25 WP vytváří absolutní odkazy, v DB tak zůstanou odkazy na HTTP obsah. http://<muj-web> => https://<muj-web> Je dobré přesměrovat dotazy z HTTP na HTTPS a nastavit HSTS hlavičku. https://u.lynt.cz/htaccess
  • 26. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba Mixed Content • UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://<muj-web>', 'https://<muj-web>') + ručně upravit nastavení (např. widgety, menu) • WP CLI: wp search-replace 'http://<muj-web>' 'https://<muj-web>' --skip-columns=guid • https://interconnectit.com/products/search-and-replace-for- wordpress-databases/ (+ omezení přístupu https://blocking.top) • https://cs.wordpress.org/plugins/ssl-insecure-content-fixer/ (nedoporučuji, pouze když není jiná možnost) 28. 4. 2018 26
  • 27. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba Nastavenie HTTPS • Test, zda je vše správně nastavené • https://www.ssllabs.com/ssltest/analyze.html • Let's Encrypt certifikát je OK • Smyčka přesměrování u reverzní proxy (např. CloudFlare při Flexible SSL) • if ( isset( $_SERVER['HTTP_X_FORWARDED_PROTO']) && 'https'== $_SERVER['HTTP_X_FORWARDED_PROTO'] ) { $_SERVER['HTTPS']='on'; } "Nový web spouštějte rovnou na HTTPS" 28. 4. 2018 27
  • 28. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba28. 4. 2018 28 „ Keď spustíš nový web bez HTTPS, zomrie jednorožec!!!“
  • 29. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba Citlivé informácie • Verze WP - zbytečné ji skrývat – https://lynt.cz/blog/verze-wordpress-skryvat-nebo-ne • Uživatelská jména – /?author=1 – /wp-json/wp/v2/users • Zobrazování chybový hlášek - Full Path Disclosure (FPD) – /wp-includes/rss-functions.php • Výpisy adresářů (index) • Přístup do .git!!! 28. 4. 2018 29 60% umožňuje jednoduše vyčítat uživatele 58% zobrazuje chybové hlášky 5% umožňuje vypisovat obsah adresářů 0,2% (117) umožňuje stáhnout zdrojáky z .git
  • 30. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba Bežná heslá  • admin/admin 28. 4. 2018 30 1431404857 • <login>/<login> • password • heslo • 12345,6,8 "Používejte generovaná hesla z password manageru a neopakujte je" Uživatelské jméno admin používá 27% webů
  • 31. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba Hesla 28. 4. 2018 31 GTX 1050 MD5 PHPASS (MD5) Bcrypt Hash/s 5 863 MH/s 1 880 kH/s 3 959 H/s Doba louskání - 8 znaků 35 s 31 hod 610 dní Typ hesla Počet kombinací 6 znaků (malá písmena) 308 915 776 8 znaků 208 827 064 576 8 znaků + čísla 2 821 109 907 456 8 znaků (velká/malá) + čísla 218 340 105 584 896 8 znaků (v/m) + čísla + speciál 6 634 204 312 890 625 Bcrypt ve WP: https://github.com/lynt-smitka/WP-nginx-config/blob/master/extras/mu-plugins/lynt-enhancer.php
  • 32. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba Zálohovanie 28. 4. 2018 32 Čím? • Updraft Plus • BackWPup • BackupBuddy • VaultPress • Vlastní řešení https://lynt.cz/blog/zalohovani-serveru- do-cloudu-pomoci-restic Kam? • S3, DO Spaces, B2 • Azure, Google Cloud Storage • Amazon Glacier • Dropbox, OneDrive • SFTP Čo keď polícia zabaví všetky servery vášho webhostera? Jak často a na jak dlouho? Databáze 1x denně, 1-3 měsíce zpět (GDPR) Soubory 1x týdně, několik měsíců zpět individuálně pro wp-content/uploads
  • 33. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba Výkon 28. 4. 2018 33
  • 34. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba Mnoho zbytočných pluginov • Více pluginů = větší nároky na správu a snížený výkon • Větší riziko bezpečnostních chyb • Vliv pluginů – test na VPS serveru 1core, 4GB: – Čistý WP: 16 požadavků/s – WP + CF7 + JetPack + WPML + Yoast SEO + Slider revolution: 3 požadavky/s 28. 4. 2018 34
  • 35. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba „Zbytečné“ pluginy • Neaktivovaný Akismet • Ikonky sociálních sítí - lepší udělat staticky v šabloně – nemění se – https://gist.github.com/lynt- smitka/6455e769b7e2497d3451db663ddaa48c • Slidery – opět lepší staticky, pokud není třeba často je aktualizovat • Pluginy s duplicitní funkcionalitou 28. 4. 2018 35
  • 36. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba Kde je problém? 28. 4. 2018 36 • Zjištění, zda pomalost způsobují skripty na straně serveru nebo až načítání zdrojů – Waterfall (vodopádový graf) • https://gtmetrix.com/ • http://www.webpagetest.org/ • https://tools.pingdom.com/ • F12 - Devel konzole prohlížeče • Nutno volit co nejbližší lokalitu
  • 37. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba Waterfall 28. 4. 2018 37 < 2s < 800kB < 50
  • 38. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba Načítanie zdrojov • Expires hlavičky, Gzip textových souborů (i SVG!) • https://u.lynt.cz/htaccess • Sprity, data-uri (pro SVG není třeba base64!), Lazy loading "Nejlepší HTTP požadavek je žádný požadavek" • HTTP/2 • TLS 1.3 • CDN 28. 4. 2018 38
  • 39. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba Obrázky • Velké množství • Zbytečně rozměrné • Neoptimalizované – velká velikost • https://tinypng.com/ - vyzkoušejte • https://wordpress.org/plugins/shortpixel-image-optimiser/ • https://cs.wordpress.org/plugins/tiny-compress-images/ • https://cs.wordpress.org/plugins/ewww-image-optimizer/ 28. 4. 2018 39
  • 40. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba Fonty • Opravdu potřebujete mít na webu Google/Typekit font? • Bezpečné fonty • Řezy a znakové sady: čím více, tím větší zdržení načítání • https://yellowlab.tools/ 28. 4. 2018 40
  • 41. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba Diakritika 28. 4. 2018 41 <link href="https://fonts.googleapis.com/css?family =Roboto:400,700&subset=latin-ext" rel="stylesheet">
  • 42. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba Hľadanie pomalého pluginu / šablóny • P3 profiler • Query Monitor • Blackfire.io • 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 42
  • 43. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba28. 4. 2018 43
  • 44. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba28. 4. 2018 44 Cachování OP code cache Transientní cache Stránková cache Cache prohlížeče Objektová cache Disková cache Proxy cache
  • 45. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba Cachovánie 28. 4. 2018 45 • 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)
  • 46. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba Cachovánie 28. 4. 2018 46 • 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)
  • 47. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba Úlohy na zajtra Aktualizujte Zazálohujte Otestujte rychlost webu Otestujte odesílání e-mailů Ověřte konfiguraci HTTPS 28. 4. 2018 47
  • 48. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba Mé starší přednášky • Výkon: – https://www.slideshare.net/vsmitka/vkon- wordpress – https://www.slideshare.net/vsmitka/wp-vkon-a- jeho-profilovn • Bezpečnost: – https://www.slideshare.net/vsmitka/wordcamp- praha-2016-bezpenost-wordpress – https://www.slideshare.net/vsmitka/bezpenost- wp-tipy-pro-kadho-wordcamp-praha-2015 28. 4. 2018 48
  • 49. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba28. 4. 2018 49 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 ;-)
  • 50. https://lynt.cz @smitka Odkazy: https://u.lynt.cz/wcba Bonus: 30 najpoužívanejších šablón 28. 4. 2018 50 Šablona Počet Šablona Počet Šablona Počet Divi 1734 Twenty Twelve 465 Twenty Fifteen 308 Avada 1597 Twenty Sixteen 436 Impreza 303 Twenty Seventeen 1324 Twenty Fourteen 360 Storefront 300 Enfold 1046 Bridge 354 Salient 277 mioweb 1026 Twenty Eleven 347 Vantage 276 betheme 866 Newspaper 347 Spacious 230 Refur 752 Twenty Ten 327 Porto 230 The7 752 Customizr 321 Jupiter 227 Sydney 551 Twenty Thirteen 316 Kallyas 210 Zerif-lite 480 Flatsome 313 Hestia 167