Fonti e risultati HTTP inventati, elaborati con lo stesso ispettore e le stesse regole degli avvisi per le coppie salvate. Nessuna scansione reale, dato salvato nell’account o notifica effettiva.
L’intervallo è una previsione, non una misura continua di disponibilità. Indicizzazione e ranking non sono misurati.
Usa il registro compilato solo come esempio. Nel vuoto inserisci fonte e destinazione reali, orario UTC, prove, responsabile ed esito successivo. Lascia vuoti i fatti sconosciuti. Questo registro non è un file di importazione del monitor: quello usa le intestazioni documentate sourceUrl e targetUrl.
href e destinazione restano validi. Senza aspettativa sull’ancora, la seconda osservazione è sana e segnala un cambiamento; ripeterla non crea un altro avviso.
Confronta il testo con l’accordo e registra se è accettabile.
{
"expected": {
"sourceUrl": "https://publisher.example.org/article",
"targetUrl": "https://brand.example.org/guide",
"expectedAnchor": "",
"expectedRel": ""
},
"input": {
"sourceStatus": 200,
"targetStatus": 200,
"html": "<main><a href=\"https://brand.example.org/guide\">Guide</a></main>"
},
"result": {
"status": "FOUND",
"sourceStatus": 200,
"targetStatus": 200,
"sourceFinalUrl": "https://publisher.example.org/article",
"targetFinalUrl": "https://brand.example.org/guide",
"observedAnchor": "Guide",
"observedRel": null,
"matchCount": 1,
"errorCode": null,
"targetErrorCode": null
},
"transition": {
"healthy": true,
"signature": null,
"failures": 0,
"changes": [],
"warning": false,
"recovered": false,
"changed": false,
"nextDelayMs": 86400000,
"alertedSignature": null,
"notification": null
}
}{
"expected": {
"sourceUrl": "https://publisher.example.org/article",
"targetUrl": "https://brand.example.org/guide",
"expectedAnchor": "",
"expectedRel": ""
},
"input": {
"sourceStatus": 200,
"targetStatus": 200,
"html": "<main><a href=\"https://brand.example.org/guide\">Updated guide</a></main>"
},
"result": {
"status": "FOUND",
"sourceStatus": 200,
"targetStatus": 200,
"sourceFinalUrl": "https://publisher.example.org/article",
"targetFinalUrl": "https://brand.example.org/guide",
"observedAnchor": "Updated guide",
"observedRel": null,
"matchCount": 1,
"errorCode": null,
"targetErrorCode": null
},
"transition": {
"healthy": true,
"signature": null,
"failures": 0,
"changes": [
"anchor"
],
"warning": false,
"recovered": false,
"changed": true,
"nextDelayMs": 86400000,
"alertedSignature": null,
"notification": "trackedChanged"
}
}{
"expected": {
"sourceUrl": "https://publisher.example.org/article",
"targetUrl": "https://brand.example.org/guide",
"expectedAnchor": "",
"expectedRel": ""
},
"input": {
"sourceStatus": 200,
"targetStatus": 200,
"html": "<main><a href=\"https://brand.example.org/guide\">Updated guide</a></main>"
},
"result": {
"status": "FOUND",
"sourceStatus": 200,
"targetStatus": 200,
"sourceFinalUrl": "https://publisher.example.org/article",
"targetFinalUrl": "https://brand.example.org/guide",
"observedAnchor": "Updated guide",
"observedRel": null,
"matchCount": 1,
"errorCode": null,
"targetErrorCode": null
},
"transition": {
"healthy": true,
"signature": null,
"failures": 0,
"changes": [],
"warning": false,
"recovered": false,
"changed": false,
"nextDelayMs": 86400000,
"alertedSignature": null,
"notification": null
}
}Nessun tentativo stabilisce la presenza. UNREACHABLE e destinazione 200 coincidono: il secondo può avvisare nonostante cause diverse. Il link leggibile successivo genera recupero.
Esamina l’accesso e riprova. Non dedurre una rimozione da questi soli tentativi.
{
"expected": {
"sourceUrl": "https://publisher.example.org/article",
"targetUrl": "https://brand.example.org/guide",
"expectedAnchor": "",
"expectedRel": ""
},
"input": {
"sourceStatus": 403,
"targetStatus": 200,
"html": ""
},
"result": {
"status": "UNREACHABLE",
"sourceStatus": 403,
"targetStatus": 200,
"sourceFinalUrl": "https://publisher.example.org/article",
"targetFinalUrl": "https://brand.example.org/guide",
"observedAnchor": null,
"observedRel": null,
"matchCount": 0,
"errorCode": "HTTP_403",
"targetErrorCode": null
},
"transition": {
"healthy": false,
"signature": "UNREACHABLE:200",
"failures": 1,
"changes": [],
"warning": false,
"recovered": false,
"changed": false,
"nextDelayMs": 3600000,
"alertedSignature": null,
"notification": null
}
}{
"expected": {
"sourceUrl": "https://publisher.example.org/article",
"targetUrl": "https://brand.example.org/guide",
"expectedAnchor": "",
"expectedRel": ""
},
"input": {
"sourceStatus": null,
"targetStatus": 200,
"html": "",
"sourceError": "PAGE_TIMEOUT"
},
"result": {
"status": "UNREACHABLE",
"sourceStatus": null,
"targetStatus": 200,
"sourceFinalUrl": null,
"targetFinalUrl": "https://brand.example.org/guide",
"observedAnchor": null,
"observedRel": null,
"matchCount": 0,
"errorCode": "PAGE_TIMEOUT",
"targetErrorCode": null
},
"transition": {
"healthy": false,
"signature": "UNREACHABLE:200",
"failures": 2,
"changes": [],
"warning": true,
"recovered": false,
"changed": false,
"nextDelayMs": 3600000,
"alertedSignature": "UNREACHABLE:200",
"notification": "trackedAttention"
}
}{
"expected": {
"sourceUrl": "https://publisher.example.org/article",
"targetUrl": "https://brand.example.org/guide",
"expectedAnchor": "",
"expectedRel": ""
},
"input": {
"sourceStatus": 200,
"targetStatus": 200,
"html": "<main><a href=\"https://brand.example.org/guide\">Guide</a></main>"
},
"result": {
"status": "FOUND",
"sourceStatus": 200,
"targetStatus": 200,
"sourceFinalUrl": "https://publisher.example.org/article",
"targetFinalUrl": "https://brand.example.org/guide",
"observedAnchor": "Guide",
"observedRel": null,
"matchCount": 1,
"errorCode": null,
"targetErrorCode": null
},
"transition": {
"healthy": true,
"signature": null,
"failures": 0,
"changes": [
"status"
],
"warning": false,
"recovered": true,
"changed": false,
"nextDelayMs": 86400000,
"alertedSignature": null,
"notification": "trackedRecovered"
}
}Due risposte leggibili non contengono l’href previsto. La seconda avvisa; il link statico ripristinato genera recupero.
Controlla HTML e URL esatto prima di chiedere il ripristino. Esamina redirect e rendering separatamente.
{
"expected": {
"sourceUrl": "https://publisher.example.org/article",
"targetUrl": "https://brand.example.org/guide",
"expectedAnchor": "",
"expectedRel": ""
},
"input": {
"sourceStatus": 200,
"targetStatus": 200,
"html": "<main><p>No target link in this fixture.</p></main>"
},
"result": {
"status": "NOT_FOUND",
"sourceStatus": 200,
"targetStatus": 200,
"sourceFinalUrl": "https://publisher.example.org/article",
"targetFinalUrl": "https://brand.example.org/guide",
"observedAnchor": null,
"observedRel": null,
"matchCount": 0,
"errorCode": "NOT_FOUND_IN_HTML",
"targetErrorCode": null
},
"transition": {
"healthy": false,
"signature": "NOT_FOUND:200",
"failures": 1,
"changes": [],
"warning": false,
"recovered": false,
"changed": false,
"nextDelayMs": 3600000,
"alertedSignature": null,
"notification": null
}
}{
"expected": {
"sourceUrl": "https://publisher.example.org/article",
"targetUrl": "https://brand.example.org/guide",
"expectedAnchor": "",
"expectedRel": ""
},
"input": {
"sourceStatus": 200,
"targetStatus": 200,
"html": "<main><p>No target link in this fixture.</p></main>"
},
"result": {
"status": "NOT_FOUND",
"sourceStatus": 200,
"targetStatus": 200,
"sourceFinalUrl": "https://publisher.example.org/article",
"targetFinalUrl": "https://brand.example.org/guide",
"observedAnchor": null,
"observedRel": null,
"matchCount": 0,
"errorCode": "NOT_FOUND_IN_HTML",
"targetErrorCode": null
},
"transition": {
"healthy": false,
"signature": "NOT_FOUND:200",
"failures": 2,
"changes": [],
"warning": true,
"recovered": false,
"changed": false,
"nextDelayMs": 3600000,
"alertedSignature": "NOT_FOUND:200",
"notification": "trackedAttention"
}
}{
"expected": {
"sourceUrl": "https://publisher.example.org/article",
"targetUrl": "https://brand.example.org/guide",
"expectedAnchor": "",
"expectedRel": ""
},
"input": {
"sourceStatus": 200,
"targetStatus": 200,
"html": "<main><a href=\"https://brand.example.org/guide\">Guide</a></main>"
},
"result": {
"status": "FOUND",
"sourceStatus": 200,
"targetStatus": 200,
"sourceFinalUrl": "https://publisher.example.org/article",
"targetFinalUrl": "https://brand.example.org/guide",
"observedAnchor": "Guide",
"observedRel": null,
"matchCount": 1,
"errorCode": null,
"targetErrorCode": null
},
"transition": {
"healthy": true,
"signature": null,
"failures": 0,
"changes": [
"status"
],
"warning": false,
"recovered": true,
"changed": false,
"nextDelayMs": 86400000,
"alertedSignature": null,
"notification": "trackedRecovered"
}
}L’ancora è sempre presente. Due risposte 404 rendono gli esiti problematici e generano un avviso; 200 ripristina la salute.
Assegna al gestore della destinazione. Cambiare la fonte non è automaticamente la soluzione.
{
"expected": {
"sourceUrl": "https://publisher.example.org/article",
"targetUrl": "https://brand.example.org/guide",
"expectedAnchor": "",
"expectedRel": ""
},
"input": {
"sourceStatus": 200,
"targetStatus": 404,
"html": "<main><a href=\"https://brand.example.org/guide\">Guide</a></main>"
},
"result": {
"status": "FOUND",
"sourceStatus": 200,
"targetStatus": 404,
"sourceFinalUrl": "https://publisher.example.org/article",
"targetFinalUrl": "https://brand.example.org/guide",
"observedAnchor": "Guide",
"observedRel": null,
"matchCount": 1,
"errorCode": null,
"targetErrorCode": "HTTP_404"
},
"transition": {
"healthy": false,
"signature": "FOUND:404",
"failures": 1,
"changes": [],
"warning": false,
"recovered": false,
"changed": false,
"nextDelayMs": 3600000,
"alertedSignature": null,
"notification": null
}
}{
"expected": {
"sourceUrl": "https://publisher.example.org/article",
"targetUrl": "https://brand.example.org/guide",
"expectedAnchor": "",
"expectedRel": ""
},
"input": {
"sourceStatus": 200,
"targetStatus": 404,
"html": "<main><a href=\"https://brand.example.org/guide\">Guide</a></main>"
},
"result": {
"status": "FOUND",
"sourceStatus": 200,
"targetStatus": 404,
"sourceFinalUrl": "https://publisher.example.org/article",
"targetFinalUrl": "https://brand.example.org/guide",
"observedAnchor": "Guide",
"observedRel": null,
"matchCount": 1,
"errorCode": null,
"targetErrorCode": "HTTP_404"
},
"transition": {
"healthy": false,
"signature": "FOUND:404",
"failures": 2,
"changes": [],
"warning": true,
"recovered": false,
"changed": false,
"nextDelayMs": 3600000,
"alertedSignature": "FOUND:404",
"notification": "trackedAttention"
}
}{
"expected": {
"sourceUrl": "https://publisher.example.org/article",
"targetUrl": "https://brand.example.org/guide",
"expectedAnchor": "",
"expectedRel": ""
},
"input": {
"sourceStatus": 200,
"targetStatus": 200,
"html": "<main><a href=\"https://brand.example.org/guide\">Guide</a></main>"
},
"result": {
"status": "FOUND",
"sourceStatus": 200,
"targetStatus": 200,
"sourceFinalUrl": "https://publisher.example.org/article",
"targetFinalUrl": "https://brand.example.org/guide",
"observedAnchor": "Guide",
"observedRel": null,
"matchCount": 1,
"errorCode": null,
"targetErrorCode": null
},
"transition": {
"healthy": true,
"signature": null,
"failures": 0,
"changes": [
"destination"
],
"warning": false,
"recovered": true,
"changed": false,
"nextDelayMs": 86400000,
"alertedSignature": null,
"notification": "trackedRecovered"
}
}Un link sponsored contraddice due volte follow. Correggere l’aspettativa in sponsored lascia la pagina identica e azzera lo stato di avviso.
Documenta l’accordo corretto, conserva la qualificazione e non chiamare la modifica una riparazione dell’editore.
{
"expected": {
"sourceUrl": "https://publisher.example.org/article",
"targetUrl": "https://brand.example.org/guide",
"expectedAnchor": "",
"expectedRel": "follow"
},
"input": {
"sourceStatus": 200,
"targetStatus": 200,
"html": "<main><a href=\"https://brand.example.org/guide\" rel=\"sponsored\">Guide</a></main>",
"rel": "follow"
},
"result": {
"status": "ATTRIBUTES_CHANGED",
"sourceStatus": 200,
"targetStatus": 200,
"sourceFinalUrl": "https://publisher.example.org/article",
"targetFinalUrl": "https://brand.example.org/guide",
"observedAnchor": "Guide",
"observedRel": "sponsored",
"matchCount": 1,
"errorCode": "EXPECTATION_MISMATCH",
"targetErrorCode": null
},
"transition": {
"healthy": false,
"signature": "ATTRIBUTES_CHANGED:200",
"failures": 1,
"changes": [],
"warning": false,
"recovered": false,
"changed": false,
"nextDelayMs": 3600000,
"alertedSignature": null,
"notification": null
}
}{
"expected": {
"sourceUrl": "https://publisher.example.org/article",
"targetUrl": "https://brand.example.org/guide",
"expectedAnchor": "",
"expectedRel": "follow"
},
"input": {
"sourceStatus": 200,
"targetStatus": 200,
"html": "<main><a href=\"https://brand.example.org/guide\" rel=\"sponsored\">Guide</a></main>",
"rel": "follow"
},
"result": {
"status": "ATTRIBUTES_CHANGED",
"sourceStatus": 200,
"targetStatus": 200,
"sourceFinalUrl": "https://publisher.example.org/article",
"targetFinalUrl": "https://brand.example.org/guide",
"observedAnchor": "Guide",
"observedRel": "sponsored",
"matchCount": 1,
"errorCode": "EXPECTATION_MISMATCH",
"targetErrorCode": null
},
"transition": {
"healthy": false,
"signature": "ATTRIBUTES_CHANGED:200",
"failures": 2,
"changes": [],
"warning": true,
"recovered": false,
"changed": false,
"nextDelayMs": 3600000,
"alertedSignature": "ATTRIBUTES_CHANGED:200",
"notification": "trackedAttention"
}
}Le aspettative sono state modificate prima del controllo. I contatori sono azzerati; non prova una riparazione del sito.
{
"expected": {
"sourceUrl": "https://publisher.example.org/article",
"targetUrl": "https://brand.example.org/guide",
"expectedAnchor": "",
"expectedRel": "sponsored"
},
"input": {
"sourceStatus": 200,
"targetStatus": 200,
"html": "<main><a href=\"https://brand.example.org/guide\" rel=\"sponsored\">Guide</a></main>",
"rel": "sponsored",
"reset": true
},
"result": {
"status": "FOUND",
"sourceStatus": 200,
"targetStatus": 200,
"sourceFinalUrl": "https://publisher.example.org/article",
"targetFinalUrl": "https://brand.example.org/guide",
"observedAnchor": "Guide",
"observedRel": "sponsored",
"matchCount": 1,
"errorCode": null,
"targetErrorCode": null
},
"transition": {
"healthy": true,
"signature": null,
"failures": 0,
"changes": [
"status"
],
"warning": false,
"recovered": false,
"changed": false,
"nextDelayMs": 86400000,
"alertedSignature": null,
"notification": null
}
}Lo script inserirebbe un’ancora nel browser. L’ispettore statico ignora il testo dello script e non trova link in entrambe le osservazioni.
Confronta rendering e HTML del server. L’avviso non conferma assenza nel browser.
{
"expected": {
"sourceUrl": "https://publisher.example.org/article",
"targetUrl": "https://brand.example.org/guide",
"expectedAnchor": "",
"expectedRel": ""
},
"input": {
"sourceStatus": 200,
"targetStatus": 200,
"html": "<main id=\"root\"></main><script>document.getElementById(\"root\").innerHTML=\"<main><a href=\\\"https://brand.example.org/guide\\\">Guide</a></main>\";</script>"
},
"result": {
"status": "NOT_FOUND",
"sourceStatus": 200,
"targetStatus": 200,
"sourceFinalUrl": "https://publisher.example.org/article",
"targetFinalUrl": "https://brand.example.org/guide",
"observedAnchor": null,
"observedRel": null,
"matchCount": 0,
"errorCode": "NOT_FOUND_IN_HTML",
"targetErrorCode": null
},
"transition": {
"healthy": false,
"signature": "NOT_FOUND:200",
"failures": 1,
"changes": [],
"warning": false,
"recovered": false,
"changed": false,
"nextDelayMs": 3600000,
"alertedSignature": null,
"notification": null
}
}{
"expected": {
"sourceUrl": "https://publisher.example.org/article",
"targetUrl": "https://brand.example.org/guide",
"expectedAnchor": "",
"expectedRel": ""
},
"input": {
"sourceStatus": 200,
"targetStatus": 200,
"html": "<main id=\"root\"></main><script>document.getElementById(\"root\").innerHTML=\"<main><a href=\\\"https://brand.example.org/guide\\\">Guide</a></main>\";</script>"
},
"result": {
"status": "NOT_FOUND",
"sourceStatus": 200,
"targetStatus": 200,
"sourceFinalUrl": "https://publisher.example.org/article",
"targetFinalUrl": "https://brand.example.org/guide",
"observedAnchor": null,
"observedRel": null,
"matchCount": 0,
"errorCode": "NOT_FOUND_IN_HTML",
"targetErrorCode": null
},
"transition": {
"healthy": false,
"signature": "NOT_FOUND:200",
"failures": 2,
"changes": [],
"warning": true,
"recovered": false,
"changed": false,
"nextDelayMs": 3600000,
"alertedSignature": "NOT_FOUND:200",
"notification": "trackedAttention"
}
}L’href iniziale resta uguale e raggiunge una destinazione sana con un altro URL finale. Il secondo controllo segnala cambiamento, non perdita.
Verifica contenuto e percorso. L’URL finale non rivela la canonica scelta da Google.
{
"expected": {
"sourceUrl": "https://publisher.example.org/article",
"targetUrl": "https://brand.example.org/guide",
"expectedAnchor": "",
"expectedRel": ""
},
"input": {
"sourceStatus": 200,
"targetStatus": 200,
"html": "<main><a href=\"https://brand.example.org/guide\">Guide</a></main>"
},
"result": {
"status": "FOUND",
"sourceStatus": 200,
"targetStatus": 200,
"sourceFinalUrl": "https://publisher.example.org/article",
"targetFinalUrl": "https://brand.example.org/guide",
"observedAnchor": "Guide",
"observedRel": null,
"matchCount": 1,
"errorCode": null,
"targetErrorCode": null
},
"transition": {
"healthy": true,
"signature": null,
"failures": 0,
"changes": [],
"warning": false,
"recovered": false,
"changed": false,
"nextDelayMs": 86400000,
"alertedSignature": null,
"notification": null
}
}{
"expected": {
"sourceUrl": "https://publisher.example.org/article",
"targetUrl": "https://brand.example.org/guide",
"expectedAnchor": "",
"expectedRel": ""
},
"input": {
"sourceStatus": 200,
"targetStatus": 200,
"html": "<main><a href=\"https://brand.example.org/guide\">Guide</a></main>",
"targetFinal": "https://brand.example.org/new-guide"
},
"result": {
"status": "FOUND",
"sourceStatus": 200,
"targetStatus": 200,
"sourceFinalUrl": "https://publisher.example.org/article",
"targetFinalUrl": "https://brand.example.org/new-guide",
"observedAnchor": "Guide",
"observedRel": null,
"matchCount": 1,
"errorCode": null,
"targetErrorCode": null
},
"transition": {
"healthy": true,
"signature": null,
"failures": 0,
"changes": [
"targetRedirect"
],
"warning": false,
"recovered": false,
"changed": true,
"nextDelayMs": 86400000,
"alertedSignature": null,
"notification": "trackedChanged"
}
}{
"expected": {
"sourceUrl": "https://publisher.example.org/article",
"targetUrl": "https://brand.example.org/guide",
"expectedAnchor": "",
"expectedRel": ""
},
"input": {
"sourceStatus": 200,
"targetStatus": 200,
"html": "<main><a href=\"https://brand.example.org/guide\">Guide</a></main>",
"targetFinal": "https://brand.example.org/new-guide"
},
"result": {
"status": "FOUND",
"sourceStatus": 200,
"targetStatus": 200,
"sourceFinalUrl": "https://publisher.example.org/article",
"targetFinalUrl": "https://brand.example.org/new-guide",
"observedAnchor": "Guide",
"observedRel": null,
"matchCount": 1,
"errorCode": null,
"targetErrorCode": null
},
"transition": {
"healthy": true,
"signature": null,
"failures": 0,
"changes": [],
"warning": false,
"recovered": false,
"changed": false,
"nextDelayMs": 86400000,
"alertedSignature": null,
"notification": null
}
}Esplora una sequenza di monitoraggio Fonti e risultati HTTP inventati, elaborati con lo stesso ispettore e le stesse regole degli avvisi per le coppie salvate. Nessuna scansione reale, dato salvato nell’account o notifica effettiva. Usa il registro compilato solo come esempio. Nel vuoto inserisci fonte e destinazione reali, orario UTC, prove, responsabile ed esito successivo. Lascia vuoti i fatti sconosciuti. Questo registro non è un file di importazione del monitor: quello usa le intestazioni documentate sourceUrl e targetUrl. L’intervallo è una previsione, non una misura continua di disponibilità. Indicizzazione e ranking non sono misurati. Si analizza solo l’HTML del server. Link JavaScript, blocchi ed errori temporanei possono richiedere verifica manuale. Non misura indicizzazione o posizioni. I link validi vengono controllati ogni giorno; i problemi dopo un’ora. Due errori uguali generano un avviso nell’account. Cronologia di 90 giorni. 50 coppie per account. 100 controlli richiesti al giorno, inclusi aggiunte e cambi di aspettative. Cinque minuti tra i controlli manuali. M01 · Cambia un’ancora sana href e destinazione restano validi. Senza aspettativa sull’ancora, la seconda osservazione è sana e segnala un cambiamento; ripeterla non crea un altro avviso. Confronta il testo con l’accordo e registra se è accettabile. M02 · Prima 403, poi timeout Nessun tentativo stabilisce la presenza. UNREACHABLE e destinazione 200 coincidono: il secondo può avvisare nonostante cause diverse. Il link leggibile successivo genera recupero. Esamina l’accesso e riprova. Non dedurre una rimozione da questi soli tentativi. M03 · Assente dall’HTML leggibile Due risposte leggibili non contengono l’href previsto. La seconda avvisa; il link statico ripristinato genera recupero. Controlla HTML e URL esatto prima di chiedere il ripristino. Esamina redirect e rendering separatamente. M04 · Link trovato, destinazione guasta L’ancora è sempre presente. Due risposte 404 rendono gli esiti problematici e generano un avviso; 200 ripristina la salute. Assegna al gestore della destinazione. Cambiare la fonte non è automaticamente la soluzione. M05 · Aspettativa rel errata Un link sponsored contraddice due volte follow. Correggere l’aspettativa in sponsored lascia la pagina identica e azzera lo stato di avviso. Documenta l’accordo corretto, conserva la qualificazione e non chiamare la modifica una riparazione dell’editore. M06 · JavaScript inserisce il link Lo script inserirebbe un’ancora nel browser. L’ispettore statico ignora il testo dello script e non trova link in entrambe le osservazioni. Confronta rendering e HTML del server. L’avviso non conferma assenza nel browser. M07 · Si sposta la destinazione finale L’href iniziale resta uguale e raggiunge una destinazione sana con un altro URL finale. Il secondo controllo segnala cambiamento, non perdita. Verifica contenuto e percorso. L’URL finale non rivela la canonica scelta da Google.