nejčastejší problémy wordpress webů

39
http://lynt.cz Nejčastější problémy webů na WordPress Vláďa Smitka [email protected] @smitka Lynt services s.r.o.

Upload: vladimir-smitka

Post on 22-Jan-2018

2.091 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Nejčastejší problémy WordPress webů

http://lynt.cz

Nejčastější problémy webů na WordPress

Vláďa Smitka

[email protected]

@smitka

Lynt services s.r.o.

Page 2: Nejčastejší problémy WordPress webů

http://lynt.cz

Dotazy

Sli.do/#WCPHAUSR

18. 2. 2017 2

Page 3: Nejčastejší problémy WordPress webů

http://lynt.cz

Drobné problémy

18. 2. 2017 3

Page 4: Nejčastejší problémy WordPress webů

http://lynt.cz

Popis webu

18. 2. 2017 4

72 000 výsledků = stovky stránek

Page 5: Nejčastejší problémy WordPress webů

http://lynt.cz

Nekontrolované komentáře

• Ahoj světe - zapomenutý příspěvek - /?p=1

• Vhodné použít antispam plugin

– Akismet (je nutné ho aktivovat!)

– NoSpamNX

18. 2. 2017 5

Page 6: Nejčastejší problémy WordPress webů

http://lynt.cz

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á pořádně)

18. 2. 2017 6

Page 7: Nejčastejší problémy WordPress webů

http://lynt.cz

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/

18. 2. 2017 7

Page 8: Nejčastejší problémy WordPress webů

http://lynt.cz

GA kód ve functions.php

function lynt_add_ga() { ?>

//zde vlozit merici kod

<?php }

add_action('wp_footer', 'lynt_add_ga');

18. 2. 2017 8

Page 9: Nejčastejší problémy WordPress webů

http://lynt.cz

Pár tipů do GA

18. 2. 2017 9

Page 10: Nejčastejší problémy WordPress webů

http://lynt.cz

Odesílání e-mailů

• 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/

18. 2. 2017 10

Page 11: Nejčastejší problémy WordPress webů

http://lynt.cz

Maily z kontaktních formulářů(např. Contact Form 7)

18. 2. 2017 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.

Page 12: Nejčastejší problémy WordPress webů

http://lynt.cz

Ověření funkčnosti e-mailů

• Zaslání testovacího mailu na adresu vygenerovanou na https://www.mail-tester.com/

• Mail není spolehlivá forma komunikace, je vhodné výstupy z kontaktních formulářů ukládat i jinak– https://wordpress.org/plugins/contact-form-7-to-

database-extension/– (https://github.com/mdsimpson/contact-form-7-to-

database-extension)– Pro CF7 - https://wordpress.org/plugins/flamingo/

18. 2. 2017 12

Page 13: Nejčastejší problémy WordPress webů

http://lynt.cz

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

18. 2. 2017 13

Page 14: Nejčastejší problémy WordPress webů

http://lynt.cz

Bezpečnost

18. 2. 2017 14

Page 15: Nejčastejší problémy WordPress webů

http://lynt.cz

1/3 webů nemá poslední záplaty jádra!

18. 2. 2017 15

https://lynt.cz/blog/masivni-unorova-infekce-wordpress-webu-2017

Page 16: Nejčastejší problémy WordPress webů

http://lynt.cz

Aktualizace

• 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

18. 2. 2017 16

Page 17: Nejčastejší problémy WordPress webů

http://lynt.cz

Systémy pro hromadnou správu

• MainWP

• Infinite WP

• WP Remote

• Manage WP

18. 2. 2017 17

Pokud spravujete více než 2 weby, používejte systém pro hromadnou správu!

Page 18: Nejčastejší problémy WordPress webů

http://lynt.cz

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/

18. 2. 2017 18

Page 19: Nejčastejší problémy WordPress webů

http://lynt.cz

Jak na vlastní úpravy

• functions.php v child theme

• Vlastní plugin:– /wp-content/plugins/moje-upravy/moje-upravy.php

<?php

/*

Plugin Name: Moje upravy

*/

…kod…

18. 2. 2017 19

Page 20: Nejčastejší problémy WordPress webů

http://lynt.cz

Základy bezpečnosti

• Limitace chybných přihlášení (je vhodné využívat bezpečnostní plugin - WordFence)

• Silná hesla + správce hesel

• Správná práva souborů i uživatelů

• Šifrované připojení – HTTPS, VPN

• Pravidelné aktualizace

• Pravidelné zálohy DB i souborů webu

18. 2. 2017 20

Page 21: Nejčastejší problémy WordPress webů

http://lynt.cz

Příliš vysoká uživatelská 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/

18. 2. 2017 21

Page 22: Nejčastejší problémy WordPress webů

http://lynt.cz

Hosting / VPS

• Potřebuji hosting, nebo VPS?

• Výhody VPS: lze škálovat výkon

• Nevýhody: na správu jste sami

• Pokud nemáte linux administrátora, nepouštějte se do VPS

18. 2. 2017 22

Page 23: Nejčastejší problémy WordPress webů

http://lynt.cz

Více webů v jednom prostoruna hostingu/VPS

18. 2. 2017 23

Slo

žka

s w

eby

Web1

Web2

Web3

https://github.com/lynt-smitka/PHP-Mini-File-Browser/blob/master/mfb.php

Page 24: Nejčastejší problémy WordPress webů

http://lynt.cz

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…

18. 2. 2017 24

Page 25: Nejčastejší problémy WordPress webů

http://lynt.cz

Nastavení HTTPS

• Oprava absolutních odkazů z http://<muj-web> na https://<muj-web>– UPDATE wp_posts SET post_content =

REPLACE(post_content, 'http://<muj-web>', 'https://<muj-web>')

– https://interconnectit.com/products/search-and-replace-for-wordpress-databases/

– https://cs.wordpress.org/plugins/ssl-insecure-content-fixer/

18. 2. 2017 25

Page 26: Nejčastejší problémy WordPress webů

http://lynt.cz

Nastavení HTTPS

• Test, zda je vše správně nastavené

• https://www.ssllabs.com/ssltest/analyze.html

Nový web spouštějte rovnou na HTTPS

18. 2. 2017 26

Page 27: Nejčastejší problémy WordPress webů

http://lynt.cz

Výkon

18. 2. 2017 27

Page 28: Nejčastejší problémy WordPress webů

http://lynt.cz

Mnoho zbytečných pluginů

• 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 + Sliderrevolution: 3 požadavky/s

18. 2. 2017 28

Page 29: Nejčastejší problémy WordPress webů

http://lynt.cz

„Zbytečné“ pluginy

• Neaktivovaný Akismet

• Ikonky sociálních sítí - lepší udělat staticky v šabloně – nemění se

• Slidery – opět lepší staticky, pokud není třeba často je aktualizovat

• Pluginy s duplicitní funkcionalitou

18. 2. 2017 29

Page 30: Nejčastejší problémy WordPress webů

http://lynt.cz

Hledání pomalého pluginu

18. 2. 2017 30

• 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/

Page 31: Nejčastejší problémy WordPress webů

http://lynt.cz

Waterfall

18. 2. 2017 31

< 2s < 800kB < 50

Page 32: Nejčastejší problémy WordPress webů

http://lynt.cz

Hledání pomalého pluginu

• 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)– „Zacyklené“ shortkódy

18. 2. 2017 32

Page 33: Nejčastejší problémy WordPress webů

http://lynt.cz

Cachování

• Několik úrovní

• Cache na straně prohlížeče (expires hlavičky)

• Objektová cache (rozšíření PHP + dropin)

– REDIS, APC(u), Xcache, Memcached

• Plně stránková cache

– WP Supercache

– WP Rocket

18. 2. 2017 33

Page 34: Nejčastejší problémy WordPress webů

http://lynt.cz

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í

18. 2. 2017 34

Page 35: Nejčastejší problémy WordPress webů

http://lynt.cz

Diakritika

18. 2. 2017 35

<link href="https://fonts.googleapis.com/css?family=Roboto:400,700&subset=latin-ext" rel="stylesheet">

Page 36: Nejčastejší problémy WordPress webů

http://lynt.cz

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/

18. 2. 2017 36

Page 37: Nejčastejší problémy WordPress webů

http://lynt.cz

Úkoly na zítra

• Aktualizujte

• Zazálohujte

• Otestujte rychlost webu

• Otestujte odesílání e-mailů

• Ověřte konfiguraci HTTPS

• Přijďte na Contributing Day ;-)

18. 2. 2017 37

Page 38: Nejčastejší problémy WordPress webů

http://lynt.cz

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

18. 2. 2017 38

Page 39: Nejčastejší problémy WordPress webů

http://lynt.cz

A to je vše, přátelé.

18. 2. 2017 39

aktualizujte, zálohujte, používejte bezpečnostní plugin, buďte opatrní

Právě dokončuji knihu o WordPress, která vyjde u vydavatelství Grada.