Když webové stránky Google a jiné vyhledávače indexují webové stránky, nevykonávají JavaScript. Zdá se, že stránky s jednou stránkou - z nichž mnohé závisí na jazyce JavaScript - mají obrovskou nevýhodu ve srovnání s tradičními webovými stránkami.

Nebylo to na Googlu, mohlo by to znamenat smrt podniku, a tohle skličující skok by mohl lákat neinformované, aby zcela opustili stránky jedné stránky.

Nicméně stránky s jedním stránkou mají ve srovnání s tradičními webovými stránkami výhodu v optimalizaci vyhledávačů (SEO), protože Google a další uznaly výzvu. Vytvořili mechanismus pro stránky s jednou stránkou, které mají nejen indexovat dynamické stránky, ale také optimalizovat své stránky speciálně pro crawlery.

V tomto článku se budeme zaměřovat na Google, ale další velké vyhledávače, jako je Yahoo! a Bing podporují stejný mechanismus.

Jak Google prochází stránky s jednou stránkou

Když Google indexuje tradiční webové stránky, jeho webový prohledávač (nazvaný Googlebot) nejprve skenuje a indexuje obsah URI na nejvyšší úrovni (například www.myhome.com). Jakmile je toto dokončeno, pak následuje všechny odkazy na této stránce a indexuje i tyto stránky. Poté následuje odkazy na následujících stránkách a tak dále. Nakonec indexuje veškerý obsah na webu a přidružených doménách.

Když se zařízení Googlebot pokusí indexovat stránky s jednou stránkou, vše, co vidí v kódu HTML, je jediný prázdný kontejner (obvykle prázdný znak div nebo tělo), takže indexování a žádné odkazy na procházení není možné indexovat. v kulaté "složce" na podlaze vedle stolu).

Pokud by to byl konec příběhu, byl by to konec stránky s jednou stránkou pro mnoho webových aplikací a webů. Naštěstí společnost Google a další vyhledávače rozpoznaly důležitost webových stránek s jednou stránkou a poskytly nástroje, které vývojářům umožňují poskytovat vyhledávačům vyhledávací informace, které mohou být lepší než tradiční webové stránky.

Jak zpřístupnit stránky s jedním stránkovým serverem

První klíč k tomu, abychom zpřístupnili stránku na jednom webu, je zjistit, že náš server může zjistit, zda žádost zpracovává crawler nebo osoba, která používá webový prohlížeč, a odpovídajícím způsobem odpovídá. Pokud je náš návštěvník osobou, která používá webový prohlížeč, odpovězte normálně, ale pro prolézací modul vraťte stránku optimalizovanou, aby se prolézací modul ukázal přesně to, co chceme, ve formátu, který může prolézací modul snadno číst.

Pro domovskou stránku našich stránek, jak vypadá stránka optimalizovaná prohledávače? Je to pravděpodobně naše logo nebo jiný primární obrázek, který bychom se chtěli objevit ve výsledcích vyhledávání, nějaký SEO optimalizovaný text, který vysvětluje, co je nebo je web, a seznam odkazů HTML pouze na těch stránkách, které chceme Google indexovat. To, co stránka nemá, je na ní použita jakákoli CSS styling nebo komplexní struktura HTML. Nemá ani JavaScript, ani odkazy na oblasti stránek, které Google nechce indexovat (jako jsou stránky se zákonným vyloučením odpovědnosti nebo jinými stránkami, které nechtějí, aby lidé zadávali vyhledávání Google). Níže uvedený obrázek ukazuje, jak může být stránka zobrazena v prohlížeči (vlevo) av prolézacím modulu (vpravo).

optimize_001

Přizpůsobení obsahu pro prohledávače

Jednoduché stránky odkazují na jiný obsah pomocí hash bang (#!). Tyto odkazy nejsou sledovány stejným způsobem lidmi a crawlery.

Pokud například na stránce s jednou stránkou odkaz na stránku uživatele vypadá jako /index.htm#!page=user:id,123 , prolézací stroj by viděl #! a vědět, že hledat webovou stránku s URI /index.htm?_escaped_fragment_=page=user:id,123 . Vzhledem k tomu, že se prolézací modul bude řídit vzorem a bude hledat toto URI, můžeme server naprogramovat tak, aby odpovídal na tuto žádost pomocí snímek HTML stránky, který by normálně vykresloval JavaScript v prohlížeči.

Tento snímek bude indexován společností Google, ale někdo, kdo klikne na náš záznam ve výsledcích vyhledávání Google, bude převzato na adresu /index.htm#!pagepage.user:id.123 . Jediný stránky stránek JavaScript převezme odtud a vykreslí stránku podle očekávání.

To poskytuje jediným vývojářům stránek s možností přizpůsobit jejich stránky speciálně pro Google a konkrétně pro uživatele. Namísto toho, aby musel psát text, který je pro člověka čitelný a přitažlivý a který je pro člověka srozumitelný, mohou být stránky optimalizovány pro každou z nich, aniž by se o ostatní zajímali. Cesta crawleru přes naše stránky může být kontrolována, což nám umožňuje nasměrovat lidi z výsledků vyhledávání Google na konkrétní sadu vstupních stránek. To bude vyžadovat více práce ze strany inženýra, aby se vyvíjel, ale může mít velké výplaty, pokud jde o výsledek vyhledávání a pozici zákazníka.

Zjišťování webového prohledávače Google

V době tohoto psaní se Googlebot ohlásí jako crawler na server tím, že podá žádosti s řetězcem uživatele-agent Googlebot / 2.1 (+ http://www.googlebot.com / bot.html) . Aplikace Node.js může zkontrolovat tento řetězec uživatelského agentu v middlewaru a odeslat domovskou stránku optimalizovanou pro vyhledávače, pokud se odpovídající řetězec agenta uživatele shoduje. V opačném případě lze žádost zpracovat normálně.

Toto uspořádání se zdá být komplikované testování, protože Googlebot nemáme vlastní. Společnost Google však nabízí službu k tomu, aby se stala veřejně přístupnými výrobními webovými stránkami jako součást svých nástrojů pro webmastery, ale snadnější způsob testování je spoofing našeho řetězce uživatelských agentů. Toto vyžadovalo hackery v příkazovém řádku, ale vývojářské nástroje Chrome to dělají stejně snadno jako kliknutí na tlačítko a zaškrtnutí políčka:

  1. Otevřete Nástroje pro vývojáře Chrome klepnutím na tlačítko se třemi vodorovnými řádky napravo od lišty Google Toolbar a poté vyberte Nástroje z nabídky a klikněte na Nástroje pro vývojáře.

  2. V pravém dolním rohu obrazovky je ikona ozubeného kola: klikněte na ni a podívejte se na některé pokročilé možnosti vývojáře, jako je vypnutí mezipaměti a zapnutí protokolování XmlHttpRequests.

  3. Na druhé kartě, označené jako Override, klikněte na zaškrtávací políčko vedle štítku Uživatelský agent a v rozevíracím seznamu Chrome, Firefox, IE, iPads a další vyberte libovolný počet agentů uživatelů. Agenta Googlebot není výchozí. Chcete-li ji použít, zvolte Jiné a zkopírujte a vložte řetězec uživatelského agenta do zadaného vstupu.

  4. Nyní se tato karta spoofuje sama jako Googlebot a když na našich stránkách otevřeme nějaký identifikátor URI, měli bychom se podívat na stránku prolézacího modulu.

Na závěr

Je zřejmé, že různé aplikace budou mít různé potřeby, pokud jde o to, co dělat s webovými prohledávači, ale vždy se jediná stránka vrácená do Googlebotu pravděpodobně nestačí. Také se budeme muset rozhodnout, jaké stránky chceme vystavit, a poskytnout způsoby, jak naši žádosti mapovat obsah UERE do _escaped_fragment_ = key = hodnoty hodnoty, kterou chceme zobrazit.

Možná budete chtít získat fantazie a vázat odpověď serveru na rozhraní front-end, ale obvykle zde používám jednodušší přístup a vytvářet vlastní stránky prolézacího modulu a vkládat je do samostatného souboru routeru pro prolézací moduly.

Existuje také mnohem více oprávněných prohledávačů, takže jakmile upravíme náš server pro prohledávač Google, můžeme se rozšířit a zahrnout je také.

Stavíte stránky s jednou stránkou? Jak fungují weby na jedné stránce ve vyhledávačích? Dejte nám vědět své myšlenky v komentářích.

Doporučený snímek / náhled, hledat obrázek přes Shutterstock.