How Quillly Scores Your Content: The SEO Score Explained
Every time your AI creates or updates content, Quillly returns an SEO score from 0 to 100 with the saved item. It's a single, honest signal of whether a draft is ready to rank, designed to be acted on rather than admired — and it's the same pipeline scoring this page. As of August 2026, it's also what's behind quillly.com's own blog: 133 published posts averaging 87/100.
What the SEO Score Measures#
The score is a weighted average of 14+ categories covering structure, metadata, keywords, links, and media. The heaviest categories carry the most points, so fixing them first moves the number most:

The Categories, in Plain Terms#
Every category checks something a searcher or a search engine actually cares about, not an arbitrary rule:
Category | What it actually checks |
|---|---|
Keyword Optimization | Does the primary keyword appear in the title, opening paragraph, a heading, and the body — naturally, not stuffed? |
Meta Tags | Are |
Heading Structure | Is the page organized into |
Internal Linking | Does the page link to 2-3+ related pages on the same site, with varied anchor text? |
Readability | Are sentences short enough and the voice active enough to read at an 8th-9th grade level? |
Content Length | Is there enough substance to fully answer the query — density, not padding? See how long a blog post should be. |
External Sources | Do claims point to real citations instead of asserting numbers with nothing behind them? |
E-E-A-T Signals | Are there first-hand expertise signals, data, and freshness cues a search engine's quality systems look for? |
These map closely to what Google's own SEO Starter Guide and guide to helpful, reliable, people-first content describe as the fundamentals of a rankable page — Quillly's score is a machine-checkable proxy for those same signals, not a separate standard.
Key Rules to Know#
A few concrete thresholds drive most of the score:
Meta tags — give every item a
meta_titleof 50-60 characters and ameta_descriptionof 120-155 (keep it under 160). Include your primary keyword in both.Internal links — add at least 2-3 links to related content on your site, using ai-driven internal linking rather than the same anchor text every time; identical anchors are flagged.
Visual density — aim for one visual every ~400 words, spread across sections. Below roughly one per 500 words you lose points, and any 700-word stretch with no image is flagged. Photos count, and so do code-rendered visuals — a Mermaid diagram, a data chart, or a custom HTML layout, each created with an
image:code fence and each needingalttext.Structure and readability — use
##and###headings, short paragraphs, and transition words; do not repeat the title or a byline in the body, since the page chrome already renders them.Keywords — pick a primary keyword you can realistically win. Our AI keyword research playbook covers how to check a keyword's real difficulty before you commit a draft to it. Once the keyword is settled, seven examples of a blog post compares the formats it could take — each with the impressions and search position it earned here.
Run an on-page audit against these same categories on any existing post to see where your current content already stands.
How Your Agent Should React#
Do not guess at fixes. The loop is designed to be mechanical:

After a draft is saved, have your AI call get_blog_seo_patches. It returns a prioritized list of changes with the projected point gain for each — for example, "+8 if you fix Meta Tags" — plus concrete per-category suggestions. Your AI writes the actual edits (the tool gives suggestions, not literal find/replace text) and applies them all in a single update_content call using patches, then re-checks with check_blog_seo. This tight improve-check-improve loop is the fastest way to a high score, and it's the same loop that produced the 87 average mentioned above.
What Is a Good Target#
70 is the publishing floor — Quillly's pre-flight guidance is to reach a score of at least 70, with valid meta lengths, before publish_content. Some websites set a stricter min_publish_score in their content policy, and publish_content is refused below whatever that site's floor is.
Aim higher than the floor, though: 90+ earns an A, and it's achievable — most posts published through Quillly land in the high 80s and 90s, and the score caps deliberately (a page can't hit 90+ on thin content or missing sources, no matter how well-optimized the rest is) so a high score can't hide a weak page. If a draft is below 70, run the patches flow before publishing rather than shipping a weak post.
Key Takeaways#
The SEO score is a weighted average of 14+ categories, not one number pulled from thin air — the heaviest ones (Keyword Optimization, Meta Tags, Heading Structure) move the score the most.
70is the publishing floor;90+is the real target, and it's capped deliberately so thin or unsourced content can't fake its way there.The fix loop is always the same three calls:
get_blog_seo_patches, oneupdate_content, thencheck_blog_seo— repeat until the score clears your target.This isn't theoretical: it's the exact scoring pipeline behind quillly.com's own 133 published posts, averaging 87/100.
Frequently Asked Questions#
What's a good SEO score for a new post?#
Aim for 85+ before publishing if your website's policy allows it — most posts published through Quillly land in the high 80s to mid-90s once the patches loop runs once or twice. Below 70, treat it as a draft, not a ready post.
Why does my score stay capped even after fixing several categories?#
The score caps deliberately when a critical category still fails — for example, thin content or zero external sources — even if every other category is strong. Check criticalIssues in the get_blog_seo_patches response; those are what's holding the cap down.
Does the SEO score guarantee a page will rank?#
No. It's a proxy for on-page fundamentals, not a ranking guarantee. Indexing status, domain authority, and SERP competition still apply after a page scores well.
We've watched this directly on our own blog: a post can score 95 and still sit unindexed for weeks on a low-authority site, because indexing and ranking are separate problems from on-page quality. The score tells you the page is ready; it doesn't control what a search engine does with it next.
How often should I re-run check_blog_seo?#
Every time you materially change a post's content, keywords, or metadata. Minor edits like fixing a typo don't need a re-check; adding a section, changing the primary keyword, or rewriting the intro does.
Can I publish below the minimum score anyway?#
Only by passing force: true to publish_content, and only when you explicitly intend to — the normal path is get_blog_seo_patches → one update_content call → check_blog_seo until the score clears.
Ready to try it? Connect your AI and ask it to write, score, and publish a post — or start from Getting started with Quillly.
