Kun Google ja muut hakukoneet indeksoivat verkkosivustoja, ne eivät suorita JavaScriptia. Tämä näyttää tuovan yhden sivun sivustoja - joista monet ovat riippuvaisia ​​JavaScript-ohjelmista - valtava haitta verrattuna perinteiseen verkkosivustoon.

Koska ei ole Googlessa, se voisi helposti tarkoittaa yritystoiminnan kuolemaa, ja tämä järkyttävä kaivos voisi houkutella tietämättömiä hylkäämään yhden sivun sivustoja kokonaan.

Yksisivuisilla sivustoilla on kuitenkin etusija perinteisiin verkkosivustoihin hakukoneoptimoinnin (SEO) vuoksi, koska Google ja muut ovat tunnustaneet haasteen. He ovat luoneet mekanismin yksisivuisille sivustoille, joilla ei vain dynaamisia sivuja indeksoitu, vaan myös optimoivat sivut nimenomaan indeksoijille.

Tässä artikkelissa keskitymme Googleen, mutta muut suuret hakukoneet, kuten Yahoo! ja Bing tukevat samaa mekanismia.

Miten Google indeksoi yhden sivun sivuston

Kun Google indeksoi perinteisen verkkosivuston, sen web-indeksoija (jota kutsutaan nimellä Googlebot) ensin tarkistaa ja indeksoi ylätason URI: n sisältöä (esimerkiksi www.myhome.com). Kun tämä on valmis, se seuraa sitten kaikkia sivun linkkejä ja indeksoi myös kyseiset sivut. Se seuraa sitten sivujen linkkejä ja niin edelleen. Lopulta se indeksoi kaikki sivuston ja siihen liittyvien verkkotunnusten sisältö.

Kun Googlebot yrittää indeksoida yksittäisen sivun sivustoa, kaikki se HTML: ssä näkee yhden tyhjän kontin (tavallisesti tyhjän div- tai kehätunnisteen), joten indeksointiin ei ole mitään indeksointia eikä linkkejä indeksoida, ja se indeksoi sivuston vastaavasti ( pyöreässä "kansioon" lattialla sen pöydän vieressä).

Jos tämä olisi tarinan loppu, se olisi monisivuisten sivustojen loppu monille verkkosovelluksille ja sivustoille. Onneksi Google ja muut hakukoneet ovat tunnustaneet yhden sivun sivustojen tärkeyden ja tarjoavat työkaluja, joiden avulla kehittäjät voivat tarjota hakutietoja indeksoijalle, joka voi olla parempi kuin perinteisillä verkkosivustoilla.

Miten yhden sivun sivusto voidaan indeksoida

Ensimmäinen avain, jonka avulla yksittäisen sivun sivusto voidaan indeksoida, on ymmärtää, että palvelimemme voi selvittää, onko indeksoija tai henkilö, joka käyttää selaimella pyynnön, ja vastaa sen mukaisesti. Kun kävijä on verkkoselaimen käyttäjä, vastaa tavalliseen tapaan, mutta indeksoija palauttaa sivun optimoiduksi näyttääksesi indeksoijan juuri sen, mitä haluamme, muodossa, jonka indeksoija voi helposti lukea.

Sivustoasi kotisivulla, millainen on indeksoijalle optimoitu sivu? On todennäköisesti meidän logo tai muu ensisijainen kuva, jonka haluamme näkyvän hakutuloksissa, SEO-optimoidun tekstin, jossa selitetään, mikä sivusto on tai ei, ja luettelo HTML-linkistä vain niihin sivuihin, joita haluamme Google-hakemistosta. Sivulla ei ole mitään CSS-muotoilua tai monimutkaista HTML-rakennetta. Ei myöskään ole JavaScript-toimintoa tai linkkejä sivuston alueisiin, joita emme halua Googlea indeksoida (kuten oikeudellisia vastuuvapauslausekkeita tai muita sivuja, joita emme halua ihmisten pääsevän Googlen haun kautta). Alla oleva kuva näyttää, miten sivu voidaan näyttää selaimelle (vasemmalle) ja indeksoijalle (oikealla).

optimize_001

Indeksoijien sisällön mukauttaminen

Tyypillisesti yhden sivun sivustot linkittävät eri sisältöihin käyttämällä hash bangia (#!). Ihmiset ja indeksoijat eivät noudata näitä linkkejä.

Jos esimerkiksi yksittäiselle sivullemme linkki käyttäjän sivulle näyttää /index.htm#!page=user:id,123 , indeksoija näkee #! ja osaa etsiä WWW-sivua URI: llä /index.htm?_escaped_fragment_=page=user:id,123 . Tietäen, että indeksoija noudattaa mallia ja etsii tämän URI: n, voimme ohjelmoida palvelimen vastaamaan kyseiseen pyyntöön sivun HTML-otoksella, jonka JavaScript olisi tavallisesti luonut selaimessa.

Googlen indeksoi kyseinen tilannekuva, mutta kuka tahansa, joka klikkaa yritystäsi Googlen hakutuloksissa, siirretään osoitteeseen /index.htm#!page=user:id,123 . Yhden sivun sivuston JavaScript-sovellus siirtyy sinne ja tekee sivun odotetulla tavalla.

Tämä antaa yhden sivun sivuston kehittäjille mahdollisuuden räätälöidä sivustonsa nimenomaan Googlelle ja erityisesti käyttäjille. Sen sijaan, että kirjoitettaisiin tekstiä, joka on sekä luettavissa että houkutteleva ihmiselle ja joka on ymmärrettävä indeksointilaitteella, sivuja voidaan optimoida jokaiselle huolimatta toisesta. Sivuston kautta tapahtuvaa indeksointipolkua voidaan hallita, jolloin voimme ohjata ihmisiä Googlen hakutuloksista tiettyyn sisäänkäyntiin. Tämä vaatii insinöörin työskentelyn lisäämistä kehittymiseen, mutta sillä voi olla suuria makseja hakutulosten ja asiakkaiden säilyttämisen kannalta.

Googlen verkkokäynnistyksen tunnistaminen

Tämän kirjoittamisen aikaan Googlebot ilmoittaa itsensä indeksoijaksi palvelimelle tekemällä pyynnöt Googlebot / 2.1 (+ http://www.googlebot.com / bot.html) käyttäjäagentilla . Node.js-sovellus voi tarkistaa tämän agentin merkkijonoa väliohjelmistossa ja lähettää takaisin indeksointioptimoidun kotisivun, jos käyttäjäagenttijono vastaa. Muuten voimme käsitellä pyyntöä normaalisti.

Tämä järjestely näyttää olevan hankalaa testata, koska emme omista Googlebotia. Google tarjoaa kuitenkin palvelun julkisen tuotantotavan verkkosivustoille osana sen Verkkovastaavan työkaluja, mutta helpompi tapa testata on huijaa käyttäjänagenttijono. Tämä edellytti joitakin komentorivin hakkurointia, mutta Chrome-kehittäjätyökalut tekevät tästä yhtä helppoa kuin napsauttamalla painiketta ja valitsemalla ruutuun:

  1. Avaa Chrome-kehittäjätyökalut napsauttamalla Google-työkalupalkin oikealla puolella olevia kolmea vaakasuoraa riviä ja valitsemalla valikosta Työkalut ja valitsemalla Kehittäjien työkalut.

  2. Näytön oikeassa alakulmassa on vaihteiden kuvake: napsauta sitä ja näet joitain kehittyneitä kehittäjävaihtoehtoja, kuten välimuistin poistaminen käytöstä ja XmlHttpRequests-ohjelman kirjaamisen käynnistäminen.

  3. Napsauta toisella välilehdellä, jonka otsikko on Ohita, napsauta Käyttäjäagentin etiketin vieressä olevaa valintaruutua ja valitse jokin määrä käyttäjäagentteja Chromesta avattavasta valikosta Firefoxen, IE: hen, iPadiin ja muuhun. Googlebot-agentti ei ole oletusasetus. Jotta voit käyttää sitä, valitse Muut ja kopioi ja liitä käyttäjäagenttijono annettuun syötteeseen.

  4. Nyt tämä välilehti on väärennys itse Googlebotiksi, ja kun avaamme minkä tahansa URI: n sivustollamme, meidän pitäisi nähdä indeksointisivua.

Tiivistettynä

On selvää, että erilaisilla sovelluksilla on erilaiset tarpeet suhteessa verkkoindekseihin, mutta aina yksi sivu palautetaan Googlebotiin, ei todennäköisesti riitä. Meidän on myös päätettävä, mitkä sivut haluamme altistaa ja tarjota tapoja sovellukselle kartoittaa _escaped_fragment_ = key = value URI sisältöön, jonka haluamme näyttää.

Voit halutessasi hankkia fancyn ja sitoa palvelimen vastauksen etupään kehykseen, mutta yleensä otan yksinkertaisemman lähestymistavan täällä ja luodaan indeksointirobotin mukautetut sivut ja asetan ne erilliseen reitittimen tiedostoon indeksoijille.

Siellä on myös paljon enemmän oikeutettuja indeksointilaitteita, joten kun olemme määrittäneet palvelimemme Google-indeksointirobotteille, voimme laajentaa niihin myös.

Rakennatko yhden sivun sivustoja? Miten yhden sivun sivustot toimivat hakukoneissa? Kerro meille mielipiteesi kommentteihin.

Esitetty kuva / pikkukuva, etsi kuva kautta Shutterstock.