Hodně jsem si to tady užil s Hamlet Batistou během naší prezentace ohledně nové renezance JavaScriptu během SMX Advanced v červnu. Mluvil jsem o některých webových stránkách závislých na JavaScriptu, se kterými jsem pracoval, o jejich unikátních výzvách a důležitosti automatizovaného testování a monitorování řešení.
Tady jsou některé otázky, které byly položeny účastníky prezentace a mé odpovědi.
CO jste použil k testování poměru úspěchu vykreslování (například ve vaší prezentaci?)
Nastavili jsme skript pro automatické monitorování, které kontroluje podstatný počet stránek na jedné webové stránce každý den někdy v osm ráno. Tento skript kontroluje spoustu elementů na každé stránce. Jeden z těchto elementů, který kontrolujeme, je přítomnost jazykového selektoru, neboť jsme zjistili, že jazykový selektor se neobjevuje, pokud před-kreslování selže. Jakmile víme, kolik stránek ve skriptu je zkontrolováno (počet je stejný každý den) a kolikrát před-kreslení selhalo (nebyl nalezen jazykový selektor), můžeme spočítat poměr úspěšných vykreslení.
Pokud nemáte žádné monitorovací řešení, můžete bezpochyby použít například nástroj ScreamingFrog, abyste dosáhli podobného výsledku.
- nastavte vykreslování „pouze na text“ a přepněte uživatele-agenta na Google Chytrý telefon.
- Používejte vlastní vyhledávání nebo vlastní extrakci k cílení na element, který není přítomný, když proces předkreslování selže
- Procházejte stránku (nebo alespoň podstatný vzorek stránky)
- Opakujte procházení několikrát během následujícího týdne
- Spočítejte počet případů, kdy monitorovaný element byl přítomen, a spočítejte poměr úspěšných vykreslení.
Máte nějaké tipy ohledně zvládání dynamického vykreslování, když vaše webová stránka používá externí A/B testovací nástroje, které mají vrozené vykreslování na straně uživatele?
Chtěl bych, aby Google viděl pouze jednu verzi webové stránky. To znamená, že bych nabídl starší verzi internetovým vyhledávačům, dokud by ta nová verze nebyla otestována a schválena jako permanentní. Už tady činíte detekci uživatele-agenta, protože používáte dynamické vykreslování, takže můžete zablokovat přidávání A/B testovacího kódu na stránce, když přijde požadavek od bota internetového vyhledávače a přidáte A/B testovací kód pouze tehdy, pokud stránka půjde uživateli.
Můj design / vývojářský tým se často ptá, jestli bychom mohli použít JavaScript ke skrytí obsahu, který je viditelný při kliknutí či při přejetí kurzorem. Pro počítačové verze, jaké jsou alternativy, které bychom namísto toho mohli implementovat? Nebo jsou tu vůbec nějaké?
Neznám vůbec detaily případu, ale, obecně, CSS může zvládnout úkony vztažné k přecházení kurzorem. Pro případy kliknutí, určitě byste se měli ujistit, že kýžený obsah je v původní HTML odpovědi. Určitě nechte načítat obsah dynamicky skrze JavaScript poté, co uživatel klikne.
Pokud je ale obsah vaší otázky viditelný ve výchozím pohledu a vy jej chcete skrýt po interakci, tak to je v pořádku. Google nekliká nebo nepřejíždí kurzorem nad elementy stránky.
Mám přesně tu samou novou implementaci jako společnost White – s krytím. Dlouho mě to dráždilo, neboť stránky, které migrovaly na tuto novou implementaci, nejsou vůbec v dobrém stavu, jako u předchozích verzí. Můžete potvrdit, že jste nezaznamenal žádné problémy s krytím a že není žádná potřeba se tím zabývat / měnit to?
Každá webová stránka je odlišná, takže můžu mluvit jenom o té, se kterou jsem se setkal. Neviděli jsme žádné podstatné zlepšení poté, co jsme odstranili původní krytí:0, ale byla to stránka s masivním firemním provozem. Obecně řečeno, pokud vaše webová stránka nezískává příliš mnoho firemního provozu a spoléhá se z valné většiny na ne-firemní provoz, určitě bych šel do toho a odstranil krytí:0 dříve nežli později. Pokud většina vašeho organického provozu pochází z firemních požadavků, tak bych tomu přiřadil daleko menší prioritu, ale stejně bych se do toho pustil někdy v budoucnosti.
Jak můžete blíže spolupracovat s vývojáři u těchto kontrol, pokud jsou vzdálené, nebo v Indii, s opravdu velkým časovým rozdílem?
Často pracuji s lidmi z úplně jiného města nebo i kontinentu a jedna věc, která alespoň pro mě vždycky fungovala, tak je Skype/Slack hovor. Probudím se brzy ráno nebo zůstanu vzhůru déle a čekám na hovor, spíše než abych si vyměňoval s druhou stranou zdlouhavé e-maily. Hovor pomáhá daleko lépe pochopit pracovní tempo a výzvy, zatímco dostanu šanci vysvětlit celou řadu důvodů, proč automatizované testování by mělo být na místě a mohu se tak zabývat i jejich okamžitými otázkami.
Jakmile je všechno jasné pro obě strany ohledně toho, co vlastně děláme, stále pokládám za důležité vytvořit lístek se strohými, ale přesnými požadavky a kritéria akceptování, abych se vyhnul jakémukoliv nedorozumění.