Audit pluginů bych přirovnal ke zdravotní prohlídce. Nebo technické kontrole auta. Je to proces, jehož smyslem je najít a opravit nesprávnou konfiguraci pluginů a předejít tak kolapsu nebo havárii.
Obsah
- Kdy a proč audit pluginů provádět
- Jak probíhá samotný audit
- Kandidáti na odstranění
- Výměna pluginů
- Doplnění vhodných pluginů
- Přínos auditu pluginů
Kdy a proč audit pluginů provádět
Audit pluginů má několik cílů, všechny směřují k tomu, aby web fungoval efektivně a software byl aktuální. Také bereme za důležité, aby na webu nebyl neaktivní software (zdroj problémů). Takže pracujeme s cílem:
- odstranit pluginy, které jsou zbytečné, zvyšují míru rizika a web zpomalují,
- vyměnit staré, nefunkční nebo zcela nevhodné pluginy za vhodnější nebo případně za snippet (vlastní kousek kódu),
- nelicencované pluginy aktivovat s platnou licencí nebo odstranit,
- doplnit pluginy, které považujeme za důležité a na webu je z dobrých důvodů míváme.
Audit (my ve firmě) provádíme jednak na objednávku zákazníka („mám tam asi hodně pluginů, můžete zkontrolovat, jestli jsou všechny potřeba?“), jednak z vlastní iniciativy – před zrychlením, při přebírání webu do správy nebo při jiné vhodné příležitosti (prostě nemáme rádi nepořádek na webu a snažíme se majiteli webu vysvětlit, že nedostatky se mají odstraňovat).
Jak probíhá samotný audit
Obvykle používáme pracovní verzi webu, protože, až se bude kácet les, bude lítat hodně třísek. Ale nezbytné to není, se zodpovědným přístupem to lze provádět i na ostrém webu.
Nejprve sestavíme seznam pluginů do tabulky, která má zhruba tyto sloupce (podle složitosti webu a přiměřené osobní kreativity technika):
- název pluginu,
- umístění (někdy jsou sloupce dva – pro ostrý a pro devel, protože plugin může být potřeba pro další fázi prací, ale ve finále bude odstraněn),
- funkce pluginu, kategorie,
- současný stav (někdy plugin není funkční, přesto na webu je),
- návrh na změnu,
- potvrzení změny zákazníkem,
- komentář
Tabulka se pošle zákazníkovi s instrukcemi, aby červené záznamy komentoval, pokud to dokáže. Pokud ne, je to naše zodpovědnost. Každý zákazník nebo majitel webu má jiný přístup, někdo se velmi zajímá, co mu na webu chceme provádět, někdo řekne, že tomu nerozumí a nechá to na nás. Zohledňujeme tento přístup a zodpovědnost je vždy naše. Nebojíme se ani diskuze o tom, proč je potřeba pluginy X nebo Y smazat.
Kandidáti na odstranění
Typy pluginů a důvody, proč je z webů odstraňujeme, resp. snažíme se najít argumenty pro odstranění.
- neaktivní pluginy – pokud se nepoužívají, proč by měly na webu být?
- jednorázové pluginy, např.:
- vyhledávání řetězců v databázi: search and replace, string locator – používá se jednou, nainstaluj, použij, smaž.
- exportní, importní plugin: také se používá jednorázově nebo cyklicky, nemusí být na webu pořád.
- úpravy uživatelských rolí (user role editor): kontrola toho, že je opravdu potřeba, šlo by práva upravit trvale a plugin odstranit?
- opuštěné pluginy (=nemá aktualizace), bezpečnostní riziko, např.:
- České služby pro WordPress – zjistit, proč na webu má být a pokusit se ho zbavit
- pluginy nahrané přímo z GitHubu, pluginy vyřazené z repozitáře wordpress.org
- nepoužité/zbytečné/nenastavené pluginy, příklady:
- plugin patří k šabloně, která se nepoužívá,
- správce účtu Envato (obvykle se nepoužívá),
- cachovací plugin pro jiný hosting (Breeze = hosting CloudWays),
- Akismet proti spamu – je napojený na účet WordPress.com a funguje?
- Really Simple SSL pro přesměrování na https – opravit přímo v databázi a nastavit v htaccess,
- WP Page Info, PHP info nebo jiné informace o instalaci – informace dodá Nástroje > Stav webu
- kolizní nebo duplicitní pluginy, příklady:
- pluginy pro vložení GTM – není náhodou snippet také v šabloně?
- pluginy pro vložení GA – nenačítá se náhodou taky kód pro GTM nebo nedochází ke duplicitnímu načítání měřicího kódu?
- pluginy pro slidery – více než jeden?
- zálohovací plugin (BackWpUp, UpDraftPlus) – skutečně úspěšně zálohuje web? Jsou tasky správně nastavené a funkční?
- bezpečnostní pluginy Wordfence, iThemes Security, Titan Security atp. – obvykle smí být pouze jeden
- optimalizační pluginy obrázků, např,. ShortPixel, EWWW Image Optimizer nebo TinyPNG současně, nedochází k přeoptimalizaci?
- více formulářových pluginů, mají opodstatnění?
- nastavení reCaptcha – pozor na kolize mezi místy, kde se reCaptcha načítá
- formulářové pluginy (Contact Form 7, Gravity Forms mají vlastní integraci)
- přihlašovací formuláře
- formuláře pro komentáře
- více vizuálních builderů na jednom webu: Gutenberg, Elementor, WP Bakery, Divi, Bricks atp.
- nevhodně vybrané pluginy, příklady
- Loco translate – mnohdy bývá lepší překlad vytvořit lokálně a nahrát ho
- Classic Editor, Classic Widgets – skutečně tam mají ještě být?
- Code snippets pro vkládání snippetů – všechen kód by měl být v šabloně, nebo ho má zajišťovat vhodně zvolený plugin; nechceme, aby se proveditelný kód povaloval v backendu webu – je to nepřehledné, nepříliš bezpečné a obtížné na správu
Pokaždé je nutné zdůvodnit, jestli je plugin potřebný, používaný, nutný atp. Není na to obecně platný závěr. Je to výsledek auditu.
Speciální pozornost věnujte pluginům psaným na míru. Někdy mohou být nekvalitní a je potřeba je analyzovat a zjistit, jestli je potřebujeme, můžeme aktualizovat nebo nahradit. Může z toho vyplynout obchodní nabídka na přepracování webu.
Výměna pluginů
Některé pluginy mají vysokou režii, přitom doplňují pouze jednu klíčovou funkci. Tu bychom mohli prostřednictvím snippetu umístit do podřízené šablony. Pokud podřízená šablona existuje nebo je vhodné ji vytvořit – pokud do ní nasměrujeme více úprav, má její existence smysl. Dalším využitím může být třeba vložení měřicího kódu GTM, ověřovací kód pro Search Console nebo prostě nějaké jiné externí služby. (Ano, Search Console se již primárně ověřuje doménovým záznamem, ale to není vždy proveditelné.)
Jsem fanoušek „tag manageru“. Nejznámější je sice Google Tag Manager, ale používám i Matomo a jejich MTM. Myslím si, že by do něj měly jít všechny JS kódy externích služeb, s ohledem na správu cookies to vlastně perfektně dává smysl. Ale to je akademická teorie, v praxi zohledňujeme technické možnosti a kontext webu.
Příklady pro výměnu pluginů.
- WP 404 Auto Redirect to Similar Post – nahradit kontrolou v Search Console, přesměrování pomocí htaccess nebo SEO pluginu nebo Redirection
- Disable Cart Fragments – jde o cache košíku, lze vyřešit snippetem
- Admin Columns – úprava sloupců v backendu, lze vyřešit snippetem
- Facebook for WooCommerce – pravděpodobně lze vyřešit lepším pluginem, nebo naopak přesunem do GTM
Pokud neprogramujete a neumíte funkci pluginu nahradit vlastním kódem, pak to samozřejmě nedělejte, jinak si nadrobíte víc problémů, než se jich snažíte vyřešit.
Doplnění vhodných pluginů
Některé pluginy doplňujeme, když přebíráme web do měsíční/roční správy. Jiné aktivujeme dočasně – na určitou dobu. Většina z nich slouží jednomu účelu a po skončení prací je zase odstraňujeme (pokud není dohoda jiná). Příklady:
- Activity Log (necháváme)
- lepší hashování hesel (necháváme)
- logování e-mailů (dočasně)
- Query Monitor nebo jiný debugovací plugin, používáme poměrně často, podle potřeby reaktivujeme,
- export, import dat, šablon, konfigurací atp.
- neinstalujeme licencované pluginy, pokud není zákazník držitelem licence
Něco trochu jiného je, když jde o placenou zakázku, tj. plugin nenastavujeme automaticky, ale na základě objednávky:
- bezpečnostní plugin
- ochrana proti spamu
- nastavení cookies, GTM, …
Přínos auditu pluginů
Cílem auditu je podrobit konfiguraci pluginů kritice a navrhnout změny. Je potřeba znát procesy webu a promyslet dopad rozhodnutí. Nebojte se zpochybnit současnou konfiguraci, pokud máte argument pro její vylepšení.
- Proč máte na webu plugin Classic Editor?
- Proč máte čtyři pluginy „addons pro Elementor“? Skutečně se všechny widgety používají? Na jaké stránce je najdeme?
- Můžeme sjednotit měřicí kódy do GTM?
- Používáte skutečně Mailchimp, vytváříte publika na FB a sledujete tyto statistiky v MonsterInsights/Site Kit?
- Opravdu je pro překlad pěti řetězců potřeba WPML nebo Polylang? (Oba samozřejmě nejsou určené pro překlad uživatelských řetězců, je to jen blbost na konec :-))
Tak at vám to sviští a máte na webech uklizeno.