Controllo HTML raw/rendered
Free, no signup. Open the page in a browser and it looks complete; Google sees raw HTML first, then runs JavaScript and looks again — and those two views don't always agree. Test a public URL through the bounded rendering service to find where they diverge, with a side-by-side raw-vs-rendered diff.
Richiedi un confronto nel browser anche se l’HTML iniziale sembra sostanziale. Restano validi i limiti di rendering; la richiesta non garantisce un’acquisizione renderizzata.
Comportamento predefinito: Free, no sign-up. The page is rendered in headless Chrome only when the initial HTML looks incomplete — most server-rendered sites never need it.
I controlli vengono eseguiti dal nostro server; recuperiamo l’URL inserito e non conserviamo i risultati. Reports are kept 7 days so you can share a link to the result. Anonymous aggregate stats feed our research posts; domains are counted once via an anonymized hash and never stored in the clear. I conteggi anonimi degli esiti per singola esecuzione possono essere utilizzati per ricerche aggregate; URL, domini, IP e identificatori non sono mai inclusi e nessuna statistica viene pubblicata sotto le 100 esecuzioni.
+ salva il sito o la pagina correnti. Usa ☆ accanto a qualsiasi sito, pagina o elenco salvato per aggiungerlo ai preferiti. La cronologia dei controlli recenti appare sotto.
Crea un elenco denominato
Target compilato dalle tue scelte locali.
Passaporto del sito Contesto locale per questo sito salvato
Dati locali
Le destinazioni salvate, gli elenchi denominati e i riepiloghi dei controlli recenti restano solo in questo browser.
What JavaScript changed
Resources Google and AI bots couldn’t get
What non-rendering AI crawlers can see
This is a fast, directional check. For anything that affects indexing, confirm it in Google Search Console's URL Inspection tool — that's Google's own renderer and the real source of truth.
Valuta questo strumento
What this is checking
The render gap
Google can process JavaScript in a rendering phase after crawling. Content that appears only after rendering depends on that phase and is absent from the initial response; this comparison does not predict discovery or indexing timing.
The most restrictive rule wins
If a noindex appears in either the raw or rendered HTML, Google may use it — and an initial-HTML noindex may cause Google to skip rendering, so JavaScript cannot reliably undo it.
Canonicals are conditional
JavaScript may add a canonical when the raw HTML has none, or keep the same value. A different or additional value creates competing canonical input.
Checks based on the JavaScript SEO guide on Ahrefs. Confirm findings in Search Console.
Informazioni sullo strumento
Comportamento predefinito: Confronta l’HTML iniziale della pagina con quello dopo JavaScript, usa Chrome headless solo quando serve e ottieni un verdetto SSR, prerendered, CSR o hybrid con diff raw-rendered.
Funzionalità
- Confronto affiancato tra HTML grezzo e DOM renderizzato.
- Controlli JS-SEO su noindex, canonical, robots.txt, link e soft 404.
- Verdetto della strategia di rendering e segnali framework.
- Report condivisibili con cost ledger e limiti dichiarati.
Come funziona
Comportamento predefinito: Il tool recupera l’HTML iniziale, decide se il rendering è necessario e confronta i due documenti. Le regole separano campi aggiunti, rimossi e cambiati e producono una guida per la correzione.
Limitazioni
- Comportamento predefinito: Il rendering headless è usato solo quando l’euristica rileva un bisogno e non prova da solo SSR o parità.
- Una canonical modificata da JavaScript può creare input concorrenti; verifica il valore iniziale e quello renderizzato.
Domande frequenti
Che cos’è il divario di resa nella SEO per JavaScript?
È la differenza tra ciò che una pagina contiene nell’HTML grezzo consegnato dal server e ciò che contiene dopo che il navigatore ha eseguito JavaScript e costruito il DOM finale. Google può elaborare JavaScript in una fase di resa successiva alla scansione. Tutto ciò che compare soltanto dopo dipende dalla riuscita del resa ed è assente dalla risposta iniziale. Lo strumento misura questa dipendenza, ma non prevede quando Google scoprirà o indicizzerà il contenuto.
Google esegue davvero il resa di JavaScript?
Sì. Google renderizza le pagine con una versione sempre aggiornata di navigatore automatizzato, quindi i contenuti prodotti sul dispositivo possono essere indicizzati. Il resa è una fase separata e risorse bloccate o errori JavaScript possono impedire la comparsa del contenuto nell’HTML renderizzato. La Ricerca Google non interagisce con una pagina per caricare contenuti: quelli che richiedono un’interazione devono essere già presenti nell’HTML renderizzato. Inserire contenuti e tag essenziali nella risposta del server elimina questa dipendenza.
Perché a volte lo strumento non renderizza la pagina?
Comportamento predefinito: navigatore automatizzato senza interfaccia grafica viene eseguito soltanto quando un criterio euristico circoscritto ritiene incompleto l’HTML iniziale. Titoli, collegamenti e testo sostanziali nell’HTML grezzo possono far saltare il resa, ma ciò non dimostra che l’infrastruttura produca la pagina sul server né che JavaScript non aggiunga nulla. Un’esecuzione saltata offre l’analisi dell’HTML iniziale senza confronto di parità.
Google rispetta canonical o noindex inseriti da JavaScript?
Google può saltare il resa dopo aver visto noindex nell’HTML iniziale, quindi JavaScript non può rimuovere in modo affidabile quella direttiva; può essere usato anche noindex presente soltanto dopo il resa. Per canonical, JavaScript può aggiungerne uno se manca nell’HTML iniziale e usare lo stesso valore va bene. Cambiarlo o lasciare più valori crea input concorrenti rischiosi.
È equivalente allo strumento Controllo URL di Google Search Console?
No, e non intende sostituirlo. È un confronto rapido e orientativo. Controllo URL fornisce prove specifiche di Google su scansione, indicizzazione e prova attiva per una proprietà verificata, ma nessuno dei due strumenti garantisce come verrà elaborato un URL in una scansione futura.
Problemi comuni e come risolverli
- Avviso La sezione head del documento iniziale si chiude troppo presto Correzione: Correggi il markup head non valido affinché i metadati restino dentro un solo elemento <head> valido nell’HTML iniziale.
- Errore Manca il titolo della pagina Correzione: Aggiungi all’HTML iniziale un solo <title> conciso e univoco che indichi l’argomento principale della pagina.
- Avviso Il titolo cambia dopo l’elaborazione Correzione: Rendi identici i valori <title> forniti dal server e dopo il rendering, a meno che la modifica nel browser sia intenzionalmente necessaria.
- Errore Il titolo compare solo dopo JavaScript Correzione: Inserisci il <title> definitivo nell’HTML iniziale invece di affidarti a JavaScript per aggiungerlo.
- Avviso Manca la descrizione meta Correzione: Aggiungi all’HTML iniziale una descrizione meta specifica della pagina che ne riassuma accuratamente il contenuto.
- Avviso La descrizione meta cambia dopo l’elaborazione Correzione: Allinea le descrizioni meta iniziale e renderizzata affinché i crawler ricevano un unico riepilogo coerente.
- Errore I canonical iniziale e renderizzato sono in conflitto Correzione: Scegli l’URL assoluto preferito e fai puntare a esso i tag canonical iniziale e renderizzato.
- Errore JavaScript sovrascrive il canonical Correzione: Mantieni un solo canonical nell’HTML iniziale e impedisci al codice nel browser di sostituirlo dopo il rendering.
- Avviso Il canonical esiste solo dopo l’elaborazione Correzione: Sposta il tag canonical nell’HTML iniziale invece di aggiungerlo soltanto dopo l’esecuzione di JavaScript.
- Errore JavaScript rimuove la direttiva noindex Correzione: Rimuovi noindex dalla risposta iniziale del server quando la pagina deve essere indicizzata; non affidarti a JavaScript per annullarlo.
- Avviso JavaScript aggiunge la direttiva noindex Correzione: Impedisci al codice nel browser di aggiungere noindex alle pagine che devono restare indicizzabili.
- Errore La direttiva noindex resta presente dopo l’elaborazione Correzione: Rimuovi la direttiva noindex sia dall’HTML iniziale sia da quello renderizzato quando la pagina deve essere indicizzata.
- Avviso Dopo l’elaborazione la direttiva Nofollow è ancora presente Correzione: Rimuovi nofollow quando i crawler devono seguire i collegamenti della pagina oppure applicalo solo ai collegamenti che lo richiedono.
- Avviso Hreflang compare solo dopo l’elaborazione Correzione: Emetti ogni annotazione hreflang nell’HTML iniziale o nelle intestazioni HTTP invece di aggiungerla soltanto tramite JavaScript.
- Avviso Hreflang cambia dopo l’elaborazione Correzione: Rendi identici e reciproci gli insiemi hreflang iniziale e renderizzato e falli puntare agli URL delle lingue previste.
- Errore Il contenuto importante compare solo dopo l’elaborazione Correzione: Genera lato server o in modo statico il contenuto importante affinché sia presente nell’HTML iniziale.
- Avviso Una parte rilevante del contenuto viene aggiunta dopo l’elaborazione Correzione: Sposta nell’HTML iniziale il contenuto essenziale aggiunto da JavaScript e lascia al browser soltanto i miglioramenti non essenziali.
- Avviso I collegamenti importanti compaiono solo dopo l’elaborazione Correzione: Esponi le destinazioni importanti come normali collegamenti <a href> nell’HTML iniziale.
- Errore I collegamenti renderizzati non sono URL scansionabili Correzione: Sostituisci i gestori onclick, javascript: o la navigazione tramite pulsante con URL scansionabili in elementi <a href>.
- Avviso Le immagini renderizzate non hanno attributi alt Correzione: Aggiungi un testo alt conciso alle immagini renderizzate significative e un attributo alt vuoto alle immagini ornamentali.
- Errore Robots.txt blocca le risorse necessarie per elaborare la pagina Correzione: Consenti a Googlebot di recuperare le risorse JavaScript, CSS o dati bloccate e necessarie per renderizzare la pagina.
- Avviso L’elaborazione produce errori nel registro del browser Correzione: Correggi l’eccezione indicata nel browser e verifica che il contenuto essenziale venga ancora renderizzato al primo caricamento.
- Avviso Durante l’elaborazione alcune richieste di risorse non riescono Correzione: Ripristina, instrada correttamente o rimuovi ogni richiesta di risorsa non riuscita e necessaria all’output renderizzato.
- Avviso Il contenuto importante richiede un’interazione Correzione: Inserisci tutto il contenuto nel DOM caricato oppure assegnagli un URL scansionabile, senza richiedere un clic o lo scorrimento.
- Errore La pagina renderizzata sembra un falso 404 Correzione: Restituisci 404/410 per una pagina mancante oppure sostituisci il corpo scarno simile a un errore con contenuto sostanziale all’URL che restituisce 200.
- Avviso JavaScript reindirizza la pagina Correzione: Sostituisci il reindirizzamento JavaScript con una risposta 3xx lato server appropriata verso l’URL definitivo.
- Informazione I dati strutturati sono assenti Correzione: Aggiungi JSON-LD accurato per l’entità principale supportata dalla pagina quando i dati strutturati sono appropriati.
- Avviso I dati strutturati compaiono solo dopo l’elaborazione Correzione: Emetti il JSON-LD convalidato nell’HTML iniziale invece di inserirlo soltanto dopo l’esecuzione di JavaScript.
- Informazione La pagina dipende da un WebSocket durante il rendering Correzione: Renderizza il contenuto essenziale senza richiedere un WebSocket aperto e fornisci un’alternativa HTTP o generata lato server affidabile.
- Avviso Manca il tag meta per l’area visibile Correzione: Aggiungi <meta name="viewport" content="width=device-width, initial-scale=1"> alla sezione head iniziale.
- Errore Il contenuto essenziale dipende dall’elaborazione nel browser Correzione: Genera lato server o in anticipo il titolo, l’H1, i collegamenti e il contenuto principale nell’HTML iniziale.
- Avviso La pagina si affida all’instradamento con frammenti Correzione: Passa il sistema di instradamento a percorsi in modalità cronologia che il server possa risolvere senza un frammento URL.
- Avviso L’elemento del titolo si trova fuori dalla sezione head Correzione: Sposta il titolo nella sezione head del documento e mantieni esattamente un valore del titolo non vuoto al suo interno.
- Avviso Il canonical si trova fuori dalla sezione head Correzione: Sposta il collegamento canonical previsto nella sezione head del documento e rimuovi le dichiarazioni canonical dal corpo.
- Avviso L’HTML iniziale contiene tag di canonical in conflitto Correzione: Emetti un solo URL canonical nell’HTML iniziale invece di affidarti a JavaScript per correggere dichiarazioni in conflitto.