Le favicon in Next.js App Router

Scritto da

App Router può produrre gli elementi delle icone a partire da file convenzionali o dall’oggetto metadata. Entrambi gli approcci sono validi, ma mescolarli senza una regola chiara può facilmente creare dichiarazioni in conflitto.

Albero di App Router che collega i file delle icone alle pagine
Le convenzioni dei file seguono i segmenti di percorso di App Router.

Scegli le convenzioni dei file

Inserisci favicon.ico nella radice di app. I file icon supportati possono trovarsi in un segmento di percorso, mentre apple-icon descrive l’icona destinata ai dispositivi Apple.

Next.js rileva questi file, determina gli attributi utili e aggiunge i relativi elementi link nel head. Un’icona inserita in un segmento si applica ai percorsi di quel segmento.

Convenzioni delle icone in App Router
FilePosizioneScopo
favicon.icoapp/Alternativa del sito
icon.svgsegmento appIcona del browser
apple-icon.pngsegmento appIcona Apple
manifest.webmanifestsegmento appManifest per l’installazione

Usa i metadati per percorsi espliciti

Se le risorse si trovano in public o su un host di immagini, dichiara metadata.icons in un layout o una pagina. Specifica icon, apple e, se necessario, shortcut usando URL coerenti.

I metadati di un segmento figlio possono sostituire campi composti ereditati dal padre. Controlla il head finale su più percorsi senza presumere che tutte le voci del padre siano state unite.

Per un’icona generata su richiesta, Next.js supporta anche icon.tsx o icon.js. La funzione restituisce dati immagine con dimensioni e tipo di contenuto espliciti. Riserva questo approccio a composizioni davvero dinamiche: un file statico è più semplice da memorizzare nella cache, controllare e servire in modo coerente tra le pubblicazioni.

Collega il manifest e le sue icone

Un file manifest statico o una funzione manifest.ts può descrivere il nome dell’applicazione, i colori e le icone installabili. Gli URL delle icone del manifest devono essere pubblici e puntare a file con le dimensioni dichiarate.

Mantieni distinto il ruolo del manifest da quello della favicon delle schede: un’icona di installazione 512×512 non sostituisce automaticamente icon.svg o favicon.ico.

Verifica in produzione

Esegui una build di produzione, apri un percorso per ogni segmento interessato e ispeziona gli elementi link. Apri poi direttamente l’URL di ogni risorsa e conferma che il middleware non la intercetti.

Se usi basePath o una CDN, verifica gli URL prodotti nell’ambiente pubblicato. Il comportamento locale non rivela sempre una base pubblica errata o una regola di riscrittura sbagliata.

Fonti primarie

Domande frequenti

Bisogna scrivere gli elementi link a mano?

No. Le convenzioni dei file o metadata.icons possono generarli. Scegli un’unica fonte chiara per le dichiarazioni.

Dove va inserito favicon.ico?

Con App Router, la convenzione favicon.ico è supportata nella radice della cartella app.

manifest.ts sostituisce icon.svg?

No. Il manifest descrive le icone installabili e altri dati, mentre icon.svg fornisce direttamente l’icona del browser.

Metti in pratica

Il generatore produce il set completo in pochi secondi, gratis e senza caricare le tue immagini su un server.

Genera le risorse per Next.js

Altre letture e strumenti da provare

Gli altri strumenti LFFavicon e le guide che rispondono alle domande più frequenti.

Strumenti

Guide