Inspecciona las rutas de redirección

Siete ejemplos HTTP locales comprobados; no se rastrea tu web. El enlace de origen y las respuestas se muestran por separado. No se consulta ningún buscador ni índice de enlaces.

Los contadores incluyen las peticiones GET mostradas después de la página de origen. El límite de seis pertenece a este cliente didáctico, no a Googlebot. Una respuesta final puede ser un error; 200 no demuestra relevancia.

R01 · Página trasladada sin mapa

Resultado previsto
La guía antigua tiene un equivalente en /guide, pero devuelve 404.
Acción propuesta
Añade una redirección permanente al sustituto declarado.
Criterio de aceptación
La misma URL responde 301 y /guide responde 200 con la guía prevista.

Enlace de la página de origen · sin cambios

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>

Antes

Peticiones después de la página de origen: 1 · Respuestas de redirección: 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>

Se alcanzó una respuesta final

Después

Peticiones después de la página de origen: 2 · Respuestas de redirección: 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>

Se alcanzó una respuesta final

R02 · Cadena funcional con un desvío

Resultado previsto
La guía se alcanza pasando por /middle; el paso adicional es evitable.
Acción propuesta
Apunta directamente a /guide y conserva las reglas intermedias aún necesarias.
Criterio de aceptación
Tres peticiones pasan a dos; el contenido final y el enlace original no cambian.

Enlace de la página de origen · sin cambios

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>

Antes

Peticiones después de la página de origen: 3 · Respuestas de redirección: 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>

Se alcanzó una respuesta final

Después

Peticiones después de la página de origen: 2 · Respuestas de redirección: 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>

Se alcanzó una respuesta final

R03 · Dos URL forman un bucle

Resultado previsto
La URL antigua y /r3/loop se remiten entre sí sin llegar a contenido final.
Acción propuesta
Sustituye la regla inicial por una ruta directa a /guide.
Criterio de aceptación
Desaparece la parada por repetición; las respuestas son 301 y 200.

Enlace de la página de origen · sin cambios

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>

Antes

Peticiones después de la página de origen: 2 · Respuestas de redirección: 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 repetida: detenido antes de otra petición · /r3/old-guide

Después

Peticiones después de la página de origen: 2 · Respuestas de redirección: 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>

Se alcanzó una respuesta final

R04 · Una portada exitosa es el destino incorrecto

Resultado previsto
Se espera una guía, pero /home ofrece navegación general. Ambas fases terminan en 200.
Acción propuesta
Apunta al /guide pertinente, no a cualquier página exitosa.
Criterio de aceptación
Verifica ruta y cuerpo. No es una clasificación soft 404 observada en Google.

Enlace de la página de origen · sin cambios

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>

Antes

Peticiones después de la página de origen: 2 · Respuestas de redirección: 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>

Se alcanzó una respuesta final

Después

Peticiones después de la página de origen: 2 · Respuestas de redirección: 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>

Se alcanzó una respuesta final

R05 · Contenido retirado sin equivalente

Resultado previsto
El contenido se eliminó definitivamente; /home no responde a su propósito.
Acción propuesta
Devuelve 410 en este caso y elimina referencias internas obsoletas.
Criterio de aceptación
La URL devuelve 410; no se inventa un sustituto ni una recuperación de posiciones.

Enlace de la página de origen · sin cambios

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>

Antes

Peticiones después de la página de origen: 2 · Respuestas de redirección: 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>

Se alcanzó una respuesta final

Después

Peticiones después de la página de origen: 1 · Respuestas de redirección: 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>

Se alcanzó una respuesta final

R06 · Traslado temporal marcado como permanente

Resultado previsto
El servicio original volverá; /holding es un aviso temporal.
Acción propuesta
Usa 302 para este GET y planifica la restauración del servicio.
Criterio de aceptación
El mismo aviso se alcanza mediante 302, no 301; revisa aparte cachés anteriores y procesamiento de búsqueda.

Enlace de la página de origen · sin cambios

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>

Antes

Peticiones después de la página de origen: 2 · Respuestas de redirección: 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>

Se alcanzó una respuesta final

Después

Peticiones después de la página de origen: 2 · Respuestas de redirección: 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>

Se alcanzó una respuesta final

R07 · Mapa permanente correcto sin cambios

Resultado previsto
La guía antigua ya llega al equivalente con un solo 301.
Acción propuesta
Mantén la regla y regístrala como control.
Criterio de aceptación
La evidencia anterior y posterior es idéntica; no se fabrica una mejora.

Enlace de la página de origen · sin cambios

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>

Antes

Peticiones después de la página de origen: 2 · Respuestas de redirección: 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>

Se alcanzó una respuesta final

Después

Peticiones después de la página de origen: 2 · Respuestas de redirección: 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>

Se alcanzó una respuesta final

Ejecutar los casos

Inspecciona las rutas de redirección

Siete ejemplos HTTP locales comprobados; no se rastrea tu web. El enlace de origen y las respuestas se muestran por separado. No se consulta ningún buscador ni índice de enlaces.

Python 3.10 o posterior. Extrae el ZIP en una carpeta local. La verificación inicia un servidor temporal de bucle local, prueba todos los casos, imprime JSON y termina. No consulta webs externas.

python3 redirect_lab.py --verify

Detén el servidor con Ctrl+C y reinícialo con --phase after para examinar las mismas URL con las reglas corregidas. Elige otro puerto local si 8766 está ocupado.

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

Los contadores incluyen las peticiones GET mostradas después de la página de origen. El límite de seis pertenece a este cliente didáctico, no a Googlebot. Una respuesta final puede ser un error; 200 no demuestra relevancia.

Los comandos y rutas son identificadores técnicos; el texto del informe está traducido.

No se miden indexación, selección canónica, tráfico ni posiciones. No se calcula un porcentaje de autoridad transferida.

No se miden indexación, selección canónica, tráfico ni posiciones. No se calcula un porcentaje de autoridad transferida.