duckdb.org, read 3 days ago. Back to the report

77 to 100 in 12 steps

Do them in this order. Each step says what to change, on which pages, and what it adds. Hand the whole plan to your agent, or work through it yourself.

7777 nownow841top 50%8729039349559669879989999910991110012full marks

Now #132,945 of 263,587Step 1 top 50%Step 12 full marks

Worked out from this read, with every step before it done. A score says pages are well formed. It does not say an assistant cites the site.

The steps

Each is one change across the pages named. When one is live, read the site again and mttr marks it done.

  1. 1

    Add a tap-to-call link

    +7 points, to 84, and #70,823, 62,122 places up, and into the top 50%

    Add a tap-to-call phone link.

    100 pages, 57 of them under /library/

    See the pages
    • /
    • /events/2023/02/03/duckcon2
    • /events/2023/06/29/duckcon3
    • /events/2024/02/02/duckcon4
    • /events/2024/08/15/duckcon5
    • /events/2024/10/17/duckdb-amsterdam-meetup-1
    • /events/2025/01/31/duckcon6
    • /events/2025/02/20/duckdb-amsterdam-meetup-2
    • /events/2025/06/26/duckdb-berlin-meetup
    • /events/2025/09/04/duckdb-science-and-education-london-meetup
    • and 90 more in the copied plan
  2. 2

    Put the text in the HTML

    +3 points, to 87

    Put the page text in the HTML the server sends. Most AI crawlers do not run scripts.

    50 pages, 40 of them under /library/

    See the pages
    • /events/2027/04/07/duckcon8
    • /everywhere/aws-ec2-i8g-48xlarge
    • /everywhere/framework-laptop-13
    • /everywhere/iphone-17-pro
    • /everywhere/macbook-neo-2026
    • /everywhere/microsoft-surface-laptop-15
    • /everywhere/morefine-m700s
    • /everywhere/samsung-galaxy-s24-ultra
    • /everywhere/samsung-qe42s90f-tv
    • /everywhere/steam-deck
    • and 40 more in the copied plan
  3. 3

    Answer the first question right under it

    +3 points, to 90

    Answer the first question in the paragraph right under it, in 25 to 90 words. Whether the paragraph truly answers is for the judge or a person to say.

    99 pages, 57 of them under /library/

    See the pages
    • /events/2023/02/03/duckcon2
    • /events/2023/06/29/duckcon3
    • /events/2024/02/02/duckcon4
    • /events/2024/08/15/duckcon5
    • /events/2024/10/17/duckdb-amsterdam-meetup-1
    • /events/2025/01/31/duckcon6
    • /events/2025/02/20/duckdb-amsterdam-meetup-2
    • /events/2025/06/26/duckdb-berlin-meetup
    • /events/2025/09/04/duckdb-science-and-education-london-meetup
    • /events/2025/09/17/duckdb-amsterdam-meetup-3
    • and 89 more in the copied plan
  4. 4

    Phrase headings as questions

    +3 points, to 93

    Phrase at least one heading as the question a person would ask.

    96 pages, 57 of them under /library/

    See the pages
    • /events/2023/02/03/duckcon2
    • /events/2023/06/29/duckcon3
    • /events/2024/02/02/duckcon4
    • /events/2024/08/15/duckcon5
    • /events/2024/10/17/duckdb-amsterdam-meetup-1
    • /events/2025/01/31/duckcon6
    • /events/2025/02/20/duckdb-amsterdam-meetup-2
    • /events/2025/06/26/duckdb-berlin-meetup
    • /events/2025/09/04/duckdb-science-and-education-london-meetup
    • /events/2025/09/17/duckdb-amsterdam-meetup-3
    • and 86 more in the copied plan
  5. 5

    Add depth to thin pages

    +2 points, to 95

    Add true, specific detail until the page covers its subject.

    93 pages, 57 of them under /library/

    See the pages
    • /events/2023/06/29/duckcon3
    • /events/2024/10/17/duckdb-amsterdam-meetup-1
    • /events/2025/02/20/duckdb-amsterdam-meetup-2
    • /events/2025/06/26/duckdb-berlin-meetup
    • /events/2025/09/04/duckdb-science-and-education-london-meetup
    • /events/2025/09/17/duckdb-amsterdam-meetup-3
    • /events/2026/06/24/duckcon7
    • /events/2026/09/03/duckdb-boston-meetup
    • /events/2026/09/10/pydata-amsterdam
    • /events/2026/09/18/dbt-without-the-warehouse-or-the-bill
    • and 83 more in the copied plan
  6. 6

    Describe images

    +1 point, to 96

    Describe every content image in its alt text.

    100 pages, 57 of them under /library/

    See the pages
    • /
    • /events/2023/02/03/duckcon2
    • /events/2023/06/29/duckcon3
    • /events/2024/02/02/duckcon4
    • /events/2024/08/15/duckcon5
    • /events/2024/10/17/duckdb-amsterdam-meetup-1
    • /events/2025/01/31/duckcon6
    • /events/2025/02/20/duckdb-amsterdam-meetup-2
    • /events/2025/06/26/duckdb-berlin-meetup
    • /events/2025/09/04/duckdb-science-and-education-london-meetup
    • and 90 more in the copied plan
  7. 7

    Fix description lengths

    +2 points, to 98

    Write a meta description of 70 to 165 characters that summarizes the page.

    91 pages, 57 of them under /library/

    See the pages
    • /events/2023/02/03/duckcon2
    • /events/2023/06/29/duckcon3
    • /events/2024/02/02/duckcon4
    • /events/2024/08/15/duckcon5
    • /events/2024/10/17/duckdb-amsterdam-meetup-1
    • /events/2025/01/31/duckcon6
    • /events/2025/02/20/duckdb-amsterdam-meetup-2
    • /events/2025/06/26/duckdb-berlin-meetup
    • /events/2025/09/04/duckdb-science-and-education-london-meetup
    • /events/2025/09/17/duckdb-amsterdam-meetup-3
    • and 81 more in the copied plan
  8. 8

    Add breadcrumb data

    +1 point, to 99

    Add BreadcrumbList schema so the page has a place in the site.

    99 pages, 57 of them under /library/

    See the pages
    • /events/2023/02/03/duckcon2
    • /events/2023/06/29/duckcon3
    • /events/2024/02/02/duckcon4
    • /events/2024/08/15/duckcon5
    • /events/2024/10/17/duckdb-amsterdam-meetup-1
    • /events/2025/01/31/duckcon6
    • /events/2025/02/20/duckdb-amsterdam-meetup-2
    • /events/2025/06/26/duckdb-berlin-meetup
    • /events/2025/09/04/duckdb-science-and-education-london-meetup
    • /events/2025/09/17/duckdb-amsterdam-meetup-3
    • and 89 more in the copied plan
  9. 9

    Put figures in tables

    Under a point

    Where the guide compares options or gives figures, put them in a table.

    27 pages, 18 of them under /everywhere/

    See the pages
    • /events/2026/09/10/pydata-amsterdam
    • /events/2026/09/18/dbt-without-the-warehouse-or-the-bill
    • /events/2026/09/22/nobody-knows-what-oltp-is
    • /events/2026/10/07/analytics-over-postgres-data-with-duckdb
    • /events/2026/10/15/pycon-nl
    • /events/2026/10/20/alice-and-eve
    • /events/2026/11/11/duckdb-x-hf-amsterdam-workshop
    • /events/2027/01/24/cidr
    • /events/2027/04/07/duckcon8
    • /everywhere/asus-chromebook
    • and 17 more in the copied plan
  10. 10

    Show sources on guides

    Under a point

    Link the sources for the guide's facts where a reader can see them. Official and primary sources carry the most weight.

    12 pages, 10 of them under /everywhere/

    See the pages
    • /everywhere/aws-ec2-i8g-48xlarge
    • /everywhere/bananapi-f3
    • /everywhere/framework-laptop-13
    • /everywhere/iphone-16-pro
    • /everywhere/macbook-neo-2026
    • /everywhere/macbook-pro-m1-max-2021
    • /everywhere/macbook-pro-retina-2012
    • /everywhere/microsoft-surface-laptop-15
    • /everywhere/raspberry-pi-5
    • /everywhere/samsung-galaxy-s24-ultra
    • and 2 more in the copied plan
  11. 11

    Settle on one address

    Under a point

    Redirect http, https, www, and the bare domain to one address, so the site is not indexed as several.

    Once, for the whole site

  12. 12

    Fix title lengths

    +1 point, to 100, and full marks

    Write a title of 15 to 65 characters that leads with what the page covers.

    17 pages, 9 of them under /library/

    See the pages
    • /events/2026/10/15/pycon-nl
    • /events/2026/10/20/alice-and-eve
    • /events/2027/01/24/cidr
    • /everywhere/iphone-17-pro
    • /everywhere/morefine-m700s
    • /everywhere/nvidia-vera
    • /everywhere/raspberry-pi-5
    • /everywhere/steam-deck
    • /library/announcing-duckdb-support-for-delta-lake-and-unity-catalog
    • /library/dear-udfs
    • and 7 more in the copied plan
2 more, to tidy up after 100
  1. 13

    Add lists or tables

    Under a point

    Add a table, a list, or a definition list. Assistants quote these more readily than prose.

    17 pages under /everywhere/

    See the pages
    • /everywhere/asus-chromebook
    • /everywhere/aws-ec2-i8g-48xlarge
    • /everywhere/bananapi-f3
    • /everywhere/framework-laptop-13
    • /everywhere/hetzner
    • /everywhere/iphone-16-pro
    • /everywhere/iphone-17-pro
    • /everywhere/iphone-17-pro-vs-databricks
    • /everywhere/macbook-neo-2026
    • /everywhere/macbook-pro-m1-max-2021
    • and 7 more in the copied plan
  2. 14

    Use one main heading

    Under a point

    Give the page exactly one h1 that says what it is about.

    The home page

What else the read found

Half its pages start answering within 215 ms, inside the 800 ms a crawler is patient with. One fetch a page, the way a crawler sees it.

  • /library/alp552 ms
  • /library/postgresql-in-line-for-duckdb-shaped-boost-in-analytics-arena548 ms
  • /library/practical-applications-for-duckdb536 ms
  • /everywhere/macbook-neo-2026531 ms
  • /everywhere/samsung-qe42s90f-tv433 ms

Fastest: /everywhere/bananapi-f3, 117 ms. Heaviest: the home page, 106 KB.

Read from its home page’s code and the headers its server sent. A tool that loads later, or only on other pages, is not seen here.

  • CloudflareHosting
  • Cloudflare Web AnalyticsAnalytics
  • jQueryLibrary
pages with strong signs
0
hidden characters
0
chat, markdown or placeholders left in
0
dashes per 1,000 words
4.1

A sign is not proof. Hidden characters can carry a watermark or instructions meant for an AI, and they come off with a clean copy of the text.

  • / fails 3: Use one main heading, Add a tap-to-call link and Describe images1 page
  • /library/ 57 fail a rule. Worst: /library/announcing-duckdb-support-for-delta-lake-and-unity-catalog, 9 rules57 pages
  • /events/ 23 fail a rule. Worst: /events/2026/10/15/pycon-nl, 9 rules23 pages
  • /everywhere/ 19 fail a rule. Worst: /everywhere/aws-ec2-i8g-48xlarge, 11 rules19 pages

The read stopped at its page limit, so pages no link leads to cannot be told from pages it did not reach, and neither is reported.

Rather go through these with one of our experts? Book a strategy session

Fix duckdb.org with your agent

Your agent makes the fixes. mttr checks each one. Free.

In the site’s repositorynpx skills add subinternal/mttr
Then tell your agentCheck duckdb.org with mttr and fix what’s worth the most.

Claude Code, Codex, Cursor or any agent that reads AGENTS.md.

Claude Code, onceclaude mcp add --transport http mttr https://mttr.si/mcp
It needs a free key
Another agent
Read it againChanged something? A site is read at most once every ten minutes.