Kai greitis susitinka su matomumu
Yra kažkas paradoksalaus tame, kaip naujienų svetainės veikia šiandien. Redakcijos dirba nepertraukiamai, žurnalistai rašo naktimis, o straipsniai pasirodo ekranuose per sekundes — ir vis tiek „Google News” kartais elgiasi taip, lyg nieko nebūtų nutikę. Straipsnis egzistuoja, bet jo tarsi nėra. Ir dažniausiai kaltė krenta ant SPA architektūros.
Single Page Application — tai ne blogybė. Tai pasirinkimas, kuris turi savo kainą. Kai naršyklė gauna tuščią HTML apvalkalą ir laukia, kol JavaScript surenka puslapį, „Googlebot” kartais nebeturi kantrybės. Arba tiksliau — jis turi kantrybės, bet jos neužtenka ten, kur skaičiuojamos minutės.
Server-side rendering — ne mada, o būtinybė
Pirmasis ir svarbiausias žingsnis yra perkelti atvaizdavimą į serverio pusę. Next.js, Nuxt, SvelteKit — nesvarbu, kurį įrankį pasirinksi, esmė ta pati: kai „Googlebot” ateina, jis turi gauti pilną HTML, o ne pažadą, kad kažkas atsitiks po kelių šimtų milisekundžių.
Naujienų kontekste tai ypač svarbu dėl freshness signalo. „Google News” algoritmai vertina ne tik turinį, bet ir tai, kaip greitai naujas straipsnis tampa prieinamas indeksavimui. SSR čia tiesiog neturi alternatyvos — kiekvienas straipsnis turi būti atvaizduotas serveryje iš karto, kai tik jis pasirodo duomenų bazėje.
Sitemap kaip redakcijos dienoraštis
Statinis sitemap.xml naujienų svetainei yra kaip vakarykštis laikraštis — jis egzistuoja, bet jau pavėlavo. Reikia dinaminio sitemap, kuris atnaujinamas kiekvieną kartą, kai pasirodo naujas straipsnis. Ir ne bet kokio — „Google News” turi savo sitemap formatą su specifiniais laukais:
<url>
<loc>https://example.com/straipsnis/pavadinimas</loc>
<news:news>
<news:publication>
<news:name>Leidinio pavadinimas</news:name>
<news:language>lt</news:language>
</news:publication>
<news:publication_date>2024-11-15T10:30:00+02:00</news:publication_date>
<news:title>Straipsnio pavadinimas</news:title>
</news:news>
</url>
Šis sitemap turėtų apimti tik paskutinių 48 valandų straipsnius — „Google News” sitemap protokolas to ir reikalauja. Ir jis turėtų būti prieinamas per sekundes po publikavimo, ne per valandas.
Struktūrizuoti duomenys — kalba, kurią „Google” supranta be vertėjo
Kiekvienas straipsnis turi turėti NewsArticle schema.org žymėjimą. Tai ne biurokratija — tai būdas pasakyti „Google News” algoritmui, kas čia yra, kas tai parašė ir kada. SPA aplinkoje ši schema turi būti įterpta į serverio atvaizduotą HTML, o ne pridedama dinamiškai per JavaScript po puslapio užkrovimo.
Kritiniai laukai, kurių negalima praleisti: datePublished, dateModified, author, publisher su logo. Jei bent vieno trūksta, straipsnis gali būti indeksuotas, bet „Google News” jį traktuos kaip nepilnavertį.
Canonical ir URL struktūra — tvarka, kuri apsimoka
SPA dažnai kenčia nuo URL chaoso. Straipsnis pasiekiamas per tris skirtingus adresus, su parametrais ir be jų, su trailing slash ir be jo — ir kiekvienas iš jų „Googlebot” akyse yra atskiras puslapis. Canonical žymė čia yra ne pagalbinė priemonė, o gelbėjimosi ratas.
Naujienų svetainėse URL struktūra turėtų būti nuspėjama ir stabili: /kategorija/YYYY/MM/DD/straipsnio-slug arba panašiai. Data URL’e ne tik padeda organizuoti turinį — ji siunčia papildomą signalą apie straipsnio aktualumą.
Rendering budget ir „Googlebot” kantrybė
Net ir su SSR, JavaScript kiekis puslapyje svarbus. „Googlebot” turi vadinamąjį crawl budget — ribotą resursų kiekį, kurį jis skiria konkrečiai svetainei. Jei puslapis užkraunamas lėtai arba reikalauja daug JavaScript apdorojimo, botas tiesiog pereina prie kito.
Core Web Vitals čia susikerta su indeksavimo greičiu. LCP turi būti žemas ne tik dėl vartotojų — dėl to, kad „Google News” algoritmai vertina puslapio kokybę kaip vieną iš reitingavimo faktorių. Straipsnis gali būti indeksuotas, bet rodytas žemiau nei konkurentų, jei puslapis lėtas.
Tarp kodo eilučių ir skaitytojo akių
Visa ši techninė pusė gali atrodyti kaip atskiras pasaulis nuo žurnalistikos. Bet iš tikrųjų tai yra tas pats klausimas, tik kitaip suformuluotas: kaip užtikrinti, kad žodžiai pasiektų žmones? Laikraščių laikais tai buvo spausdinimo greitis ir platinimo tinklas. Šiandien tai — SSR, dinaminis sitemap ir schema.org žymėjimas.
Naujienų SPA, sukonfigūruotas teisingai, nėra kompromisas tarp greičio ir matomumo. Jis gali turėti abu — jei architektūra buvo apgalvota ne tik vartotojo patirties, bet ir indeksavimo logikos požiūriu. Ir tai nėra vienkartinis darbas: sitemap turi veikti nuolat, schema turi būti tikrinama po kiekvieno šablono pakeitimo, o Core Web Vitals — stebimi kaip redakcijos KPI. Nes straipsnis, kurio „Google News” nemato, yra kaip medis, krintantis tuščiame miške.