---
title: "AR-READ-05: Fenced, language-tagged code | Agent Ready Checklist"
description: "AR-READ-05 (SHOULD, Read layer): Fenced, language-tagged code. What it asks, the evidence, the command that verifies it and the fix on 19 platforms."
canonical: https://agentreadychecklist.com/checklist/ar-read-05
site: "Agent Ready Checklist"
last_updated: 2026-11-05
section: "Checklist"
---

# AR-READ-05: Fenced, language-tagged code | Agent Ready Checklist

> AR-READ-05 (SHOULD, Read layer): Fenced, language-tagged code. What it asks, the evidence, the command that verifies it and the fix on 19 platforms.

Source: https://agentreadychecklist.com/checklist/ar-read-05
Site: Agent Ready Checklist
Last reviewed: 2026-11-05
Agent endpoints: https://agentreadychecklist.com/llms.txt (index), https://agentreadychecklist.com/openapi.json (API), https://agentreadychecklist.com/mcp (MCP server), https://agentreadychecklist.com/ask (search)
Access: https://agentreadychecklist.com/auth.md (no key). Pricing: https://agentreadychecklist.com/pricing.md (free).

# AR-READ-05: Fenced, language-tagged code

AR-READ-05 is a SHOULD on the read layer: Fence code snippets and tag them with a language. It applies to sites with code in docs. 19 of 19 platforms have a recipe below, 8 of them workarounds. The kit check code-fences tests it with one command. Ora reads it with the check code-fence-validity.

## The requirement

Identifier

AR-READ-05

Level

SHOULD

Layer

Read

Applies to

sites with code in docs

Checked by

Ora, matched on this site, Mintlify score, Verify Kit code-fences

Ora check

[code-fence-validity](#ora)

The statement

Fence code snippets and tag them with a language.

## Why

-   Ora's lab found (published 2026-10-21): when an agent answer included code, 61% of the time it contained lines taken verbatim from a page it fetched on the site.vendor claim, 2026-10-21: [github.com/agentready-org/standard/blob/main/spec/spec.md](https://github.com/agentready-org/standard/blob/main/spec/spec.md), read 2026-11-04
-   73 of 119 runs whose answer contained code included a line lifted verbatim from a fetched page.primary source, 2026-08-28: [vercel.com/kb/guide/make-your-site-readable-by-ai-agents](https://vercel.com/kb/guide/make-your-site-readable-by-ai-agents), read 2026-11-04

## How to verify

### [Fenced, language-tagged code](https://agentreadychecklist.com/kit/code-fences/)

```bash
curl -fsSL https://agentreadychecklist.com/kit/verify.sh | bash -s -- https://example.com --only=code-fences
```

Counts <pre><code> blocks and how many carry a language-\* class or data-language attribute; FAIL if any block has none.

**It cannot prove:** Does not run the code or check that the tag is the right language.

### The one-line version

Count <pre><code> blocks without a language-\* class: curl -s <url> | grep -o "<code\[^>\]\*>" | grep -vc "language-".

## Verify with Ora

One check in Ora's catalogue (contract 1.38.0, read 2026-11-05) read this row. Each entry says what the check looks at and why this page lists it.

-   `code-fence-validity` Code fence validity Tests that fenced code blocks in served markdown are balanced, so an unclosed fence does not swallow the rest of the document. It does not test language tags, and the check is marked emerging. **Partial.** Tests that fences in served markdown are balanced. It does not test the language tag the row asks for. Access, 1 point, emerging; catalogue applicability domain-only. Listed because: same name, `fence`.

### Run just these checks

```bash
curl -s -X POST https://ora.ai/api/scan/checks -H 'content-type: application/json' -d '{"url":"https://example.com","checkIds":["code-fence-validity"]}'
```

This calls the endpoint Ora documents for re-verifying a fix. It sends no cache, returns a result for each id and no total score, and spends one scan from the daily budget. Replace the URL with yours. [How to re-verify one fix](https://agentreadychecklist.com/guides/re-verify-one-fix-with-ora/).

### Or audit the whole site

```bash
npx ax@0.10 audit https://example.com --min-score 70
```

Exit code 1 means the score is below the number you passed, so the same line gates a deploy: [the CI recipe](https://agentreadychecklist.com/guides/gate-deploys-on-agent-readiness-in-ci/). [Why this site recommends Ora, and where it falls short](https://agentreadychecklist.com/verify-with-ora/).

## Fix it on your platform

### Next.js (App Router)recipe

In MDX pages write fenced blocks with a language (\`\`\`ts). With @next/mdx add a rehype highlighter; the language tag stays in the class name of the code element.

Next.js 16.x (npm latest 16.4.5, read 2026-11-04); docs at nextjs.org/docs/app. Read 2026-11-04. [nextjs.org/docs/app/guides/mdx](https://nextjs.org/docs/app/guides/mdx). [All Next.js (App Router) recipes](https://agentreadychecklist.com/platforms/nextjs-app-router/#ar-read-05)

### Astrorecipe

Write fenced code with a language in Markdown and MDX (\`\`\`bash). Astro highlights it with Shiki at build time and keeps the language on the pre element.

Astro 7.x (npm latest astro 7.4.5, @astrojs/sitemap 3.7.4, read 2026-11-04). Read 2026-11-04. [docs.astro.build/en/guides/syntax-highlighting/](https://docs.astro.build/en/guides/syntax-highlighting/). [All Astro recipes](https://agentreadychecklist.com/platforms/astro/#ar-read-05)

### Nuxtworkaround

Nuxt core has no Markdown pipeline. With Nuxt Content write fenced blocks with a language tag; otherwise render <pre><code class="language-bash"> yourself.

Nuxt 4.x (npm latest nuxt 4.6.4, @nuxtjs/robots 7.0.2, @nuxtjs/sitemap 9.1.0, read 2026-11-04). Read 2026-11-04. [nuxt.com/docs/guide/concepts/rendering](https://nuxt.com/docs/guide/concepts/rendering). [All Nuxt recipes](https://agentreadychecklist.com/platforms/nuxt/#ar-read-05)

### SvelteKitworkaround

SvelteKit has no Markdown pipeline. Use mdsvex or render <pre><code class="language-ts"> with the language class.

SvelteKit (npm latest @sveltejs/kit 3.1.1, read 2026-11-04); docs at svelte.dev/docs/kit. Read 2026-11-04. [svelte.dev/docs/kit/project-structure](https://svelte.dev/docs/kit/project-structure). [All SvelteKit recipes](https://agentreadychecklist.com/platforms/sveltekit/#ar-read-05)

### Remix and React Router (framework mode)workaround

No Markdown pipeline in the framework. Use an MDX plugin for Vite and write fenced blocks with a language, or render <pre><code class="language-ts">.

React Router framework mode (npm latest react-router 8.5.1; Remix v2 @remix-run/node 2.17.5, read 2026-11-04); docs at reactrouter.com. Read 2026-11-04. [reactrouter.com/start/framework/route-module](https://reactrouter.com/start/framework/route-module). [All Remix and React Router (framework mode) recipes](https://agentreadychecklist.com/platforms/remix-react-router/#ar-read-05)

### Plain static hosting (Netlify, Vercel static, Cloudflare Pages, GitHub Pages, S3 and CloudFront)recipe

Generate pre and code elements with a language class (class="language-bash") from your Markdown tool; the host serves them unchanged.

Host documentation as published on 2026-11-04 (no version numbers; config files \_headers, \_redirects, vercel.json, 404.html). Read 2026-11-04. [docs.github.com/en/pages/getting-started-with-github-pages/about-github-pages](https://docs.github.com/en/pages/getting-started-with-github-pages/about-github-pages). [All Plain static hosting (Netlify, Vercel static, Cloudflare Pages, GitHub Pages, S3 and CloudFront) recipes](https://agentreadychecklist.com/platforms/static-hosting/#ar-read-05)

### WordPress and Elementorrecipe

Use the core Code block; it outputs `<pre class="wp-block-code"><code>`. Add the language as an extra class in Block > Advanced > Additional CSS class(es), for example `language-bash`.

WordPress 7.1.4 (core release from the version-check API), Elementor 4.3.6 (plugin directory, updated 2026-11-02), Yoast SEO 28.8 noted for llms.txt; docs read 2026-11-04. Read 2026-11-04. [wordpress.org/documentation/article/code-block/](https://wordpress.org/documentation/article/code-block/). [All WordPress and Elementor recipes](https://agentreadychecklist.com/platforms/wordpress-elementor/#ar-read-05)

### Shopify (Online Store 2.0 themes)workaround

The rich text editor has no code block. In a page or blog post switch the editor to HTML (Show HTML) and wrap snippets as `<pre><code class="language-liquid">…</code></pre>`.

Hosted SaaS, Online Store 2.0 Liquid themes, docs read 2026-11-04; storefront behaviour probed live on one Shopify store the same day. Read 2026-11-04. [help.shopify.com/en/manual/online-store/themes/customizing-themes/edit-code/edit-theme-code](https://help.shopify.com/en/manual/online-store/themes/customizing-themes/edit-code/edit-theme-code). [All Shopify (Online Store 2.0 themes) recipes](https://agentreadychecklist.com/platforms/shopify/#ar-read-05)

### Webflowrecipe

Use the Code block element (Add panel > Other > Code block) and pick the language in Settings panel > Code block settings > Language. C++ and GraphQL are not in the list; use a close language or plain text.

Hosted SaaS, help center articles read 2026-11-04 (updated dates 2024-10-14 to 2026-10-29). Read 2026-11-04. [help.webflow.com/hc/en-us/articles/33961238560403-Code-block](https://help.webflow.com/hc/en-us/articles/33961238560403-Code-block). [All Webflow recipes](https://agentreadychecklist.com/platforms/webflow/#ar-read-05)

### Framerworkaround

Import snippets through CMS markdown and confirm the published page shows `<pre><code class="language-…">` with curl; if the class is missing, render the snippet with an Embed holding your own pre and code markup.

Hosted SaaS, help articles read 2026-11-04 (marked updated 2026-09-15). Read 2026-11-04. [framer.com/help/articles/using-markdown-in-the-cms/](https://www.framer.com/help/articles/using-markdown-in-the-cms/). [All Framer recipes](https://agentreadychecklist.com/platforms/framer/#ar-read-05)

### Wix (Wix Editor and Wix Studio)workaround

The platform data read for this checklist lists no code-block control with a language setting on Wix. Not possible on this platform without outside help. Workaround: publish code-heavy docs on a docs platform or a subdirectory you control, where fenced blocks render as <pre><code class="language-bash">, and link to them from the site.

Hosted SaaS, help center read 2026-11-04. Generic step from the AgentReady specification; not platform-specific. [github.com/agentready-org/standard/blob/main/spec/spec.md](https://github.com/agentready-org/standard/blob/main/spec/spec.md). [All Wix (Wix Editor and Wix Studio) recipes](https://agentreadychecklist.com/platforms/wix/#ar-read-05)

### Squarespace (version 7.1)workaround

Add a Code block and switch Display Source on to show code as text. It sets no language class; for a tag, write `<pre><code class="language-bash">…</code></pre>` in the block with Display Source off.

Hosted SaaS, version 7.1 sites, help center read 2026-11-04 (articles updated 2026-07-17 to 2026-11-03). Read 2026-11-04. [support.squarespace.com/hc/en-us/articles/206543167-Add-custom-code-to-a-page-with-code-blocks](https://support.squarespace.com/hc/en-us/articles/206543167-Add-custom-code-to-a-page-with-code-blocks). [All Squarespace (version 7.1) recipes](https://agentreadychecklist.com/platforms/squarespace/#ar-read-05)

### HubSpot CMS (Content Hub)workaround

The platform data read for this checklist lists no code-block control with a language setting on HubSpot CMS. Not possible on this platform without outside help. Workaround: publish code-heavy docs on a docs platform or a subdirectory you control, where fenced blocks render as <pre><code class="language-bash">, and link to them from the site.

Hosted SaaS, Content Hub, knowledge base and developer docs read 2026-11-04. Generic step from the AgentReady specification; not platform-specific. [github.com/agentready-org/standard/blob/main/spec/spec.md](https://github.com/agentready-org/standard/blob/main/spec/spec.md). [All HubSpot CMS (Content Hub) recipes](https://agentreadychecklist.com/platforms/hubspot-cms/#ar-read-05)

### Docusaurusrecipe

Fence code with a language: \`\`\`js title="example.js". Add languages Prism lacks with themeConfig.prism.additionalLanguages: \['bash', 'json'\].

3.10.2 (npm @docusaurus/core latest, read 2026-11-04). Read 2026-11-04. [docusaurus.io/docs/markdown-features/code-blocks](https://docusaurus.io/docs/markdown-features/code-blocks). [All Docusaurus recipes](https://agentreadychecklist.com/platforms/docusaurus/#ar-read-05)

### Mintlifyrecipe

Fence code with a language and optional title: \`\`\`java HelloWorld.java. The language enables highlighting and meta options.

Hosted SaaS, docs read 2026-11-04. Read 2026-11-04. [mintlify.com/docs/create/code](https://mintlify.com/docs/create/code). [All Mintlify recipes](https://agentreadychecklist.com/platforms/mintlify/#ar-read-05)

### GitBookrecipe

Add a code block and set its syntax to the language (Prism languages); add a caption for the file name.

Hosted SaaS, docs read 2026-11-04. Read 2026-11-04. [gitbook.com/docs/create-content/blocks/code-block](https://gitbook.com/docs/create-content/blocks/code-block). [All GitBook recipes](https://agentreadychecklist.com/platforms/gitbook/#ar-read-05)

### ReadMerecipe

Use the code block in the editor (or fenced Markdown in Raw Mode) and set the language for each tab.

Hosted SaaS, docs read 2026-11-04. Read 2026-11-04. [docs.readme.com/main/docs/editor-blocks](https://docs.readme.com/main/docs/editor-blocks). [All ReadMe recipes](https://agentreadychecklist.com/platforms/readme/#ar-read-05)

### Salesforce B2C Commerce (SFRA and PWA Kit / Composable Storefront)not possible

Not applicable to a storefront with no code samples; use a docs platform for developer docs.

Hosted SaaS (B2C Commerce help release 264.0.0); PWA Kit retail-react-app 10.3.0 and pwa-kit-runtime 3.21.0 on npm, read 2026-11-04. Read 2026-11-04. [help.salesforce.com/s/articleView](https://help.salesforce.com/s/articleView?language=en_US&id=cc.b2c_seo_overview.htm&type=5). [All Salesforce B2C Commerce (SFRA and PWA Kit / Composable Storefront) recipes](https://agentreadychecklist.com/platforms/salesforce-commerce-cloud/#ar-read-05)

### Adobe Commerce and Magento Open Sourcenot possible

Not applicable to a storefront with no code samples; keep developer docs on a docs platform.

2.4.9 (GitHub tag published 2026-05-12; 2.4.10-alpha1 tagged 2026-10-13); release notes read 2026-11-04. Read 2026-11-04. [experienceleague.adobe.com/en/docs/commerce-admin/marketing/seo/seo-overview](https://experienceleague.adobe.com/en/docs/commerce-admin/marketing/seo/seo-overview). [All Adobe Commerce and Magento Open Source recipes](https://agentreadychecklist.com/platforms/adobe-commerce/#ar-read-05)

## What it does not do

-   Does not check that the code runs.
-   A language tag on a broken example only spreads the error faster.

## Common mistakes

-   <pre> blocks with no class or data-language attribute.
-   Shell prompts ($) inside copyable blocks.
-   Code shown as an image.

## Sources

-   [github.com/agentready-org/standard/blob/main/spec/spec.md](https://github.com/agentready-org/standard/blob/main/spec/spec.md)read 2026-11-04
-   [vercel.com/kb/guide/make-your-site-readable-by-ai-agents](https://vercel.com/kb/guide/make-your-site-readable-by-ai-agents)read 2026-11-04
-   [nextjs.org/docs/app/guides/mdx](https://nextjs.org/docs/app/guides/mdx)read 2026-11-04
-   [docs.astro.build/en/guides/syntax-highlighting/](https://docs.astro.build/en/guides/syntax-highlighting/)read 2026-11-04
-   [nuxt.com/docs/guide/concepts/rendering](https://nuxt.com/docs/guide/concepts/rendering)read 2026-11-04
-   [svelte.dev/docs/kit/project-structure](https://svelte.dev/docs/kit/project-structure)read 2026-11-04
-   [reactrouter.com/start/framework/route-module](https://reactrouter.com/start/framework/route-module)read 2026-11-04
-   [docs.github.com/en/pages/getting-started-with-github-pages/about-github-pages](https://docs.github.com/en/pages/getting-started-with-github-pages/about-github-pages)read 2026-11-04
-   [wordpress.org/documentation/article/code-block/](https://wordpress.org/documentation/article/code-block/)read 2026-11-04
-   [help.shopify.com/en/manual/online-store/themes/customizing-themes/edit-code/edit-theme-code](https://help.shopify.com/en/manual/online-store/themes/customizing-themes/edit-code/edit-theme-code)read 2026-11-04
-   [help.webflow.com/hc/en-us/articles/33961238560403-Code-block](https://help.webflow.com/hc/en-us/articles/33961238560403-Code-block)read 2026-11-04
-   [framer.com/help/articles/using-markdown-in-the-cms/](https://www.framer.com/help/articles/using-markdown-in-the-cms/)read 2026-11-04
-   [support.squarespace.com/hc/en-us/articles/206543167-Add-custom-code-to-a-page-with-code-blocks](https://support.squarespace.com/hc/en-us/articles/206543167-Add-custom-code-to-a-page-with-code-blocks)read 2026-11-04
-   [docusaurus.io/docs/markdown-features/code-blocks](https://docusaurus.io/docs/markdown-features/code-blocks)read 2026-11-04
-   [mintlify.com/docs/create/code](https://mintlify.com/docs/create/code)read 2026-11-04
-   [gitbook.com/docs/create-content/blocks/code-block](https://gitbook.com/docs/create-content/blocks/code-block)read 2026-11-04
-   [docs.readme.com/main/docs/editor-blocks](https://docs.readme.com/main/docs/editor-blocks)read 2026-11-04
-   [help.salesforce.com/s/articleView](https://help.salesforce.com/s/articleView?language=en_US&id=cc.b2c_seo_overview.htm&type=5)read 2026-11-04
-   [experienceleague.adobe.com/en/docs/commerce-admin/marketing/seo/seo-overview](https://experienceleague.adobe.com/en/docs/commerce-admin/marketing/seo/seo-overview)read 2026-11-04
-   [ora.ai/api/checks, contract 1.38.0](https://ora.ai/api/checks?utm_source=agentreadychecklist.com&utm_medium=referral&utm_campaign=requirement)read 2026-11-05
-   [ora.ai/llms-full.txt](https://ora.ai/llms-full.txt?utm_source=agentreadychecklist.com&utm_medium=referral&utm_campaign=requirement)read 2026-11-05
-   [registry.npmjs.org/ax, the ax README](https://registry.npmjs.org/ax)read 2026-11-05

Verify with Ora

The scanner this site recommends for the whole checklist. 132 checks, a score out of 100, no account.

`npx ax@0.10 audit <url> --min-score <n>`

[Why Ora, and its limits](https://agentreadychecklist.com/verify-with-ora/)

Fix it on

-   [Next.js (App Router)recipe](#p-nextjs-app-router)
-   [Astrorecipe](#p-astro)
-   [Nuxtworkaround](#p-nuxt)
-   [SvelteKitworkaround](#p-sveltekit)
-   [Remix and React Router (framework mode)workaround](#p-remix-react-router)
-   [Plain static hosting (Netlify, Vercel static, Cloudflare Pages, GitHub Pages, S3 and CloudFront)recipe](#p-static-hosting)
-   [WordPress and Elementorrecipe](#p-wordpress-elementor)
-   [Shopify (Online Store 2.0 themes)workaround](#p-shopify)
-   [Webflowrecipe](#p-webflow)
-   [Framerworkaround](#p-framer)
-   [Wix (Wix Editor and Wix Studio)workaround](#p-wix)
-   [Squarespace (version 7.1)workaround](#p-squarespace)
-   [HubSpot CMS (Content Hub)workaround](#p-hubspot-cms)
-   [Docusaurusrecipe](#p-docusaurus)
-   [Mintlifyrecipe](#p-mintlify)
-   [GitBookrecipe](#p-gitbook)
-   [ReadMerecipe](#p-readme)
-   [Salesforce B2C Commerce (SFRA and PWA Kit / Composable Storefront)not possible](#p-salesforce-commerce-cloud)
-   [Adobe Commerce and Magento Open Sourcenot possible](#p-adobe-commerce)

Last reviewed 2026-11-05. AgentReady v2.0, read 2026-11-04.
