---
title: "Agent readiness report — www.wte.net"
description: "www.wte.net scored 21/100 (Needs Improvement) for agent readiness — Level 1 (Basic Crawlability), llms.txt 94/100, markdown 0/100. 185 failed checks with fixes."
canonical_url: "http://www.whosbest.org/check/fmwtmysbwz26"
last_updated: "2026-08-23T20:54:43Z"
doc_version: "1.0"
---

# Agent readiness report — www.wte.net

Scanned https://www.wte.net/ on 2026-08-23 20:54 UTC with WhosBest Validator 2.0. Permalink: http://www.whosbest.org/check/fmwtmysbwz26

## Scores

| Metric | Score |
|---|---|
| Agent readiness (Vercel) | 21/100 — Needs Improvement |
| Level | 1 — Basic Crawlability |
| llms.txt | 94/100 |
| Markdown negotiation | 0/100 — No Markdown |
| Accessibility | 25/100 |
| Pages scanned | 10 of 267 discovered |
| Checks | 65 passed · 11 warned · 185 failed · 0 errors |

## Level

Current level: **1 — Basic Crawlability**.

To reach Level 2 (AI Bot Policy):

- `B2` **Add a Content-Signal line** — Add 'Content-Signal: search=yes, ai-input=yes, ai-train=no' \(your choice of values\) to robots.txt

## What to fix first

1. **Canonical link** (`P5`, required, fail) — No \<link rel="canonical"\>
   - How to fix:

     ```
     <link rel="canonical" href="https://www.wte.net/">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
2. **Meta description \(≥ 50 chars\)** (`P6`, required, fail) — No \<meta name="description"\>
   - How to fix:

     ```
     <meta name="description" content="A specific 50–160 character summary of this page.">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
3. **html lang attribute** (`P9`, required, fail) — \<html\> has no lang attribute
   - How to fix:

     ```
     <html lang="en">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
4. **JSON-LD structured data present** (`P10`, required, fail) — No \<script type="application/ld+json"\> blocks
   - How to fix:

     ```
     <script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebPage","@id":"https://www.wte.net/","url":"https://www.wte.net/","name":"…","description":"…","dateModified":"2026-01-01"},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://www.wte.net/"}]}]}</script>
     ```

   - Spec: https://json-ld.org/
5. **JSON-LD has required fields** (`P11`, required, fail) — No JSON-LD to validate
   - How to fix:

     ```
     {"@type":"WebPage","name":"…","description":"…","url":"https://www.wte.net/","dateModified":"2026-01-01"}, {"@type":"BreadcrumbList","itemListElement":[…]}
     ```

   - Spec: https://schema.org/
6. **Markdown mirror \({path}.md\)** (`P15`, required, fail) — https://www.wte.net/index.md → HTTP 200 text/html
   - How to fix:

     ```
     https://www.wte.net/index.md → 200 text/markdown
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
7. **link rel=alternate type=text/markdown** (`P17`, required, fail) — No alternate markdown link in \<head\> or Link header
   - How to fix:

     ```
     <link rel="alternate" type="text/markdown" href="https://www.wte.net/index.md">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
8. **Accept: text/markdown negotiation** (`P19`, required, fail) — Accept: text/markdown → HTTP 200 text/html
   - How to fix:

     ```
     Accept: text/markdown → 200 Content-Type: text/markdown; Vary: Accept
     ```

   - Spec: https://acceptmarkdown.com/
9. **Canonical link** (`P5`, required, fail) — No \<link rel="canonical"\>
   - How to fix:

     ```
     <link rel="canonical" href="https://www.wte.net/Blog">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
10. **Meta description \(≥ 50 chars\)** (`P6`, required, fail) — No \<meta name="description"\>
   - How to fix:

     ```
     <meta name="description" content="A specific 50–160 character summary of this page.">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
11. **html lang attribute** (`P9`, required, fail) — \<html\> has no lang attribute
   - How to fix:

     ```
     <html lang="en">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
12. **JSON-LD structured data present** (`P10`, required, fail) — No \<script type="application/ld+json"\> blocks
   - How to fix:

     ```
     <script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebPage","@id":"https://www.wte.net/Blog","url":"https://www.wte.net/Blog","name":"…","description":"…","dateModified":"2026-01-01"},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://www.wte.net/"}]}]}</script>
     ```

   - Spec: https://json-ld.org/
13. **JSON-LD has required fields** (`P11`, required, fail) — No JSON-LD to validate
   - How to fix:

     ```
     {"@type":"WebPage","name":"…","description":"…","url":"https://www.wte.net/Blog","dateModified":"2026-01-01"}, {"@type":"BreadcrumbList","itemListElement":[…]}
     ```

   - Spec: https://schema.org/
14. **Markdown mirror \({path}.md\)** (`P15`, required, fail) — https://www.wte.net/Blog.md → HTTP 200 text/html
   - How to fix:

     ```
     https://www.wte.net/Blog.md → 200 text/markdown
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
15. **link rel=alternate type=text/markdown** (`P17`, required, fail) — No alternate markdown link in \<head\> or Link header
   - How to fix:

     ```
     <link rel="alternate" type="text/markdown" href="https://www.wte.net/Blog.md">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
16. **Accept: text/markdown negotiation** (`P19`, required, fail) — Accept: text/markdown → HTTP 200 text/html
   - How to fix:

     ```
     Accept: text/markdown → 200 Content-Type: text/markdown; Vary: Accept
     ```

   - Spec: https://acceptmarkdown.com/
17. **Canonical link** (`P5`, required, fail) — No \<link rel="canonical"\>
   - How to fix:

     ```
     <link rel="canonical" href="https://www.wte.net/About">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
18. **Meta description \(≥ 50 chars\)** (`P6`, required, fail) — No \<meta name="description"\>
   - How to fix:

     ```
     <meta name="description" content="A specific 50–160 character summary of this page.">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
19. **html lang attribute** (`P9`, required, fail) — \<html\> has no lang attribute
   - How to fix:

     ```
     <html lang="en">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
20. **JSON-LD structured data present** (`P10`, required, fail) — No \<script type="application/ld+json"\> blocks
   - How to fix:

     ```
     <script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebPage","@id":"https://www.wte.net/About","url":"https://www.wte.net/About","name":"…","description":"…","dateModified":"2026-01-01"},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://www.wte.net/"}]}]}</script>
     ```

   - Spec: https://json-ld.org/
21. **JSON-LD has required fields** (`P11`, required, fail) — No JSON-LD to validate
   - How to fix:

     ```
     {"@type":"WebPage","name":"…","description":"…","url":"https://www.wte.net/About","dateModified":"2026-01-01"}, {"@type":"BreadcrumbList","itemListElement":[…]}
     ```

   - Spec: https://schema.org/
22. **Markdown mirror \({path}.md\)** (`P15`, required, fail) — https://www.wte.net/About.md → HTTP 200 text/html
   - How to fix:

     ```
     https://www.wte.net/About.md → 200 text/markdown
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
23. **link rel=alternate type=text/markdown** (`P17`, required, fail) — No alternate markdown link in \<head\> or Link header
   - How to fix:

     ```
     <link rel="alternate" type="text/markdown" href="https://www.wte.net/About.md">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
24. **Accept: text/markdown negotiation** (`P19`, required, fail) — Accept: text/markdown → HTTP 200 text/html
   - How to fix:

     ```
     Accept: text/markdown → 200 Content-Type: text/markdown; Vary: Accept
     ```

   - Spec: https://acceptmarkdown.com/
25. **Canonical link** (`P5`, required, fail) — No \<link rel="canonical"\>
   - How to fix:

     ```
     <link rel="canonical" href="https://www.wte.net/NoTrack">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
26. **Meta description \(≥ 50 chars\)** (`P6`, required, fail) — No \<meta name="description"\>
   - How to fix:

     ```
     <meta name="description" content="A specific 50–160 character summary of this page.">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
27. **html lang attribute** (`P9`, required, fail) — \<html\> has no lang attribute
   - How to fix:

     ```
     <html lang="en">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
28. **JSON-LD structured data present** (`P10`, required, fail) — No \<script type="application/ld+json"\> blocks
   - How to fix:

     ```
     <script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebPage","@id":"https://www.wte.net/NoTrack","url":"https://www.wte.net/NoTrack","name":"…","description":"…","dateModified":"2026-01-01"},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://www.wte.net/"}]}]}</script>
     ```

   - Spec: https://json-ld.org/
29. **JSON-LD has required fields** (`P11`, required, fail) — No JSON-LD to validate
   - How to fix:

     ```
     {"@type":"WebPage","name":"…","description":"…","url":"https://www.wte.net/NoTrack","dateModified":"2026-01-01"}, {"@type":"BreadcrumbList","itemListElement":[…]}
     ```

   - Spec: https://schema.org/
30. **Markdown mirror \({path}.md\)** (`P15`, required, fail) — https://www.wte.net/NoTrack.md → HTTP 200 text/html
   - How to fix:

     ```
     https://www.wte.net/NoTrack.md → 200 text/markdown
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
31. **link rel=alternate type=text/markdown** (`P17`, required, fail) — No alternate markdown link in \<head\> or Link header
   - How to fix:

     ```
     <link rel="alternate" type="text/markdown" href="https://www.wte.net/NoTrack.md">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
32. **Accept: text/markdown negotiation** (`P19`, required, fail) — Accept: text/markdown → HTTP 200 text/html
   - How to fix:

     ```
     Accept: text/markdown → 200 Content-Type: text/markdown; Vary: Accept
     ```

   - Spec: https://acceptmarkdown.com/
33. **Canonical link** (`P5`, required, fail) — No \<link rel="canonical"\>
   - How to fix:

     ```
     <link rel="canonical" href="https://www.wte.net/Our-Work">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
34. **Meta description \(≥ 50 chars\)** (`P6`, required, fail) — No \<meta name="description"\>
   - How to fix:

     ```
     <meta name="description" content="A specific 50–160 character summary of this page.">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
35. **html lang attribute** (`P9`, required, fail) — \<html\> has no lang attribute
   - How to fix:

     ```
     <html lang="en">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
36. **JSON-LD structured data present** (`P10`, required, fail) — No \<script type="application/ld+json"\> blocks
   - How to fix:

     ```
     <script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebPage","@id":"https://www.wte.net/Our-Work","url":"https://www.wte.net/Our-Work","name":"…","description":"…","dateModified":"2026-01-01"},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://www.wte.net/"}]}]}</script>
     ```

   - Spec: https://json-ld.org/
37. **JSON-LD has required fields** (`P11`, required, fail) — No JSON-LD to validate
   - How to fix:

     ```
     {"@type":"WebPage","name":"…","description":"…","url":"https://www.wte.net/Our-Work","dateModified":"2026-01-01"}, {"@type":"BreadcrumbList","itemListElement":[…]}
     ```

   - Spec: https://schema.org/
38. **Markdown mirror \({path}.md\)** (`P15`, required, fail) — https://www.wte.net/Our-Work.md → HTTP 200 text/html
   - How to fix:

     ```
     https://www.wte.net/Our-Work.md → 200 text/markdown
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
39. **link rel=alternate type=text/markdown** (`P17`, required, fail) — No alternate markdown link in \<head\> or Link header
   - How to fix:

     ```
     <link rel="alternate" type="text/markdown" href="https://www.wte.net/Our-Work.md">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
40. **Accept: text/markdown negotiation** (`P19`, required, fail) — Accept: text/markdown → HTTP 200 text/html
   - How to fix:

     ```
     Accept: text/markdown → 200 Content-Type: text/markdown; Vary: Accept
     ```

   - Spec: https://acceptmarkdown.com/
41. **Canonical link** (`P5`, required, fail) — No \<link rel="canonical"\>
   - How to fix:

     ```
     <link rel="canonical" href="https://www.wte.net/WTE-Cares">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
42. **Meta description \(≥ 50 chars\)** (`P6`, required, fail) — No \<meta name="description"\>
   - How to fix:

     ```
     <meta name="description" content="A specific 50–160 character summary of this page.">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
43. **html lang attribute** (`P9`, required, fail) — \<html\> has no lang attribute
   - How to fix:

     ```
     <html lang="en">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
44. **JSON-LD structured data present** (`P10`, required, fail) — No \<script type="application/ld+json"\> blocks
   - How to fix:

     ```
     <script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebPage","@id":"https://www.wte.net/WTE-Cares","url":"https://www.wte.net/WTE-Cares","name":"…","description":"…","dateModified":"2026-01-01"},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://www.wte.net/"}]}]}</script>
     ```

   - Spec: https://json-ld.org/
45. **JSON-LD has required fields** (`P11`, required, fail) — No JSON-LD to validate
   - How to fix:

     ```
     {"@type":"WebPage","name":"…","description":"…","url":"https://www.wte.net/WTE-Cares","dateModified":"2026-01-01"}, {"@type":"BreadcrumbList","itemListElement":[…]}
     ```

   - Spec: https://schema.org/
46. **Markdown mirror \({path}.md\)** (`P15`, required, fail) — https://www.wte.net/WTE-Cares.md → HTTP 200 text/html
   - How to fix:

     ```
     https://www.wte.net/WTE-Cares.md → 200 text/markdown
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
47. **link rel=alternate type=text/markdown** (`P17`, required, fail) — No alternate markdown link in \<head\> or Link header
   - How to fix:

     ```
     <link rel="alternate" type="text/markdown" href="https://www.wte.net/WTE-Cares.md">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
48. **Accept: text/markdown negotiation** (`P19`, required, fail) — Accept: text/markdown → HTTP 200 text/html
   - How to fix:

     ```
     Accept: text/markdown → 200 Content-Type: text/markdown; Vary: Accept
     ```

   - Spec: https://acceptmarkdown.com/
49. **Canonical link** (`P5`, required, fail) — No \<link rel="canonical"\>
   - How to fix:

     ```
     <link rel="canonical" href="https://www.wte.net/Web-Design">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
50. **Meta description \(≥ 50 chars\)** (`P6`, required, fail) — No \<meta name="description"\>
   - How to fix:

     ```
     <meta name="description" content="A specific 50–160 character summary of this page.">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
51. **html lang attribute** (`P9`, required, fail) — \<html\> has no lang attribute
   - How to fix:

     ```
     <html lang="en">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
52. **JSON-LD structured data present** (`P10`, required, fail) — No \<script type="application/ld+json"\> blocks
   - How to fix:

     ```
     <script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebPage","@id":"https://www.wte.net/Web-Design","url":"https://www.wte.net/Web-Design","name":"…","description":"…","dateModified":"2026-01-01"},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://www.wte.net/"}]}]}</script>
     ```

   - Spec: https://json-ld.org/
53. **JSON-LD has required fields** (`P11`, required, fail) — No JSON-LD to validate
   - How to fix:

     ```
     {"@type":"WebPage","name":"…","description":"…","url":"https://www.wte.net/Web-Design","dateModified":"2026-01-01"}, {"@type":"BreadcrumbList","itemListElement":[…]}
     ```

   - Spec: https://schema.org/
54. **Markdown mirror \({path}.md\)** (`P15`, required, fail) — https://www.wte.net/Web-Design.md → HTTP 200 text/html
   - How to fix:

     ```
     https://www.wte.net/Web-Design.md → 200 text/markdown
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
55. **link rel=alternate type=text/markdown** (`P17`, required, fail) — No alternate markdown link in \<head\> or Link header
   - How to fix:

     ```
     <link rel="alternate" type="text/markdown" href="https://www.wte.net/Web-Design.md">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
56. **Accept: text/markdown negotiation** (`P19`, required, fail) — Accept: text/markdown → HTTP 200 text/html
   - How to fix:

     ```
     Accept: text/markdown → 200 Content-Type: text/markdown; Vary: Accept
     ```

   - Spec: https://acceptmarkdown.com/
57. **Canonical link** (`P5`, required, fail) — No \<link rel="canonical"\>
   - How to fix:

     ```
     <link rel="canonical" href="https://www.wte.net/Our-Services">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
58. **Meta description \(≥ 50 chars\)** (`P6`, required, fail) — No \<meta name="description"\>
   - How to fix:

     ```
     <meta name="description" content="A specific 50–160 character summary of this page.">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
59. **html lang attribute** (`P9`, required, fail) — \<html\> has no lang attribute
   - How to fix:

     ```
     <html lang="en">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
60. **JSON-LD structured data present** (`P10`, required, fail) — No \<script type="application/ld+json"\> blocks
   - How to fix:

     ```
     <script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebPage","@id":"https://www.wte.net/Our-Services","url":"https://www.wte.net/Our-Services","name":"…","description":"…","dateModified":"2026-01-01"},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://www.wte.net/"}]}]}</script>
     ```

   - Spec: https://json-ld.org/
61. **JSON-LD has required fields** (`P11`, required, fail) — No JSON-LD to validate
   - How to fix:

     ```
     {"@type":"WebPage","name":"…","description":"…","url":"https://www.wte.net/Our-Services","dateModified":"2026-01-01"}, {"@type":"BreadcrumbList","itemListElement":[…]}
     ```

   - Spec: https://schema.org/
62. **Markdown mirror \({path}.md\)** (`P15`, required, fail) — https://www.wte.net/Our-Services.md → HTTP 200 text/html
   - How to fix:

     ```
     https://www.wte.net/Our-Services.md → 200 text/markdown
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
63. **link rel=alternate type=text/markdown** (`P17`, required, fail) — No alternate markdown link in \<head\> or Link header
   - How to fix:

     ```
     <link rel="alternate" type="text/markdown" href="https://www.wte.net/Our-Services.md">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
64. **Accept: text/markdown negotiation** (`P19`, required, fail) — Accept: text/markdown → HTTP 200 text/html
   - How to fix:

     ```
     Accept: text/markdown → 200 Content-Type: text/markdown; Vary: Accept
     ```

   - Spec: https://acceptmarkdown.com/
65. **Canonical link** (`P5`, required, fail) — No \<link rel="canonical"\>
   - How to fix:

     ```
     <link rel="canonical" href="https://www.wte.net/Work-with-Us">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
66. **Meta description \(≥ 50 chars\)** (`P6`, required, fail) — No \<meta name="description"\>
   - How to fix:

     ```
     <meta name="description" content="A specific 50–160 character summary of this page.">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
67. **html lang attribute** (`P9`, required, fail) — \<html\> has no lang attribute
   - How to fix:

     ```
     <html lang="en">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
68. **JSON-LD structured data present** (`P10`, required, fail) — No \<script type="application/ld+json"\> blocks
   - How to fix:

     ```
     <script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebPage","@id":"https://www.wte.net/Work-with-Us","url":"https://www.wte.net/Work-with-Us","name":"…","description":"…","dateModified":"2026-01-01"},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://www.wte.net/"}]}]}</script>
     ```

   - Spec: https://json-ld.org/
69. **JSON-LD has required fields** (`P11`, required, fail) — No JSON-LD to validate
   - How to fix:

     ```
     {"@type":"WebPage","name":"…","description":"…","url":"https://www.wte.net/Work-with-Us","dateModified":"2026-01-01"}, {"@type":"BreadcrumbList","itemListElement":[…]}
     ```

   - Spec: https://schema.org/
70. **Markdown mirror \({path}.md\)** (`P15`, required, fail) — https://www.wte.net/Work-with-Us.md → HTTP 200 text/html
   - How to fix:

     ```
     https://www.wte.net/Work-with-Us.md → 200 text/markdown
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
71. **link rel=alternate type=text/markdown** (`P17`, required, fail) — No alternate markdown link in \<head\> or Link header
   - How to fix:

     ```
     <link rel="alternate" type="text/markdown" href="https://www.wte.net/Work-with-Us.md">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
72. **Accept: text/markdown negotiation** (`P19`, required, fail) — Accept: text/markdown → HTTP 200 text/html
   - How to fix:

     ```
     Accept: text/markdown → 200 Content-Type: text/markdown; Vary: Accept
     ```

   - Spec: https://acceptmarkdown.com/
73. **Canonical link** (`P5`, required, fail) — No \<link rel="canonical"\>
   - How to fix:

     ```
     <link rel="canonical" href="https://www.wte.net/Privacy-Policy">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
74. **Meta description \(≥ 50 chars\)** (`P6`, required, fail) — No \<meta name="description"\>
   - How to fix:

     ```
     <meta name="description" content="A specific 50–160 character summary of this page.">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
75. **html lang attribute** (`P9`, required, fail) — \<html\> has no lang attribute
   - How to fix:

     ```
     <html lang="en">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
76. **JSON-LD structured data present** (`P10`, required, fail) — No \<script type="application/ld+json"\> blocks
   - How to fix:

     ```
     <script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebPage","@id":"https://www.wte.net/Privacy-Policy","url":"https://www.wte.net/Privacy-Policy","name":"…","description":"…","dateModified":"2026-01-01"},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://www.wte.net/"}]}]}</script>
     ```

   - Spec: https://json-ld.org/
77. **JSON-LD has required fields** (`P11`, required, fail) — No JSON-LD to validate
   - How to fix:

     ```
     {"@type":"WebPage","name":"…","description":"…","url":"https://www.wte.net/Privacy-Policy","dateModified":"2026-01-01"}, {"@type":"BreadcrumbList","itemListElement":[…]}
     ```

   - Spec: https://schema.org/
78. **Markdown mirror \({path}.md\)** (`P15`, required, fail) — https://www.wte.net/Privacy-Policy.md → HTTP 200 text/html
   - How to fix:

     ```
     https://www.wte.net/Privacy-Policy.md → 200 text/markdown
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
79. **link rel=alternate type=text/markdown** (`P17`, required, fail) — No alternate markdown link in \<head\> or Link header
   - How to fix:

     ```
     <link rel="alternate" type="text/markdown" href="https://www.wte.net/Privacy-Policy.md">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
80. **Accept: text/markdown negotiation** (`P19`, required, fail) — Accept: text/markdown → HTTP 200 text/html
   - How to fix:

     ```
     Accept: text/markdown → 200 Content-Type: text/markdown; Vary: Accept
     ```

   - Spec: https://acceptmarkdown.com/
81. **Serves markdown for Accept: text/markdown** (`M1`, required, fail) — Accept: text/markdown → HTTP 200 text/html
   - How to fix:

     ```
     GET / HTTP/1.1
     Accept: text/markdown
     
     -> HTTP/1.1 200 OK
        Content-Type: text/markdown; charset=utf-8
        Vary: Accept
     ```

   - Spec: https://acceptmarkdown.com/
82. **Responds with Vary: Accept** (`M2`, required, fail) — No Vary header
   - How to fix:

     ```
     Vary: Accept
     ```

   - Spec: https://www.rfc-editor.org/rfc/rfc9110#name-vary
83. **robots.txt declares Content-Signal** (`B2`, required, fail) — No Content-Signal directive in robots.txt
   - How to fix:

     ```
     Content-Signal: search=yes, ai-input=yes, ai-train=no
     ```

   - Spec: https://contentsignals.org/
84. **Document has a non-empty title** (`A10`, required, fail) — Missing or empty \<title\>
   - How to fix:

     ```
     <title>Site name — what it does</title>
     ```

   - Spec: https://www.w3.org/WAI/WCAG22/quickref/
85. **Valid BCP-47 lang** (`A13`, required, fail) — \<html\> has no lang attribute
   - How to fix:

     ```
     <html lang="en">
     ```

   - Spec: https://www.rfc-editor.org/rfc/rfc5646
86. **sitemap.md exists** (`S10`, recommended, fail) — No sitemap.md at /sitemap.md, /docs/sitemap.md or /.well-known/sitemap.md
   - How to fix:

     ```
     # Sitemap
     
     ## Pages
     
     - [Home](https://www.wte.net/)
     - [About](https://www.wte.net/about)
     
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
87. **sitemap.md has headings and links** (`S11`, recommended, fail) — sitemap.md not found
   - How to fix:

     ```
     ## Pages
     
     - [Home](https://www.wte.net/)
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
88. **AGENTS.md exists** (`S12`, recommended, fail) — No AGENTS.md at /AGENTS.md, /agents.md, /.well-known/agents.md, /docs/AGENTS.md, /CLAUDE.md or /.cursorrules
   - How to fix:

     ```
     # AGENTS.md
     
     ## Getting started
     
     …
     
     ## Configuration
     
     …
     
     ## Usage
     
     …
     
     ```

   - Spec: https://agents.md/
89. **AGENTS.md has required sections** (`S13`, recommended, fail) — AGENTS.md not found
   - How to fix:

     ```
     ## Getting started
     
     ## Configuration
     
     ## Usage
     
     ```

   - Spec: https://agents.md/
90. **og:title** (`P7`, recommended, fail) — No og:title
   - How to fix:

     ```
     <meta property="og:title" content="Page title">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
91. **og:description** (`P8`, recommended, fail) — No og:description
   - How to fix:

     ```
     <meta property="og:description" content="Summary of the page">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
92. **At least 3 headings \(h1–h3\)** (`P12`, recommended, fail) — Only 0 h1–h3 heading\(s\)
   - How to fix:

     ```
     <h1>Page title</h1>
     <h2>Section</h2>
     <h3>Sub-section</h3>
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
93. **Text-to-HTML ratio** (`P13`, recommended, fail) — Text-to-HTML ratio 0% \(0 text chars / 212 HTML chars\)
   - How to fix:

     ```
     Reduce markup/script weight relative to visible text: trim inline scripts and styles, remove boilerplate wrappers and serve more substantive text
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
94. **Markdown frontmatter \(title, description, last\_updated\)** (`P16`, recommended, fail) — No markdown version available to inspect
   - How to fix:

     ```
     ---
     title: Page title
     description: One-sentence summary
     last_updated: 2026-01-01
     ---
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
95. **Markdown endpoint sends Link rel=canonical** (`P18`, recommended, fail) — No markdown version available
   - How to fix:

     ```
     Link: <https://www.wte.net/>; rel="canonical"
     ```

   - Spec: https://www.rfc-editor.org/rfc/rfc8288
96. **llms.txt describedby link** (`P24`, recommended, fail) — No rel="describedby" link to llms.txt
   - How to fix:

     ```
     <link rel="describedby" href="https://www.wte.net/llms.txt">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
97. **og:title** (`P7`, recommended, fail) — No og:title
   - How to fix:

     ```
     <meta property="og:title" content="Page title">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
98. **og:description** (`P8`, recommended, fail) — No og:description
   - How to fix:

     ```
     <meta property="og:description" content="Summary of the page">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
99. **At least 3 headings \(h1–h3\)** (`P12`, recommended, fail) — Only 0 h1–h3 heading\(s\)
   - How to fix:

     ```
     <h1>Page title</h1>
     <h2>Section</h2>
     <h3>Sub-section</h3>
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
100. **Text-to-HTML ratio** (`P13`, recommended, fail) — Text-to-HTML ratio 0% \(0 text chars / 212 HTML chars\)
   - How to fix:

     ```
     Reduce markup/script weight relative to visible text: trim inline scripts and styles, remove boilerplate wrappers and serve more substantive text
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
101. **Markdown frontmatter \(title, description, last\_updated\)** (`P16`, recommended, fail) — No markdown version available to inspect
   - How to fix:

     ```
     ---
     title: Page title
     description: One-sentence summary
     last_updated: 2026-01-01
     ---
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
102. **Markdown endpoint sends Link rel=canonical** (`P18`, recommended, fail) — No markdown version available
   - How to fix:

     ```
     Link: <https://www.wte.net/Blog>; rel="canonical"
     ```

   - Spec: https://www.rfc-editor.org/rfc/rfc8288
103. **llms.txt describedby link** (`P24`, recommended, fail) — No rel="describedby" link to llms.txt
   - How to fix:

     ```
     <link rel="describedby" href="https://www.wte.net/llms.txt">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
104. **og:title** (`P7`, recommended, fail) — No og:title
   - How to fix:

     ```
     <meta property="og:title" content="Page title">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
105. **og:description** (`P8`, recommended, fail) — No og:description
   - How to fix:

     ```
     <meta property="og:description" content="Summary of the page">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
106. **At least 3 headings \(h1–h3\)** (`P12`, recommended, fail) — Only 0 h1–h3 heading\(s\)
   - How to fix:

     ```
     <h1>Page title</h1>
     <h2>Section</h2>
     <h3>Sub-section</h3>
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
107. **Text-to-HTML ratio** (`P13`, recommended, fail) — Text-to-HTML ratio 0% \(0 text chars / 212 HTML chars\)
   - How to fix:

     ```
     Reduce markup/script weight relative to visible text: trim inline scripts and styles, remove boilerplate wrappers and serve more substantive text
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
108. **Markdown frontmatter \(title, description, last\_updated\)** (`P16`, recommended, fail) — No markdown version available to inspect
   - How to fix:

     ```
     ---
     title: Page title
     description: One-sentence summary
     last_updated: 2026-01-01
     ---
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
109. **Markdown endpoint sends Link rel=canonical** (`P18`, recommended, fail) — No markdown version available
   - How to fix:

     ```
     Link: <https://www.wte.net/About>; rel="canonical"
     ```

   - Spec: https://www.rfc-editor.org/rfc/rfc8288
110. **llms.txt describedby link** (`P24`, recommended, fail) — No rel="describedby" link to llms.txt
   - How to fix:

     ```
     <link rel="describedby" href="https://www.wte.net/llms.txt">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
111. **og:title** (`P7`, recommended, fail) — No og:title
   - How to fix:

     ```
     <meta property="og:title" content="Page title">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
112. **og:description** (`P8`, recommended, fail) — No og:description
   - How to fix:

     ```
     <meta property="og:description" content="Summary of the page">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
113. **At least 3 headings \(h1–h3\)** (`P12`, recommended, fail) — Only 0 h1–h3 heading\(s\)
   - How to fix:

     ```
     <h1>Page title</h1>
     <h2>Section</h2>
     <h3>Sub-section</h3>
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
114. **Text-to-HTML ratio** (`P13`, recommended, fail) — Text-to-HTML ratio 0% \(0 text chars / 212 HTML chars\)
   - How to fix:

     ```
     Reduce markup/script weight relative to visible text: trim inline scripts and styles, remove boilerplate wrappers and serve more substantive text
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
115. **Markdown frontmatter \(title, description, last\_updated\)** (`P16`, recommended, fail) — No markdown version available to inspect
   - How to fix:

     ```
     ---
     title: Page title
     description: One-sentence summary
     last_updated: 2026-01-01
     ---
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
116. **Markdown endpoint sends Link rel=canonical** (`P18`, recommended, fail) — No markdown version available
   - How to fix:

     ```
     Link: <https://www.wte.net/NoTrack>; rel="canonical"
     ```

   - Spec: https://www.rfc-editor.org/rfc/rfc8288
117. **llms.txt describedby link** (`P24`, recommended, fail) — No rel="describedby" link to llms.txt
   - How to fix:

     ```
     <link rel="describedby" href="https://www.wte.net/llms.txt">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
118. **og:title** (`P7`, recommended, fail) — No og:title
   - How to fix:

     ```
     <meta property="og:title" content="Page title">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
119. **og:description** (`P8`, recommended, fail) — No og:description
   - How to fix:

     ```
     <meta property="og:description" content="Summary of the page">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
120. **At least 3 headings \(h1–h3\)** (`P12`, recommended, fail) — Only 0 h1–h3 heading\(s\)
   - How to fix:

     ```
     <h1>Page title</h1>
     <h2>Section</h2>
     <h3>Sub-section</h3>
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
121. **Text-to-HTML ratio** (`P13`, recommended, fail) — Text-to-HTML ratio 0% \(0 text chars / 212 HTML chars\)
   - How to fix:

     ```
     Reduce markup/script weight relative to visible text: trim inline scripts and styles, remove boilerplate wrappers and serve more substantive text
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
122. **Markdown frontmatter \(title, description, last\_updated\)** (`P16`, recommended, fail) — No markdown version available to inspect
   - How to fix:

     ```
     ---
     title: Page title
     description: One-sentence summary
     last_updated: 2026-01-01
     ---
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
123. **Markdown endpoint sends Link rel=canonical** (`P18`, recommended, fail) — No markdown version available
   - How to fix:

     ```
     Link: <https://www.wte.net/Our-Work>; rel="canonical"
     ```

   - Spec: https://www.rfc-editor.org/rfc/rfc8288
124. **llms.txt describedby link** (`P24`, recommended, fail) — No rel="describedby" link to llms.txt
   - How to fix:

     ```
     <link rel="describedby" href="https://www.wte.net/llms.txt">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
125. **og:title** (`P7`, recommended, fail) — No og:title
   - How to fix:

     ```
     <meta property="og:title" content="Page title">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
126. **og:description** (`P8`, recommended, fail) — No og:description
   - How to fix:

     ```
     <meta property="og:description" content="Summary of the page">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
127. **At least 3 headings \(h1–h3\)** (`P12`, recommended, fail) — Only 0 h1–h3 heading\(s\)
   - How to fix:

     ```
     <h1>Page title</h1>
     <h2>Section</h2>
     <h3>Sub-section</h3>
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
128. **Text-to-HTML ratio** (`P13`, recommended, fail) — Text-to-HTML ratio 0% \(0 text chars / 212 HTML chars\)
   - How to fix:

     ```
     Reduce markup/script weight relative to visible text: trim inline scripts and styles, remove boilerplate wrappers and serve more substantive text
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
129. **Markdown frontmatter \(title, description, last\_updated\)** (`P16`, recommended, fail) — No markdown version available to inspect
   - How to fix:

     ```
     ---
     title: Page title
     description: One-sentence summary
     last_updated: 2026-01-01
     ---
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
130. **Markdown endpoint sends Link rel=canonical** (`P18`, recommended, fail) — No markdown version available
   - How to fix:

     ```
     Link: <https://www.wte.net/WTE-Cares>; rel="canonical"
     ```

   - Spec: https://www.rfc-editor.org/rfc/rfc8288
131. **llms.txt describedby link** (`P24`, recommended, fail) — No rel="describedby" link to llms.txt
   - How to fix:

     ```
     <link rel="describedby" href="https://www.wte.net/llms.txt">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
132. **og:title** (`P7`, recommended, fail) — No og:title
   - How to fix:

     ```
     <meta property="og:title" content="Page title">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
133. **og:description** (`P8`, recommended, fail) — No og:description
   - How to fix:

     ```
     <meta property="og:description" content="Summary of the page">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
134. **At least 3 headings \(h1–h3\)** (`P12`, recommended, fail) — Only 0 h1–h3 heading\(s\)
   - How to fix:

     ```
     <h1>Page title</h1>
     <h2>Section</h2>
     <h3>Sub-section</h3>
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
135. **Text-to-HTML ratio** (`P13`, recommended, fail) — Text-to-HTML ratio 0% \(0 text chars / 212 HTML chars\)
   - How to fix:

     ```
     Reduce markup/script weight relative to visible text: trim inline scripts and styles, remove boilerplate wrappers and serve more substantive text
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
136. **Markdown frontmatter \(title, description, last\_updated\)** (`P16`, recommended, fail) — No markdown version available to inspect
   - How to fix:

     ```
     ---
     title: Page title
     description: One-sentence summary
     last_updated: 2026-01-01
     ---
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
137. **Markdown endpoint sends Link rel=canonical** (`P18`, recommended, fail) — No markdown version available
   - How to fix:

     ```
     Link: <https://www.wte.net/Web-Design>; rel="canonical"
     ```

   - Spec: https://www.rfc-editor.org/rfc/rfc8288
138. **llms.txt describedby link** (`P24`, recommended, fail) — No rel="describedby" link to llms.txt
   - How to fix:

     ```
     <link rel="describedby" href="https://www.wte.net/llms.txt">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
139. **og:title** (`P7`, recommended, fail) — No og:title
   - How to fix:

     ```
     <meta property="og:title" content="Page title">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
140. **og:description** (`P8`, recommended, fail) — No og:description
   - How to fix:

     ```
     <meta property="og:description" content="Summary of the page">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
141. **At least 3 headings \(h1–h3\)** (`P12`, recommended, fail) — Only 0 h1–h3 heading\(s\)
   - How to fix:

     ```
     <h1>Page title</h1>
     <h2>Section</h2>
     <h3>Sub-section</h3>
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
142. **Text-to-HTML ratio** (`P13`, recommended, fail) — Text-to-HTML ratio 0% \(0 text chars / 212 HTML chars\)
   - How to fix:

     ```
     Reduce markup/script weight relative to visible text: trim inline scripts and styles, remove boilerplate wrappers and serve more substantive text
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
143. **Markdown frontmatter \(title, description, last\_updated\)** (`P16`, recommended, fail) — No markdown version available to inspect
   - How to fix:

     ```
     ---
     title: Page title
     description: One-sentence summary
     last_updated: 2026-01-01
     ---
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
144. **Markdown endpoint sends Link rel=canonical** (`P18`, recommended, fail) — No markdown version available
   - How to fix:

     ```
     Link: <https://www.wte.net/Our-Services>; rel="canonical"
     ```

   - Spec: https://www.rfc-editor.org/rfc/rfc8288
145. **llms.txt describedby link** (`P24`, recommended, fail) — No rel="describedby" link to llms.txt
   - How to fix:

     ```
     <link rel="describedby" href="https://www.wte.net/llms.txt">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
146. **og:title** (`P7`, recommended, fail) — No og:title
   - How to fix:

     ```
     <meta property="og:title" content="Page title">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
147. **og:description** (`P8`, recommended, fail) — No og:description
   - How to fix:

     ```
     <meta property="og:description" content="Summary of the page">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
148. **At least 3 headings \(h1–h3\)** (`P12`, recommended, fail) — Only 0 h1–h3 heading\(s\)
   - How to fix:

     ```
     <h1>Page title</h1>
     <h2>Section</h2>
     <h3>Sub-section</h3>
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
149. **Text-to-HTML ratio** (`P13`, recommended, fail) — Text-to-HTML ratio 0% \(0 text chars / 212 HTML chars\)
   - How to fix:

     ```
     Reduce markup/script weight relative to visible text: trim inline scripts and styles, remove boilerplate wrappers and serve more substantive text
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
150. **Markdown frontmatter \(title, description, last\_updated\)** (`P16`, recommended, fail) — No markdown version available to inspect
   - How to fix:

     ```
     ---
     title: Page title
     description: One-sentence summary
     last_updated: 2026-01-01
     ---
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
151. **Markdown endpoint sends Link rel=canonical** (`P18`, recommended, fail) — No markdown version available
   - How to fix:

     ```
     Link: <https://www.wte.net/Work-with-Us>; rel="canonical"
     ```

   - Spec: https://www.rfc-editor.org/rfc/rfc8288
152. **llms.txt describedby link** (`P24`, recommended, fail) — No rel="describedby" link to llms.txt
   - How to fix:

     ```
     <link rel="describedby" href="https://www.wte.net/llms.txt">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
153. **og:title** (`P7`, recommended, fail) — No og:title
   - How to fix:

     ```
     <meta property="og:title" content="Page title">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
154. **og:description** (`P8`, recommended, fail) — No og:description
   - How to fix:

     ```
     <meta property="og:description" content="Summary of the page">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
155. **At least 3 headings \(h1–h3\)** (`P12`, recommended, fail) — Only 0 h1–h3 heading\(s\)
   - How to fix:

     ```
     <h1>Page title</h1>
     <h2>Section</h2>
     <h3>Sub-section</h3>
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
156. **Text-to-HTML ratio** (`P13`, recommended, fail) — Text-to-HTML ratio 0% \(0 text chars / 212 HTML chars\)
   - How to fix:

     ```
     Reduce markup/script weight relative to visible text: trim inline scripts and styles, remove boilerplate wrappers and serve more substantive text
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
157. **Markdown frontmatter \(title, description, last\_updated\)** (`P16`, recommended, fail) — No markdown version available to inspect
   - How to fix:

     ```
     ---
     title: Page title
     description: One-sentence summary
     last_updated: 2026-01-01
     ---
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
158. **Markdown endpoint sends Link rel=canonical** (`P18`, recommended, fail) — No markdown version available
   - How to fix:

     ```
     Link: <https://www.wte.net/Privacy-Policy>; rel="canonical"
     ```

   - Spec: https://www.rfc-editor.org/rfc/rfc8288
159. **llms.txt describedby link** (`P24`, recommended, fail) — No rel="describedby" link to llms.txt
   - How to fix:

     ```
     <link rel="describedby" href="https://www.wte.net/llms.txt">
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
160. **Honours Accept q-values** (`M4`, recommended, fail) — q-values ignored \(markdown-preferred → text/html, html-preferred → text/html\)
   - How to fix:

     ```
     Accept: text/html;q=0.5, text/markdown;q=1.0 -> text/markdown
     Accept: text/markdown;q=0.1, text/html;q=1.0 -> text/html
     ```

   - Spec: https://www.rfc-editor.org/rfc/rfc9110#name-accept
161. **Homepage sends Link headers** (`B3`, recommended, fail) — No Link header on the homepage
   - How to fix:

     ```
     Link: <https://www.wte.net/index.md>; rel="alternate"; type="text/markdown", <https://www.wte.net/llms.txt>; rel="describedby"
     ```

   - Spec: https://www.rfc-editor.org/rfc/rfc8288
162. **Landmark main or skip link** (`A12`, recommended, fail) — No \<main\> landmark, role="main" or skip link
   - How to fix:

     ```
     <a href="#content" class="skip-link">Skip to content</a>
     <main id="content">…</main>
     ```

   - Spec: https://www.w3.org/WAI/WCAG22/quickref/
163. **llms-full.txt exists** (`L10`, optional, fail) — No /llms-full.txt or /llms-ctx-full.txt
   - How to fix:

     ```
     https://www.wte.net/llms-full.txt
     ```

   - Spec: https://llmstxt.org/
164. **Links to a glossary** (`P14`, optional, fail) — No link to /glossary, /terminology or /definitions
   - How to fix:

     ```
     <a href="https://www.wte.net/glossary">Glossary</a>
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
165. **Markdown has a \#\# Sitemap section** (`P20`, optional, fail) — No markdown version available
   - How to fix:

     ```
     ## Sitemap
     
     - [Home](https://www.wte.net/)
     - [Full sitemap](https://www.wte.net/sitemap.md)
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
166. **Links to a glossary** (`P14`, optional, fail) — No link to /glossary, /terminology or /definitions
   - How to fix:

     ```
     <a href="https://www.wte.net/glossary">Glossary</a>
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
167. **Markdown has a \#\# Sitemap section** (`P20`, optional, fail) — No markdown version available
   - How to fix:

     ```
     ## Sitemap
     
     - [Home](https://www.wte.net/)
     - [Full sitemap](https://www.wte.net/sitemap.md)
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
168. **Links to a glossary** (`P14`, optional, fail) — No link to /glossary, /terminology or /definitions
   - How to fix:

     ```
     <a href="https://www.wte.net/glossary">Glossary</a>
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
169. **Markdown has a \#\# Sitemap section** (`P20`, optional, fail) — No markdown version available
   - How to fix:

     ```
     ## Sitemap
     
     - [Home](https://www.wte.net/)
     - [Full sitemap](https://www.wte.net/sitemap.md)
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
170. **Links to a glossary** (`P14`, optional, fail) — No link to /glossary, /terminology or /definitions
   - How to fix:

     ```
     <a href="https://www.wte.net/glossary">Glossary</a>
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
171. **Markdown has a \#\# Sitemap section** (`P20`, optional, fail) — No markdown version available
   - How to fix:

     ```
     ## Sitemap
     
     - [Home](https://www.wte.net/)
     - [Full sitemap](https://www.wte.net/sitemap.md)
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
172. **Links to a glossary** (`P14`, optional, fail) — No link to /glossary, /terminology or /definitions
   - How to fix:

     ```
     <a href="https://www.wte.net/glossary">Glossary</a>
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
173. **Markdown has a \#\# Sitemap section** (`P20`, optional, fail) — No markdown version available
   - How to fix:

     ```
     ## Sitemap
     
     - [Home](https://www.wte.net/)
     - [Full sitemap](https://www.wte.net/sitemap.md)
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
174. **Links to a glossary** (`P14`, optional, fail) — No link to /glossary, /terminology or /definitions
   - How to fix:

     ```
     <a href="https://www.wte.net/glossary">Glossary</a>
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
175. **Markdown has a \#\# Sitemap section** (`P20`, optional, fail) — No markdown version available
   - How to fix:

     ```
     ## Sitemap
     
     - [Home](https://www.wte.net/)
     - [Full sitemap](https://www.wte.net/sitemap.md)
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
176. **Links to a glossary** (`P14`, optional, fail) — No link to /glossary, /terminology or /definitions
   - How to fix:

     ```
     <a href="https://www.wte.net/glossary">Glossary</a>
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
177. **Markdown has a \#\# Sitemap section** (`P20`, optional, fail) — No markdown version available
   - How to fix:

     ```
     ## Sitemap
     
     - [Home](https://www.wte.net/)
     - [Full sitemap](https://www.wte.net/sitemap.md)
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
178. **Links to a glossary** (`P14`, optional, fail) — No link to /glossary, /terminology or /definitions
   - How to fix:

     ```
     <a href="https://www.wte.net/glossary">Glossary</a>
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
179. **Markdown has a \#\# Sitemap section** (`P20`, optional, fail) — No markdown version available
   - How to fix:

     ```
     ## Sitemap
     
     - [Home](https://www.wte.net/)
     - [Full sitemap](https://www.wte.net/sitemap.md)
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
180. **Links to a glossary** (`P14`, optional, fail) — No link to /glossary, /terminology or /definitions
   - How to fix:

     ```
     <a href="https://www.wte.net/glossary">Glossary</a>
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
181. **Markdown has a \#\# Sitemap section** (`P20`, optional, fail) — No markdown version available
   - How to fix:

     ```
     ## Sitemap
     
     - [Home](https://www.wte.net/)
     - [Full sitemap](https://www.wte.net/sitemap.md)
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
182. **Links to a glossary** (`P14`, optional, fail) — No link to /glossary, /terminology or /definitions
   - How to fix:

     ```
     <a href="https://www.wte.net/glossary">Glossary</a>
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
183. **Markdown has a \#\# Sitemap section** (`P20`, optional, fail) — No markdown version available
   - How to fix:

     ```
     ## Sitemap
     
     - [Home](https://www.wte.net/)
     - [Full sitemap](https://www.wte.net/sitemap.md)
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
184. **OAuth protected resource metadata** (`C3`, optional, fail) — /.well-known/oauth-protected-resource exists but is not valid JSON
   - How to fix:

     ```
     Serve a valid JSON document at https://www.wte.net/.well-known/oauth-protected-resource
     ```

   - Spec: https://www.rfc-editor.org/rfc/rfc9728
185. **OAuth / OpenID server metadata** (`C8`, optional, fail) — /.well-known/oauth-authorization-server exists but is not valid JSON
   - How to fix:

     ```
     Serve a valid JSON document at https://www.wte.net/.well-known/oauth-authorization-server
     ```

   - Spec: https://www.rfc-editor.org/rfc/rfc8414
186. **No noindex / noai X-Robots-Tag** (`P4`, required, warn) — \<meta name="robots"\> contains noindex \(noindex,nofollow\)
   - How to fix:

     ```
     Remove noindex from <meta name="robots"> on public pages
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
187. **No noindex / noai X-Robots-Tag** (`P4`, required, warn) — \<meta name="robots"\> contains noindex \(noindex,nofollow\)
   - How to fix:

     ```
     Remove noindex from <meta name="robots"> on public pages
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
188. **No noindex / noai X-Robots-Tag** (`P4`, required, warn) — \<meta name="robots"\> contains noindex \(noindex,nofollow\)
   - How to fix:

     ```
     Remove noindex from <meta name="robots"> on public pages
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
189. **No noindex / noai X-Robots-Tag** (`P4`, required, warn) — \<meta name="robots"\> contains noindex \(noindex,nofollow\)
   - How to fix:

     ```
     Remove noindex from <meta name="robots"> on public pages
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
190. **No noindex / noai X-Robots-Tag** (`P4`, required, warn) — \<meta name="robots"\> contains noindex \(noindex,nofollow\)
   - How to fix:

     ```
     Remove noindex from <meta name="robots"> on public pages
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
191. **No noindex / noai X-Robots-Tag** (`P4`, required, warn) — \<meta name="robots"\> contains noindex \(noindex,nofollow\)
   - How to fix:

     ```
     Remove noindex from <meta name="robots"> on public pages
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
192. **No noindex / noai X-Robots-Tag** (`P4`, required, warn) — \<meta name="robots"\> contains noindex \(noindex,nofollow\)
   - How to fix:

     ```
     Remove noindex from <meta name="robots"> on public pages
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
193. **No noindex / noai X-Robots-Tag** (`P4`, required, warn) — \<meta name="robots"\> contains noindex \(noindex,nofollow\)
   - How to fix:

     ```
     Remove noindex from <meta name="robots"> on public pages
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
194. **No noindex / noai X-Robots-Tag** (`P4`, required, warn) — \<meta name="robots"\> contains noindex \(noindex,nofollow\)
   - How to fix:

     ```
     Remove noindex from <meta name="robots"> on public pages
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
195. **No noindex / noai X-Robots-Tag** (`P4`, required, warn) — \<meta name="robots"\> contains noindex \(noindex,nofollow\)
   - How to fix:

     ```
     Remove noindex from <meta name="robots"> on public pages
     ```

   - Spec: https://vercel.com/kb/guide/agent-readability-spec
196. **Link lines use - \[name\]\(url\): notes format** (`L6`, recommended, warn) — 68 of 74 bullet line\(s\) are not well-formed links
   - How to fix:

     ```
     - [About](https://www.wte.net/about.md): What we do
     ```

   - Spec: https://llmstxt.org/

## Check results

### Site checks

| Status | ID | Check | Message |
|---|---|---|---|
| pass | `S1` | llms.txt exists | Found llms.txt at https://www.wte.net/llms.txt |
| pass | `S2` | llms.txt served as text/plain | Content-Type is text/plain; charset=utf-8 |
| pass | `S3` | llms.txt is non-empty | llms.txt has 8,267 characters |
| pass | `S4` | llms.txt links do not point at .html files | No links point at .html files |
| pass | `S5` | robots.txt allows AI crawlers | None of the 9 known AI crawlers are disallowed |
| pass | `S6` | /llms.txt is not blocked by robots.txt | /llms.txt is allowed for all crawlers |
| pass | `S7` | robots.txt exists | robots.txt found \(10 group\(s\), 1 sitemap line\(s\)\) |
| pass | `S8` | sitemap.xml is valid | Valid sitemap: 271 URL\(s\) |
| pass | `S9` | sitemap entries have lastmod | 271/271 entries \(100%\) have lastmod |
| fail | `S10` | sitemap.md exists | No sitemap.md at /sitemap.md, /docs/sitemap.md or /.well-known/sitemap.md |
| fail | `S11` | sitemap.md has headings and links | sitemap.md not found |
| fail | `S12` | AGENTS.md exists | No AGENTS.md at /AGENTS.md, /agents.md, /.well-known/agents.md, /docs/AGENTS.md, /CLAUDE.md or /.cursorrules |
| fail | `S13` | AGENTS.md has required sections | AGENTS.md not found |
| pass | `S14` | Site is served over HTTPS | Root URL is HTTPS |
| n/a | `S15` | Root OpenAPI document \(API-first sites\) | Site does not look API-first \(no OpenAPI/Swagger links or /api paths found\) |

### llms.txt checks

| Status | ID | Check | Message |
|---|---|---|---|
| pass | `L1` | llms.txt returns HTTP 200 | HTTP 200 from https://www.wte.net/llms.txt |
| pass | `L2` | First line is an H1 title | H1 title: "WTE Solutions \(wte.net\)" |
| pass | `L3` | Content is parseable markdown \(not an HTML shell\) | Body parses as markdown |
| pass | `L4` | Blockquote summary follows the H1 | Blockquote summary present: "WTE Solutions is a 25+ year technology firm that designs, builds, and operates A…" |
| pass | `L5` | At least one H2 section with a link list | 1 H2 section\(s\) with link lists \(6 links\) |
| warn | `L6` | Link lines use - \[name\]\(url\): notes format | 68 of 74 bullet line\(s\) are not well-formed links |
| pass | `L7` | Sampled links resolve \(2xx\) | All 5 sampled link\(s\) returned 2xx |
| pass | `L8` | \#\# Optional section used correctly | No \#\# Optional section \(allowed\) |
| pass | `L9` | Served as text/plain | Content-Type: text/plain; charset=utf-8 |
| fail | `L10` | llms-full.txt exists | No /llms-full.txt or /llms-ctx-full.txt |

### Markdown negotiation

| Status | ID | Check | Message |
|---|---|---|---|
| fail | `M1` | Serves markdown for Accept: text/markdown | Accept: text/markdown → HTTP 200 text/html |
| fail | `M2` | Responds with Vary: Accept | No Vary header |
| n/a | `M3` | Returns 406 for an unsatisfiable Accept | Skipped — the site does not negotiate markdown \(M1 failed\) |
| fail | `M4` | Honours Accept q-values | q-values ignored \(markdown-preferred → text/html, html-preferred → text/html\) |

### Bot access

| Status | ID | Check | Message |
|---|---|---|---|
| pass | `B1` | robots.txt has explicit AI-bot rules | Explicit rules for GPTBot, ClaudeBot, CCBot, Google-Extended, PerplexityBot |
| fail | `B2` | robots.txt declares Content-Signal | No Content-Signal directive in robots.txt |
| fail | `B3` | Homepage sends Link headers | No Link header on the homepage |
| n/a | `B4` | DNS-AID agent discovery records | DNS-AID lookups disabled for this scan |
| info | `B5` | Web Bot Auth signature directory | Directory present but is not valid JSON |

### Protocol discovery

| Status | ID | Check | Message |
|---|---|---|---|
| info | `C1` | MCP server card | No MCP server card \(/.well-known/mcp.json or /.well-known/mcp/server-card.json\) |
| n/a | `C2` | MCP server card is well-formed | No MCP server card to validate |
| fail | `C3` | OAuth protected resource metadata | /.well-known/oauth-protected-resource exists but is not valid JSON |
| info | `C4` | A2A agent card | No A2A agent card \(/.well-known/agent-card.json or /.well-known/agent.json\) |
| n/a | `C5` | A2A agent card is well-formed | No A2A agent card to validate |
| info | `C6` | Agent Skills index | No Agent Skills index \(/.well-known/agent-skills/index.json\) |
| pass | `C7` | API catalog \(/.well-known/api-catalog\) | API catalog found at /.well-known/api-catalog |
| fail | `C8` | OAuth / OpenID server metadata | /.well-known/oauth-authorization-server exists but is not valid JSON |
| info | `C9` | security.txt | No security.txt \(RFC 9116\) — optional but recommended |
| pass | `C10` | OpenAPI document | OpenAPI document found at /openapi.yaml |
| info | `C11` | /auth.md agent auth instructions | No /auth.md \(optional: markdown instructions telling agents how to authenticate\) |
| pass | `C12` | UCP manifest | UCP manifest found at /.well-known/ucp |
| info | `C13` | ACP manifest | No ACP manifest \(/.well-known/acp.json\) |
| info | `C14` | x402 payment-required endpoints | No x402 \(HTTP 402 + accepts\[\]\) endpoints observed among probed URLs |
| pass | `C15` | Advertised endpoints not blocked by robots.txt | All 6 advertised endpoint\(s\) are crawlable |
| pass | `C16` | Content parity for AI crawlers \(GPTBot vs browser UA\) | Baseline text 0 chars vs GPTBot 0 chars \(0% difference\) |

### Accessibility (homepage)

| Status | ID | Check | Message |
|---|---|---|---|
| n/a | `A1` | Images have alt text | No \<img\> elements |
| n/a | `A2` | Form controls have labels | No form controls |
| n/a | `A3` | Links and buttons have accessible names | No links or buttons |
| n/a | `A4` | Media elements declare width and height | No img/video/iframe elements |
| n/a | `A5` | ARIA/label id references resolve and ids are unique | No ids or id references |
| n/a | `A6` | iframes have a title | No iframes |
| n/a | `A7` | One h1 and no skipped heading levels | No headings |
| n/a | `A8` | No positive tabindex | No tabindex attributes |
| n/a | `A9` | Viewport allows zoom | No viewport meta tag |
| fail | `A10` | Document has a non-empty title | Missing or empty \<title\> |
| n/a | `A11` | aria-label includes the visible text | No controls with both aria-label and visible text |
| fail | `A12` | Landmark main or skip link | No \<main\> landmark, role="main" or skip link |
| fail | `A13` | Valid BCP-47 lang | \<html\> has no lang attribute |
| n/a | `A14` | No focusable content inside aria-hidden | No aria-hidden regions |
| n/a | `A15` | No nested interactive controls | No interactive controls |
| n/a | `A16` | No empty headings | No headings |
| pass | `A17` | No timed meta refresh | No meta refresh |
| n/a | `A18` | Valid autocomplete tokens | No autocomplete attributes |
| n/a | `A19` | Data tables have headers | No tables |
| n/a | `A20` | SVG role=img has an accessible name | No svg role=img elements |
| n/a | `A21` | Audio/video have captions track | No audio/video elements |
| n/a | `A22` | Lists contain only list items | No lists |
| n/a | `A23` | ARIA roles and attributes are valid | No ARIA roles or attributes |

## Pages

### https://www.wte.net/

HTTP 200 · 4/22 checks passed

| Status | ID | Check | Message |
|---|---|---|---|
| pass | `P1` | Returns HTTP 200 | HTTP 200 |
| pass | `P2` | At most one redirect | No redirects |
| pass | `P3` | Content-Type is text/html | Content-Type: text/html |
| warn | `P4` | No noindex / noai X-Robots-Tag | \<meta name="robots"\> contains noindex \(noindex,nofollow\) |
| fail | `P5` | Canonical link | No \<link rel="canonical"\> |
| fail | `P6` | Meta description \(≥ 50 chars\) | No \<meta name="description"\> |
| fail | `P7` | og:title | No og:title |
| fail | `P8` | og:description | No og:description |
| fail | `P9` | html lang attribute | \<html\> has no lang attribute |
| fail | `P10` | JSON-LD structured data present | No \<script type="application/ld+json"\> blocks |
| fail | `P11` | JSON-LD has required fields | No JSON-LD to validate |
| fail | `P12` | At least 3 headings \(h1–h3\) | Only 0 h1–h3 heading\(s\) |
| fail | `P13` | Text-to-HTML ratio | Text-to-HTML ratio 0% \(0 text chars / 212 HTML chars\) |
| fail | `P14` | Links to a glossary | No link to /glossary, /terminology or /definitions |
| fail | `P15` | Markdown mirror \({path}.md\) | https://www.wte.net/index.md → HTTP 200 text/html |
| fail | `P16` | Markdown frontmatter \(title, description, last\_updated\) | No markdown version available to inspect |
| fail | `P17` | link rel=alternate type=text/markdown | No alternate markdown link in \<head\> or Link header |
| fail | `P18` | Markdown endpoint sends Link rel=canonical | No markdown version available |
| fail | `P19` | Accept: text/markdown negotiation | Accept: text/markdown → HTTP 200 text/html |
| fail | `P20` | Markdown has a \#\# Sitemap section | No markdown version available |
| n/a | `P21` | Code blocks declare a language | No code blocks on the page |
| n/a | `P22` | API pages link an API schema | Not an API documentation page |
| pass | `P23` | Content does not depend on JavaScript rendering | 0 chars of server-rendered text |
| fail | `P24` | llms.txt describedby link | No rel="describedby" link to llms.txt |

### https://www.wte.net/Blog

HTTP 200 · 4/22 checks passed

| Status | ID | Check | Message |
|---|---|---|---|
| pass | `P1` | Returns HTTP 200 | HTTP 200 |
| pass | `P2` | At most one redirect | No redirects |
| pass | `P3` | Content-Type is text/html | Content-Type: text/html |
| warn | `P4` | No noindex / noai X-Robots-Tag | \<meta name="robots"\> contains noindex \(noindex,nofollow\) |
| fail | `P5` | Canonical link | No \<link rel="canonical"\> |
| fail | `P6` | Meta description \(≥ 50 chars\) | No \<meta name="description"\> |
| fail | `P7` | og:title | No og:title |
| fail | `P8` | og:description | No og:description |
| fail | `P9` | html lang attribute | \<html\> has no lang attribute |
| fail | `P10` | JSON-LD structured data present | No \<script type="application/ld+json"\> blocks |
| fail | `P11` | JSON-LD has required fields | No JSON-LD to validate |
| fail | `P12` | At least 3 headings \(h1–h3\) | Only 0 h1–h3 heading\(s\) |
| fail | `P13` | Text-to-HTML ratio | Text-to-HTML ratio 0% \(0 text chars / 212 HTML chars\) |
| fail | `P14` | Links to a glossary | No link to /glossary, /terminology or /definitions |
| fail | `P15` | Markdown mirror \({path}.md\) | https://www.wte.net/Blog.md → HTTP 200 text/html |
| fail | `P16` | Markdown frontmatter \(title, description, last\_updated\) | No markdown version available to inspect |
| fail | `P17` | link rel=alternate type=text/markdown | No alternate markdown link in \<head\> or Link header |
| fail | `P18` | Markdown endpoint sends Link rel=canonical | No markdown version available |
| fail | `P19` | Accept: text/markdown negotiation | Accept: text/markdown → HTTP 200 text/html |
| fail | `P20` | Markdown has a \#\# Sitemap section | No markdown version available |
| n/a | `P21` | Code blocks declare a language | No code blocks on the page |
| n/a | `P22` | API pages link an API schema | Not an API documentation page |
| pass | `P23` | Content does not depend on JavaScript rendering | 0 chars of server-rendered text |
| fail | `P24` | llms.txt describedby link | No rel="describedby" link to llms.txt |

### https://www.wte.net/About

HTTP 200 · 4/22 checks passed

| Status | ID | Check | Message |
|---|---|---|---|
| pass | `P1` | Returns HTTP 200 | HTTP 200 |
| pass | `P2` | At most one redirect | No redirects |
| pass | `P3` | Content-Type is text/html | Content-Type: text/html |
| warn | `P4` | No noindex / noai X-Robots-Tag | \<meta name="robots"\> contains noindex \(noindex,nofollow\) |
| fail | `P5` | Canonical link | No \<link rel="canonical"\> |
| fail | `P6` | Meta description \(≥ 50 chars\) | No \<meta name="description"\> |
| fail | `P7` | og:title | No og:title |
| fail | `P8` | og:description | No og:description |
| fail | `P9` | html lang attribute | \<html\> has no lang attribute |
| fail | `P10` | JSON-LD structured data present | No \<script type="application/ld+json"\> blocks |
| fail | `P11` | JSON-LD has required fields | No JSON-LD to validate |
| fail | `P12` | At least 3 headings \(h1–h3\) | Only 0 h1–h3 heading\(s\) |
| fail | `P13` | Text-to-HTML ratio | Text-to-HTML ratio 0% \(0 text chars / 212 HTML chars\) |
| fail | `P14` | Links to a glossary | No link to /glossary, /terminology or /definitions |
| fail | `P15` | Markdown mirror \({path}.md\) | https://www.wte.net/About.md → HTTP 200 text/html |
| fail | `P16` | Markdown frontmatter \(title, description, last\_updated\) | No markdown version available to inspect |
| fail | `P17` | link rel=alternate type=text/markdown | No alternate markdown link in \<head\> or Link header |
| fail | `P18` | Markdown endpoint sends Link rel=canonical | No markdown version available |
| fail | `P19` | Accept: text/markdown negotiation | Accept: text/markdown → HTTP 200 text/html |
| fail | `P20` | Markdown has a \#\# Sitemap section | No markdown version available |
| n/a | `P21` | Code blocks declare a language | No code blocks on the page |
| n/a | `P22` | API pages link an API schema | Not an API documentation page |
| pass | `P23` | Content does not depend on JavaScript rendering | 0 chars of server-rendered text |
| fail | `P24` | llms.txt describedby link | No rel="describedby" link to llms.txt |

### https://www.wte.net/NoTrack

HTTP 200 · 4/22 checks passed

| Status | ID | Check | Message |
|---|---|---|---|
| pass | `P1` | Returns HTTP 200 | HTTP 200 |
| pass | `P2` | At most one redirect | No redirects |
| pass | `P3` | Content-Type is text/html | Content-Type: text/html |
| warn | `P4` | No noindex / noai X-Robots-Tag | \<meta name="robots"\> contains noindex \(noindex,nofollow\) |
| fail | `P5` | Canonical link | No \<link rel="canonical"\> |
| fail | `P6` | Meta description \(≥ 50 chars\) | No \<meta name="description"\> |
| fail | `P7` | og:title | No og:title |
| fail | `P8` | og:description | No og:description |
| fail | `P9` | html lang attribute | \<html\> has no lang attribute |
| fail | `P10` | JSON-LD structured data present | No \<script type="application/ld+json"\> blocks |
| fail | `P11` | JSON-LD has required fields | No JSON-LD to validate |
| fail | `P12` | At least 3 headings \(h1–h3\) | Only 0 h1–h3 heading\(s\) |
| fail | `P13` | Text-to-HTML ratio | Text-to-HTML ratio 0% \(0 text chars / 212 HTML chars\) |
| fail | `P14` | Links to a glossary | No link to /glossary, /terminology or /definitions |
| fail | `P15` | Markdown mirror \({path}.md\) | https://www.wte.net/NoTrack.md → HTTP 200 text/html |
| fail | `P16` | Markdown frontmatter \(title, description, last\_updated\) | No markdown version available to inspect |
| fail | `P17` | link rel=alternate type=text/markdown | No alternate markdown link in \<head\> or Link header |
| fail | `P18` | Markdown endpoint sends Link rel=canonical | No markdown version available |
| fail | `P19` | Accept: text/markdown negotiation | Accept: text/markdown → HTTP 200 text/html |
| fail | `P20` | Markdown has a \#\# Sitemap section | No markdown version available |
| n/a | `P21` | Code blocks declare a language | No code blocks on the page |
| n/a | `P22` | API pages link an API schema | Not an API documentation page |
| pass | `P23` | Content does not depend on JavaScript rendering | 0 chars of server-rendered text |
| fail | `P24` | llms.txt describedby link | No rel="describedby" link to llms.txt |

### https://www.wte.net/Our-Work

HTTP 200 · 4/22 checks passed

| Status | ID | Check | Message |
|---|---|---|---|
| pass | `P1` | Returns HTTP 200 | HTTP 200 |
| pass | `P2` | At most one redirect | No redirects |
| pass | `P3` | Content-Type is text/html | Content-Type: text/html |
| warn | `P4` | No noindex / noai X-Robots-Tag | \<meta name="robots"\> contains noindex \(noindex,nofollow\) |
| fail | `P5` | Canonical link | No \<link rel="canonical"\> |
| fail | `P6` | Meta description \(≥ 50 chars\) | No \<meta name="description"\> |
| fail | `P7` | og:title | No og:title |
| fail | `P8` | og:description | No og:description |
| fail | `P9` | html lang attribute | \<html\> has no lang attribute |
| fail | `P10` | JSON-LD structured data present | No \<script type="application/ld+json"\> blocks |
| fail | `P11` | JSON-LD has required fields | No JSON-LD to validate |
| fail | `P12` | At least 3 headings \(h1–h3\) | Only 0 h1–h3 heading\(s\) |
| fail | `P13` | Text-to-HTML ratio | Text-to-HTML ratio 0% \(0 text chars / 212 HTML chars\) |
| fail | `P14` | Links to a glossary | No link to /glossary, /terminology or /definitions |
| fail | `P15` | Markdown mirror \({path}.md\) | https://www.wte.net/Our-Work.md → HTTP 200 text/html |
| fail | `P16` | Markdown frontmatter \(title, description, last\_updated\) | No markdown version available to inspect |
| fail | `P17` | link rel=alternate type=text/markdown | No alternate markdown link in \<head\> or Link header |
| fail | `P18` | Markdown endpoint sends Link rel=canonical | No markdown version available |
| fail | `P19` | Accept: text/markdown negotiation | Accept: text/markdown → HTTP 200 text/html |
| fail | `P20` | Markdown has a \#\# Sitemap section | No markdown version available |
| n/a | `P21` | Code blocks declare a language | No code blocks on the page |
| n/a | `P22` | API pages link an API schema | Not an API documentation page |
| pass | `P23` | Content does not depend on JavaScript rendering | 0 chars of server-rendered text |
| fail | `P24` | llms.txt describedby link | No rel="describedby" link to llms.txt |

### https://www.wte.net/WTE-Cares

HTTP 200 · 4/22 checks passed

| Status | ID | Check | Message |
|---|---|---|---|
| pass | `P1` | Returns HTTP 200 | HTTP 200 |
| pass | `P2` | At most one redirect | No redirects |
| pass | `P3` | Content-Type is text/html | Content-Type: text/html |
| warn | `P4` | No noindex / noai X-Robots-Tag | \<meta name="robots"\> contains noindex \(noindex,nofollow\) |
| fail | `P5` | Canonical link | No \<link rel="canonical"\> |
| fail | `P6` | Meta description \(≥ 50 chars\) | No \<meta name="description"\> |
| fail | `P7` | og:title | No og:title |
| fail | `P8` | og:description | No og:description |
| fail | `P9` | html lang attribute | \<html\> has no lang attribute |
| fail | `P10` | JSON-LD structured data present | No \<script type="application/ld+json"\> blocks |
| fail | `P11` | JSON-LD has required fields | No JSON-LD to validate |
| fail | `P12` | At least 3 headings \(h1–h3\) | Only 0 h1–h3 heading\(s\) |
| fail | `P13` | Text-to-HTML ratio | Text-to-HTML ratio 0% \(0 text chars / 212 HTML chars\) |
| fail | `P14` | Links to a glossary | No link to /glossary, /terminology or /definitions |
| fail | `P15` | Markdown mirror \({path}.md\) | https://www.wte.net/WTE-Cares.md → HTTP 200 text/html |
| fail | `P16` | Markdown frontmatter \(title, description, last\_updated\) | No markdown version available to inspect |
| fail | `P17` | link rel=alternate type=text/markdown | No alternate markdown link in \<head\> or Link header |
| fail | `P18` | Markdown endpoint sends Link rel=canonical | No markdown version available |
| fail | `P19` | Accept: text/markdown negotiation | Accept: text/markdown → HTTP 200 text/html |
| fail | `P20` | Markdown has a \#\# Sitemap section | No markdown version available |
| n/a | `P21` | Code blocks declare a language | No code blocks on the page |
| n/a | `P22` | API pages link an API schema | Not an API documentation page |
| pass | `P23` | Content does not depend on JavaScript rendering | 0 chars of server-rendered text |
| fail | `P24` | llms.txt describedby link | No rel="describedby" link to llms.txt |

### https://www.wte.net/Web-Design

HTTP 200 · 4/22 checks passed

| Status | ID | Check | Message |
|---|---|---|---|
| pass | `P1` | Returns HTTP 200 | HTTP 200 |
| pass | `P2` | At most one redirect | No redirects |
| pass | `P3` | Content-Type is text/html | Content-Type: text/html |
| warn | `P4` | No noindex / noai X-Robots-Tag | \<meta name="robots"\> contains noindex \(noindex,nofollow\) |
| fail | `P5` | Canonical link | No \<link rel="canonical"\> |
| fail | `P6` | Meta description \(≥ 50 chars\) | No \<meta name="description"\> |
| fail | `P7` | og:title | No og:title |
| fail | `P8` | og:description | No og:description |
| fail | `P9` | html lang attribute | \<html\> has no lang attribute |
| fail | `P10` | JSON-LD structured data present | No \<script type="application/ld+json"\> blocks |
| fail | `P11` | JSON-LD has required fields | No JSON-LD to validate |
| fail | `P12` | At least 3 headings \(h1–h3\) | Only 0 h1–h3 heading\(s\) |
| fail | `P13` | Text-to-HTML ratio | Text-to-HTML ratio 0% \(0 text chars / 212 HTML chars\) |
| fail | `P14` | Links to a glossary | No link to /glossary, /terminology or /definitions |
| fail | `P15` | Markdown mirror \({path}.md\) | https://www.wte.net/Web-Design.md → HTTP 200 text/html |
| fail | `P16` | Markdown frontmatter \(title, description, last\_updated\) | No markdown version available to inspect |
| fail | `P17` | link rel=alternate type=text/markdown | No alternate markdown link in \<head\> or Link header |
| fail | `P18` | Markdown endpoint sends Link rel=canonical | No markdown version available |
| fail | `P19` | Accept: text/markdown negotiation | Accept: text/markdown → HTTP 200 text/html |
| fail | `P20` | Markdown has a \#\# Sitemap section | No markdown version available |
| n/a | `P21` | Code blocks declare a language | No code blocks on the page |
| n/a | `P22` | API pages link an API schema | Not an API documentation page |
| pass | `P23` | Content does not depend on JavaScript rendering | 0 chars of server-rendered text |
| fail | `P24` | llms.txt describedby link | No rel="describedby" link to llms.txt |

### https://www.wte.net/Our-Services

HTTP 200 · 4/22 checks passed

| Status | ID | Check | Message |
|---|---|---|---|
| pass | `P1` | Returns HTTP 200 | HTTP 200 |
| pass | `P2` | At most one redirect | No redirects |
| pass | `P3` | Content-Type is text/html | Content-Type: text/html |
| warn | `P4` | No noindex / noai X-Robots-Tag | \<meta name="robots"\> contains noindex \(noindex,nofollow\) |
| fail | `P5` | Canonical link | No \<link rel="canonical"\> |
| fail | `P6` | Meta description \(≥ 50 chars\) | No \<meta name="description"\> |
| fail | `P7` | og:title | No og:title |
| fail | `P8` | og:description | No og:description |
| fail | `P9` | html lang attribute | \<html\> has no lang attribute |
| fail | `P10` | JSON-LD structured data present | No \<script type="application/ld+json"\> blocks |
| fail | `P11` | JSON-LD has required fields | No JSON-LD to validate |
| fail | `P12` | At least 3 headings \(h1–h3\) | Only 0 h1–h3 heading\(s\) |
| fail | `P13` | Text-to-HTML ratio | Text-to-HTML ratio 0% \(0 text chars / 212 HTML chars\) |
| fail | `P14` | Links to a glossary | No link to /glossary, /terminology or /definitions |
| fail | `P15` | Markdown mirror \({path}.md\) | https://www.wte.net/Our-Services.md → HTTP 200 text/html |
| fail | `P16` | Markdown frontmatter \(title, description, last\_updated\) | No markdown version available to inspect |
| fail | `P17` | link rel=alternate type=text/markdown | No alternate markdown link in \<head\> or Link header |
| fail | `P18` | Markdown endpoint sends Link rel=canonical | No markdown version available |
| fail | `P19` | Accept: text/markdown negotiation | Accept: text/markdown → HTTP 200 text/html |
| fail | `P20` | Markdown has a \#\# Sitemap section | No markdown version available |
| n/a | `P21` | Code blocks declare a language | No code blocks on the page |
| n/a | `P22` | API pages link an API schema | Not an API documentation page |
| pass | `P23` | Content does not depend on JavaScript rendering | 0 chars of server-rendered text |
| fail | `P24` | llms.txt describedby link | No rel="describedby" link to llms.txt |

### https://www.wte.net/Work-with-Us

HTTP 200 · 4/22 checks passed

| Status | ID | Check | Message |
|---|---|---|---|
| pass | `P1` | Returns HTTP 200 | HTTP 200 |
| pass | `P2` | At most one redirect | No redirects |
| pass | `P3` | Content-Type is text/html | Content-Type: text/html |
| warn | `P4` | No noindex / noai X-Robots-Tag | \<meta name="robots"\> contains noindex \(noindex,nofollow\) |
| fail | `P5` | Canonical link | No \<link rel="canonical"\> |
| fail | `P6` | Meta description \(≥ 50 chars\) | No \<meta name="description"\> |
| fail | `P7` | og:title | No og:title |
| fail | `P8` | og:description | No og:description |
| fail | `P9` | html lang attribute | \<html\> has no lang attribute |
| fail | `P10` | JSON-LD structured data present | No \<script type="application/ld+json"\> blocks |
| fail | `P11` | JSON-LD has required fields | No JSON-LD to validate |
| fail | `P12` | At least 3 headings \(h1–h3\) | Only 0 h1–h3 heading\(s\) |
| fail | `P13` | Text-to-HTML ratio | Text-to-HTML ratio 0% \(0 text chars / 212 HTML chars\) |
| fail | `P14` | Links to a glossary | No link to /glossary, /terminology or /definitions |
| fail | `P15` | Markdown mirror \({path}.md\) | https://www.wte.net/Work-with-Us.md → HTTP 200 text/html |
| fail | `P16` | Markdown frontmatter \(title, description, last\_updated\) | No markdown version available to inspect |
| fail | `P17` | link rel=alternate type=text/markdown | No alternate markdown link in \<head\> or Link header |
| fail | `P18` | Markdown endpoint sends Link rel=canonical | No markdown version available |
| fail | `P19` | Accept: text/markdown negotiation | Accept: text/markdown → HTTP 200 text/html |
| fail | `P20` | Markdown has a \#\# Sitemap section | No markdown version available |
| n/a | `P21` | Code blocks declare a language | No code blocks on the page |
| n/a | `P22` | API pages link an API schema | Not an API documentation page |
| pass | `P23` | Content does not depend on JavaScript rendering | 0 chars of server-rendered text |
| fail | `P24` | llms.txt describedby link | No rel="describedby" link to llms.txt |

### https://www.wte.net/Privacy-Policy

HTTP 200 · 4/22 checks passed

| Status | ID | Check | Message |
|---|---|---|---|
| pass | `P1` | Returns HTTP 200 | HTTP 200 |
| pass | `P2` | At most one redirect | No redirects |
| pass | `P3` | Content-Type is text/html | Content-Type: text/html |
| warn | `P4` | No noindex / noai X-Robots-Tag | \<meta name="robots"\> contains noindex \(noindex,nofollow\) |
| fail | `P5` | Canonical link | No \<link rel="canonical"\> |
| fail | `P6` | Meta description \(≥ 50 chars\) | No \<meta name="description"\> |
| fail | `P7` | og:title | No og:title |
| fail | `P8` | og:description | No og:description |
| fail | `P9` | html lang attribute | \<html\> has no lang attribute |
| fail | `P10` | JSON-LD structured data present | No \<script type="application/ld+json"\> blocks |
| fail | `P11` | JSON-LD has required fields | No JSON-LD to validate |
| fail | `P12` | At least 3 headings \(h1–h3\) | Only 0 h1–h3 heading\(s\) |
| fail | `P13` | Text-to-HTML ratio | Text-to-HTML ratio 0% \(0 text chars / 212 HTML chars\) |
| fail | `P14` | Links to a glossary | No link to /glossary, /terminology or /definitions |
| fail | `P15` | Markdown mirror \({path}.md\) | https://www.wte.net/Privacy-Policy.md → HTTP 200 text/html |
| fail | `P16` | Markdown frontmatter \(title, description, last\_updated\) | No markdown version available to inspect |
| fail | `P17` | link rel=alternate type=text/markdown | No alternate markdown link in \<head\> or Link header |
| fail | `P18` | Markdown endpoint sends Link rel=canonical | No markdown version available |
| fail | `P19` | Accept: text/markdown negotiation | Accept: text/markdown → HTTP 200 text/html |
| fail | `P20` | Markdown has a \#\# Sitemap section | No markdown version available |
| n/a | `P21` | Code blocks declare a language | No code blocks on the page |
| n/a | `P22` | API pages link an API schema | Not an API documentation page |
| pass | `P23` | Content does not depend on JavaScript rendering | 0 chars of server-rendered text |
| fail | `P24` | llms.txt describedby link | No rel="describedby" link to llms.txt |

## Sitemap

- [Site map (markdown)](http://www.whosbest.org/sitemap.md)
- [llms.txt](http://www.whosbest.org/llms.txt)
- [Run your own check](http://www.whosbest.org/check)
- [This report (JSON)](http://www.whosbest.org/api/v1/readiness/scan/fmwtmysbwz26)
