Next.js App Router – stranica nasumično dobije title “Untitled” u produkciji

Pozdrav svima,

imam Next.js (App Router) aplikaciju u produkciji, hostanu na vlastitom VPS-u (Node + PM2, nije Vercel).

Problem je vrlo čudan i nasumičan:

  • Stranica u nekom trenutku počne vraćati title = “Untitled”

  • Sadržaj stranice se normalno učitava

  • Nema errora u konzoli ni u server logovima

  • Problem se često pojavi nakon objave novog članka u CMS-u (Wordpress)

  • Restart PM2 ili novi next build privremeno riješi problem

  • Nakon nekog vremena se opet pojavi


TEHNIČKI SETUP

  • Next.js 13+ (App Router)

  • metadata / generateMetadata

  • Headless WordPress (WPGraphQL)

  • ISR / revalidate uključen

  • Self-hosted (PM2), nije Vercel


ŠTA SAM POKUŠAO

  • Premjestio metadata u layout.tsx

  • Uklonio async fetch iz metadata

  • Dodao hardkodirani fallback title

  • Dodao error boundary

  • Onemogućio throw u fetch funkcijama

  • Watchdog koji restartuje app kad se pojavi “Untitled”

Nažalost, problem se i dalje povremeno pojavljuje.


PITANJE

  • Je li neko imao sličan problem s App Router metadata-om?

  • Zašto Next.js tiho fallbacka na “Untitled” bez errora?

  • Koje je ispravno i trajno rješenje za ovo u produkciji?

Svaki savjet ili iskustvo bi mi puno značilo :folded_hands:

2 lajka

test test, jel se vidimo, ne znam zašto je objava otišla u spam ali sam odobrio ručno

1 lajk

Jesi pokušao podignuti razinu log-a s INFO ili WARNING na DEBUG privremeno? Morao bi nešto vidjeti u debug log-u. Nemoj zaboraviti ga kasnije spustiti radi storage usage-a.

Nešto je definitivno off sync.

Ako PM2 restart ili novi next build privremeno rijesi problem, nesto u runtime ili u cache dolazi do off-sync. Desavalo mi se slicno a poznato je za next da ima te svoje musice kada se self hosta umjesto na vercel jer vercel to kontrolise sve kroz neki svoj lifecycle.

Po ovome fokusirao bi se na taj generateMetadata. Stavio bi ga u console.log NA SERVERU i pratio tok procesa. Ako prebacuje na default “untitled” sigurno dobija null ili undefined.

Ne radim sa WP ali pretpostavio bi da je moguce i do race condition (napisao si da se problem cesto javi nakon objave clanka)

Nisam sa nextom radio duze vrijeme i ne planiram vise ali to je sto bi poduzeo za prve korake. Nadam se da te ovo moze barem malo uputiti u debuging avanturu

1 lajk