← Back to case studies
AI-Native Websites

From a One-File AI Draft to a Production Site, Live in Nine Days

How ESGready turned a founder's AI-generated website draft into a fast, AI-searchable production site.

7 min read · English ESGready GmbH ESG / Mittelstand consultancy Fixed fee

Client snapshot

ESGready GmbH advises German Mittelstand companies on sustainability and ESG transformation, founded about 18 months before this project. It sells "Transformation as a Service": fixed service packages rather than open-ended consulting, led by founder and managing director Frank Siebke.

ESGready wins work through direct outreach and conference talks, and by August 2026 was also being named in trade articles under its new positioning. That made its public website a live liability, not a back-office task.

The situation before

The previous site was an unfinished WordPress build, never launched. It was barely promoted and not findable on Google or AI systems, and traffic was close to zero. In practice, ESGready was starting from nothing. Frank called the site "a catastrophe."

A live audit found concrete problems: about 91% of 45 images had no alt text, there was no Organization or Service structured data, no social preview image (shared links showed a favicon or a random crop), the homepage canonical pointed at /home/ instead of /, and roughly 20 near-identical booking URLs had built up over the years. Seventeen of 29 homepage headings were slider captions marked up as headings, which distorts the structure screen readers and search crawlers depend on.

Frank had already produced a redesign draft himself, generated in a single AI prompt, plus an AI-written migration plan. He was open that both held errors. The draft was a single-file, hash-routed JavaScript page: its content appeared only after scripts ran, so Google and AI answer engines saw an empty page. Turning that file into a working website, he said afterwards, would otherwise have "needed a psychiatrist."

Why they acted, and why now

Two triggers met: the public references under the new positioning, and a draft that showed the direction Frank wanted but was not something he could take live. The constraint was time. ESGready had a webinar coming up, and every day on the old site cost credibility.

After a previous website project that never got finished, reliability was a decision criterion, not a given: Frank valued that calls started exactly on time and that updates arrived daily. He did not want to touch hosting, DNS or WordPress himself, and wanted a directly coded static site, not another WordPress build. Frank saw the site as a proof of trust that makes the other channels credible, and wanted it cited by ChatGPT and Perplexity, not only ranked by Google.

Goals & success criteria

  1. 1A proof of trust that makes the outreach and talks credible.
  2. 2Found and cited by AI search systems, not only ranked by Google — crawlable HTML plus structured data.
  3. 3Live fast: inside the week of the webinar.

Scope was the public website only. A client portal was out of scope for this phase, but the stack was chosen so the portal could build on it. The fee was fixed for the whole scope, fully live.

What we did

The one-file draft became 23 standalone, crawlable pages, with the cost calculator, package self-test and obligations radar kept as working features. After a first pass in plain HTML, the site moved to Astro 5 on Cloudflare Workers, content held in Git and edited through Keystatic, deploys running automatically from GitHub with one-click rollback. Organization, Article and FAQ structured data and branded preview tags went on every page: the concrete basis for AI-search visibility the old site lacked.

The stylesheet was cut from 149 KB to 23 KB, and header, navigation and footer moved to one shared source instead of 23 copies. WCAG AA contrast was checked with the actual formula (a real bug fixed: near-invisible footer text), mis-marked headings were corrected, a keyboard focus indicator was added, and several interaction bugs were found and fixed. The domain was cut over with 21 old WordPress URLs redirected to their new equivalents, www pointed to the apex, email deliverability re-checked, and Google Search Console connected.

The site went live inside the agreed window, ahead of the webinar. The build didn't stop there: over the following week the CMS layer went in properly — Keystatic wired across every content type on the site, so Frank was not left with a developer-only editing workflow but a CMS he was then trained to use himself. A second lead-generation flow was added alongside the contact form: a flyer download behind a short modal, feeding the same lead pipeline and fully editable without touching code. One production incident surfaced and was closed within the same window: a hosting-platform routing quirk took a new route down for real visitors, and the first attempted fix briefly took the live contact form down with it before the root cause was found and corrected. Code, security and architecture reviews ran throughout, rather than being left for a one-off pass at the end.

Results

The starting point was near zero: no meaningful traffic, nothing indexed, no promotion. So the results are about the foundation that now exists, not a jump in numbers. Delivered, and live inside the agreed window at the fixed fee.

Technical baseline

Old siteNew site
Pages readable by search/AIOldNew
Crawlable pages123
Structured datanoneOrg + Article + FAQ
Images with alt text4 / 45~all
Duplicate URLs~200
301s on legacy URLs021
CSS payload149 KB23 KB

Lighthouse — mobile, Slow 4G throttling

MetricOld¹New
Performance19100
Accessibility9092
Best Practices77100
SEO100100
Largest Contentful Paint21.2s1.5s
Cumulative Layout Shift0.8660.046
Agentic Browsing checks0/23/3

¹ Measured via an archived snapshot, since the live domain now points to the new site; its load-time figures include archiving-service overhead and are likely worse than the real original site. Accessibility, Best Practices and SEO scores are markup-based and more directly comparable.

The new site's clean sweep on Lighthouse's "Agentic Browsing" category — including an llms.txt file in place — is a direct, independently-measured signal for goal 2: not just ranked by Google, but readable and citable by AI systems. The old site failed this category outright.
Old ESGready homepage, WordPress build
Before The old site
New ESGready homepage, Astro build
After The new site

Operational & cost

Not claimed yet, by design: traffic, rankings, enquiry volume, AI-citation wins. A follow-up review at the three-month mark will capture indexation, first Search Console data, page-speed scores measured against the old site, and whether AI answer engines cite the site.

Client-reported: Frank said the result pleases him, that the speed is something "you can never get with WordPress," and that he is "genuinely happy" with the outcome.

Client voice

Translated from German.

"Turning that original HTML snippet into a full website, with everything it needed, I'd otherwise have needed a psychiatrist for that."
"What excites me is the speed. You can never achieve that with WordPress."
"That's the good kind of old-fashioned: if you say the meeting's at 11, you're there at 11."

How we worked together

After a previous website project that never got finished, Frank's biggest open question was not the tech stack, it was whether he could trust the next person to actually keep him posted. The engagement was set up around that: Frank got a daily report in his inbox for the full build, so he always knew what had shipped, what was in progress and what was next, without having to ask. On top of that, a weekly check-in call covered direction and decisions, and ad-hoc calls were available whenever he had a question, rather than waiting for the next scheduled slot. Calls started exactly on time, every time, which Frank called out unprompted as a contrast to what he'd experienced before.

Why this worked

The business problem was concrete and urgent, the decision-maker was in the room, and scope matched the deadline: public site now, portal later, on the same foundation. Frank brought a clear draft and a firm technical preference; the engagement supplied the review he asked for and the production build he could not do himself. A fixed fee and a fixed date kept the scope honest.

It would not suit a client who needs a visual admin panel and full non-developer control over layout and new page types. This stack asks for a developer, or an AI coding tool, in the loop for anything past routine content edits.

Who this is for

Owner-led B2B companies whose website undercuts their sales and outreach, often after a previous website project didn't get finished, who have a design direction (often an AI draft) but no path to production, who need real search and AI-search visibility, and who can accept a maintainable coded stack over a WordPress admin. They need to bring a decision-maker, a content owner, and access to the domain and hosting.

Frequently asked questions

How long did the ESGready relaunch take?

Nine days from Frank Siebke's AI-generated draft to a live, production-ready site, delivered on a fixed fee, ahead of his webinar deadline.

Why couldn't ESGready launch the AI-generated draft as it was?

The draft was a single-file, hash-routed JavaScript page: its content only appeared after scripts ran, so Google and AI answer engines saw an empty page. It needed to become a real, crawlable, AI-searchable static site.

Is this approach right for every company?

It suits owner-led B2B companies with a design direction but no path to production, who want real search and AI-search visibility and can accept a maintainable coded stack over a WordPress admin panel. It would not suit a client who needs a visual admin panel and full non-developer control over layout and new page types.

If your website is working against your outreach and you have a draft but no route to production, let's talk about the fastest safe path to a relaunch.