6. Rozbité SEO
• Přestanou fungovat stará 301 přesměrování
• Self-canonical vedou na jiné URL
• Zmizí rel next prev
7. Rozbité SEO
• Přestanou fungovat stará 301 přesměrování
• Self-canonical vedou na jiné URL
• Zmizí rel next prev
• Na důležité stránce přibude meta noindex nofolow
8. Rozbité SEO
• Přestanou fungovat stará 301 přesměrování
• Self-canonical vedou na jiné URL
• Zmizí rel next prev
• Na důležité stránce přibude meta noindex nofolow
• Z nedůležité stránky zmizí meta noindex nofollow
9. Rozbité SEO
• Přestanou fungovat stará 301 přesměrování
• Self-canonical vedou na jiné URL
• Zmizí rel next prev
• Na důležité stránce přibude meta noindex nofolow
• Z nedůležité stránky zmizí meta noindex nofollow
• Změní se obsah v robots.txt
10. Rozbité SEO
• Přestanou fungovat stará 301 přesměrování
• Self-canonical vedou na jiné URL
• Zmizí rel next prev
• Na důležité stránce přibude meta noindex nofolow
• Z nedůležité stránky zmizí meta noindex nofollow
• Změní se obsah v robots.txt
• Změní se titulky – nenahradí se %%COUNT%%
11. Rozbité SEO
• Přestanou fungovat stará 301 přesměrování
• Self-canonical vedou na jiné URL
• Zmizí rel next prev
• Na důležité stránce přibude meta noindex nofolow
• Z nedůležité stránky zmizí meta noindex nofollow
• Změní se obsah v robots.txt
• Změní se titulky – nenahradí se %%COUNT%%
• Změní se popisky a OG tagy
12. Rozbité SEO
• Přestanou fungovat stará 301 přesměrování
• Self-canonical vedou na jiné URL
• Zmizí rel next prev
• Na důležité stránce přibude meta noindex nofolow
• Z nedůležité stránky zmizí meta noindex nofollow
• Změní se obsah v robots.txt
• Změní se titulky – nenahradí se %%COUNT%%
• Změní se popisky a OG tagy
• Změní se obsah meta KEYWORDS
13. Rozbité SEO
• Přestanou fungovat stará 301 přesměrování
• Self-canonical vedou na jiné URL
• Zmizí rel next prev
• Na důležité stránce přibude meta noindex nofolow
• Z nedůležité stránky zmizí meta noindex nofollow
• Změní se obsah v robots.txt
• Změní se titulky – nenahradí se %%COUNT%%
• Změní se popisky a OG tagy
• Dělám si srandu
14. Rozbité SEO
• Přestanou fungovat stará 301 přesměrování
• Self-canonical vedou na jiné URL
• Zmizí rel next prev
• Na důležité stránce přibude meta noindex nofolow
• Z nedůležité stránky zmizí meta noindex nofollow
• Změní se obsah v robots.txt
• Změní se titulky – nenahradí se %%COUNT%%
• Změní se popisky a OG tagy
• Text na stránce je jiný, než očekávaný
15. Rozbité SEO
• Přestanou fungovat stará 301 přesměrování
• Self-canonical vedou na jiné URL
• Zmizí rel next prev
• Na důležité stránce přibude meta noindex nofolow
• Z nedůležité stránky zmizí meta noindex nofollow
• Změní se obsah v robots.txt
• Změní se titulky – nenahradí se %%COUNT%%
• Změní se popisky a OG tagy
• Text na stránce je jiný, než očekávaný
• atd. atd. atd. a ještě jednou a tak dále
19. Proč?
• Prostě se to děje
• Trochu častěji se to děje při nasazení nové verze, hotfixech,
refaktoringu.
• Ať na to vývoj myslí
20. „Co jde, to testujte!
Automaticky.”
- Jarda Hlavinka
21. Kde testovat? Typové stránky.
• Homepage
• Výpis kategorie
• Výpis kategorie + stránkování
• Výpis kategorie + 1 filtr
• Výpis kategorie + 1 filtr + stránkování
• Výpis kategorie + 2 filtry
• Výpis kategorie + 2 filtry + stránkování
• Detail
• Detail + varianta
• Kategorie + lokalita
• Kategorie + lokalita + stránkování
• Chybové stránky
• Přesměrování
22. Co testovat?
• Fungují historická přesměrování?
• Chyby vrací správný HTTP kód?
• Robots.txt se nezměnil?
• Sitemap.xml existuje?
• Titulky, popisky, OG tagy jsou nastaveny správně?
• Canonical, hreflang, rel prev next jsou nastaveny správně?
• Meta robots jsou/nejsou nastavena?
• Jsou na stránce strukturovaná data?
• Jsou správně nastaveny nadpisy?
• Jsou na stránce texty, které očekávám?
• V textu se správně nahradily placeholdery/proměnné?
• Jsou v článcích interní odkazy a vedou kam mají?
• Nevypadly mi na webu po updatu WP, pluginů, nebo
template nějaké moduly (typicky v sidebar, na homepagi)?
23. Best practise
• Každou novou netradiční a testy nepokrytou SEO vlastnost
si přidejte do testů.
• Pokud vám něco rozbije SEO třeba i na jiném projektu, tak
si ta pravidla přidejte a sledujte to všude.
27. Testy SEO před nasazením do produkce
• .test / .dev (dokud fungují)
• Pouštět v testovacím prostředí před každým nasazením
• Odpovědná osoba dostane email o chybě
• SEO konzultant dostane email o chybě
28. Testy SEO v produkci
• Testy oproti .cz (produkce)
• Pouštět každých pár minut až hodin na produkci
• Podle velikosti webu, důležitosti testu a
pravděpodobnosti změny
• Odpovědná osoba dostane email o chybě
• SEO konzultant dostane email o chybě
29. Jak testovat?
• Puppeteer – Chrome Headless
• Selenium testy, BrowserStack Automate
• Vlastní skripty – např. SEO robot
32. Co to umí?
1. Stáhne URL
2. Ověří, jestli sedí HTTP kód
3. Ověří, jestli je na stránce očekávaný obsah a „nastavení SEO”
4. V případě chyby pošle email se souhrnem chyb
34. Jak to nainstalovat? (jednoduchá verze)
• Je to řešení, které si každy sám nainstaluje k sobě na server
• Nemá žádný admin
• Potřebuju server s PHP,
• Doménu,
• Cron,
• SMTP,
• znalost základů PHP, nebo HTML (s trochou fištrónu to poskládáte)
• Nepotřebuje databázi.
• Celá napověda: https://git.io/f4QAH
35.
36.
37. Nastavení SMTP emailu podle nápovědy
• https://git.io/f4QAH
• V souboru SEO-ROBOT/settings/settings.php
40. Vytvoření prvního projektu
• Unikátní název projektu:
• sbazar.cz
• Cesta k souboru robots.txt, který si uložíš k sobě na server:
• 'robotsTxtFile' => './settings/robots.txt/sbazar.txt’
• URL robots.txt na serveru:
• 'robotsTxtURL' => 'https://www.sbazar.cz/robots.txt’
• Cesta k souboru s testovacími pravidly:
• 'testRules' => './settings/tests/sbazar.txt’,
• User-agent:
• 'curl_useragent' => 'SEO test',
• Email:
• 'email' => 'email-kam-poslat-report@seznam.cz'
41. Nastavení testovacích pravidel projektu
• https://git.io/f4QhQ
• V souboru SEO-ROBOT/settings/tests/NECO.txt
• V našem případě: SEO-ROBOT/settings/tests/sbazar.txt
42.
43. Nastavení testovacích pravidel projektu
• Na každém řádku zvlášť v tomto pořadí:
• URL
• HTTPS kód
• Pravidla (může jich být 0 až nekonečno)
• #
44. Pravidla
• 4 parametry:
• Jak se má porovnat? 6 přednastavených pravidel
• Xpath (https://codebeautify.org/Xpath-Tester +
cheatsheet)
• Pořadí Xpath v DOMu (nejčastěji 0)
• Co je v tom Xpath očekáváno?
• Oddělovač ;;
45. Pravidla
• plaintext - vybere jen text elementů bez HTML tagů
• content - vybere obsah meta tagů
• href - vybere obsah atributu href například v odkazech,
nebo rel canonical
• plaintextContains - zjistí, jestli plaintext HTML tagu
zadaného pomocí Xpath obsahuje zadaný text
• contentContains - zjistí, jestli content HTML tagu zadaného
pomocí Xpath obsahuje zadaný text
• hrefContains - zjistí, jestli atribut href HTML tagu zadaného
pomocí Xpath obsahuje zadaný text
46. Příklady hotových pravidel
• plaintext;;//title;;0;;Renault Trafic. - Sbazar.cz
• content;;meta[name="robots"];;0;;noindex,nofollow
• href;;link[rel="canonical"];;0;;https://www.sbazar.cz
• hrefContains;;link[rel="prev"];;0;;/3
• plaintext;;#box8 > div > div > ul > li;;2;;něco
47. Pravidelně spouštět
• CRON – www.domena.cz/seorobot/?id=sbazar.cz
• Co 20 minut u větších webů může být OK
49. Co teď udělat?
• Zjistěte u vývojářů, jestli už testují weby před nasazením a v
produkci:
• ANO: nasáčkujte se jim do testů i s pravidly pro testování
SEO
• NE: naočkujte je tím, co jste se dozvěděli – sami přijdou s
nejlepším technickým řešením
• Pokud je vývoj neprůchozí, tak si sami nastavte testování
aspoň v produkci třeba pomocí SEO robota.
50. TODO – Co do SEO robota přibude?
• Pravidla
• REGEX
• Doesn´t contain
• Automatické stahování a ověřování robots.txt a jeho
aktualizace při změně