System · Studio 1974 and InfoFrame
SEO check
In production
An audit that used to take me an hour and a half by hand, turned self-serve and free. Whoever types in their address gets the answer, and I get a qualified conversation instead of a cold email.
Facts
- Status
- In production on two sites
- Stack
- Astro · Python · PyRunner · DataForSEO · PageSpeed · Emailit
- Sources
- Six API calls in parallel per audit
- Score
- 0 to 100 across five dimensions, plus a separate AI visibility score
- New client
- One datastore entry, zero code changes
- Proof
- 1974.no/seo-sjekk
Why it exists
The hardest conversation in this trade is the first one. Calling someone to tell them their website has problems is a poor opening, however right you are.
So I turned it around. They ask for the audit themselves, get it in a couple of minutes, and have the numbers in front of them before we speak. Then the conversation is about what to do, not about whether the problem is real.
Six calls, and none of them gets to sink the job
The audit pulls page data, speed measurements for both mobile and desktop, the link profile, domain strength, competitors and three AI queries. All of it runs in parallel, because otherwise the wait is the sum of all of them.
If one fails, it contributes zero to its own dimension rather than throwing. The user gets a slightly thinner report without knowing anything went wrong, and I see it in the log. An audit that died entirely because one third-party API hiccuped would be a bad first impression.
The job writes its status immediately, before fetching anything, so the page can show that something is actually happening while it waits.
The follow-up reads the result
After two days a second email goes out, and which one depends on what the audit found. A low score gets one variant, middling another, a high score a third that talks about AI visibility instead of basic faults.
Sending the same follow-up to someone on 28 points and someone on 71 would read as obviously automated to both. After a week there is one last, quiet close.
A job every six hours walks the queue and writes back what has been sent, so nothing goes out twice.
Same code, two brands
The audit runs for both Studio 1974 and InfoFrame without the code knowing the difference. Sender name, email address, booking link and webhook all live as one datastore entry per client.
Adding a third is writing an entry. It was not built that way at first, and the rewrite came after I noticed I had started copying the script.
What this is not
It is not a full audit. It looks at what can be measured from the outside in a couple of minutes, and it says nothing about content, conversion, or whether the business actually makes money from the traffic.
The score is my own weighting, not an industry standard. It is useful for comparing a site against itself over time and for pointing at what is urgent. It is not a grade anyone else will recognise.
The audit is also a sales tool. It is honest, but it was built by someone who sells the fix for the problems it finds, and a reader should know that.