Workflow

Framer and Lovable Site LLM Readability Audit

Weekly audit that measures whether ChatGPT, Perplexity, and Claude can actually read your JS-rendered marketing site.

Overview

Fetches your marketing pages with and without JavaScript rendering, compares word counts, measures what share of your content survives to LLM crawlers, and tests whether answer engines reference your brand for your target prompts. Built for teams on Framer, Lovable, Webflow, or any JS-heavy marketing stack.

Trigger

Cron schedule (weekly on Mondays)

Schedule

Runs weekly on Mondays

Workflow Steps

1

List target URLs

Read marketing page URLs from your sitemap or a config file.

2

Fetch raw HTML

Call Scavio extract with render_js=false to get initial payload.

3

Fetch rendered HTML

Call Scavio extract with render_js=true to get the client-rendered version.

4

Compare word counts

Measure what fraction of rendered content is visible to non-JS crawlers.

5

Ask the engines

Run category prompts through ChatGPT, Perplexity, Claude and check whether the page ranks.

Python Implementation

Python
import requests, os
from bs4 import BeautifulSoup
API_KEY = os.environ["SCAVIO_API_KEY"]

def word_count(url, render):
    r = requests.post("https://api.scavio.dev/api/v1/extract",
        headers={"x-api-key": API_KEY},
        json={"url": url, "render_js": render})
    return len(BeautifulSoup(r.json().get("html", ""), "html.parser").get_text().split())

for url in ["https://example.com", "https://example.com/pricing"]:
    raw = word_count(url, False)
    rendered = word_count(url, True)
    print(url, f"{raw/rendered:.0%} visible to LLMs" if rendered else "no content")

JavaScript Implementation

JavaScript
const API_KEY = process.env.SCAVIO_API_KEY;
async function extract(url, renderJs) {
  const r = await fetch("https://api.scavio.dev/api/v1/extract", {
    method: "POST",
    headers: { "x-api-key": API_KEY, "content-type": "application/json" },
    body: JSON.stringify({ url, render_js: renderJs }),
  });
  return (await r.json()).html ?? "";
}
console.log((await extract("https://example.com", true)).length);

Platforms Used

Google

Web search with knowledge graph, PAA, and AI overviews

Frequently Asked Questions

Fetches your marketing pages with and without JavaScript rendering, compares word counts, measures what share of your content survives to LLM crawlers, and tests whether answer engines reference your brand for your target prompts. Built for teams on Framer, Lovable, Webflow, or any JS-heavy marketing stack.

This workflow uses a cron schedule (weekly on mondays). Runs weekly on Mondays.

This workflow uses the following Scavio platforms: google. Each platform is called via the same unified API endpoint.

Yes. Scavio's free tier includes 500 credits per month with no credit card required. That is enough to test and validate this workflow before scaling it.

Framer and Lovable Site LLM Readability Audit

Weekly audit that measures whether ChatGPT, Perplexity, and Claude can actually read your JS-rendered marketing site.