Dynamic Rendering eli dynaaminen renderöinti tarkoittaa tekniikkaa, jossa palvelin tunnistaa hakurobotit ja tarjoaa niille esirenderöidyn HTML-version sivusta. Tavalliset käyttäjät saavat normaalin JavaScript-pohjaisen version.
Miten dynaaminen renderöinti toimii?
Prosessi etenee seuraavasti:
- Pyyntö saapuu palvelimelle — palvelin tarkistaa user-agent-tunnisteen
- Hakurobotti tunnistetaan — Googlebot, Bingbot ja muut botit ohjataan eri käsittelyyn
- Esirenderöinti — hakurobotille luodaan valmis HTML-versio (esim. Puppeteer tai Rendertron)
- Tavallinen käyttäjä saa JavaScript-pohjaisen CSR-version normaalisti
Google on virallisesti todennut, että dynaaminen renderöinti ei ole cloakingia (kiellettyä sisällön piilottamista), kunhan esirenderöity versio vastaa sisällöltään JavaScript-versiota.
Milloin dynamic rendering on tarpeen?
Dynaaminen renderöinti on väliaikaisratkaisu, jota kannattaa harkita kun:
- Olemassa oleva JavaScript-sovellus tarvitsee parempaa hakukonenäkyvyyttä
- SSR-migraatio on liian suuri projekti heti toteutettavaksi
- Sivusto käyttää runsaasti JavaScript-komponentteja, joita hakukoneet eivät renderöi
- Sosiaalisen median jakaminen ei toimi oikein
Google suosittelee kuitenkin siirtymistä SSR:ään tai SSG:hen pitkällä aikavälillä.
Dynamic rendering -työkalut
Yleisimpiä dynaamisen renderöinnin työkaluja:
- Rendertron — Googlen kehittämä avoimen lähdekoodin esirenderöintipalvelu
- Prerender.io — kaupallinen esirenderöintipalvelu
- Puppeteer — Googlen headless Chrome -kirjasto
- Cloudflare Workers — reunapalvelimella toimiva esirenderöinti
Nämä työkalut ajavat JavaScript-koodin palvelimella ja tallentavat valmiin HTML:n, joka tarjotaan hakuroboteille.
Yhteenveto
Dynamic Rendering on käyttökelpoinen väliaikaisratkaisu JavaScript-sovellusten hakukonenäkyvyysongelmiin, mutta se lisää teknistä monimutkaisuutta ja ylläpitokuormaa. Pk-yrityksen paras strategia on rakentaa sivusto alusta asti hakukoneystävällisenä — staattinen sivugeneraattori (SSG) kuten Astro tuottaa valmiit HTML-sivut ilman lisäkerroksia.