Kodėl Google News nepastebi tavo turinio?
Jei turi naujienų portalą ant SPA (Single Page Application) architektūros, greičiausiai jau susidūrei su šia problema: straipsniai publikuojami, redakcija dirba pilnu tempu, o Google News vis tiek rodo turinį su kelių dienų vėlavimu arba neindeksuoja jo visai. Tai nėra atsitiktinumas – tai architektūrinis iššūkis, kurį galima išspręsti, jei žinai kur spausti.
SSR arba prerendering – ne pasirinkimas, o būtinybė
Google News robotas nėra toks kantrus kaip įprastas Googlebot. Jis nenori laukti, kol JavaScript sugeneruos puslapio turinį. Jam reikia HTML čia ir dabar. Štai kodėl server-side rendering (SSR) arba bent jau statinis prerendering yra ne „nice to have” funkcija, o fundamentas.
Jei naudoji Next.js – puiku, getServerSideProps arba ISR (Incremental Static Regeneration) su trumpu revalidation laiku (pvz., 60 sekundžių) leis Google News robotui gauti pilnai sugeneruotą HTML kiekvienam straipsniui. Nuxt.js vartotojams – analogiškai veikia useFetch su SSR režimu.
Svarbu: prerendering sprendimais kaip Prerender.io galima apsieiti, bet tai yra kompromisas. Jie veikia, tačiau realiuoju laiku publikuojamoms naujienoms gali pridėti kritinį vėlavimą.
News Sitemap – tavo tiesioginis ryšys su Google
Dinaminis News Sitemap yra vienas efektyviausių būdų pasakyti Google News: „štai mano naujas straipsnis, indeksuok dabar”. Sitemap turi atitikti kelis griežtus reikalavimus:
- Įtraukti tik paskutinių 48 valandų straipsnius
- Kiekvienas URL turi turėti
<news:publication_date>su tiksliu laiku - Pavadinimas turi sutapti su
<title>tagu puslapyje - Sitemap turi būti generuojamas dinamiškai – ne kartą per dieną, o realiu laiku
SPA kontekste tai reiškia, kad reikia atskiro serverio endpoint’o (pvz., /news-sitemap.xml), kuris kiekvieną kartą pateikia atnaujintą sąrašą tiesiai iš duomenų bazės.
Structured data – kalba, kurią Google myli
Kiekvienas straipsnis turi turėti teisingai implementuotą NewsArticle schema JSON-LD formatu. Ir čia SPA daro klaidą: schema dažnai įterpiama per JavaScript po puslapio užkrovimo. Google News robotui to nepakanka – schema turi būti HTML atsakyme, ne dinamiškai pridėta.
Minimalus reikalingas rinkinys:
headline– tiksliai toks pat kaip H1datePublishedirdateModifiedISO 8601 formatuauthorsuPersontipupublishersu organizacijos logotipuimage– bent vienas aukštos kokybės paveikslėlis
Greitis ir Core Web Vitals – ne tik SEO reikalas
Google News algoritmui greitis yra signalas. LCP (Largest Contentful Paint) virš 4 sekundžių naujienų puslapiuose yra raudona vėliavėlė. SPA architektūra čia turi natūralų trūkumą – JavaScript bundle’ai, hidratacija, API kvietimai. Sprendimas: agresyvus turinio caching CDN lygmeniu, kritinio CSS inline’inimas ir lazy loading viskam, kas nėra straipsnio turinys.
Kai viskas sudėliota – tai veikia kaip laikrodis
Naujienų SPA ir Google News indeksavimas nėra priešai – jie tiesiog kalba skirtingomis kalbomis, ir tavo darbas yra būti vertėju. SSR užtikrina, kad robotas gauna turinį iš karto. Dinaminis sitemap pasako, kad kažkas naujo pasirodė. Structured data paaiškina, kas tai yra. O greitis parodo, kad rimtai žiūri į savo platformą. Kai šie keturi elementai dirba kartu, straipsniai pradeda atsirasti Google News per kelias minutes po publikavimo – ne dienas. Ir tai yra skirtumas tarp portalo, kurį skaito žmonės, ir portalo, kurį skaito tik redakcija.