Redirect API e regole as code: CI/CD per modifiche URL più sicure
Le regole di redirect sono configurazione di traffico in produzione. Devono essere revisionate, validate, provate in staging, pubblicate, monitorate e reversibili.

Un redirect spesso nasce come una correzione veloce. Cambia l'URL di un prodotto. Una pagina di supporto viene spostata. Una landing di campagna riceve un nuovo slug. Qualcuno aggiunge una riga in next.config.js, in Cloudflare, in un plugin CMS o in Nginx.
Finché le regole sono poche, il rischio sembra basso. Durante una migrazione di dominio, un replatform ecommerce, un nuovo catalogo o una campagna con partner, quel metodo diventa fragile.
Una regola di redirect decide dove finiscono backlink, QR code stampati, traffico Google Ads, email CRM, link affiliati e vecchie pagine indicizzate. Non è più un dettaglio di configurazione. È traffico di produzione.
Il modello più solido tratta i redirect come configurazione rilasciabile: regole strutturate, CI che valida, staging che mostra il comportamento reale, snapshot pubblicato in produzione e rollback pronto.
Perché i redirect devono stare nel processo di release
I team revisionano già variabili d'ambiente, migration del database, feature flag e middleware. Un redirect che impatta SEO, campagne o fatturato merita lo stesso percorso.
Il flusso debole di solito è questo:
- SEO mantiene una tabella di mapping
- engineering copia righe nella configurazione dell'app
- marketing cambia destinazioni in un altro strumento
- il CMS crea redirect nascosti
- il CDN normalizza host e HTTPS
- quando il report si rompe, nessuno sa quale livello ha risposto
Le regole as code trasformano la redirect map in un artefatto revisionabile. Può essere YAML, JSON, Terraform, CSV o payload API. Conta che la regola abbia proprietario, test e rollback.

Una regola deve spiegare l'intento
old_url e new_url bastano per eseguire un redirect. Non bastano per gestirlo con criterio.
Un contratto utile è più esplicito:
{
"source": "/vecchi-prezzi",
"destination": "/prezzi",
"status": 301,
"match": "exact",
"queryPolicy": "preserve_allowlist",
"preserveQuery": ["utm_source", "utm_medium", "utm_campaign", "gclid"],
"owner": "growth",
"reason": "consolidamento pagina prezzi",
"expiresAt": null
}Per ecommerce e migrazioni aggiungi priorità, locale, paese, device, batch, review status e fallback.
| Campo | Perché serve |
|---|---|
status | 301/308 per spostamenti permanenti, 302/307 per campagne o test |
match | Exact, wildcard, regex, host, query, header o condizione |
queryPolicy | Protegge UTM, click ID, coupon e parametri affiliate |
owner | Dice chi risponde a SEO, supporto, analytics o marketing |
batch | Permette publish e rollback per gruppo |
expiresAt | Evita che una promo temporanea resti online per sempre |
La documentazione Google collega il tipo di redirect all'intenzione: quanto dura lo spostamento e quale URL deve apparire in Search. La CI non decide l'intento, ma può bloccare errori evidenti.
API sync evita import manuali
I redirect nascono fuori dal repository. Il CMS cambia slug. Il catalogo Shopify, WooCommerce o Magento ritira prodotti. Il team docs sposta percorsi. Un'agenzia SEO consegna la mappa di migrazione. Un partner chiede link tracciati.
Se tutto passa da copia e incolla, le regole divergono.
Una Redirect API crea un confine chiaro:
| Fonte | Comportamento via API |
|---|---|
| CMS | Creare o aggiornare redirect quando cambia uno slug, con approvazione per le pagine ad alto traffico |
| Catalogo ecommerce | Mandare prodotti ritirati a sostituti, categorie, waitlist o pagine unavailable |
| Build docs | Pubblicare vecchi percorsi insieme alla nuova versione |
| File di migrazione | Importare un batch revisionato, validarlo e pubblicarlo come snapshot |
| Tool interni | Far richiedere regole a support o operations senza dare accesso al CDN |

Cloudflare consente la creazione di redirect tramite Rulesets API. Next.js e Vercel supportano redirect configurati. Sono livelli di esecuzione utili; la parte difficile è la governance: validazione, ownership, staging, analytics e rollback.
Cosa deve controllare la CI
Un job CI sui redirect deve testare il comportamento, non solo la sintassi.
Controlli utili:
- sorgenti duplicate
- destinazioni malformate
- owner, motivo o status mancanti
- wildcard o regex che nascondono regole exact
- status permanente su campagna temporanea
- destinazione in 404, 410, 5xx o redirect inatteso
- redirect chain troppo lunga
- loop
- perdita di UTM, click ID, coupon o partner ID
- condizioni paese, device, header o query senza fallback
- overlap con un altro batch
Per URL critiche, usa una matrice di richieste:
source=/vecchi-prezzi
country=IT
device=desktop
query=?utm_source=google&gclid=test
expectedStatus=301
expectedDestination=/prezzi?utm_source=google&gclid=testLa differenza è concreta: prima del publish sai già dove finira il traffico.

Lo staging deve mostrare la rotta finale
Uno staging per redirect deve rispondere: con questo URL è questo contesto, cosa succederà in produzione?
Mostra:
- regola applicata
- status code
- destinazione finale
- query policy
- risultato delle condizioni
- regole concorrenti
- lunghezza della chain
- owner e batch
- differenza dallo snapshot pubblicato
Gli ambienti GitHub Actions possono richiedere reviewer prima del deploy. Lo stesso schema funziona per i redirect: CI valida, staging fornisce evidenza e produzione aspetta l'approvazione giusta.
Il rollback è parte del requisito
Annullare un redirect non dovrebbe richiedere un redeploy dell'applicazione origin.
Mantieni snapshot pubblicati. Etichetta gli import. Separa regole di campagna temporanee da migrazioni permanenti. Rendi visibili gli override di emergenza.
| Problema | Risposta più sicura |
|---|---|
| Batch di migrazione sbagliato | Disattivare o ripristinare quel batch |
| Pagina importante mal instradata | Aggiungere una regola exact a priorità più alta |
| Landing di campagna non disponibile | Passare a un fallback temporaneo |
| Regex troppo ampia | Pausare il pattern e pubblicare eccezioni |
| Query policy rompe analytics | Ripristinare la policy precedente e ritestare URL con UTM |
Se la regola può influire su ricerca, paid traffic, supporto o vendite, il rollback non è opzionale.
Dove entra UrlEdge
UrlEdge è utile quando il team vuole automatizzare redirect senza trasformare ogni cambio URL in un deploy dell'app.
- API per domini, regole, pubblicazione e automazione
- Redirect Management per ownership, analytics, snapshot e rollback
- Bulk URL Management per mappe di migrazione e import massivi
- Advanced Redirect Rules per wildcard, regex, query e condizioni
- Redirect Checker per QA su rotta e status
- Collaboration per review tra SEO, marketing, platform e agenzie
Lascia nell'app i piccoli redirect che appartengono al prodotto. Lascia al CDN la normalizzazione semplice. Usa API e rules as code quando servono review, prova, automazione e recupero rapido.
FAQ
Cosa significa redirect rules as code?
Significa gestire le regole in un formato strutturato e revisionabile, con validazione, staging, pubblicazione e rollback.
Tutti i redirect devono stare in Git?
No. Git è ottimo per regole stabili e migrazioni. L'API e più adatta a regole generate da CMS, ecommerce, partner o tool interni.
Il CI/CD può pubblicare redirect direttamente?
Sì, se ci sono validazione, staging, permessi, approvazione per cambi rischiosi e rollback.
Fonti
Automatizza la pubblicazione dei redirect
Crea, valida, pubblica, monitora e ripristina regole di redirect dal tuo workflow di deploy.
Esplora l'APIArticoli correlati
Visualizza tutto
Geo redirect per ecommerce: store locali, valuta, lingua e fallback sicuri per SEO
I geo redirect aiutano i clienti a raggiungere lo store giusto, ma se sono troppo aggressivi possono nascondere pagine locali a utenti e crawler.

Link di campagna brandizzati con UTM, QR code e traffico partner
Un link di campagna deve essere leggibile, conservare l'attribuzione e restare modificabile dopo essere stato pubblicato, stampato o passato a un partner.