Lunover Engineering Notes

Come strutturare un codebase da web agency per scalare

Un pattern architetturale scalabile per la delivery in agenzia: confini dei contenuti, sezioni riutilizzabili, route deterministiche, helper per metadata e regole di internal linking.

February 10, 2025By LunoverWork with us

Come strutturare un codebase da web agency per scalare

Se ogni nuova pagina richiede un nuovo componente di pagina, il codebase di un’agenzia diventa un collo di bottiglia. La soluzione non e “piu componenti”. La soluzione e un modello contenuti rigoroso, routing prevedibile e sezioni riutilizzabili che restano SEO-safe mentre il sito cresce.

Cosa stai ottimizzando

  • spedire velocemente senza drift di layout
  • meno regressioni su navigazione/SEO
  • publishing dei contenuti prevedibile
  • internal linking semplice tra articoli e servizi

1. Separare contenuto da rendering

Una regola semplice che scala: il contenuto vive in MDX (o in un CMS), il rendering vive nei componenti. Il contenuto dovrebbe contenere:
  • titolo, descrizione, slug
  • data di pubblicazione e immagine opzionali
  • dati specifici di pagina (FAQ, testimonial, bullet di feature)
Il rendering dovrebbe contenere:
  • layout hero
  • layout di sezione
  • tipografia e spaziature
  • pattern CTA condivisi
Questo evita la trappola del “copia/incolla di pagine”.

2. Standardizzare il sistema di sezioni

Definisci un set piccolo di sezioni e riusale ovunque:
  • Hero
  • Griglia servizi
  • Step di processo
  • FAQ
  • CTA
  • Testimonial
Rendi le sezioni data-driven cosi i cambi contenuto non richiedono cambi layout.

3. Mantenere il routing deterministico

Famiglie di route prevedibili ti permettono di automatizzare la SEO in modo sicuro:
  • /services/[slug]
  • /blog/[slug]
  • /legal/[slug]
Quando le route sono consistenti, puoi generare:
  • URL canoniche
  • alternates/hreflang
  • entry per la sitemap
  • output schema
senza codice custom per ogni route.

4. Centralizzare la generazione dei metadata

I metadata non sono un dettaglio di copywriting. Sono infrastruttura. Metti la logica di canonical/hreflang/robots in un unico helper e riusala su tutte le route. Se il sito e multilingue, gli alternates devono derivare dalla disponibilita reale del contenuto, non da una sostituzione di stringhe. Vedi: Next.js 16 SEO Checklist for Production I link interni sono il modo in cui colleghi autorita tecnica e intento commerciale. Una regola che funziona bene per i siti di agenzia:
  • ogni post tecnico linka una pagina servizi rilevante
  • ogni pagina servizi linka un post tecnico rilevante
Parti da questi anchor: Poi costruisci cluster:
  • post di implementazione SEO -> /services/seo
  • post su performance/Next.js -> /services/web-development

6. Layout cartelle consigliato

Esempio (App Router + MDX):
src/
  app/
    [locale]/
      (pages)/
        blog/
          [slug]/page.tsx
        services/
          [slug]/page.tsx
  lib/
    seo-helpers.ts
    mdx-helpers.ts
  markdown/
    en/
      pages/
      blog/
L’obiettivo e un percorso consistente da:
  • contenuto -> route -> metadata -> schema -> sitemap

7. Checklist di publishing (non negoziabile)

Prima di pubblicare una pagina, verifica:
  • frontmatter presente (titolo, descrizione, slug)
  • intento primario chiaro
  • URL canonica corretta
  • link interni presenti (verso servizi e articoli correlati)