---
title: "What is Open Knowledge Format (OKF)"
url: https://hostmy.blog/docs/rankready/what-is-open-knowledge-format/
date: 2026-08-24
modified: 2026-08-25
lang: en
author: "Aditya Sharma"
description: "Learn what the OKF bundle at /okf/ is, how to switch it on in RankReady, and how to verify it including the 304 response."
word_count: 754
---

# What is Open Knowledge Format (OKF)

This page explains what RankReady serves at `/okf/`, how to switch it on, and how to verify it properly, including the conditional request behaviour that most people never test.

## What OKF is in RankReady

Open Knowledge Format is a way of packaging a site's content as a structured bundle at a fixed address rather than leaving it spread across rendered pages. RankReady serves that bundle at `/okf/`.

The idea it shares with the other endpoints in this tab is simple: publish the content once, in a predictable place, in a form that does not require anything to strip a theme off it first. A rendered page mixes the article with navigation, styling and scripts. A bundle does not.

OKF is early. Support across clients is limited and will change. Treat it as an option worth serving because it costs nothing, not as something with guaranteed reach.

## How it differs from the other endpoints

| Endpoint | Shape |
| -------- | ----- |
| `/llms.txt` | An index: description of the site, then a list of links |
| `/llms-full.txt` | The corpus flattened into one plain text file |
| `/{post-slug}.md` | One post as Markdown with YAML frontmatter |
| `/okf/` | A structured bundle at a single address |

These are alternatives, not steps in a sequence. Enabling one does not require any of the others, and a client that understands only one of them will use only that one.

## Turn it on in RankReady

- In wp-admin, open **RankReady**.
- Go to the **AI Visibility** tab. The address ends in `tab=crawlers`.
- Open the **OKF** subtab, `sub=okf`.
- Switch the feature on and save.

Fill in [Brand Identity](https://hostmy.blog/docs/rankready/brand-terms-setup/) first, under `sub=brand` in the same tab, if you have not already. Your site name and description are used across RankReady's machine readable output, and a bundle with no description of the site is much less useful.

No [AI provider](https://hostmy.blog/docs/rankready/choose-ai-provider-cost/) key is needed. Nothing here calls OpenAI, Anthropic, Gemini or DeepSeek. Those keys are used only by [AI Summaries](https://hostmy.blog/docs/rankready/generate-ai-summaries-wordpress/) and the FAQ Generator.

![The OKF settings screen in the RankReady AI Visibility tab](https://hostmy.blog/wp-content/uploads/2026/08/rr-okf-v2-scaled.png)The OKF subtab under AI Visibility.

## Verify it worked

Note the trailing slash. The address is `/okf/`, not `/okf`.

`curl -sI https://your-site.com/okf/`
A correct response includes:

- `HTTP/2 200`
- An `ETag` header

Then look at the body to confirm you are getting the bundle rather than a themed page:

`curl -s https://your-site.com/okf/ | head -40`
If you see a doctype and theme markup, the route is not being handled by RankReady. Go to the troubleshooting section below.

## Test the 304, because it is the interesting part

`/okf/` supports conditional requests. A client that already holds a copy can ask whether anything has changed instead of downloading the bundle again. That saves bandwidth on your side and time on theirs, and it is worth confirming that it works.

Take the ETag value from the first response, then send it back:

`curl -sI -H 'If-None-Match: "PASTE_THE_ETAG_HERE"' https://your-site.com/okf/`
If nothing has changed, you get `HTTP/2 304` and no body. That is the correct answer. Getting a full `200` with the whole bundle again would mean conditional requests are not reaching RankReady, usually because something in front of the site is stripping or rewriting the header.

Copy the ETag exactly, including the quotation marks, or the comparison will simply fail and you will get a 200 for the wrong reason.

`/llms.txt` behaves the same way, so the same test works there if you want a second data point.

## If /okf/ returns a 404

- Confirm the feature is switched on and the settings were saved.
- Go to **Settings, Permalinks** and click Save Changes. Nothing needs to be altered. Saving rebuilds the rewrite rules, which resolves most cases.
- Clear any page cache or CDN in front of the site, then retry. A cached 404 outlives the fix.
- Check the trailing slash. `/okf` without it is a different request.

Rewrite rules can also be intercepted on some stacks before RankReady sees them, LiteSpeed with [Rank Math](https://hostmy.blog/docs/rankready/rankready-with-yoast-rankmath-aioseo/) being the reported combination. RankReady 1.3.0 added a raw request path fallback for that, so check your version first.

If you turn the feature off later, 1.3.0 clears the stale rewrite rules so the route stops answering cleanly instead of leaving a raw 404 behind.

## What to expect from it

Serving an OKF bundle makes your content available in a structured form at a stable address. It does not oblige anything to fetch it, and a hit in your logs proves the bundle was fetched, not that its content was used anywhere. Enable it because it is cheap and correct. Judge it on whether the endpoint responds properly, which you can measure, rather than on outcomes nobody can show you.