# [LLM optimization for websites: cut what the model must read](https://rebilder.com/solutions/llm-optimization)

- **Updated:** 2026-09-10
- **Description:** Make your website useful to LLMs with accessible facts, clear source information and compact responses. Scan your pages to find specific improvements.

This page is about optimising a website so language models can use it, not about quantising a model. If you came looking for inference cost, this is the other meaning of the phrase.



## What you get

- A concrete definition of what "optimised for LLMs" means
- Four useful checks for your page responses
- Two measured page examples
- A free scan with response evidence and practical checks

## What optimising for an LLM actually means

Agents can retrieve pages through direct requests, browsers and search systems. Support the relevant paths with clear content and compact source-backed responses.

| Property | Why it helps | How to check it |
| --- | --- | --- |
| Fetchable | A blocked request cannot be optimised | Request the URL as an agent would |
| Parseable without JS | Direct clients may not render JavaScript | Read the raw response, not the DOM |
| Small | Context is finite and shared | Compare bytes with and without negotiation |
| Front-loaded | Truncation and summarisation cut the tail | Find the offset of the first real fact |

## What subtraction is worth

The demo page captures show two page types: a 91,226-byte product page becomes 1,315 bytes, and a 13,581-byte services page becomes 1,412 bytes. Each retains its source buying facts; compare your own pages separately.

These captures show different page types. Compare your own before-and-after responses to measure the improvement for your site.

## How the subtraction happens

Content negotiation, done at the edge. A request asking for markdown receives markdown assembled from values you already store; browsers and search crawlers receive exactly what they received before.

middleware.ts

```ts
import { NextResponse } from 'next/server'
import { createGatewayProxy } from '@rebilder/gateway/next'
import { gatewayConfig } from '@/lib/gateway-config'

// Configure storeId and source resolvers in gatewayConfig.
export default createGatewayProxy(gatewayConfig, () => NextResponse.next())
```

> **No model runs at request time** The gateway renders supplied source values. Answers generation is a separate workflow that drafts from business sources and validates the evidence before publication.

## What is LLM optimization?

In a website context, making pages that language models can retrieve and afford to read: reachable without a blocked fetch, parseable without JavaScript, small in tokens, and front-loaded with the facts. In a machine-learning context the same phrase means making models cheaper to run, which is unrelated.

## How do I optimize my website for LLMs?

Check access and source completeness, make key facts easy to find and test both direct and browser responses. Add a compact Markdown representation where it serves the clients you support.

## How many tokens should a page be?

Use enough content to answer the question clearly. Compare completeness and response size on your own pages instead of targeting one universal token count.

## Does this require changing my CMS?

Choose an adapter for your platform and connect the relevant business sources. The core SDK is framework-independent and free to self-host.

## Related

- [LLM visibility](https://rebilder.com/solutions/llm-visibility)
- [LLM SEO: what transfers from SEO](https://rebilder.com/learn/llm-seo)
- [AI content optimization](https://rebilder.com/solutions/ai-content-optimization)
- [llms.txt: what it is and whether it works](https://rebilder.com/learn/llms-txt)
- [Gateway quickstart](https://rebilder.com/docs/quickstart)