---
title: "From 57% to Agent-Native: How This Site Took Over www.neuvottelija.fi"
summary: "Why a Lovable-hosted React SPA scored 57 while a Cloudflare and Astro static-first site reached 86, and why agent readiness is an architectural property rather than a feature toggle."
datePublished: 2026-07-11
dateModified: 2026-07-13
originalLang: en
authors: ["Sami Miettinen"]
tags: ["agent readiness","Cloudflare","Astro","Lovable","prerendering","llms.txt","MCP","agentic web"]
canonical: https://ai.neuvottelija.com/taking-over-ai-neuvottelija-com/
---
# From 57% to Agent-Native: How This Site Took Over www.neuvottelija.fi

I did not rebuild neuvottelija.com on Cloudflare because the old site looked wrong. I rebuilt it because the definition of a good website is changing.

For years, the test was straightforward: does the page load quickly, look right in a browser and rank in search? Those remain necessary. But they are no longer sufficient. A growing share of discovery and knowledge work now begins through AI systems. Those systems need a site that can be discovered, interpreted, cited and used without pretending to be a browser with infinite patience and a full JavaScript runtime.

Cloudflare's [Agent Readiness benchmark](https://isitagentready.com) made the difference visible. The existing Lovable-based neuvottelija.fi implementation scored **57**. The new Cloudflare-hosted neuvottelija.com scored **86**.

That is a benchmark result, not a claim that a score alone creates business value. It is nevertheless a useful diagnostic. It shows whether a site is merely accessible to a browser or actually designed as a surface that an agent can understand and use.

## The problem was not the UI. It was the delivery model.

neuvottelija.fi is a Vite and React single-page application created and operated through Lovable. The live application returns a document whose meaningful page content is assembled after JavaScript runs. At its core sits an empty application root and a JavaScript bundle.

That model is excellent for iterating quickly on an application. It is much less natural for content that must be reliably available before JavaScript executes, including search snippets, structured knowledge, article archives and agent interfaces.

We did not ignore the problem. The repository contains a custom Puppeteer prerenderer. It visits routes at build time, waits for the React application to settle, writes the rendered DOM into static `index.html` files and hydrates them on the client. It replaced an earlier attempt with react-snap, whose bundled Chromium could not reliably execute modern JavaScript.

But that is precisely the point. Prerendering was an operational workaround around the default product architecture. The Lovable flow could skip it in preview or when builds became slow or fragile. The repository documentation explicitly describes `PRERENDER=0` as the escape hatch for Lovable deployments. The live production response still demonstrates the gap: a JavaScript shell rather than complete, route-specific content.

Lovable can support clever workarounds. It did not make static delivery, content negotiation and machine-readable discovery dependable first-class production primitives for this site.

## The Cloudflare build starts from a different premise

The rebuilt neuvottelija.com is a static-first Astro site deployed on Cloudflare Pages. The server response contains the content. JavaScript is an enhancement, not a prerequisite for knowing what a page says.

That one design decision made the rest of the agent surface much easier to treat as normal product work rather than exceptional infrastructure:

- A Markdown mirror is available for each page, and clients can request Markdown through `Accept: text/markdown`.
- `llms.txt` provides a compact map of the site; JSON indexes and RSS provide structured inventories.
- HTTP Link headers advertise the relevant discovery surfaces without requiring an agent to guess URLs.
- `.well-known` documents expose an API catalogue, MCP server card, agent skills, agent card and supporting authentication metadata.
- JSON-LD, sitemaps, canonical URLs and publication dates keep provenance and indexing legible.
- Crawler policy is explicit. This matters because a perfectly designed machine interface is irrelevant if the edge configuration tells the relevant agents to leave.

The difference is not one file called `llms.txt`. It is that the publishing system produces human-facing and machine-facing representations from the same source material.

## The unglamorous engineering mattered

The project was not a one-click score improvement. An earlier scan of the Cloudflare implementation returned 71, and its failures were instructive.

The content-negotiation middleware existed but was not being deployed because the deployment command ran from the wrong directory. A strict scanner required `auth.md` to identify itself literally in its heading and required an `agent_auth` block in authorization metadata. Extensionless `.well-known` files needed explicit content types. Cloudflare's managed robots controls could silently contradict the policy in the repository. An older Worker route could intercept an entire subdomain before the intended Pages project saw a request.

These are not glamorous details. They are what turns a diagram of an agent-ready site into an operational one.

## The broader lesson

An agent-ready website is not a chatbot widget. Nor is it a claim that every crawler should receive unrestricted access. It is a deliberate interface contract:

1. The content is available without an expensive browser simulation.
2. The site advertises how it can be discovered and queried.
3. The outputs preserve source, date and canonical identity.
4. Access boundaries are explicit.
5. Human publishing and agent publishing share one auditable source of truth.

The new site can be edited in a browser, drafted through a chat workflow or changed through Git. In every case, the end of the pipeline is the same: a source file, a commit, a build and an inspectable page.

That is the strategic value of the move from 57 to 86. Not a badge. A better operating model for a web where the next reader may be a person, a search engine or an AI agent acting for one.

---

*This article replaces the original build chronicle, “From 71 to Agent-Native: How This Site Took Over ai.neuvottelija.com.” It draws on that build record and a review of the Neuvottelija.fi implementation. The quoted scores refer to Cloudflare Agent Readiness benchmark snapshots from 12 July 2026.*