> Content index: https://quillly.com/changelog/llms.txt
> Canonical page: https://quillly.com/changelog

---
title: Changelog · Quillly
description: Product updates, new features, and fixes from Quillly.
updated: 2026-07-26
url: https://quillly.com/changelog
entry_count: 6
---

# Changelog · Quillly

> Product updates, new features, and fixes from Quillly.

Canonical: https://quillly.com/changelog

## July 2026

### Agent-ready markdown, crawler analytics, and a calmer dashboard

Published: 2026-07-26
Permalink: https://quillly.com/changelog#entry-agent-ready-markdown-crawler-analytics

## Markdown that AI agents can actually read

Every published post has always advertised a markdown twin. Now it returns markdown.

- `yoursite.com/blogs/your-post.md` returns real `text/markdown` — the article body and nothing else. No navigation, no cookie banner, no page chrome.

- The article URL itself serves markdown when a client asks for it with `Accept: text/markdown`, so an agent never has to know a second URL exists. Browsers still get HTML.

- One serializer feeds `.md`, [llms.txt](https://quillly.com/blogs/llms-txt-explained) and the negotiated response, so the three can't drift apart.

![Flowchart showing one blog URL serving HTML to browsers and text/markdown to AI agents, based on the Accept header or a .md suffix, with both markdown paths carrying a canonical link header back to the article](https://quillly.com/serve/v1/019c64a2-a62f-7793-aa68-2c78316d3309/images/23536d2fbe0a262722c75d0037e4491d4000c367.webp)

It matters because an [AI crawler](https://quillly.com/blogs/ai-crawler-optimization-2026) reading your HTML spends most of its context budget on markup it will throw away. Clean markdown is the same article at a fraction of the tokens, which makes the whole piece far likelier to survive into an answer.

## One canonical URL again

The markdown twin used to declare *itself* canonical. That put two identical documents in front of Google and let them compete.

- `.md` and `llms.txt` responses now send a `Link: <article-url>; rel="canonical"` header pointing back at the HTML article — the header form, because a plain-text response has no `<head>` to put a tag in.

- Sitemaps list canonical HTML URLs only: **one entry per post instead of three**. The markdown representations stay reachable and stay out of the index.

This follows Google's own guidance that alternate representations should point at a single canonical URL rather than nominate themselves — see [Google's canonicalization documentation](https://developers.google.com/search/docs/crawling-indexing/consolidate-duplicate-urls).

## Agents can find your index

- `robots.txt` now advertises your `llms.txt` location, and every markdown response opens with a pointer to it.

- Crawler rules are generated from Quillly's crawler directory instead of a hardcoded handful, so all **44** tracked AI and search crawlers get an explicit group. Add a crawler to the directory and it appears in `robots.txt` on the next request — nothing to redeploy.

![Discovery chain diagram showing an AI agent reading robots.txt, following it to llms.txt, and from there to individual markdown versions of each article](https://quillly.com/serve/v1/019c64a2-a62f-7793-aa68-2c78316d3309/images/9e52d5a72316ec5bbef2eaae33e186af42a91cc3.webp)

If you've been hand-maintaining any of this, you can stop: it's derived from your [content types](https://quillly.com/docs/content-types) now.

## See what the crawlers are reading

The Pages card in Analytics has a **Crawlers** view sitting next to Visitors — same list, same layout, ranked by bot crawls instead of human views. Crawler hits on `llms.txt` are recorded too, so your index fetches show up as their own rows rather than vanishing.

![Diagram contrasting human visitors recorded by the client-side JavaScript beacon with AI crawlers recorded server-side, both feeding the Pages card in Quillly Analytics](https://quillly.com/serve/v1/019c64a2-a62f-7793-aa68-2c78316d3309/images/644fb7d2b524af2dde7547e348d99b458a08e264.webp)

Crawlers don't run JavaScript, so a normal analytics beacon is blind to them by construction. These hits are captured server-side as the page is served, deduped to one row per bot, per page, per hour. It's the difference between guessing that GPTBot found your post and [knowing which pages it actually read](https://quillly.com/blogs/get-indexed-on-google-fast).

## Connections, rebuilt

- **OAuth connections now appear.** If you connected Claude through the browser flow, that connection was invisible in Settings → Connections — only API keys were listed, so something you used every day could read "Never used". OAuth connections are now first-class, with real last-used times and call counts.

- **A usage panel replaced the single progress bar** — 14 days of activity, your most-used tools, and a per-connection breakdown.

- **Rotate key.** A lost key is no longer a dead end: rotating issues a fresh one and kills the old one immediately.

- **Setup snippets default to a connection key in the URL** rather than OAuth, because CLIs and headless setups often give you exactly one field and no browser to sign in with.

New here? [Connect Claude, ChatGPT or Cursor](https://quillly.com/docs/connect-your-ai){cta=docs} takes about two minutes.

## Fixes

- Opening a dropdown or a dialog no longer shifts the page sideways. The scrollbar gutter was being reserved twice, so locking the background scroll silently narrowed the content by the width of a scrollbar.

- **Changelog entries now reach the **[**IndexNow**](https://quillly.com/blogs/indexnow-bing-chatgpt-indexing)** engines** — Bing, Yandex, Naver, Seznam, Yep and Amazon. Their key location was being derived from the submitted URL's parent path, which for a single-segment changelog URL resolved to the domain root, where no key file is served. Every submission was rejected as unverifiable. It's derived from the path Quillly actually serves now. ([IndexNow's spec](https://www.indexnow.org/documentation) allows a key file anywhere, as long as the `keyLocation` you send points at it.)

- The Content menu no longer lands on the Pages tab when your site has real content types configured.

## Frequently asked questions

### Do I need to change anything?

No. Markdown serving, the canonical headers, the sitemap change and the `robots.txt` generation are all automatic on your existing content. If you previously added `llms.txt` links or crawler rules by hand, you can delete them.

### Will the `.md` URLs compete with my articles in search?

No. Every markdown response carries a canonical header pointing at the HTML article, and sitemaps list the article only. Search engines treat the markdown as an alternate representation of a page they already know, not as a second page.

### Where do I see which crawlers read my pages?

Open Analytics, find the Pages card, and switch the lens from Visitors to Crawlers. It's the same page list ranked by bot crawls instead of human views, and it includes `llms.txt` fetches alongside ordinary article reads.

### My older changelog entries still show failed IndexNow submissions. Will they clear?

Those are stamps left by the attempts that failed, kept as a record — they don't re-check themselves. Saving the entry again re-submits it and overwrites the status with a fresh result from each engine.

### Does llms.txt replace a sitemap?

No — they answer different questions. A [sitemap](https://quillly.com/docs/deploy-hook) tells a crawler which URLs exist on your site. `llms.txt` and the markdown twins decide how much of each article actually survives the trip into an AI answer.

> **Let your AI publish, and see who reads it**
> Connect Claude, ChatGPT, Cursor or Claude Code to Quillly, publish to your own domain, and watch which crawlers pick it up.
> → [Start free](https://quillly.com/login)

### Teams: seat-based plans, organization profiles, and sharper served pages

Published: 2026-07-26
Permalink: https://quillly.com/changelog#entry-teams-seats-org-profiles

Quillly now has a **Teams plan** — one subscription for your whole content team, priced per seat like Pro.

## New

- **Teams plan**: $36/month or $384/year with 4 seats included. Additional seats are $9/month each ($96/year on the yearly cycle) — add or remove them any time from your billing portal, and the change applies to your workspace within seconds.

- **Fair seat handling**: if seats ever drop below your member count, nobody is deleted. The newest members are paused (their work and role stay intact), you get an email listing exactly who, and they reactivate automatically — longest-waiting first — the moment a seat opens up.

- **Organization profile**: owners and admins can set a team logo and links (website, X, LinkedIn, GitHub, YouTube, Instagram). Websites shared with your team show it on every published page — a "From the team at" block in the footer plus the publisher in structured data, so search engines attribute your content to your company.

- **Share buttons everywhere**: docs pages and each changelog entry now have share buttons, and on blog posts sharing moved right where readers finish — before the author card.

## Improved

- **Internal links understand every content type.** The editor's link picker now searches posts, docs, and changelog entries together, labels each result, and shows its real public path — and links to docs resolve under /docs, never a broken blog URL. Agent link suggestions got the same upgrade.

- **Author links that make sense**: bylines link to the author's own site only when it's genuinely external — no more links that loop back to the page's own homepage.

- Wider, calmer table of contents, and more breathing room after the featured image's caption.

## Fixed

- The "Copy as Markdown" button rendered unstyled on published posts.

- A faint shadow bled down the right edge of every published page — gone.

- Table copy buttons no longer overlap the last column header; they live in a slim strip above the table at every screen size.

- The mobile navigation drawer no longer shows a stray accent line while open.

### New free SEO tools: Page Analyzer, DR checker and more

Published: 2026-07-11
Permalink: https://quillly.com/changelog#entry-free-seo-tools

Four new free tools join the lineup at [quillly.com/tools](https://quillly.com/tools) — no signup required.

- **Page Analyzer** — paste any URL and get a full "why isn't this page ranking?" diagnosis: title and meta contract, content quality, AI-crawler readiness, sitemap and robots checks, with a shareable results link.

- **Domain Rating checker** — look up any domain's DR (by Ahrefs) instantly.

- **IndexNow ping** — notify Bing and other IndexNow engines about changed URLs in one click.

- **llms.txt generator + validator** — create a spec-correct llms.txt for your site, or validate an existing one.

Every check the tools run is the same engine Quillly uses to keep customer pages healthy.

New to Quillly? [Getting started](https://quillly.com/docs/getting-started) walks through adding your site and publishing your first post.

### Faster content dashboard + full-library search

Published: 2026-07-11
Permalink: https://quillly.com/changelog#entry-faster-content-dashboard

The content dashboard is quicker, and search now reaches your whole library.

- Search runs across every item of a content type in the database, not just the rows already loaded on screen, matching title, slug, excerpt, and meta description.

- Infinite scroll is faster: pagination is index-backed and no longer runs a count scan on every load.

- Result tables render from a trimmed field projection, so large libraries feel snappier.

- Starting a new search resets the list cleanly and guards against out-of-order responses landing over newer ones.

Your AI can drive the same library from a chat window — see [connect Claude, ChatGPT or Cursor](https://quillly.com/docs/connect-your-ai).

### A more readable article page

Published: 2026-07-11
Permalink: https://quillly.com/changelog#entry-premium-reading-experience

Published articles, docs, and changelog pages got a readability pass.

- Code blocks are syntax-highlighted on the server with Shiki, and the token colors follow the reader's light or dark mode.

- A sticky table of contents marks the section you're reading and moves with you, alongside a slim reading-progress bar.

- Hover any heading to reveal an anchor link, so you can share a deep link straight to that section.

- Tables, blockquotes, and captions were refined for cleaner spacing and rhythm.

- Typography is tuned too: a larger opening lede and balanced heading wrapping make long reads easier on the eye.

These pages are served from your own domain — see [content types & endpoints](https://quillly.com/docs/content-types) for how each one is published.

### Charts and diagrams, rendered in your brand

Published: 2026-07-11
Permalink: https://quillly.com/changelog#entry-branded-code-images

Diagrams and charts you write as code now publish as polished images that match your site.

- Fenced mermaid, chart, HTML, and SVG blocks render server-side into crisp WebP, with no client JavaScript, so bots, LLMs, and image search can read them.

- Every image is a light card drawn in your site's brand color, with surface, ink, and accents pulled from your theme.

- Add an optional caption to any block and it travels into the served figure.

- On published pages, clicking an image opens a zoom lightbox with its caption.

- Edit the code or change your brand color and the image re-renders automatically on the next save.

Visual density is part of how a post is scored — see [how Quillly scores your content](https://quillly.com/docs/seo-scoring).
