Validare una mappa di reindirizzamenti
Scovi gli errori di reindirizzamento finché la mappa è ancora un file: in /a → /b → /c → /d, il percorso da /a fa tre salti e viene segnalato per puntare subito a /d. Cicli, conflitti e autoreindirizzamenti sono indicati riga per riga. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Mappatura
- source,target,status /a,/b,301 /b,/c,301 /c,/d,301
- Righe di reindirizzamento
- 3
- Delimitatore rilevato
- ,
Una tabella di reindirizzamenti può sembrare corretta riga per riga e nascondere comunque un ciclo che intrappola i crawler oppure una sorgente assegnata a due destinazioni diverse. Incolli il file CSV o TSV per analizzare l’intero grafo prima della pubblicazione. Il rapporto collega ogni rilievo al suo record, segue i percorsi non ambigui fino al termine e si ferma in modo esplicito quando non esiste una destinazione finale attendibile.
Controlli il piano prima di spostare il traffico
Gli errori di reindirizzamento sono più semplici da correggere quando la mappa è ancora un file. Segnala percorsi non validi, codici non ammessi, una sorgente collegata a destinazioni incompatibili e i reindirizzamenti verso sé stessa. Poiché l’analisi è offline, non vengono richiesti indirizzi di collaudo o produzione e il file non viene modificato.
Il risultato può quindi entrare in una revisione di migrazione, in una checklist di lancio o in un controllo automatico senza esporre percorsi ancora riservati.
Distingua catene, cicli e destinazioni terminali
Ogni sorgente utilizzabile viene seguita finché raggiunge un target che non compare come un’altra sorgente. Un percorso con un solo salto è direct. Un ciclo, invece, non possiede alcun termine.
Anche le sorgenti ambigue e gli autorinvii rimangono senza una destinazione inventata.
Usi regole prudenti per CSV e URL
L’ingresso accetta virgola, punto e virgola, tabulazione o barra verticale e gestisce campi tra virgolette, virgolette raddoppiate e spazi esterni. Il rilevamento automatico privilegia un’intestazione con source e target; per esportazioni particolari può indicare esplicitamente il separatore. Maiuscole del percorso, query e caratteri codificati restano distinti, evitando normalizzazioni aggressive.
Limiti rigidi di byte e righe rifiutano mappe eccessive prima dell’analisi del grafo.
Casi d'uso
Verifica prima della migrazione
Validi l’esportazione ricevuta dall’agenzia, dal CMS o dall’inventario di scansione prima di cambiare DNS, template o regole del server.
Qualità continua della mappa
Esegua lo stesso rapporto deterministico a ogni rilascio e impedisca a sorgenti in conflitto o cicli di raggiungere la produzione.
Riduzione delle catene storiche
Utilizzi percorso, numero di salti e destinazione terminale per sostituire un tragitto multiplo con un reindirizzamento diretto verificato.
Domande frequenti
Quali codici di reindirizzamento sono ammessi?
Accetta 301, 302, 307 e 308. Una cella vuota usa 301; ogni altro valore viene segnalato come stato non valido nella sua riga.
Si possono mescolare percorsi relativi e URL assoluti?
Senza la base viene emesso un avviso, perché non è corretto indovinare il dominio del percorso.
Lo strumento è gratuito?
Lo strumento nel browser funziona localmente e gratis su computer e dispositivi mobili.
Lo strumento visita gli indirizzi presenti nella mappa?
No. L'analisi avviene offline: non contatta gli indirizzi di prova né quelli pubblici e non modifica la mappa, quindi i percorsi non ancora pubblicati restano riservati.
Che cosa succede se la mappa contiene un ciclo?
Il percorso viene segnalato come ciclo, con il tragitto ripetuto ma senza una destinazione finale, perché un ciclo non ne ha. Lo strumento non inventa una meta: corregga una delle righe per spezzare il giro.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/seo/redirect-map-validate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"mapping":"source,target,status\n/old-page,/new-page,301\n/new-page,/final-page,301"}'const res = await fetch("https://api.kit.forhosting.com/seo/redirect-map-validate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"mapping": "source,target,status\n/old-page,/new-page,301\n/new-page,/final-page,301"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/seo/redirect-map-validate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"mapping": "source,target,status\n/old-page,/new-page,301\n/new-page,/final-page,301"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/seo/redirect-map-validate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"mapping":"source,target,status\\n/old-page,/new-page,301\\n/new-page,/final-page,301"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"mapping":"source,target,status\n/old-page,/new-page,301\n/new-page,/final-page,301"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/seo/redirect-map-validate", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"mapping": "source,target,status\n/old-page,/new-page,301\n/new-page,/final-page,301"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "seo.redirect_map_validate",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
max_bytes | 1048576 |
max_rows | 10000 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Controlli il piano prima di spostare il traffico
Il validatore legge source, target e lo stato HTTP facoltativo di ogni record, quindi costruisce il grafo diretto che le regole produrrebbero dopo il rilascio.
Distingua catene, cicli e destinazioni terminali
Un percorso più lungo diventa chain e riporta il numero di salti, il tragitto completo e final_target, così Lei può accorciarlo consapevolmente. Per un anello di due pagine, un ciclo più ampio o un percorso che entra nel ciclo, l’uscita indica cycle e mostra il tratto ripetuto, ma omette final_target.
Usi regole prudenti per CSV e URL
Sorgente e destinazione possono essere URL HTTP o HTTPS assoluti oppure percorsi che iniziano con una barra. Inserisca base_url quando le due forme devono appartenere allo stesso grafo.
Domande tecniche
Il validatore visita gli URL di origine o destinazione?
No. Analizza il testo come grafo offline. Non segue reindirizzamenti attivi, non prova risposte HTTP, non conferma l’esistenza del target e non invia percorsi inediti sulla rete.
Che cosa accade quando viene trovato un ciclo?
La risoluzione interessata assume lo stato cycle e include il percorso ripetuto. final_target non compare, perché un ciclo non ha una destinazione terminale.