CrawlCheck

Directory · Content and GEO

Junia AI — what a crawler receives from junia.ai

Website measurement, not a product review. This page records what machine clients received from junia.ai. It does not evaluate Junia AI software, features, pricing or support.

86
Cgrade

AI assistants like ChatGPT can read your site, but find little to quote about your product.

AI visibility 86/100, measured 2026-10-30 11:33 UTC from outside its network, as each named AI and search crawler and as a browser. An engine can reach and read this site. What is left is giving it something specific to say.

Held at C A medium-severity finding sets the letter.

Open the full report junia.ai ↗

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.

95

Stage 1 · 40% of the score

Reach

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

Every named crawler was served the same page a browser gets.

88

Stage 2 · 30% of the score

Read

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

The delivered HTML is mostly content, and the machine files point at the rest.

73

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, 1 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 Medium 3 Note

1robots.txt declares no sitemapNo Sitemap: directive present.MediumSetting

What we saw

No Sitemap: directive present. /robots.txt

Why it matters

Adding one Sitemap: line lets crawlers enumerate the site instead of guessing at it.

How to fix it

Add a Sitemap: line to robots.txt pointing at the full sitemap URL, so crawlers find it without guessing.

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

On Next.js (detected)

  1. App Router: add app/robots.ts that returns a MetadataRoute.Robots object (rules per userAgent, sitemap URL). Pages Router or static export: put robots.txt in public/.
  2. Ship one of the two, not both: the route handler and a public/robots.txt collide.

In Cloudflare (this site is behind it)

  1. If Cloudflare's managed robots.txt is on (Security → Bots, or AI Crawl Control → robots.txt), Cloudflare adds its own lines above yours. Turn it off, or keep it knowing those lines are there.
  2. Robots.txt is cached at the edge: purge it (Caching → Configuration → Custom purge → the robots.txt URL) after you change it.

All Next.js fixes

On Next.js (detected)

  1. App Router: app/sitemap.ts returning MetadataRoute.Sitemap, one entry per URL with lastModified set to the content's real change date.
  2. Reference it from app/robots.ts (sitemap field) so crawlers find it.

All Next.js fixes

Site deployed from GitHub

  1. Add this workflow file as .github/workflows/crawlcheck.yml (change robots-path if robots.txt lives elsewhere).
  2. Run it from the Actions tab: it opens one pull request with the corrected robots.txt, every change listed. Review, merge, deploy.

How the action works

Paste this

Add this line anywhere in robots.txt.

Sitemap: https://www.junia.ai/sitemap.xml

The whole corrected robots.txt for www.junia.ai · built from the live file, every change listed at the top.

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 junia.ai. 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: robots.txt declares no sitemap (ROBOTS_NO_SITEMAP, medium severity)
Page: https://junia.ai/robots.txt
What was measured: No Sitemap: directive present.
Why it matters: Adding one Sitemap: line lets crawlers enumerate the site instead of guessing at it.
How to fix it: Add a Sitemap: line to robots.txt pointing at the full sitemap URL, so crawlers find it without guessing.
Detected platform: Next.js. Make the change where this platform controls it.
Rule and examples: https://crawlcheck.io/rules/ROBOTS_NO_SITEMAP
Full report (markdown): https://crawlcheck.io/r/3u2ga72neg.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=junia.ai . The fix counts when ROBOTS_NO_SITEMAP is gone from the new report.
Why this was decided
RuleROBOTS_NO_SITEMAP · rule pack sv34 · scope core
Evaluated2026-10-30 11:33:51 UTC
Decisiond1:2a91b28dcecb90b302f5 · finding f1:6c25b38290afc54a355c resolve either at /api/graph/<id> with a key
Observercrawlcheck-worker build 48134344 from LAX · audit v4

What it rests on

IdentityStatusBytessha256Kept
read: /robots.txt200931ed0389977b2already_held

23 more in the manifest.

Artifacts: manifest:5897122a53647c58b6cc43be9577005acc6ad4a937181a43fcd35d54952de7c5

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

Rule ROBOTS_NO_SITEMAP under scoring rules v34 · fingerprint ROBOTS_NO_SITEMAP|/robots.txt · persisting (9 scans)

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

ROBOTS_NO_SITEMAP · full transcript

2The homepage is reached through a chain of redirects🔒 What we saw, why it matters, the fix and the evidence bytes are in the licensed report.Note
3No llms.txt/llms.txt🔒 What we saw, why it matters, the fix and the evidence bytes are in the licensed report.Note
4Visitors and crawlers are being served an old copy of this page🔒 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 307,144 decompressed bytes the homepage delivers, 6.4% is text a reader or a model can actually use. Most of what a crawler downloads here is not words.

  • Readable text 6.4% · 19,547 B
  • Markup & attributes 35.7% · 109,504 B
  • Structured data (JSON-LD) 3.5% · 10,845 B
  • Inline CSS 27.4% · 84,090 B
  • Inline JavaScript 1.1% · 3,394 B
  • Inline SVG 25.9% · 79,420 B
  • HTML comments 0.1% · 344 B

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

  • JSON-LD · 6,944 B (2.3%) — #product-reviewsopens {"@context":"https://schema.org/","@type":"SoftwareApplication","name"
  • JSON-LD · 3,330 B (1.1%) — Shopify runtimeopens {"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@ty
Section average over 2 scans on this score version · held at 86 since 2026-10-30
0501002026-10-23 07:36 · 83/100 · 4 findings2026-10-30 11:33 · 86/100 · 4 findings2026-10-232026-10-30

What changed

  1. 2026-10-30score moved 83 → 86score-up
  2. 2026-10-11the homepage began taking more than one redirect to reachappeared
  3. 2026-10-03score moved 81 → 82score-up
  4. 2026-10-03a stale edge copy was served againreturned
  5. 2026-09-26the stale edge copy clearedresolved

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 junia.ai

Is this your company?

This listing came from a fetch, not a submission, so nobody was asked. If junia.ai 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.