Chrome 151’s Soft Navigations API hatimaye inaruhusu programu za ukurasa mmoja (SPAs) kuripoti Core Web Vitals kwa kila uelekezaji (navigation) ndani ya programu, lakini seti ya data ya CrUX ya Google bado inarekodi tu upakiaji wa kwanza wa ukurasa (hard load), jambo linalowaacha watengenezaji na picha mbili tofauti za utendaji.

Kwa nini vipimo vya SPA vimechelewa

Core Web Vitals—Largest Contentful Paint (LCP), Interaction-to-Next-Paint (INP) na Cumulative Layout Shift (CLS)—vilifafanuliwa kulingana na hard navigations. Hard navigation hupata hati (document) mpya kabisa na kufuta hali (state) ya ukurasa uliopita.

SPAs zilizojengwa kwa kutumia React, Vue, Next.js, au mifumo kama hiyo mara chache huchochea hard navigations. Kubofya kiungo (link) kunasasisha URL kupitia History API, kunapata data kwa nyuma (background), na kubadilisha maudhui bila kupakia upya ukurasa mzima. Performance API iliyopo inakamata tu upakiaji wa awali wa ukurasa, hivyo LCP na INP hazioni ucheleweshaji (latency) ambao watumiaji wanahisi wanapohamia kutoka njia (route) moja kwenda nyingine.

Upungufu huo unaharibu dashibodi zinazovuta data kutoka kwenye Performance Timeline au Chrome User Experience Report (CrUX) ya Google. Mara nyingi huonyesha LCP nzuri sana kwa ukurasa wa “shell” huku zikipuuza upakiaji wa polepole ndani zaidi ya programu, jambo linalotoa hisia ya uongo kuhusu afya ya utendaji.

Chrome’s Soft Navigations API

Chrome 151 ilianzisha Soft Navigations API, seti ya kanuni (heuristics) zinazochukulia mwingiliano fulani wa SPA kama uelekezaji halisi (real navigations). API hii inafuatilia ishara tatu:

  • Mwingiliano ulioanzishwa na mtumiaji (click, tap, keyboard event)
  • Mabadiliko ya URL kupitia History API
  • Matukio ya uchoraji (paint events) yanayofuata yanayowasilisha maudhui mapya

Ishara zote tatu zinapopatana, Chrome inarekodi soft navigation kwenye Performance Timeline, na Core Web Vitals zinapigiwa hesabu kwa mabadiliko hayo kama ilivyo kwa hard navigation. Maktaba ya web-vitals iliyofunguliwa (open-source) iliongeza uunganishaji huo mnamo Julai 21, hivyo watengenezaji wanaweza kuanza kuvuta namba hizi kwa kutumia API ile ile waliyokuwa wakiitumia tayari.

Kiutendaji, sasa unaona thamani ya LCP kwa kila mabadiliko ya njia (route), INP inayoakisi ucheleweshaji halisi wa ingizo la mwisho la mtumiaji, na CLS inayorekodi mabadiliko ya mpangilio (layout shifts) baada ya soft navigation.

Mgawanyo wa data: Chrome dhidi ya CrUX

CrUX (Chrome User Experience Report) ya Google ndiyo inayowezesha PageSpeed Insights, Search Console na, kwa njia isiyo ya moja kwa moja, ishara za nafasi (ranking signals). CrUX bado inakusanya data za hard-navigation pekee.

Kwa hivyo, unajikuta na mtiririko wa data mbili zinazofanana lakini tofauti:

  • Zana za ndani zinazosoma Performance Timeline sasa zinaonyesha LCP, INP na CLS za kiwango cha njia (route-level), zikitoa mtazamo halisi wa kile watumiaji wanachopata katika SPA.
  • Seti za data za umma za Google zinaendelea kuonyesha vipimo vya upakiaji wa kwanza wa ukurasa pekee, ambayo ndiyo inayoripotiwa na Search Console na inayorejelewa na algoriti za nafasi za Google.

Zote mbili ni sahihi; zinapima tu nyakati tofauti. Kutegemea Search Console pekee kunaweza kuficha upungufu wa utendaji (performance regressions) unaotokea baada ya upakiaji wa awali, wakati dashibodi za ndani pekee hazitaonyesha msingi (baseline) ambao Google anautumia kwa SEO.

Mambo ambayo watengenezaji wanapaswa kuzingatia

  • Usaidizi wa kivinjari (Browser support) – Soft Navigations API kwa sasa inapatikana kwenye vivinjari vinavyotumia Chromium pekee. Safari na Firefox hazina mbadala wake, hivyo lazima uwe na mantiki ya mbadala (fallback logic) kwa sehemu ya hadhira yako.
  • Mipaka ya kanuni (Heuristic limits) – API huamua soft navigation kulingana na seti ya ishara. Ikiwa programu yako inasasisha maudhui bila kubadilisha URL (kwa mfano, modal overlays au infinite scroll), API inaweza kukosa mabadiliko hayo, na kuacha mapengo katika data.
  • Jaribio kabla ya kuamini – Kwa sababu utambuzi unategemea kanuni (heuristic), endesha mfululizo wa mwingiliano wa ulimwengu halisi kwenye programu yako na ulinganishe vipimo vilivyoripotiwa na muda wa mwongozo (kwa mfano, kwa kutumia performance.mark). Baada ya kuthibitisha usahihi, ndipo unapaswa kuj basinga maamuzi ya uboreshaji kwenye namba hizo mpya.

Hitimisho

Chrome 151 inawapa watengenezaji wa SPA uwezo uliokuwa unangojelewa kwa muda mrefu wa kupima LCP, INP na CLS kwa kila mabadiliko ya njia ndani ya programu, lakini data ya nafasi ya Google bado inaonyesha upakiaji wa kwanza wa hard load pekee. Mpaka CrUX ifuate nyuma, timu lazima zishughulikie seti mbili za data zinazoenda sambamba: moja inayoeleza hadithi halisi ya mtumiaji, na nyingine inayochochea nafasi za utafutaji. Kusawazisha zote mbili—na kujiandaa kwa usaidizi mpana wa vivinjari—kutakuwa muhimu katika kudumisha SPA zenye utendaji wa kwanza katika mfumo wa wavuti wenye ushindani.