DEV Community

Cover image for SiteReadyForSi: The Lazy Developer’s Guide to Automating AI Search Audits (Week 3)
The Saqib Tahir
The Saqib Tahir

Posted on Originally published at sitereadyfor.si

SiteReadyForSi: The Lazy Developer’s Guide to Automating AI Search Audits (Week 3)

Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady Submission 🦥

This is a submission for the Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady


Confession time: I love building things, but I despise repetitive manual chores.

When the Dev team announced this week's theme — "Slow and Steady: Channel your inner sloth and build something with open-source AI that rewards laziness" — I felt personally seen. Because as web developers, nothing drains our creative energy faster than repetitive, manual debugging tasks that could easily be automated.

And right now, the most tedious, time-consuming rabbit hole in tech is Auditing Websites for AI Search Engines (ChatGPT Search, Perplexity, and Claude).

Here’s the story of why I built SiteReadyForSi, how open-source AI does the heavy lifting, and how it turns hours of manual terminal sleuthing into a relaxing, 10-second coffee break. ☕🦥


What I Built

SiteReadyForSi is an automated technical scanner designed to answer one critical question:

"When an AI search engine (like Perplexity or ChatGPT Search) visits your website, can it actually read and cite your content, or does it see an empty screen?"

The Tedious Manual Chore It Replaces:

Before this tool, auditing a client's website or my own web app for Generative Engine Optimization (GEO) meant doing all of this by hand:

  1. Opening the terminal to curl the URL with different User-Agents (GPTBot, OAI-SearchBot, PerplexityBot, ClaudeBot) to see if any firewall blocks them.
  2. Inspecting the initial raw HTML payload to check if modern React / Next.js Client-Side Rendering (CSR) left an empty <div id="root"></div> shell with zero extractable text.
  3. Reading through complex robots.txt regex rules to ensure someone didn't accidentally block live search citations while trying to block model scrapers.
  4. Validating JSON-LD schema graphs (Organization, SoftwareApplication, FAQPage) to ensure entities are structured for vector retrieval.
  5. Manually checking or formatting a clean /llms.txt file for LLM context ingestion.

Doing this manually across multiple pages takes at least 2 hours of mundane, headache-inducing terminal work.

With SiteReadyForSi, you literally punch in your URL, sit back in your chair, and let an automated open-source AI pipeline run all 15 technical checks simultaneously. In 10 seconds, you get a complete readiness score out of 100, a clear visual breakdown, and copy-paste code fixes.


Demo

  • Live Web App: https://sitereadyfor.si
  • What you can test right now: Enter any public URL (your blog, portfolio, SaaS, or documentation site) and watch the scanner dissect your site's AI readiness in real time. No sign-up or credit card required for the instant baseline audit.

How I Built It

To make the audit genuinely helpful (and not just a dumb regex checker), the platform runs an Intelligent Multi-Stage Open-Source AI Reasoning Pipeline:

1. The Headless Ingestion Engine (Raw vs Rendered Analysis)

The engine fetches the raw server-delivered HTML exactly as high-throughput AI bots do, bypassing client-side hydration. It extracts:

  • Server-delivered word counts vs hidden client-only text
  • Heading hierarchies (H1 $\rightarrow$ H3)
  • Structured JSON-LD microdata
  • Bot directives (robots.txt and meta robots tags)

2. Multi-Stage Open AI Reasoning Pipeline

Once the technical telemetry is gathered, it is passed into an open-source reasoning model pipeline:

  • The Parser: Normalizes contradictory robots.txt rules and identifies edge cases (like blocking GPTBot while forgetting to whitelist OAI-SearchBot).
  • The Semantic Extractor: Analyzes whether the initial HTML provides concise, factual answers (following the BLUF principle — Bottom Line Up Front) or if the site is a victim of the Client-Side Rendering "black hole."
  • The Fix Generator: Instead of generic error messages, the AI model generates tailored, drop-in code snippets (e.g. customized robots.txt blocks and /llms.txt markdown files) ready to paste into your repo.

Why Does Open Innovation Matter?

Why build this on open-source AI architectures rather than relying entirely on proprietary closed APIs?

Three massive reasons:

  1. Unconstrained Throughput & Predictable Cost: Closed APIs charge steep token fees that make large-scale crawl analysis and continuous multi-point site audits prohibitively expensive. Open-source models running on efficient inference infrastructure allow us to run deep reasoning passes on thousands of lines of HTML without worrying about astronomical bill shocks.
  2. Deterministic Custom Prompts & Agent Control: Closed models often undergo silent updates that change how they parse structured data or hallucinate recommendations. Open-weight architectures give us full determinism: our crawler simulation and schema scoring remain consistent, reproducible, and verifiable.
  3. Data Privacy for Builders: Webmasters and indie developers don't want their pre-launch staging URLs, private site architectures, or technical crawl policies fed into third-party proprietary training datasets. Open innovation keeps the pipeline transparent, respectful, and developer-first.

The Lazy Payoff

Let's look at the actual numbers:

Task The Old Manual Way 🥱 The SiteReadyForSi Way 🦥
Testing AI Bot User-Agents 20 mins of terminal curl requests Instant automated simulation
CSR vs SSR Payload Check 25 mins inspecting raw source code Automated in 2 seconds
robots.txt & Schema Audit 30 mins reading specs & schemas Validated in 3 seconds
Generating /llms.txt 45 mins writing markdown specs 1-click auto-generated
Total Time Spent ~2 Hours of tedious manual labor ~10 Seconds (One Click)

Time Saved: ~98% reduction in developer audit time.

Instead of spending your weekend debugging crawler status codes and wondering why your web app isn't getting cited in ChatGPT Search or Perplexity, you can let open-source AI do the heavy lifting while you channel your inner sloth.


Try It Out

Are you curious whether your site is currently readable by AI search engines or trapped in an empty client-side shell?

Run a quick test on SiteReadyForSi and let me know in the comments what score your site received! 🚀🦥

Top comments (3)

Collapse
 
wolf2016 profile image
wolf Valencia •

Running the GPTBot, OAI-SearchBot and PerplexityBot requests side by side is the part I'd have automated first too. The robots.txt case where someone blocks GPTBot and forgets OAI-SearchBot is a sneaky one, and it's nice to see it called out.

I'm a Staff SDET, so I ran a quick pass on sitereadyfor.si while I was reading. It came out at 97/100, an A. The one thing I'd change is that the pages have no Open Graph tags at all, so no og:title or og:description on the homepage or /pricing. When someone drops the link into Slack, LinkedIn or X after a good score, the preview card has to guess at a title and usually skips the description. A few og: tags in the head would give it a proper card.

There were 6 other smaller items in the same pass. Do the 15 checks count social tags as part of AI readiness, or do you keep it strictly to what the crawlers read?

Collapse
 
thesqb profile image
The Saqib Tahir •

Thanks a lot for the thorough pass and the kind words on the multi-bot simulation! Really appreciate a Staff SDET taking the time to inspect under the hood.

You nailed the exact trade-off we debated early on:

  1. The Open Graph (OG) tags: You are 100% spot on about the preview cards in Slack/X/LinkedIn. We prioritized the machine-ingestion pipeline and raw payload parsing first, but social unfurls are crucial when developers share their audit badges. Adding og:title, og:description, and og:image to the head across the homepage and /pricing is going straight into this week's sprint.

  2. Social tags vs. AI Readiness: To answer your question: right now, our core readiness score focuses strictly on direct machine ingestibility — raw initial HTML payload (SSR vs client-side drops), user-agent directives (robots.txt simulation for search bots vs training scrapers), structured JSON-LD entity graph, and /llms.txt.

We intentionally separated pure social metadata from the primary score so developers don't get penalized for AI readiness if their technical GEO pipeline is solid. That said, we're considering adding a separate "Sharing & Distribution Signals" sub-card since bots like Perplexity and SearchGPT occasionally reference Open Graph fallbacks if Schema definitions are missing.

Curious to hear what the other small items were from your pass if you don't mind sharing! Always looking to tighten the edge cases. Thanks again for the valuable feedback!

Some comments may only be visible to logged-in visitors. Sign in to view all comments.