Problema, kurią daugelis ignoruoja iki paskutinės minutės
Naujienų portalai ant React ar Vue pagrindo atrodo puikiai – greiti, modernūs, patogūs redaktoriams. Bet yra vienas niuansas, kuris gali nustebinti: „Google News” robotas nėra tas pats, kas įprastas „Googlebot”. Jis elgiasi kitaip, indeksuoja kitaip ir, svarbiausia – nelaukia, kol JavaScript sugeneruos turinį.
Tai reiškia, kad jei jūsų SPA grąžina tuščią HTML su <div id="app"></div>, naujienų robotas tiesiog praeis pro šalį. Straipsnis bus paskelbtas, bet „Google News” jo nematys. Arba matys – bet po kelių valandų, kai jau per vėlu.
SSR arba prerendering – nėra trečio kelio
Pirmas ir svarbiausias žingsnis: serverio pusės renderinimas (SSR). Next.js, Nuxt.js ar panašūs sprendimai leidžia kiekvieną straipsnio puslapį grąžinti kaip pilnai sugeneruotą HTML dar prieš pasiekiant naršyklę. Robotas gauna turinį iš karto – be jokio laukimo.
Jei pilnas SSR atrodo per sudėtingas, galima rinktis statinį generavimą (SSG) su inkrementine regeneracija. Straipsnis paskelbiamas, sistema automatiškai sugeneruoja statinį puslapį per kelias sekundes. Tai tinka portalams, kur naujienos neredaguojamos po paskelbimo.
Prerendering servisai, tokie kaip Prerender.io, yra kompromisas – bet ne visada patikimas. Jei robotas ateis per pirmąsias minutes po paskelbimo, o cache dar neatnaujintas, vėl gausite problemą.
News Sitemap – ne papildomas darbas, o būtinybė
„Google News” turi atskirą sitemap formatą. Jis skiriasi nuo įprasto XML sitemap tuo, kad apima tik paskutinius 48 valandų straipsnius ir turi specifinių laukų: <news:publication_date>, <news:title>, <news:publication>.
Sitemap turi atsinaujinti realiu laiku – kiekvieną kartą, kai paskelbiamas naujas straipsnis. Statinis sitemap, generuojamas kartą per dieną, čia neveiks. Reikia endpoint’o, kuris dinamiškai traukia paskutinius įrašus iš duomenų bazės ir grąžina teisingą XML.
Ir dar vienas dalykas, kurį dažnai pamiršta: sitemap turi būti užregistruotas „Google Search Console” būtent kaip naujienų sitemap, ne kaip įprastas.
Techniniai smulkmenai, kurie iš tikrųjų svarbūs
Canonical URL’ai turi būti absoliutūs ir unikalūs kiekvienam straipsniui. Jei tas pats turinys pasiekiamas per kelis URL (su parametrais, be jų, su trailing slash ir be), robotas supainioja, kuris yra tikrasis šaltinis.
Structured data pagal NewsArticle schemą – ne tik gražus priedas, bet ir signalas „Google News” algoritmui. Čia svarbu teisingai nurodyti datePublished ir dateModified laukus. Jei straipsnis atnaujinamas, data turi keistis – bet ne kiekvieną kartą, kai redaktorius pataiso rašybos klaidą.
Puslapio įkėlimo greitis taip pat svarbus. „Google News” indeksavimas yra konkurencingas – jei jūsų straipsnis įkeliamas 4 sekundes, o konkurento 0.8 sekundės, spėkite, kuris bus indeksuotas pirmas.
Kai viskas sukonfigūruota, bet vis tiek neveikia
Kartais problema nėra techninė. „Google News” turi redakcinę peržiūrą – nauji portalai turi būti patvirtinti. Jei jūsų domenas naujas arba neseniai perkeltas, gali tekti laukti. Jokia techninė konfigūracija to nepagreitins.
Tačiau jei portalas jau indeksuojamas, bet straipsniai pasirodo su vėlavimu – tai beveik visada SSR problema arba sitemap atnaujinimo dažnumas. „Google Search Console” sekcija „News” rodo, kurie URL buvo aptikti ir kada. Tai geriausias diagnostikos įrankis.
Galiausiai – tai ne vienkartinis darbas
SPA ir „Google News” gali draugauti, bet tai reikalauja nuolatinio dėmesio. Kiekvienas framework’o atnaujinimas, kiekvienas naujas puslapio tipas, kiekviena URL struktūros keitimas gali sulaužyti tai, kas veikė. Verta turėti automatizuotus testus, kurie tikrina, ar naujai paskelbtas straipsnis per 5 minutes pasirodo sitemap’e ir ar jo HTML yra pilnas be JavaScript vykdymo. Tai ne paranoja – tai tiesiog naujienų portalo higiena.