crawlview
Vezi ce stochează efectiv motoarele de căutare și crawlerele AI pentru paginile tale — nu ce îți arată browserul.
Browserul execută JavaScript, deci pagina din DevTools e o pagină terminată. Majoritatea crawlerelor nu îl execută. Ce păstrează ele poate fi un container gol, iar nimic de pe ecran nu ți-o spune.
crawlview cere pagina o dată ca fiecare crawler, compară ce vine înapoi și arată unde browserul și mașinile nu sunt de acord. O comandă, fără cont, fără instalare.
O singură comandă
npx crawlview https://example.com --renderCere Node 20 sau mai nou. Comparația cu browserul folosește un Chrome deja existent pe mașină — nu se descarcă nimic pe ascuns.
O pagină care se randează în browser și nicăieri altundeva
AGENT STATUS HTML TEXT TITLE DESC H1 CANON LD
Googlebot 200 870 B 0 w ok ok 0 ok 0
bingbot 200 870 B 0 w ok ok 0 ok 0
GPTBot 200 870 B 0 w ok ok 0 ok 0
ClaudeBot 200 870 B 0 w ok ok 0 ok 0
PerplexityBot 200 870 B 0 w ok ok 0 ok 0
browser (rendered) 200 15 KB 2,408 w ok ok 1 ok 1
x problems
2,408 words render in the browser; every crawler stores none of it.
Crawlers see no internal links at all.
Structured data is injected by JavaScript.Tabelul e raportul. Propoziția de sub el e diagnosticul — partea pe care un crawl de HTML brut nu ți-o poate da.
Nouă grupe de verificări
Divergență
Ce stochează fiecare crawler față de ce randează browserul: text, structured data și linkuri interne care apar doar după ce rulează JavaScript — așa devine un site întreg imposibil de descoperit chiar de pe prima lui pagină.
robots.txt, pentru fiecare crawler
Dacă fiecare crawler are voie la exact acest URL și ce regulă a decis, inclusiv Google-Extended și Applebot-Extended: tokenuri care controlează răspunsurile AI dar nu cer niciodată nimic, deci nicio altă metodă nu le poate observa.
Directive de indexare
Headerele X-Robots-Tag, invizibile în sursa paginii și cu prioritate peste eticheta meta. Un noindex rătăcit într-un header supraviețuiește luni de zile, pentru că nimănui nu-i trece prin cap să se uite acolo.
Structured data
Proprietățile obligatorii, și afirmațiile pe care pagina însăși nu le face. Marcajul are voie să descrie doar ce vede un vizitator; un preț sau un telefon care există doar în JSON-LD e exact motivul pentru care se dau penalizări manuale.
Limba declarată față de limba reală
O rută tradusă care randează textul implicit declară o limbă și servește alta. Semnul e că toate traducerile au același număr de cuvinte, iar site-ul pare impecabil până când cineva chiar citește.
hreflang
Fiecare alternativă e cerută și verificată dacă face link înapoi. Un set în care un membru nu răspunde e aruncat în întregime — și celelalte traduceri își pierd legăturile.
Pregătire pentru răspunsuri AI
Dacă crawlerele care nu execută JavaScript primesc ceva, cât text supraviețuiește extracției de conținut, dacă titlurile produc secțiuni utilizabile și dacă pagina poate fi citată.
Pe tot site-ul
Adrese din sitemap care dau 404, redirectează, sunt noindex sau interzise; pagini care canonizează în altă parte; pagini orfane, nelinkuite de nicăieri; titluri duplicate; rute care sunt pe ascuns aceeași pagină.
Soft 404
Un URL care nu poate exista răspunzând 200 — ce face o aplicație pe o singură pagină cu fiecare link scris greșit de pe internet care duce la tine.
Pică build-ul, nu trimestrul
O regresie de randare se descoperă de obicei peste săptămâni, în Search Console, după ce traficul deja a plecat. E o eroare de build pe care nimeni n-a pus-o să fie prinsă.
crawlview iese cu cod diferit de zero când un crawler vede sub o proporție stabilită din textul browserului, iar un snapshot comis în repo transformă asta într-o comparație cu ultima rulare bună. O acțiune GitHub publicată o leagă direct de pull request.
L-ai rulat pe site-ul tău și vrei problemele rezolvate?