CrawlCheck

Directory · Content and GEO

Article Forge — what a crawler receives from articleforge.com

Website measurement, not a product review. This page records what machine clients received from articleforge.com. It does not evaluate Article Forge software, features, pricing or support.

69
Dgrade

AI assistants are being shown something other than your site.

AI visibility 69/100, measured 2026-11-02 17:33 UTC from outside its network, as each named AI and search crawler and as a browser. An engine can technically reach this site and would struggle to get anything quotable out of it.

Held at D A high-severity finding sets the letter.

Open the full report articleforge.com ↗

4

findings

✗

llms.txt on its host

✗

entity map on its host

9

scans on record since 2026-09-18

The three stages, in the order an engine hits a site

Each stage gates the next: an engine that cannot reach a page never reads it, and one that cannot read it never quotes it.

76

Stage 1 · 40% of the score

Reach

Can a named answer-engine crawler get your pages at all?

At least one answer engine was refused, challenged or served less than a browser.

71

Stage 2 · 30% of the score

Read

Once it has the bytes, can it find the words?

The content is buried in markup, or the files that guide a crawler are missing.

57

Stage 3 · 30% of the score

Quote

Is there a specific fact it can state and attribute?

An assistant would have to paraphrase your page instead of quoting a fact.

The stage to fix first is quote, the lowest of the three.

What to fix

4 findings on this site, 2 of them scored serious. Every one is named below; the top one is shown in full, free. What we saw, why each matters, how to fix it and the bytes behind it are what a licence buys — or we implement the whole list for you.

1 High 1 Medium 2 Note

1A named crawler was served materially less text than an ordinary clientGooglebot got 123 words, Googlebot Smartphone got 123 words — an unnamed client got 6091HighSetting

What we saw

Googlebot got 123 words, Googlebot Smartphone got 123 words — an unnamed client got 6091

Why it matters

Same URL, same minute, both answered 200 — but the named crawler received materially fewer words than an unnamed client did. A refusal is loud and easy to find; being served a thinner page is silent, and it is the version an answer engine quotes from.

How to fix it

Serve every crawler the same HTML a browser gets. Check bot-management rules, 'lite' templates and user-agent conditions in the CMS or CDN.

Setting: a setting on the server, CDN, DNS or a plugin — no code and no writing

Fix it with a coding agent

Paste into Claude Code, Cursor or Codex, opened on the code that serves this site.

Show prompt
You are working in the codebase (or server/CDN configuration) that serves articleforge.com. A crawler audit found the problem below. Fix it at the source, keep the change as small as possible, and do not change anything a visitor sees unless the fix requires it.

Finding: A named crawler was served materially less text than an ordinary client (CRAWLER_SERVED_LESS, high severity)
Page: https://articleforge.com/
What was measured: Googlebot got 123 words, Googlebot Smartphone got 123 words — an unnamed client got 6091
Why it matters: Same URL, same minute, both answered 200 — but the named crawler received materially fewer words than an unnamed client did. A refusal is loud and easy to find; being served a thinner page is silent, and it is the version an answer engine quotes from.
How to fix it: Serve every crawler the same HTML a browser gets. Check bot-management rules, 'lite' templates and user-agent conditions in the CMS or CDN.

Rule and examples: https://crawlcheck.io/rules/CRAWLER_SERVED_LESS
Full report (markdown): https://crawlcheck.io/r/lexpd0g6xb.md

When you are done:
1. Tell me which files or settings you changed and why.
2. If the fix is a server, CDN or cache setting you cannot change from the code, say exactly where it is set.
3. After deploying, re-scan at https://crawlcheck.io/?url=articleforge.com . The fix counts when CRAWLER_SERVED_LESS is gone from the new report.
Why this was decided
RuleCRAWLER_SERVED_LESS · rule pack sv34 · scope route
Evaluated2026-11-02 17:33:06 UTC
Decisiond1:637fa680f3beafd6c93c · finding f1:cec7352eea1e51602654 resolve either at /api/graph/<id> with a key
Observercrawlcheck-worker build 9473874c · audit v4

What it rests on

IdentityStatusBytessha256Kept
baseline: Unnamed client20094,7085b10356f8f41already_held
compared: Googlebot200717,176f267ac20ff5awrite_unconfirmed
compared: Googlebot Smartphone200717,176f267ac20ff5awrite_unconfirmed

20 more in the manifest.

Artifacts: manifest:3fe236ff03962aafe1385c7f46803c09cc55dd50ca26cd03f6f066214564be97

Grade effect Caps the letter at D. Without it the letter would be C (score 69). Moves no points; the score is built from the measured rows.

Rule CRAWLER_SERVED_LESS under scoring rules v34 · fingerprint CRAWLER_SERVED_LESS|/ · new on this scan (1 scan)

Verify the fix Re-scan after the change. This finding is cleared when CRAWLER_SERVED_LESS is no longer reported at /; if it comes back after clearing, it is marked a regression, not a new finding.

CRAWLER_SERVED_LESS · full transcript

2The ARD manifest breaks the specification/.well-known/ard.json🔒 What we saw, why it matters, the fix and the evidence bytes are in the licensed report.Medium
3No llms.txt/llms.txt🔒 What we saw, why it matters, the fix and the evidence bytes are in the licensed report.Note
4HTTPS is served without a Strict-Transport-Security header🔒 What we saw, why it matters, the fix and the evidence bytes are in the licensed report.Note

Open the other 3

What we saw, why it matters, how to fix it, and the evidence bytes for every finding — on this report and every re-scan. From $29 a month.

Unlock the findings

Or have them fixed

We implement the list on your site and re-measure, with a sealed before and after. One site, $100 once.

Get this fixed — $100

The chain a crawler follows

The chain breaks at llms.txt. Everything after that point is only reachable by a crawler guessing the conventional path.

✓robots.txtEvery crawler reads this first
✓sitemapNamed in robots.txt and resolves
✗llms.txtPoints onward, links stay on this host
✗entity graphParses as JSON and points home

A machine file that does not parse is worth less than one that is absent, because it looks present. Rows behind this.

Where the bytes go

Of the 103,417 decompressed bytes the homepage delivers, 37.9% is text a reader or a model can actually use. That is a healthy share.

  • Readable text 37.9% · 39,220 B
  • Markup & attributes 42.6% · 44,082 B
  • Inline JavaScript 17.4% · 17,998 B
  • Inline SVG 0.6% · 593 B
  • HTML comments 1.5% · 1,524 B

The individual blocks that weigh the most, so the fix is a search rather than a hunt:

  • Inline JavaScript · 5,655 B (5.5%) — unnamedopens $(document).ready(function() { $(".samples-btn-hero").click(function()
  • Inline JavaScript · 3,672 B (3.6%) — unnamedopens // toggle slider function v1 // function wordToPlanv1(word) { switch (
  • Inline JavaScript · 3,213 B (3.1%) — unnamedopens // toggle slider function v2 // function wordToPlanv2(word) { switch (
Section average over 2 scans on this score version · held at 69 since 2026-11-02
0501002026-10-26 11:08 · 61/100 · 5 findings2026-11-02 17:33 · 69/100 · 4 findings2026-10-262026-11-02

What changed

  1. 2026-11-02score moved 59 → 73score-up
  2. 2026-11-02robots.txt named a sitemapresolved
  3. 2026-11-02resolved: robots.txt answers with the catch-all page - there is no robots.txtresolved
  4. 2026-11-02a sitemap became readableresolved
  5. 2026-11-02a new finding appeared: a named crawler was served materially less text than an ordinary clientappeared
  6. 2026-11-02a new finding appeared: the ard manifest breaks the specificationappeared
  7. 2026-10-22score moved 58 → 59score-up

9 scans on record, first 2026-09-18. Score movements are shown only between readings taken under the same score version; finding codes are comparable across all of them.

Is this your site?

This listing reads the public record. Claim it and Watch keeps that record on your terms: every list this page holds back, finding age, and twice-daily re-measurement. Free for 30 days, no card.

Claim the record for articleforge.com

Is this your company?

This listing came from a fetch, not a submission, so nobody was asked. If articleforge.com is yours you can prove it in a minute and for nothing — a DNS TXT record or one meta tag on the home page, both checkable by anyone.

Claiming marks you as the verified owner and lets you correct the category and the company name. It moves no score, no rank and no position.

Claim this listing — free or ask about a verified profile

Dispute or re-scan

If a reading here is wrong, it is our instrument that is wrong, and we want to know. Tell us what is wrong and the site is re-measured; the result is published as measured. Nothing about a listing, a payment or a request changes a number.

By email instead: hello@crawlcheck.io. Category “Content and GEO” is our label for what the product is primarily sold as; it is not scored. Back to the directory.