Esamina i percorsi dei redirect

Sette esempi HTTP locali verificati, senza scansione del tuo sito. Link di origine e risposte sono separati. Nessuna interrogazione a motori o indici di backlink.

I contatori includono le richieste GET mostrate dopo la pagina di origine. Il limite di sei appartiene al client didattico, non a Googlebot. La risposta finale può essere un errore; 200 non prova la pertinenza.

R01 · Pagina trasferita senza mappa

Risultato previsto
La vecchia guida ha un equivalente in /guide ma restituisce 404.
Azione proposta
Aggiungi un redirect permanente al sostituto dichiarato.
Verifica di accettazione
Lo stesso URL restituisce 301, poi /guide risponde 200 con il contenuto previsto.

Link nella pagina di origine · invariato

GET /publisher/r1
HTTP 200
Content-Type: text/html; charset=utf-8
Cache-Control: no-store

<!doctype html><html lang="en"><head><title>Local source</title></head><body><h1>Source page</h1><a href="/r1/old-guide">Reference</a></body></html>

Prima

Richieste dopo la pagina di origine: 1 · Risposte di redirect: 0

GET /r1/old-guide
HTTP 404
Content-Type: text/html; charset=utf-8
Cache-Control: no-store

<!doctype html><html lang="en"><head><title>Unavailable</title></head><body><h1>Not available</h1></body></html>

Risposta finale raggiunta

Dopo

Richieste dopo la pagina di origine: 2 · Risposte di redirect: 1

GET /r1/old-guide
HTTP 301
Location: /guide
Cache-Control: no-store

GET /guide
HTTP 200
Content-Type: text/html; charset=utf-8
Cache-Control: no-store

<!doctype html><html lang="en"><head><title>Replacement guide</title></head><body><h1>Replacement guide</h1><p>Equivalent guide content for the declared mapping.</p></body></html>

Risposta finale raggiunta

R02 · Catena funzionante con deviazione

Risultato previsto
La guida si raggiunge passando da /middle; il passaggio è evitabile.
Azione proposta
Punta direttamente a /guide mantenendo gli intermedi ancora necessari.
Verifica di accettazione
Le richieste scendono da tre a due; contenuto finale e link sorgente non cambiano.

Link nella pagina di origine · invariato

GET /publisher/r2
HTTP 200
Content-Type: text/html; charset=utf-8
Cache-Control: no-store

<!doctype html><html lang="en"><head><title>Local source</title></head><body><h1>Source page</h1><a href="/r2/old-guide">Reference</a></body></html>

Prima

Richieste dopo la pagina di origine: 3 · Risposte di redirect: 2

GET /r2/old-guide
HTTP 301
Location: /middle
Cache-Control: no-store

GET /middle
HTTP 301
Location: /guide
Cache-Control: no-store

GET /guide
HTTP 200
Content-Type: text/html; charset=utf-8
Cache-Control: no-store

<!doctype html><html lang="en"><head><title>Replacement guide</title></head><body><h1>Replacement guide</h1><p>Equivalent guide content for the declared mapping.</p></body></html>

Risposta finale raggiunta

Dopo

Richieste dopo la pagina di origine: 2 · Risposte di redirect: 1

GET /r2/old-guide
HTTP 301
Location: /guide
Cache-Control: no-store

GET /guide
HTTP 200
Content-Type: text/html; charset=utf-8
Cache-Control: no-store

<!doctype html><html lang="en"><head><title>Replacement guide</title></head><body><h1>Replacement guide</h1><p>Equivalent guide content for the declared mapping.</p></body></html>

Risposta finale raggiunta

R03 · Due URL creano un ciclo

Risultato previsto
Il vecchio URL e /r3/loop si rimandano reciprocamente senza contenuto finale.
Azione proposta
Sostituisci la regola iniziale con una destinazione diretta /guide.
Verifica di accettazione
Scompare l’arresto per ripetizione: vengono osservati 301 e 200.

Link nella pagina di origine · invariato

GET /publisher/r3
HTTP 200
Content-Type: text/html; charset=utf-8
Cache-Control: no-store

<!doctype html><html lang="en"><head><title>Local source</title></head><body><h1>Source page</h1><a href="/r3/old-guide">Reference</a></body></html>

Prima

Richieste dopo la pagina di origine: 2 · Risposte di redirect: 2

GET /r3/old-guide
HTTP 301
Location: /r3/loop
Cache-Control: no-store

GET /r3/loop
HTTP 301
Location: /r3/old-guide
Cache-Control: no-store

URL ripetuto: arresto prima di un’altra richiesta · /r3/old-guide

Dopo

Richieste dopo la pagina di origine: 2 · Risposte di redirect: 1

GET /r3/old-guide
HTTP 301
Location: /guide
Cache-Control: no-store

GET /guide
HTTP 200
Content-Type: text/html; charset=utf-8
Cache-Control: no-store

<!doctype html><html lang="en"><head><title>Replacement guide</title></head><body><h1>Replacement guide</h1><p>Equivalent guide content for the declared mapping.</p></body></html>

Risposta finale raggiunta

R04 · Home funzionante, destinazione errata

Risultato previsto
Il lettore cerca una guida; /home offre navigazione generica. Entrambe le fasi terminano con 200.
Azione proposta
Punta al pertinente /guide, non a una qualsiasi pagina accessibile.
Verifica di accettazione
Controlla percorso e corpo. Non è una classificazione soft 404 osservata in Google.

Link nella pagina di origine · invariato

GET /publisher/r4
HTTP 200
Content-Type: text/html; charset=utf-8
Cache-Control: no-store

<!doctype html><html lang="en"><head><title>Local source</title></head><body><h1>Source page</h1><a href="/r4/old-guide">Reference</a></body></html>

Prima

Richieste dopo la pagina di origine: 2 · Risposte di redirect: 1

GET /r4/old-guide
HTTP 301
Location: /home
Cache-Control: no-store

GET /home
HTTP 200
Content-Type: text/html; charset=utf-8
Cache-Control: no-store

<!doctype html><html lang="en"><head><title>Home</title></head><body><h1>Home</h1><p>General navigation, no replacement guide.</p></body></html>

Risposta finale raggiunta

Dopo

Richieste dopo la pagina di origine: 2 · Risposte di redirect: 1

GET /r4/old-guide
HTTP 301
Location: /guide
Cache-Control: no-store

GET /guide
HTTP 200
Content-Type: text/html; charset=utf-8
Cache-Control: no-store

<!doctype html><html lang="en"><head><title>Replacement guide</title></head><body><h1>Replacement guide</h1><p>Equivalent guide content for the declared mapping.</p></body></html>

Risposta finale raggiunta

R05 · Contenuto rimosso senza equivalente

Risultato previsto
Il contenuto è eliminato definitivamente e /home non ne soddisfa lo scopo.
Azione proposta
Restituisci 410 in questo caso e rimuovi i riferimenti interni obsoleti.
Verifica di accettazione
Il vecchio URL risponde 410; non si inventano sostituti o recuperi di ranking.

Link nella pagina di origine · invariato

GET /publisher/r5
HTTP 200
Content-Type: text/html; charset=utf-8
Cache-Control: no-store

<!doctype html><html lang="en"><head><title>Local source</title></head><body><h1>Source page</h1><a href="/r5/old-guide">Reference</a></body></html>

Prima

Richieste dopo la pagina di origine: 2 · Risposte di redirect: 1

GET /r5/old-guide
HTTP 301
Location: /home
Cache-Control: no-store

GET /home
HTTP 200
Content-Type: text/html; charset=utf-8
Cache-Control: no-store

<!doctype html><html lang="en"><head><title>Home</title></head><body><h1>Home</h1><p>General navigation, no replacement guide.</p></body></html>

Risposta finale raggiunta

Dopo

Richieste dopo la pagina di origine: 1 · Risposte di redirect: 0

GET /r5/old-guide
HTTP 410
Content-Type: text/html; charset=utf-8
Cache-Control: no-store

<!doctype html><html lang="en"><head><title>Unavailable</title></head><body><h1>Not available</h1></body></html>

Risposta finale raggiunta

R06 · Spostamento temporaneo dichiarato permanente

Risultato previsto
Il servizio originale tornerà; /holding è soltanto un avviso.
Azione proposta
Usa 302 per questo GET e pianifica il ripristino.
Verifica di accettazione
Lo stesso avviso è raggiunto via 302 anziché 301; cache precedenti e ricerca richiedono verifiche separate.

Link nella pagina di origine · invariato

GET /publisher/r6
HTTP 200
Content-Type: text/html; charset=utf-8
Cache-Control: no-store

<!doctype html><html lang="en"><head><title>Local source</title></head><body><h1>Source page</h1><a href="/r6/old-guide">Reference</a></body></html>

Prima

Richieste dopo la pagina di origine: 2 · Risposte di redirect: 1

GET /r6/old-guide
HTTP 301
Location: /holding
Cache-Control: no-store

GET /holding
HTTP 200
Content-Type: text/html; charset=utf-8
Cache-Control: no-store

<!doctype html><html lang="en"><head><title>Temporary notice</title></head><body><h1>Temporary notice</h1><p>The original service is expected to return.</p></body></html>

Risposta finale raggiunta

Dopo

Richieste dopo la pagina di origine: 2 · Risposte di redirect: 1

GET /r6/old-guide
HTTP 302
Location: /holding
Cache-Control: no-store

GET /holding
HTTP 200
Content-Type: text/html; charset=utf-8
Cache-Control: no-store

<!doctype html><html lang="en"><head><title>Temporary notice</title></head><body><h1>Temporary notice</h1><p>The original service is expected to return.</p></body></html>

Risposta finale raggiunta

R07 · Mappa permanente corretta invariata

Risultato previsto
La guida raggiunge già il sostituto pertinente con un solo 301.
Azione proposta
Mantieni la regola come controllo.
Verifica di accettazione
Le prove prima e dopo sono identiche; nessuna correzione inutile viene proposta.

Link nella pagina di origine · invariato

GET /publisher/r7
HTTP 200
Content-Type: text/html; charset=utf-8
Cache-Control: no-store

<!doctype html><html lang="en"><head><title>Local source</title></head><body><h1>Source page</h1><a href="/r7/old-guide">Reference</a></body></html>

Prima

Richieste dopo la pagina di origine: 2 · Risposte di redirect: 1

GET /r7/old-guide
HTTP 301
Location: /guide
Cache-Control: no-store

GET /guide
HTTP 200
Content-Type: text/html; charset=utf-8
Cache-Control: no-store

<!doctype html><html lang="en"><head><title>Replacement guide</title></head><body><h1>Replacement guide</h1><p>Equivalent guide content for the declared mapping.</p></body></html>

Risposta finale raggiunta

Dopo

Richieste dopo la pagina di origine: 2 · Risposte di redirect: 1

GET /r7/old-guide
HTTP 301
Location: /guide
Cache-Control: no-store

GET /guide
HTTP 200
Content-Type: text/html; charset=utf-8
Cache-Control: no-store

<!doctype html><html lang="en"><head><title>Replacement guide</title></head><body><h1>Replacement guide</h1><p>Equivalent guide content for the declared mapping.</p></body></html>

Risposta finale raggiunta

Esegui i casi

Esamina i percorsi dei redirect

Sette esempi HTTP locali verificati, senza scansione del tuo sito. Link di origine e risposte sono separati. Nessuna interrogazione a motori o indici di backlink.

Python 3.10 o successivo. Estrai il ZIP localmente. La verifica avvia un server temporaneo di loopback, testa tutti i casi, stampa JSON e termina. Non contatta siti esterni.

python3 redirect_lab.py --verify

Ferma il server con Ctrl+C e riavvialo con --phase after per esaminare gli stessi URL con le regole corrette. Scegli un’altra porta locale se 8766 è occupata.

python3 redirect_lab.py --phase before --port 8766

python3 redirect_lab.py --phase after --port 8766

http://127.0.0.1:8766/publisher/r1

http://127.0.0.1:8766/r1/old-guide

http://127.0.0.1:8766/publisher/r2

http://127.0.0.1:8766/r2/old-guide

http://127.0.0.1:8766/publisher/r3

http://127.0.0.1:8766/r3/old-guide

http://127.0.0.1:8766/publisher/r4

http://127.0.0.1:8766/r4/old-guide

http://127.0.0.1:8766/publisher/r5

http://127.0.0.1:8766/r5/old-guide

http://127.0.0.1:8766/publisher/r6

http://127.0.0.1:8766/r6/old-guide

http://127.0.0.1:8766/publisher/r7

http://127.0.0.1:8766/r7/old-guide

I contatori includono le richieste GET mostrate dopo la pagina di origine. Il limite di sei appartiene al client didattico, non a Googlebot. La risposta finale può essere un errore; 200 non prova la pertinenza.

Comandi e percorsi sono identificatori tecnici; il testo del rapporto è tradotto.

Indicizzazione, scelta canonica, traffico e ranking non sono misurati. Non viene calcolata una percentuale di autorità trasferita.

Indicizzazione, scelta canonica, traffico e ranking non sono misurati. Non viene calcolata una percentuale di autorità trasferita.