Come ho verificato, senza accesso al codice, che il prerendering di un sito aveva smesso di funzionare: il caso AV Automotores
Si può verificare con fiducia un'affermazione tecnica su un sito senza avere accesso al suo codice?
Di Pietro Fiorillo ·
Indice dell'articolo
Il problema documentato: un catalogo che cambia continuamente
Il catalogo di AV Automotores cambia di continuo: entrano ed escono veicoli, cambiano i prezzi, si aggiungono foto. L'architettura documentata per questo progetto è una SPA in React e Vite con uno script di prerendering che genera HTML proprio per rotta, perché i crawler ricevano contenuto già pronto senza dipendere da JavaScript.
Perché ho deciso di riverificarlo invece di darlo per scontato
Scrivendo questa serie di articoli, ho deciso di non limitarmi a ripetere ciò che era già documentato su ogni progetto. Per questo non ho accesso al repository attuale, quindi l'unica verifica possibile era chiedere al sito in produzione esattamente ciò che gli chiederebbe un crawler, e guardare cosa risponde.
Come ho verificato il sito in produzione, senza accesso al repository
Ho preso un campione di URL reali dalla sitemap.xml pubblica del sito: la home, /catalogo e due schede veicolo (gilera-vc-150-full-disco-disco e un'altra). Ho richiesto ognuna con curl -sL (seguendo i redirect) e ho confrontato l'HTML completo restituito da ciascuna.
Le quattro risposte erano, carattere per carattere, lo stesso documento: lo stesso <title>AV MOTOS | Financiación de Motos en Argentina</title>, la stessa meta description, e un <link rel="canonical" href="https://avmotos.com/"> che non cambia indipendentemente dalla rotta richiesta. Non ho trovato nessun blocco <script type="application/ld+json"> in nessuna delle quattro.
| Elemento | Documentato | Osservato in produzione |
|---|---|---|
| Title e canonical per rotta | Prerenderizzato, uno per veicolo | Lo stesso nelle 4 rotte testate, canonical sempre alla home |
| Dati strutturati Schema.org | Vehicle, Organization, Breadcrumb, FAQ | Nessuno trovato nell'HTML servito |
| Sitemap.xml | Generata da Firestore | 171 URL reali, confermato |
| Header di sicurezza | CSP e header rigorosi | CSP, HSTS, X-Content-Type-Options e X-Frame-Options confermati |
Risultati misurabili
| Metrica | Risultato | Ambiente / evidenza |
|---|---|---|
| Lighthouse Performance (mobile, lab) | 46 / 100 | Lighthouse 13.5.0, throttling simulato |
| LCP (lab) | 6,4 s | Stessa misurazione Lighthouse, non è un dato di campo (CrUX) |
| URL nella sitemap | 171 | sitemap.xml pubblica, confermata con curl |
| Rotte con HTML identico | 4 su 4 testate | Home, catalogo e 2 schede veicolo |
Un <link rel="canonical"> che punta sempre alla home, indipendentemente dalla rotta, dice a Google che tutte quelle pagine sono la stessa. Per un catalogo che vive sul fatto che ogni veicolo venga indicizzato e compaia per la propria ricerca, è un problema reale, non cosmetico.
Verificare ciò che un sito serve davvero, senza eseguire JavaScript, è il modo più onesto per sapere cosa vede un motore di ricerca.
Il mio ruolo in questo progetto
Il mio ruolo in AV Automotores ha incluso lo sviluppo della SPA, l'integrazione con Firestore e la progettazione originale della strategia di SEO tecnica, come parte del mio lavoro in MANYA Digital.
Cosa farei diversamente: un'affermazione pubblica che la produzione non sostiene oggi
La pagina di questo progetto sul mio sito descriveva un prerendering per rotta e dati strutturati Schema.org funzionanti. La verifica dal vivo non lo conferma. Ho già corretto quella pagina per riflettere ciò che ho osservato, invece di lasciare un'affermazione che non posso confermare con il sito reale.
Cosa proverei dopo
Tornerei al repository (se avessi accesso) per confermare se lo script di prerendering è ancora nel codice e viene eseguito nella build, o se una regola di rewrite dell'hosting sta servendo lo shell della SPA per ogni rotta senza distinzione. Aggiungerei anche una verifica automatica semplice, come confrontare il <title> di due rotte diverse dopo ogni deploy, per individuare una regressione del genere prima che passino mesi senza che nessuno se ne accorga.
Fonti
Domande frequenti
Perché tutte le pagine mostrano lo stesso title e la stessa descrizione?
Perché, al momento di verificare il sito il 18 ottobre 2026, ogni rotta restituiva lo stesso HTML generico della SPA, senza che un passaggio di prerendering per rotta venisse eseguito. È quello che ho visto dall'esterno; non ho accesso al repository per sapere perché.
Questo influisce sulla SEO reale del sito?
Un crawler che non esegue JavaScript vedrebbe lo stesso title, la stessa descrizione e lo stesso canonical (puntato alla home) su ogni veicolo. È, come minimo, un segnale di contenuto duplicato e schede prodotto non differenziate per i motori di ricerca che non renderizzano JavaScript.
Perché non hai corretto il repository in questo articolo?
Perché non ho accesso ad esso. Ho aggiornato la pagina di questo progetto sul mio sito per riflettere ciò che ho osservato in produzione, ma la correzione del sito stesso di AV Automotores dipende dal tornare a quel codice, che non è quello che sto documentando qui.
Gli header di sicurezza menzionati dal progetto sono reali?
Sì. Ho verificato con curl che il sito risponde con Content-Security-Policy, Strict-Transport-Security, X-Content-Type-Options e X-Frame-Options configurati correttamente. Quella parte del progetto regge.
La sitemap va bene?
Sì. Ha 171 URL reali, sincronizzati con il catalogo. Il problema che ho trovato è specifico dell'HTML servito su ciascuno di quegli URL, non della sitemap in sé.
Come risolveresti questo problema?
Tornerei al repository per confermare se lo script di prerendering esiste ancora e viene eseguito a ogni build, o se una regola di rewrite dell'hosting sta servendo lo shell della SPA per tutte le rotte invece dell'HTML prerenderizzato. Senza vedere il codice, non posso dire quale delle due sia.