crawlerx.co is a client-rendered SPA with no SSR, so a crawler or any
viewer that doesn't execute JS only ever saw an empty page with just a
title and meta description. Added a real <h1>, a description sentence,
and links to every main page inside #root — real visitors never see it
since React replaces it the instant it mounts, but it gives crawlers,
screen readers without JS, and slow connections actual content instead
of nothing.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
The hero widget looked up a hardcoded preset or a generic templated
result for any domain typed in, after a scripted 700ms delay — it never
actually looked at the site. It now calls a real, rate-limited endpoint
on app.crawlerx.co that crawls the submitted URL and reports an actual
finding, with an honest error (not a fabricated result) when a site is
unreachable or blocks crawlers. The fake "Approve and push to CMS" button
is replaced with a sign-up CTA, since pushing to a client's CMS needs
that client's own connected credentials, not something an anonymous
visitor can authorize.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>