503 Service Unavailable: servizio non disponibile

Il 503 Service Unavailable è un codice di stato HTTP restituito quando il server non è temporaneamente in grado di gestire la richiesta per sovraccarico o manutenzione. Dice ai crawler di ricerca: «Torna più tardi, la pagina funzionerà presto». A differenza del 500 (Internal Server Error), il 503 indica un downtime pianificato e previsto.

Cos'è il 503 Service Unavailable

Il 503 è uno status HTTP in cui il server dichiara di non poter elaborare la richiesta in questo momento, ma che la condizione è temporanea. Cause tipiche: sovraccarico (troppe richieste contemporanee), manutenzione programmata, aggiornamenti del database o deploy di una nuova versione del sito.

La differenza principale tra 503 e 500 (Internal Server Error) è che il 503 indica esplicitamente un problema reversibile. I motori di ricerca che ricevono un 503 non rimuovono la pagina dall'indice, ma rimandano la nuova scansione.

Se il sito avrà una manutenzione prolungata (diverse ore), restituisci 503 per tutte le richieste (incluse robots.txt e le altre risorse). Questo evita un'indicizzazione parziale.

Quando usare il 503

  • Manutenzione programmata (upgrade del CMS, migrazione dati).
  • Sovraccarico temporaneo del server (per esempio vendite flash).
  • Deploy di una nuova versione del sito mentre il vecchio codice è temporaneamente sostituito.
  • Backup o ripristino di un database.
  • Attacchi DDoS (in questo caso il 503 protegge i crawler da tentativi inutili).

Impatto su SEO e indicizzazione

I 503 di breve durata (fino a poche ore) non hanno quasi impatto sul posizionamento. Googlebot li tratta come comportamento normale, passa ad altri URL e torna più tardi. Se un 503 dura giorni, Google può iniziare a ridurre la frequenza di scansione; l'indisponibilità prolungata (settimane) può portare alla rimozione delle pagine dall'indice.

È importante non restituire per errore 503 su singole pagine mentre il resto del sito funziona: quelle pagine uscirebbero dall'indice. Non usare il 503 nemmeno per contenuti davvero spariti: in quel caso usa 404 o 410.

Non usare mai il 503 come modo per nascondere contenuti a Google (per esempio per test). Se un 503 persiste troppo a lungo, il crawler smetterà di scansionare e la pagina sparirà.

L'header Retry-After

Quando restituisci un 503 è consigliato aggiungere l'header HTTP Retry-After. Dice al crawler dopo quanti secondi (o a quale data) ripetere la richiesta. Riduce il carico sul server e accelera il recupero dell'indicizzazione dopo la manutenzione.

http
HTTP/1.1 503 Service Unavailable
Retry-After: 3600

# or with a date
Retry-After: Sat, 3 May 2026 12:00:00 GMT

Configurazione di esempio in Nginx:

nginx
location / {
    return 503;
    add_header Retry-After "3600";
}

In .htaccess (Apache) puoi usare mod_rewrite con una pagina 503 personalizzata e l'header appropriato.

FAQ

Quanto posso mantenere un 503 senza danni SEO?
Poche ore sono sicure. Fino a 24 ore è accettabile ma può ridurre la frequenza di scansione. Oltre 2-3 giorni c'è rischio di rimozione delle pagine dall'indice.
Che cosa è meglio durante la manutenzione: 503 o 500?
Sempre il 503. Il 500 segnala un errore interno inatteso, che Google può interpretare come un problema di qualità del sito.
Devo mostrare agli utenti una bella pagina sul 503?
Sì, puoi creare una pagina 503 personalizzata con una spiegazione e il tempo stimato di ripristino, continuando a restituire lo status HTTP 503.
Come verifica Google il 503 in tempo reale?
Googlebot invia richieste e ottiene lo status. Se è 503, rimanda la richiesta seguendo Retry-After oppure usa il proprio algoritmo di backoff esponenziale.
Il 503 incide sul crawl budget?
Sì: se un 503 dura a lungo, il crawler spreca budget in tentativi inutili. Per questo usa Retry-After per indicare il momento ottimale di ritorno.