Choose the starting point
Enter a domain or a section URL. Pick Spider + sitemap, Spider only, Sitemap only, or a list of URLs to inspect.
GLLmolfar combines a technical SEO crawl with optional, on-device semantic analysis. Inspect its URLs, see how AI crawlers and assistants can read them, trace each finding to the pages behind it, and decide what deserves attention.
Not signed yet Windows and macOS will warn you. How to run it or check the file** 5,000 URLs without an account, 50,000 with a free one, up to 1,000,000 on paid levels. This is how it works now, an intention rather than a promise: limits can and will change.
* Updated once every 24 hours.

GLLmolfar already crawls real sites and finds real problems, but it is still being built. Use it, and expect it to change.
Windows and macOS warn about any app that is not signed with a paid certificate from Microsoft or Apple. GLLmolfar does not have those certificates yet, so the warning will appear. You have three choices.
On Windows: More info, then Run anyway. On a Mac: System Settings, Privacy & Security, then Open Anyway.
The download window shows the file's SHA-256. Compare it with the file you downloaded; the same value means it is exactly the file we published.
Windows: certutil -hashfile <file> SHA256Mac: shasum -a 256 <file>We will buy the certificates before the full release. Tick “Email me when a new version is out” in the form and we will tell you when signed builds are ready.
WATCH · 2 MIN 24 S
Connect Claude Code, Codex or any MCP agent and it drives GLLmolfar for you: it starts the crawl, reads the findings and comes back with a plan. Pick a chapter to jump straight to it.
The film is in English and its site and numbers are a demo. ** URL limits per account level are on this page, at the top: an intention, not a promise, and they will change.
The same crawl of getlooploop.com, opened in the views that matter for AI search, for meaning and for classic SEO. Nothing here is a mock-up.
Access for each AI bot from robots.txt, llms.txt, and how well pages read in passages an assistant can quote. The ground floor of GEO and AI Overviews: a page that cannot be fetched or quoted cannot be cited.
Everything below is in the app now. A feature marked test lives in the app's Agent · test section and may change.
| Feature | What it does | Where |
|---|---|---|
| Agent skills | 18 ready SEO, GEO and AEO jobs for your AI agent, with their full text to copy. | Help › Agent skills; MCP prompts |
| Page table for agents | Your agent reads any columns for any pages, and counts pages by status, depth, topic, folder, template or problem. | MCP: get_pages, count_pages |
| AI readiness for agents | The AI-readiness score with its parts, robots.txt for each AI bot, llms.txt and Markdown for agents. | MCP: get_ai_readiness |
| Crawl comparison for agents | Pages found and lost, and why; what got better or worse; AI bots newly blocked. | MCP: compare_crawls |
| Draft measurement | Measures a draft against your site with embeddings, on your computer, with no language model: where the answer sits, how well it fits the queries, whether it overlaps another page. | MCP: measure_text |
| Your own AI modelstest | Connect Ollama, LM Studio, OpenRouter, OpenCode Zen, LiteLLM or any OpenAI-compatible server, and choose which model does which job. | Settings › AI models |
| Agent: plan, content, social poststest | A task plan checked against the crawl; page rewrites measured and rewritten until they pass; posts for X, LinkedIn, Threads, Bluesky and more. | Agent · test |
| Risky contenttest | Finds adult, pharma, gambling, scam, counterfeit and drug content and hacker injections; your model judges only what was found. | Agent · test › Risks |
| Accessibility | axe-core checks in the URL audit, in the rendered page. | URL audit |
| Markdown for agents | Checks whether the site serves Markdown to agents that ask for it. | AI tab |
| Alerts after planned crawls | Says what got worse since the crawl before: health, new problems, AI bots blocked in robots.txt. | Planned crawls |
Your models run where you connect them; GLLmolfar sends nothing to us. Limits shown in the app are an intention and will change.*
A crawl is a set of requests and recorded responses. GLLmolfar keeps discovery, extraction and optional meaning analysis visible, so you can understand how the report was produced.
Enter a domain or a section URL. Pick Spider + sitemap, Spider only, Sitemap only, or a list of URLs to inspect.
Set a page limit and, when needed, depth, include or exclude patterns, query-string handling, subdomains, request rate, parallel connections and headers.
The crawler discovers and fetches pages. Optional embedding analysis runs in its own local queue. The overview shows each stage live, with pages a second through fetching, rendering and embeddings on one chart, so you can pause the crawl or turn embeddings off.
Start in Overview or Fix list, open the affected rows, then inspect a page's source, links, directives, passages or competing pages.
Discover internal links from the start URL and read the site's XML sitemap files. Compare pages reached by links with pages listed in the sitemap.
Follow internal links from the start URL. Useful when you want to see what the site's navigable link structure exposes.
Collect candidate URLs from XML sitemaps without walking internal links. Useful for a sitemap-led inspection.
Paste or import a known URL list to inspect specific pages. This mode does not discover the site by following links.
Open a finding and move from the summary to the affected URLs, then to page-level evidence such as links, headers, source and extracted fields.
HTTP status and response time, redirect chains, robots.txt access, meta robots, X-Robots-Tag, canonical targets, sitemap membership, crawl depth and orphan-page signals.
Page titles and pixel widths, meta descriptions, H1/H2 headings, word count, duplicate values, exact-content duplicates and text that appears only after JavaScript rendering.
Internal and external links, inlinks and outlinks, anchor text, broken URLs, links to redirects, nofollow links, images and missing alt text.
Hreflang, structured data and JSON-LD validation, security headers and response headers. Optional external-link checks request each discovered external URL once.
Respect the site's crawl rules. robots.txt is respected by default, and a slower Crawl-delay takes precedence over the configured rate. Bot presets such as Googlebot or GPTBot always obey that bot's own robots.txt group, for a crawl and for a single page, and a custom user agent may not borrow another company's name. While crawling, the app shows its agent and your public address, so a site owner can find these requests in the logs. A 429 or 503 is retried after the site's Retry-After, and the crawl slows down. When a site answers with a CAPTCHA, the crawl pauses and opens the page for you to pass it, then goes on with the access you were given; planned crawls never wait for one, and a switch in Settings › Crawling turns the pause off.
Downloading means you accept the GLLmolfar Preview Terms.
Start broad, narrow to a group of URLs, and inspect the evidence. The app keeps the data and the action path in one desktop workspace.
Checks are grouped by importance and type. Each finding shows affected URLs, its share of the checked rows, why it matters and what to inspect or change. The site health score summarises weighted checks; it is not a Google score or a ranking forecast. Open the exact URL set, export it, or export the finding as a PDF report.
Whether AI crawlers may fetch the site, robots.txt rules per bot, llms.txt, and how well each page reads in passages an assistant can quote. Switch between Hybrid and AI focus to see the same crawl from either side. It reads the site; it does not measure whether assistants mention you.
Group pages by meaning and explore them on the topic map. Compare unusually similar, same-language pages with their shared passages and page signals. Link opportunities pair a page with fewer than five inlinks with related pages that do not link to it. These are leads to review, not proof of ranking cannibalization.
See the main meaning groups across a page, where passages sit from top to bottom, recurring terms and how closely each passage matches its title and H1. Use this to spot sections that drift from the page's stated subject.
Reopen local crawls and compare URLs, status, titles, descriptions, headings, indexability, canonical and content meaning between runs. Export a client, developer or short report as HTML or PDF.
See the site as a crawl tree, a directory tree or a force-directed graph. Batch fixes group findings that one change can solve — site-wide, per template or per topic — so a template fix is not counted as four hundred separate tasks.
Check one page without a crawl: the app fetches it, renders it with JavaScript, takes desktop and mobile screenshots and runs the page checks. Each failed check comes with the fix. Site-wide checks such as inlinks and duplicates still need a crawl.
One card per site you have crawled: health and its trend, pages, errors, non-indexable pages and topics, compared with the crawl before. The card also reads robots.txt and the sitemap, and the domain record: age, expiry, registrar, name servers, mail and DNSSEC.
Connect the Google account you sign in with, read-only, and Search Console becomes a section of nine reports: performance against the period before, pages with their top query and their state in the crawl, queries by position band, Google's own indexing verdict page by page, sitemaps, lost clicks with their likely reason, queries split between your pages, query clusters and a visualisation. The data comes from Google straight to the app, stays on your computer and is still there, with its date, offline or signed out.
Signed in, switch on the app's local MCP server and Claude Code, Codex or any MCP client can start crawls, read the fix list and inspect URLs, in the open window where you see what it does. The server tells the agent how to read a finding, which numbers to quote and how to check a fix; any fix becomes a Jira task with summary, priority, labels and steps in Jira's own markup, and the app's Jira button on a fix does the same. Reverse prompts split a page into blocks; your agent describes each one, and you get a reusable prompt and an example per block.
The Visualisation page of the Search Console section: the words your queries are made of as a treemap by clicks, impressions or count; how queries spread over position, CTR and impressions; position against CTR, with the queries one step from more clicks; how concentrated the clicks are; query length; brand against the rest. Drawn on your computer from the report's own data.
The competing pages drawn, not only listed: each group as a circle of its pages joined pair by pair, the closest pairs marked; how close the pairs are, how big the groups are, which topics they sit in, and one group as a similarity matrix.
Pick a row and the page opens under the table at full width, or on the right: status, indexability and topic at the top, previous and next page, then details with title and description length bars, response headers grouped, the snippet at Google's pixel widths, structured data, the rendered page, similar pages and the page's passages.
In URL audit the rendered page becomes a picture cut into its blocks, coloured four ways: meaning against a question, what an AI retriever would quote, accessibility findings, and a forecast of attention from layout alone (not people's behaviour, and the screen says so). Site › Heat map shows the crawl's folders as tiles coloured by problems or Google clicks.
Schedule a site daily, weekly or monthly. Runs happen on your computer while the app is open or in the tray, and a run the computer missed is run, skipped or flagged, as you choose. Any table goes to a new Google Sheet in your own Drive, with access limited to the files the app creates.
Under Projects, list any sites, yours or a competitor's, and the app reads their public sitemaps: found through robots.txt, indexes followed, .gz unpacked. Every 6 or 12 hours, every day or week while the app is open, or when you press Check now, it counts the pages and shows which are new, removed or have a new lastmod since the last check, the new ones grouped by folder. The lists stay on your computer; exporting them needs a signed-in account.
Vectorscope, Voicescope, Brandscope, Reviewscope and PatternScope sit under Free tools on the rail, each as the tool alone: the field, the button and the reading, without leaving GLLmolfar. Open in browser takes you to the full page on getlooploop.com. Runs in the app are counted on GetLoopLoop's server, apart from the website's.
Seven sections on a side rail, with a panel for the open one; Ctrl B folds it for room and Ctrl K jumps to any screen. Tables fit the window, wrapped or with rows stacked under their column names, so no column is cut off. Terms such as nosnippet, X-Robots-Tag or hreflang are underlined, with a one-sentence explanation and a link to the GetLoopLoop glossary; Settings › General switches it off. Every wait shows one progress bar with the usual time on your computer.
After its first download, the embedding model runs locally on your computer. GLLmolfar uses the vectors to group related pages, search by meaning, compare passages and lay out the topic map.
Long pages are split around H2 headings where possible. Their passage vectors are combined into a page representation, so a section deep in the page can contribute to the comparison. Four modes read more or less of each page with the same model: Extended reads twice as much as Standard and found the right page more often in our test, at about half the speed. Settings test every mode on your computer with your own pages. Modes beyond Standard need a free account.
The crawl database and history stay in the app's local data folder. Semantic vectors are calculated on-device after the model download. Crawling still sends requests to the target website, and optional external-link checks contact the linked sites.
GLLmolfar does not send your crawl to a cloud AI service. The first semantic-analysis run downloads the model to your computer.
What it does send to getlooploop.com is small and named: anonymous usage statistics — a random install ID, the app version, the Windows or macOS version, the language and how long the app stays open — and a check for a new version. Both switch off in Settings.
Connect Claude Code, Codex, Cursor or another agent to GLLmolfar once. Each skill tells the agent which GLLmolfar tools to call, in what order, and what to hand back. The agent works in the app's window, where you see every step. The examples below are real answers, not mock-ups.
First contact with a site, or a quarterly audit.
/technical-audit*GLLmolfar tools it calls: get_statusstart_crawlwait_for_crawlget_overviewget_fixescount_pagesexplain_fixget_fix_urlssave_report
You fill in: site, max_urls
Claude Code (Sonnet) on a crawl of getlooploop.com, 300 pages, 28 October 2026 · 58 s · 35 GLLmolfar tool calls · unedited, in English
I wrote the action plan and saved the developer report. There are no critical fixes. I didn't start a new crawl. Crawl #32 of getlooploop.com was already open: 300 URLs, mode "both", finished 2026-10-28, with embeddings and topics complete. Its GLLmolfar health score is 89/100, and the fix list has 34 fixes.
The 3 most important actions (all from crawl #32 unless marked as my judgment):
cannibal (high): 14 skill pages are near-duplicates of each other, for example the Lark/Feishu mirrors and the firecrawl and googleworkspace pairs. One template change will not fix this. The URLs spread over 7 path groups, so each pair needs an editorial decision. Re-crawl to verify.hreflang.noReturn (high): 6 URLs, all /skills?category=…, which is one template. One template change fixes all 6. I suspect hreflang.missingSelf lists the same 6 pages, but that is my judgment, so check it in the same change.structured.errors (medium): 156 of 300 URLs, 52%, are missing a required JSON-LD property. I ranked it third by my judgment because of its reach. Most of the affected URLs are skill pages, which probably share one template, so one change should correct most of them. The home and product pages need their own check. I did not pull which property is missing, so run audit_url on one skill page to see it.Other findings from the top 10:
ai.noAuthor (medium): 225 URLs. /glossary/* is 44% of them, so a glossary template change covers the largest part.links.insecure (medium): all 14 URLs are /glossary/*.a11y.unlabeled (high): 1 URL, /questions. A single-page fix.ai.claims, lowContent and ai.lowMain are spread over many path groups, so they are editorial work per page.images.missingAlt: I could not count it by template. The fix lists image files, and count_pages returned 0 for it.What I did not cover:
explain_fix and get_fix_urls returned 20 URLs each, so the lists for ai.noAuthor, structured.errors and ai.claims are samples. The template counts come from the full set.get_fixes.get_ai_readiness, so I make no claim about any AI bot's access.Files are in the plan; the report is saved here:
(work folder)\ACTION-PLAN.mdC:\Users\you\Documents\gllmolfar-report-www.getlooploop.com-2026-10-28.htmlHanding technical work to developers.
/jira-backlog*GLLmolfar tools it calls: get_fixescreate_jira_task
You fill in: project_key, min_share
Claude Code (Sonnet) on a crawl of getlooploop.com, 300 pages, 28 October 2026 · 13 s · 3 GLLmolfar tool calls · unedited, in English
Crawl 32 (https://www.getlooploop.com, 300 pages, health 89) is open. No crawl is running. These figures come from get_fixes for that crawl. I did not read the crawl date, so I can't give it.
| # | Fix key | Summary | Priority (GLLmolfar importance) | URLs |
|---|---|---|---|---|
| 1 | cannibal | 14 pages say almost the same as another page | high | 14 (4.7%) |
| 2 | hreflang.noReturn | Missing return link | high | 6 (2%) |
| 3 | a11y.unlabeled | Form fields without a label | high | 1 (0.3%) |
| 4 | ai.noAuthor | Long page without an author | medium | 225 (75%) |
| 5 | structured.errors | Required properties missing | medium | 156 (52%) |
| 6 | images.missingAlt | Missing or empty alt | medium | 41 (25.6%) |
| 7 | ai.claims | Numbers and claims without a source | medium | 42 (14%) |
| 8 | lowContent | 23 pages have under 250 words | medium | 23 (7.7%) |
| 9 | ai.lowMain | Mostly menus and footers (under 40% content) | medium | 21 (7%) |
The final summaries and priorities come from create_jira_task. I will use those, not the titles above.
Excluded: the other medium fixes are each on 5% of pages or fewer. The closest are links.insecure at 4.7% (14 URLs) and external.s4xx at 4.5% (58 URLs). external.s4xx has many URLs, but its share is under the threshold. Low and insight fixes are also excluded.
Limits:
JIRA-TASKS.md in the working directory.Do you approve creating these 9 tasks? You can also add or remove fixes first.
After a deploy, migration or redesign.
/release-check*GLLmolfar tools it calls: list_crawlsstart_crawlwait_for_crawlcompare_crawlsaudit_url
You fill in: site, key_urls
Claude Code (Sonnet) on a crawl of getlooploop.com, 300 pages, 28 October 2026 · 162 s · 9 GLLmolfar tool calls · unedited, in English
Verdict: no CRITICAL items. There is one gap in my coverage. The {key_urls} placeholder in your request was never filled in, so I audited only the home page.
x-vercel-cache: MISS with cache-control: private, no-cache, no-store. Fixing this unblocks faster fetches by crawlers. To verify, run the crawl again and check that the slow check drops. Source: compare of crawls 32 and 33, plus the URL audit at 14:20 UTC.newerCrawlStoppedEarly: true. It also says whyMissing is 19 "notReached", with 0 gone, 0 moved and 0 failed. Both crawls have 300 pages. The queue held 1,655 more URLs when crawl 33 stopped. To verify, run a crawl with a higher limit.inSitemap: false. This is a judgment from one audit field. Whether it matters depends on how the sitemap is generated.| Condition | Result |
|---|---|
| Key URL not 200 or not indexable | Home page is 200 and indexable. Other key URLs not checked (see Not covered). |
| robots.txt blocks an AI bot not blocked before | No. Blocked bots were [] before and [] now. robotsTxt.changed is false. |
| Content only after JavaScript | No. The home page has 1,931 words raw and 1,931 rendered. Only 2 links differ. |
| Many fewer pages found | No. Crawl 32 had 300 pages and crawl 33 has 300. |
Source for all rows: crawl comparison, crawl 32 (2026-10-28 13:32 UTC) vs crawl 33 (14:18 UTC). Health stayed at 89 → 89. Errors stayed at 0 → 0. Non-indexable URLs stayed at 6 → 6.
WARNING (medium or higher, worse)
WARNING (high, but better)
INFO (changes in other checks)
http:// links: 14 → 12.meaning score (null → 0.898, 0.896 and 0.899). No status, title, meta description, H1, indexability, canonical or word count changed on any URL./news/ and 12 under /notes/./glossary/… entries from ai-referral-traffic to anova. These are the unreached pages from the crawl limit described above.index, follow, no redirects.Allow: / in the * group.SoftwareApplication.aggregateRating|review. It also reports two warnings, Offer.url and ListItem.item.dl structure on the KPI block, dt/dd outside a dl, and a label-content mismatch on the glossary graph link.trust.author is empty and dateModified is empty.{key_urls} placeholder was never replaced with real URLs, so no key URL besides the home page was audited. Send the list and I'll run the audits.wait_for_crawl calls timed out. The crawl finished anyway, and I confirmed that with get_status.Agency reporting.
/monthly-report*GLLmolfar tools it calls: list_crawlscompare_crawlsget_overviewsave_report
You fill in: site
Claude Code (Sonnet) on a crawl of getlooploop.com, 300 pages, 28 October 2026 · 28 s · 4 GLLmolfar tool calls · unedited, in English
This is not a 30-day comparison. All 12 saved crawls were run in the last 3 days, from 2026-10-26 to 2026-10-28, so no crawl from about 30 days ago exists. I compared the oldest complete crawl with the newest, and everything below covers that 2-day window only.
The client PDF is saved here: C:\Users\you\Documents\gllmolfar-report-www.getlooploop.com-2026-10-28.pdf. It was made from crawl 32, the newest one. It is a standard crawl report and does not include the comparison.
get_fix_urls on crawl 32 to list them. If the six are meant to be blocked, nothing needs doing. If they are not, fixing them lets search engines index them again. A new crawl will show whether they are gone from the list.Health score (GLLmolfar's score, not a Google score): 90 in crawl 2 (2026-10-26) and 89 in crawl 32 (2026-10-28). Errors were 0 in both.
Fixes gone and new fixes: I cannot report these. Crawl 2 was saved before version 0.7.36, so it has no per-check counts and the comparison skipped them. The work-done and new-fixes parts of your request are unanswered.
Pages found and lost (crawl 2 against crawl 32):
AI bots in robots.txt: robots.txt did not change between the two crawls. No AI bots are blocked in either one. I did not run the bot check, so I have not tested what each bot can actually fetch. The comparison does not tell me what robots.txt says about any single bot, so I make no claim for OAI-SearchBot, Claude-SearchBot or Googlebot.
Search Console: I have no Search Console tool in this session, so there is no comparison of clicks, impressions or CTR and no list of queries that fell by more than 20%.
Where the site stands: The website is in good shape. Our health score is 89 out of 100, and the crawler found no broken pages. This is a first check, so we have no earlier month to compare with yet.
What changed this week: Two pages were updated: the GLLmolfar product page and the privacy policy. No search or AI crawlers are blocked on the site.
One thing to look at: Six pages are now marked "not indexable", which means search engines will skip them. Some pages are meant to be hidden, so we will check whether these six are. Fixing any that should not be hidden lets search engines include them. We cannot promise this will raise rankings or traffic.
Priorities for next month:
Should I run the full crawl now? I can also list the six non-indexable pages from crawl 32.
The agent is working inside the website's repository.
/fix-and-verify*GLLmolfar tools it calls: audit_urlstart_crawlwait_for_crawlcompare_crawls
You fill in: urls
No example yet: this skill needs your code repository, a competitor's site or a Search Console tool in the agent.
“Can ChatGPT, Claude and Perplexity read and cite my site?”
/ai-readiness*GLLmolfar tools it calls: get_statusget_ai_readinessget_fixesget_fix_urlscount_pagesaudit_urlexplain_fix
You fill in: site, max_urls, template_urls
Claude Code (Sonnet) on a crawl of getlooploop.com, 300 pages, 28 October 2026 · 60 s · 14 GLLmolfar tool calls · unedited, in English
Sources: "Crawl" means GLLmolfar crawl #32, the open crawl (start URL https://www.getlooploop.com/, 300 of 300 URLs, 300 embeddings). The tool results gave no crawl date. "Probe" is the AI bot check run 2026-10-28 13:36 UTC. "Audit" is a URL audit of 2026-10-28 14:03 UTC. Search Console was not used.
dateModified. Their datePublished is identical (2026-10-16T10:32:57Z), which looks like a template default. That is my judgment.sameAs in the Article schema. Add datePublished and dateModified per page. This unblocks trust signals, which are the weakest part of the score (36).trust.author and the dates. Then run a new crawl and check ai.noAuthor and ai.noDate.ai.claims affects 42 URLs. 33 of them are under /skills/. The rest are /glossary/, /ai-volatility, /gllmolfar, /questions and /voicescope.ai.claims.structured.errors affects 156 URLs (52%). The home page is one. Audit: it lists SoftwareApplication.aggregateRating|review as missing.schemaErrors is empty.No P0 findings. In this crawl, probe and audit I found no content that needs JavaScript, no blocked search bot and no bot wall.
None found.
ai.lowMain affects 21 URLs (7%). All are under /skills/* (templates such as affaan-m/ecc: 4 URLs, and open.feishu.cn, open.larksuite.com and code.deepline.com: 2 each). In the audit, chrome words are small on the three pages: 93 of 2,247 on home, 164 of 1,306 on the glossary page, 87 of 1,684 on /news. They are not low-main pages.ai.dangling affects 7 URLs. 3 are /glossary/, and there is 1 each for /legal/, /news/, /vectorscope and /vectorscope/. Open each section with its subject.ai.walls affects 67 URLs, 14 of them under claude-seo. It is low importance. Add a heading every few paragraphs.| Fix | URLs | Main templates |
|---|---|---|
ai.noAuthor | 225 | /glossary/* 100, claude-seo 25, wshobson 8 |
ai.noDate | 218 | /glossary/* 100, claude-seo 25, wshobson 8 |
ai.walls | 67 | claude-seo 14, marketingskills 7, wshobson 7 |
ai.claims | 42 | claude-seo 14, marketingskills 6 |
ai.lowMain | 21 | affaan-m/ecc 4 |
ai.dangling | 7 | /glossary/* 3 |
structured.errors | 156 | claude-seo 25, affaan-m/ecc 11, google/skills 10 |
nonIndexable | 6 | /skills 6 (all) |
nonIndexable: all 6 pages are on the /skills template. Check whether they should be indexed. If they should, remove the noindex or point the canonical at the page itself.cannibal (14 URLs, high).hreflang.noReturn (6, high) and hreflang.missingSelf (6).a11y.unlabeled (1, high).images.missingAlt (41). The audit shows 22 of 30 images without alt on home, and 6 of 6 on the glossary page.jsContent, javascript.* and noInlinks do not appear, so I did not count them.inSitemap: false and 0 inlinks. These are single-page audit rows, so I am not confident they reflect the crawl. Confirm in the crawl before acting.Offer.url, ListItem.item). The glossary page has no schema errors.cache-control is no-store on all three. That is my judgment: a cacheable response might help speed.<main> landmark.Accept: text/markdown header returned text/html, and the .md twin returned 404. HTML is fully readable without JavaScript, so this is optional. It would let agents fetch a cleaner copy. To verify, run the probe again.jsContent, javascript.* and noInlinks are not in the fix list.Before launching a key landing, signup or pricing page.
/page-agent-readiness*GLLmolfar tools it calls: audit_urlsemantic_search
You fill in: url
Claude Code (Sonnet) on a crawl of getlooploop.com, 300 pages, 28 October 2026 · 33 s · 2 GLLmolfar tool calls · unedited, in English
Source for everything below: URL audit, 2026-10-28 14:04 UTC (HTTP 200, indexable). No crawl was running when I checked, so I ran the audit. I did not call crawl 32 or any other tool. Where a line is my own reading, I mark it as judgment.
.home-graph-preview). Its accessible name does not contain its visible text. This is a names-and-labels fix (WCAG 2.5.3).<dl> markup in .home-kpis. One block of markup causes two serious violations, definition-list and dlitem..shadow-sm > .sm\:inline.hidden (the "Light" theme label) and .home-moved-axis--window. After the change, run the URL audit again.Source: URL audit, axe-core 4.14.0. There are no critical violations. There are 4 serious ones. Corrections follow your sequence.
Names and labels
| Rule | Selector | Correction |
|---|---|---|
label-content-name-mismatch | .home-graph-preview (<a href="/glossary/graph" aria-label="Explore the marketing glossary knowledge graph">) | Make the aria-label start with the link's visible text, or remove the aria-label. (judgment: the audit does not list the visible text, so I can't give the exact string) |
Content without JavaScript (markup served in the HTML)
| Rule | Selector | Correction |
|---|---|---|
definition-list | .home-kpis (<dl>) | A <dl> may directly contain only <dt>/<dd> groups, <div>, <script> or <template>. Make the wrapper that holds the dt/dd a <div>. |
dlitem (4 nodes) | .home-kpi-moved-head > .home-kpi-label, .home-kpi-moved-head > .home-kpi-value.home-kpi-value--lg, .home-kpi-moved-head > .home-kpi-note, dd:nth-child(4) | Each <dt>/<dd> must sit inside a <dl>. This should clear once .home-kpi-moved-head is a <div> directly inside .home-kpis, or the <dt>/<dd> elements are restructured to match. |
All other items
| Rule | Selector | Correction |
|---|---|---|
color-contrast (2 nodes) | .shadow-sm > .sm\:inline.hidden (<span class="hidden sm:inline">Light</span>), .home-moved-axis--window | Raise the text/background contrast to at least 4.5:1 (WCAG AA). The audit does not give the measured ratios. |
Source: URL audit (raw HTML compared with the rendered page).
https://www.getlooploop.com/. Meta robots is index, follow. The audit lists only links under jsDiff.Source: URL audit, rawText and renderedText.
| Item | Result |
|---|---|
| Prices | No price text in rawText or renderedText. JSON-LD has Offer price 0 USD, "Invite-only access". |
| Plan limits | No plan limits in either text. Free-tool limits are in both: "One URL at a time", "One keyword at a time", "Up to 4 000 words". |
| Contact data | The audit found no phone numbers and no emails. Only "Request an invite", "Write" and "Discord" appear, in both rawText and renderedText. |
| Testimonials | None in rawText or renderedText. |
Other findings:
SoftwareApplication.aggregateRating|review. The visible page has no testimonials or ratings to back it.Offer.url and ListItem.item.Source: URL audit. robots.txt was found. Every bot is allowed by Allow: / in group * (line 2).
| Bot | Allowed | What it controls |
|---|---|---|
| Googlebot | yes | Google Search and AI Overviews |
| OAI-SearchBot | yes | ChatGPT search |
| GPTBot | yes | OpenAI training only |
| ClaudeBot | yes | Anthropic training only |
| Google-Extended | yes | Google training only |
| PerplexityBot | yes | Perplexity |
The audit did not include Claude-SearchBot, so I have no result for Claude search.
I did not test this. The audit tool sends one request and has no Accept-header option, and I have no other tool to send a custom request. The only hint is the vary header: rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch. It does not list Accept. That suggests the HTML does not change by Accept, but it only shows what the server declares, not what it does. To verify, request the page with Accept: text/markdown and Accept: text/html and compare.
region (moderate, 5 nodes): targets .pb-20, .home-eyebrow.text-gll-cyan and others in the hero. Put the hero content inside a landmark such as <main>.inSitemap: false).private, no-cache, no-store.A page that should be cited for a set of questions but is not.
/citability*GLLmolfar tools it calls: semantic_searchaudit_urlget_pagesmeasure_text
You fill in: url, questions
Claude Code (Sonnet) on a crawl of getlooploop.com, 300 pages, 28 October 2026 · 57 s · 6 GLLmolfar tool calls · unedited, in English
Page: https://www.getlooploop.com/glossary/ai-visibility Sources: crawl 32 (https://www.getlooploop.com/, 300 URLs, limit 300, embeddings on) and a URL audit run on 28 Oct 2026 at 14:05 UTC. Judgments are marked (judgment).
| Question | Best page | Score | Is the target first? |
|---|---|---|---|
| What is AI visibility | The target page, section "GetLoopLoop" | 0.603 | Yes (next is /brandscope at 0.498) |
| How do I measure my brand in ChatGPT answers | /brandscope | 0.608 | No. The target is 5th at 0.479. |
| Why does ChatGPT not mention my brand | /brandscope | 0.599 | No. The target is 3rd at 0.488. |
The search returned only one section per page (the top section, mostly the intro). I could not see the page's own section scores there. For section-level scores I used measure_text.
Source: URL audit, 28 Oct 2026, rendered text of 1,006 words. Judgments are (judgment).
| Section | First sentence answers directly? | Names its subject? | Specific, sourced fact? | Stands alone? |
|---|---|---|---|---|
| Intro | Yes. It defines the term. | Yes | No. The only source is the "Google Search Central" label. | Yes |
| 01 What it is | No. It describes how search tools work and defines the term only in the last sentence. | Partly. It ends with "It is how often…". | No. "Relevance, authority" are named without evidence. | No, because of "It" at the end |
| 02 What to do | Yes (a list) | Yes | Weak. "At least three backlinks" has no source. | Yes |
| 03 How it is measured | Partly. "No public score" is true but is not a method. | Yes | No. It names Google AI Search, Copilot and Search Console without a figure or date. | Yes |
| 04 Common mistakes | Yes | Yes | No. No source. | Yes |
| 05 Limits | Yes | Yes | No | No ("It is also different…") |
| 06 Worked example | n/a (an anecdote) | "BrandX", an invented brand | No. It is not verifiable. | Yes |
| 07 FAQ (6 items) | Mostly. Some start "It is not the same" or "Usually". | Mixed | No sources | Yes |
| 08 Asked out loud (3) | No. "Yes, the AI may not…" answers a non-yes/no question. "No, the AI isn't ignoring…" is also unclear. | No | No | Yes |
| 10 Sources | n/a | n/a | One link only, no dates | n/a |
Other findings from the audit:
Both sections keep the page's plain-English glossary voice.
03 How to measure AI Visibility in ChatGPT answers
To measure AI Visibility in ChatGPT, ask ChatGPT the questions your buyers ask, then count how many answers name your brand and how many cite your URL. AI Visibility has no public score, so the measure is your own count: brand mentions divided by questions asked, repeated on the same list of questions each week.
Use three readings, and keep them apart:
- Mentions: the share of ChatGPT answers that name your brand. Ask five to ten buyer questions and record yes or no for each.
- Citations: the share of answers whose source list includes a URL of your domain.
- Search Console: Google Search Console shows impressions and clicks for Google Search only. It does not show ChatGPT answers.
Brandscope, a free GetLoopLoop tool, puts five buyer questions to ChatGPT, Claude and Gemini and shows each answer beside your own page. Run the same questions again after every change to your pages, because a citation can fade within days (GetLoopLoop market analysis, 16 October 2026).
08 Why ChatGPT does not mention my brand
ChatGPT does not mention your brand when its search crawler cannot fetch your pages, or when no page of yours answers the question in a passage it can quote. Check these three causes in order.
1. Access. OAI-SearchBot is the crawler that controls ChatGPT search. If robots.txt disallows OAI-SearchBot, ChatGPT search cannot read your pages. GPTBot controls training only and does not decide this. On getlooploop.com, the URL audit of 28 October 2026 shows OAI-SearchBot allowed by "Allow: /glossary".
2. Answer. A page must state the answer in its first sentence and name the brand in it. A page that says "it" or "this" gives the model nothing to quote.
3. Competition. The model may prefer a competitor's page that matches the question better. Compare your best passage with theirs for the same question.
To verify a change, ask ChatGPT the same question again after the page is re-crawled, and run the URL audit again to confirm OAI-SearchBot is still allowed.
The draft contained only the two new sections (345 words, 2 passages). The current page has 10 passages.
| Criterion | Question 2 (measure) | Question 3 (why not mentioned) | Verdict |
|---|---|---|---|
| Fit, current → draft | 0.553 → 0.717 | 0.471 → 0.788 | Higher for both |
| Position of the answer | 4th → 1st in the draft | 2nd → 2nd in the draft | Not shown. The draft has only 2 passages, so its position says nothing about the full page. |
| New overlap | Nearest page is /brandscope at 0.77, below the 0.94 cannibalization line | Same | None. The current page's nearest page is /glossary/ai-overview at 0.766. |
| Passages that need an earlier passage | 0 (dangling = 0) | 0 | OK |
The tool also reported "fit-lower". That is for question 1 ("what is AI visibility"): 0.607 on the current page, 0.454 in the draft. I did not rewrite the passage that serves that question, so section 01 and the intro stay in place. (judgment)
Decision (judgment):
Planning content for a topic: which questions does the site not answer?
/question-coverage*GLLmolfar tools it calls: semantic_search
You fill in: topic, audience
Claude Code (Sonnet) on a crawl of getlooploop.com, 300 pages, 28 October 2026 · 167 s · 33 GLLmolfar tool calls · unedited, in English
I'm summarising 30 semantic searches on the loaded crawl and writing the report. Crawl 32 was already open and no crawl was running, so I started nothing.
Sources. [C32] means semantic search on crawl 32 (28 Oct 2026, about 13:33 UTC, 300 pages, all 300 embedded). [J] means my judgment. I did not use URL audit or Search Console.
/legal/terms (0.547), and the homepage is not in the returned list. For "GetLoopLoop vs Profound" the best page is again /legal/terms (0.441)./glossary/ai-referral-traffic.get_ai_readiness or audit_url, which I did not run./brandscope or /glossary/ai-visibility is top or second in 3 of the 5.One duplicate to fix.
/glossary/ai-overview (0.568) and /glossary/ai-overviews (0.562) are 0.005 apart.All numbers are [C32].
Eight questions have a clear leader: Q2, Q8, Q9, Q15, Q24, Q25, Q26 and Q28.
Section is §1 for every row. L = learn, C = choose, T = task, B = brand. "Home" is the homepage /.
| # | Question | Best page | Score | Second page | Gap | Flag |
|---|---|---|---|---|---|---|
| 1 L | What is AI visibility tracking for brands? | /glossary/ai-visibility | 0.639 | /brandscope 0.624 | 0.015 | o |
| 2 L | How do AI assistants decide which brands to mention? | /news/brands-in-ai-answers-october-2026… | 0.670 | /brandscope 0.553 | 0.118 | clear |
| 3 L | SEO vs generative engine optimization? | /glossary/generative-engine-optimization | 0.553 | /skills/…/seo-image-gen 0.510 | 0.043 | o |
| 4 L | Which AI crawlers read my site? | /glossary/ai-referral-traffic | 0.516 | /glossary/ai-cloaking 0.513 | 0.003 | A |
| 5 L | How does robots.txt affect AI search visibility? | /glossary/ai-visibility | 0.568 | /glossary/robots-txt 0.555 | 0.014 | o |
| 6 L | What metrics measure brand visibility in AI answers? | /brandscope | 0.651 | /glossary/ai-visibility 0.627 | 0.024 | o |
| 7 L | How do AI assistants split pages into passages? | /vectorscope/claude-skill | 0.505 | /glossary/ai-assistant 0.502 | 0.003 | A |
| 8 L | Why is my brand not in ChatGPT answers? | /brandscope | 0.589 | /news/brands-in-ai-answers… 0.527 | 0.062 | clear |
| 9 C | Best AI visibility tracking tools | /brandscope | 0.622 | /glossary/ai-visibility 0.561 | 0.061 | clear |
| 10 C | Best tools to track mentions in ChatGPT and Perplexity | /brandscope | 0.552 | Home 0.533 | 0.020 | o |
| 11 C | AI visibility tracking vs rank tracking | /glossary/ai-visibility | 0.521 | /brandscope 0.481 | 0.040 | A |
| 12 C | Alternatives to Profound | /brandscope | 0.451 | /glossary/ai-visibility 0.419 | 0.032 | A |
| 13 C | Best GEO tools for marketing teams | /glossary/generative-engine-optimization | 0.441 | /skills/…/seo-image-gen 0.417 | 0.024 | A |
| 14 C | Crawler audit vs prompt sampling | /glossary/ai-audit | 0.477 | /skills/firecrawl/…/firecrawl-seo-audit 0.441 | 0.036 | A |
| 15 C | Free AI visibility checker | /brandscope | 0.634 | /notes/ai-reads-your-page… 0.528 | 0.106 | clear |
| 16 C | Monitor citations in Google AI Overviews | /glossary/ai-overview | 0.568 | /glossary/ai-overviews 0.562 | 0.005 | o, B |
| 17 C | Best AI search platform for a small business | /skills/coreyhaines31/…/ai-seo | 0.442 | /notes/ai-reads-your-page… 0.418 | 0.024 | A |
| 18 C | Semrush vs specialised AI visibility tools | /glossary/ai-visibility | 0.487 | /brandscope 0.464 | 0.023 | A |
| 19 T | Check if my site is blocked for ChatGPT search | /news/chatgpt-s-clicks-now-arrive-as-direct-traffic | 0.474 | /brandscope 0.440 | 0.035 | A |
| 20 T | Audit a page for AI search readiness | /glossary/ai-audit | 0.625 | /notes/ai-search-audit-full… 0.605 | 0.020 | o |
| 21 T | Track my brand mentions in AI answers | /news/brands-in-ai-answers… | 0.575 | /brandscope 0.573 | 0.002 | o |
| 22 T | Allow OAI-SearchBot and Claude-SearchBot in robots.txt | /glossary/robots-txt | 0.479 | /vectorscope/claude-skill 0.468 | 0.011 | A |
| 23 T | Find content gaps AI cannot answer from my site | /notes/ai-reads-your-page… | 0.486 | /skills/…/content-gap-analysis 0.466 | 0.020 | A |
| 24 T | Rewrite a page so AI can cite it | /glossary/citation | 0.506 | /notes 0.447 | 0.059 | clear |
| 25 T | Create an llms.txt file | /glossary/llms-txt | 0.573 | /glossary/ads-txt 0.322 | 0.251 | clear |
| 26 T | Report AI visibility to management | /glossary/ai-visibility | 0.591 | /glossary/ai-overview 0.509 | 0.082 | clear |
| 27 B | What is GetLoopLoop? | /legal/terms | 0.547 | /glossary/agent-loop 0.539 | 0.007 | A |
| 28 B | What is GLLmolfar? | /gllmolfar | 0.577 | /glossary/llms-txt 0.311 | 0.266 | clear |
| 29 B | GetLoopLoop vs Profound | /legal/terms | 0.441 | /gllmolfar 0.431 | 0.010 | A |
| 30 B | Is Vectorscope free, and what does it cost? | /notes/vectorscope-as-an-agent-skill… | 0.504 | /vectorscope 0.497 | 0.007 | A, B |
Patterns [C32].
/glossary/ai-visibility or /brandscope is the top page for 11 of 30 questions.Close calls [J].
Where one page serves several questions, I merged them to avoid creating new cannibalization.
| Questions | Proposal |
|---|---|
| Q4, Q19, Q22 | One new page, "Allow ChatGPT and Claude search to read your site". It opens with the bot table from change 2. It has a check section for OAI-SearchBot and a robots.txt snippet section for each of OAI-SearchBot and Claude-SearchBot. It links to the existing robots.txt glossary page. |
| Q7 | New first section on /glossary/chunking: "How a retriever cuts your page into passages", with the 26-passage cap and one example. Link to Vectorscope. |
| Q11, Q13, Q17, Q18 | One hub page, "AI visibility tools: how to choose". It has sections: vs rank tracking, suite vs specialised, GEO tools for marketing teams, small-team path. |
| Q14 | New section on /gllmolfar and the hub: "Site crawl vs prompt sampling: what each can and cannot show". |
| Q12, Q29 | One new comparison page, "GetLoopLoop vs Profound, and other alternatives". Competitor facts must come from verified sources. |
| Q23 | New how-to page or section: "Find content gaps with semantic search on a crawl". It describes the method used in this report. |
| Q27 | New "What GetLoopLoop is" block at the top of the homepage: what it is, who it is for, what it measures. |
| Q30 | New "What is free, what costs money" page. Also decide which of /vectorscope and the Vectorscope note owns the question, to resolve the B flag. |
get_ai_readiness, audit_url, get_fixes, Search Console or the cannibalization view. Your live robots.txt is unverified.I can also turn this into a shareable page if you want to send it to your team.
The site wants an llms.txt, or GLLmolfar flagged problems in the existing one.
/llms-txt*GLLmolfar tools it calls: get_overviewget_pagessemantic_searchget_ai_readiness
You fill in: site
Claude Code (Sonnet) on a crawl of getlooploop.com, 300 pages, 28 October 2026 · 62 s · 12 GLLmolfar tool calls · unedited, in English
Google does not use llms.txt. The file is for other agents and tools.
The draft is saved at (work folder)\llms.txt. It has 26 link lines under 9 H2 sections.
/skills hub and the highest-scoring skill page. For "Ad affiliate" and "Testing variance" the best matches are weak. The scores are 0.52 and 0.37 for Ad affiliate, and 0.52 for Testing variance. Check these two sections by hand.get_ai_readiness again with run_probe.| Topic | Pages in the crawl | Lines in the draft |
|---|---|---|
| Workflows published | 101 | 2 |
| Technical SEO | 55 | 1 |
| Ai getlooploop | 53 | 4 |
| Ad affiliate | 33 | 2 |
| Ai news | 30 | 4 |
| Vectorscope ai | 12 | 5 |
| Text robots | 10 | 2 |
| Testing variance | 5 | 1 |
The "Site" section adds 4 more lines.
A page losing clicks, stale, or beaten by a competitor.
/refresh-brief*GLLmolfar tools it calls: audit_urlget_pagessemantic_searchget_fix_urlsmeasure_text
You fill in: url
Claude Code (Sonnet) on a crawl of getlooploop.com, 300 pages, 28 October 2026 · 86 s · 14 GLLmolfar tool calls · unedited, in English
Sources. Crawl 32 of getlooploop.com (28 Oct 2026, 300 of 300 pages, embeddings on) gave the fix list, get_pages data and semantic search. A live URL audit on 28 Oct 2026 at 14:11 GMT gave status, text, headings, JSON-LD and robots.txt. measure_text on the current page text gave passage positions. Anything marked "judgment" is mine.
ai.noAuthor and ai.noDate both fail for this page, and get_pages returns empty author, datePublished and dateModified.sameAs. Add datePublished and dateModified to the JSON-LD and show the same dates on the page.audit_url and check that trust.author, trust.datePublished and trust.dateModified are filled. Then re-run crawl 32's checks and confirm the URL no longer appears under ai.noAuthor and ai.noDate.measure_text, current page, 10 passages: the answer to "How is AI visibility different from SEO?" sits at passage 8, although the tool's rule is that the answer should appear by passage 2. Its score is 0.727, so the content is fine and only the position is wrong.measure_text, current page: the robots.txt question scores 0.464 at passage 6, and the timing question scores 0.470 at passage 3. Both scores are weak.measure_text again with the new draft and the same six queries, and look for scores above the current ones and the SEO answer at passage 2 or earlier.audit_url should show trust.statSentences and external content links that match the claims.dateModified.titles.below30, ai.noAuthor, ai.noDate, content.lowRatio, headers.insecureCookies, security.no_xcto, security.no_csp, security.no_xfo, security.no_referrer./glossary (group *, line 17). Bot by bot:inSitemap: false. Check sitemap.xml yourself before acting.images.missingAlt for this page, so the two sources disagree. Check this.color-contrast (3 nodes) and link-in-text-block (the CC BY 4.0 link).Rank is this page's rank among our pages in semantic search on crawl 32. "Passage" is the best-matching passage number from measure_text on the current page.
| Question | Rank | Score | Passage | Best on-site page |
|---|---|---|---|---|
| What is AI visibility? | 1 | 0.615 | 1 | this page |
| How is AI visibility different from SEO? | 1 | 0.599 | 8 | this page |
| How do I measure my brand's AI visibility? | 2 | 0.628 | 4 | /brandscope (0.668) |
| How do I get my brand cited by ChatGPT and other AI assistants? | 3 | 0.528 | 2 | /brandscope (0.588) |
| Which AI crawlers should I allow in robots.txt to appear in AI search? | 13 | 0.420 | 6 | /glossary/robots-txt (0.550) |
| How long does it take for changes to show up in AI answers? | 4 | 0.417 | 3 | /questions (0.486) |
What to add:
/brandscope currently beats this page on this question./news/brands-in-ai-answers-october-2026-a-market-analysis, which scored 0.548 on this question.Limit of these results. Semantic search returned only the page-level block, headed "GetLoopLoop", for every result, so it could not name which section answers. I used measure_text passage numbers instead. Only passages 1 (intro), 3 (section 02) and 4 (section 03) have previews. The other numbers are positions only.
/glossary/ai-overview at cosine 0.766, below the 0.94 cannibalization threshold. This page is not in the crawl 32 cannibal list. No merge is needed.addLinkOn or linkTo pointing at this URL. There are none that point to it./glossary/ai-overview with the anchor "ai overview" (similarity 0.814).inlinks: 0 and linkScore: 0 for this page. That figure comes from the audit, not from the full crawl, so confirm it in crawl 32 before saying nothing links here./brandscope, /glossary/robots-txt, /glossary/share-of-voice and /glossary/ai-referral-traffic are the closest pages by meaning. Link them from the new sections above.audit_url on the page. Check author, dates, title length, JSON-LD and the 6 robots.txt verdicts, and add a check for Claude-SearchBot if the tool supports it.measure_text with the final draft and the same six queries. Look for the SEO answer at passage 2 or earlier and higher scores on the robots.txt and timing questions. Confirm that the nearest page stays below 0.94.audit_url for this page, and confirm the URL is no longer listed under ai.noAuthor, ai.noDate and titles.below30./es/glossary/ai-visibility. It is linked through hreflang and needs the same date and author changes.measure_text baseline. I passed the page text as plain text, so the tool counted 3 passages. The live page measured 10, and I used the live page numbers.llms.txt.I can publish this as a shareable page if you want to pass it to the content team.
Quarterly E-E-A-T hygiene.
/stale-content*GLLmolfar tools it calls: get_overviewget_pagescount_pagesaudit_url
Claude Code (Sonnet) on a crawl of getlooploop.com, 300 pages, 28 October 2026 · 113 s · 22 GLLmolfar tool calls · unedited, in English
Sources:
audit_url runs on 10 pages, 28 Oct 2026 at about 14:13 UTC.No crawl was running. I did not start one.
author Person. (crawl 32) 225 of 300 pages fail ai.noAuthor. I audited 10 of them (URL audit). The only Person in their JSON-LD is the site founder, "Olexandr", inside the sitewide Organization block. The skill pages name the publisher repo, such as agricidaniel/claude-seo, as an Organization author. The /questions answers are the exception. They carry a Person author with a LinkedIn URL, not an on-site profile./about#author (the founder's @id) resolves to a real page. Check that first.audit_url on one page, and confirm ai.noAuthor no longer lists the URL.ai.noDate.ai.noDate also fails ai.noAuthor.dateModified on only 2: /ai-volatility (2026-10-28) and /gllmolfar (2026-10-27). /questions has per-question dateCreated in JSON-LD (Aug 2026), but I did not see a visible date for it in the text I read.ai.noDate.ai.claims. 36 of them are in Technical seo (24) and Workflows published (14), and these are mostly skill pages.extContentLinks is 0 on every page, so there are no outbound links inside the content./ai-volatility the figures are the site's own measurement, and a "How do we measure any of this?" section exists. Link that method from the numbers themselves.ai.claims.ai.stale flags 0 pages in crawl 32. That does not show the content is fresh. With 218 pages undated, the checker cannot judge age for them.
Access is not the problem. (URL audit) robots.txt allows Googlebot, OAI-SearchBot and ClaudeBot on all 10 pages. These fixes are on-page.
Each page was scored by how many of the 4 fix keys it fails. ai.stale is 0 for every page, so the maximum score is 3. 37 pages score 3.
| Topic | Pages | noDate | noAuthor | claims | Score 3 | Score 2 | Score 1 | Score 0 |
|---|---|---|---|---|---|---|---|---|
| Workflows published | 101 | 52 | 52 | 14 | 12 | 40 | 2 | 47 |
| Technical seo | 55 | 44 | 44 | 24 | 22 | 22 | 2 | 9 |
| Ai getlooploop | 53 | 53 | 53 | 0 | 0 | 53 | 0 | 0 |
| Ad affiliate | 33 | 32 | 32 | 0 | 0 | 32 | 0 | 1 |
| Ai news | 30 | 14 | 20 | 3 | 2 | 12 | 7 | 9 |
| Vectorscope ai | 12 | 7 | 8 | 1 | 1 | 6 | 1 | 4 |
| Text robots | 10 | 10 | 10 | 0 | 0 | 10 | 0 | 0 |
| Testing variance | 5 | 5 | 5 | 0 | 0 | 5 | 0 | 0 |
| No topic | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 0 |
The score columns come from my own set arithmetic over the get_pages lists. They sum to each topic's total.
The topic labels are GLLmolfar's embedding clusters, and they are loose. "Ai news" holds glossary hubs and category pages, not only news. I did not check each cluster.
All 10 fail all three of ai.noDate, ai.noAuthor and ai.claims. Another 27 pages tie at the same score, so this is a spread across topics that I chose, not a ranking.
| Page (topic) | Visible date | JSON-LD date agrees | Author with profile | Source for a number |
|---|---|---|---|---|
/ai-volatility (Ai news) | "Today · Oct 28" reading label, not a publish date | dateModified 2026-10-28 on Dataset, no datePublished. Same day as the label. | Missing. Founder only, in sitewide JSON-LD. | Own measurement, method section present, 0 external links |
/gllmolfar (Technical seo) | None in the text I read | dateModified 2026-10-27, nothing visible to agree with | Missing | Product limits (50,000 / 5,000 URLs) with no source |
/questions (Ai news) | None seen in the text I read | Per-question dateCreated (Aug 2026) | Person in answer JSON-LD, LinkedIn URL, no on-site profile | 12 statistic-like sentences, 0 external links |
/voicescope (Vectorscope ai) | None in the text I read | No dates | Missing | 12 statistic-like sentences, 0 external links |
/skills/agricidaniel/claude-seo/seo | "Last read Oct 26, 2026" (sync date) | No dates | Organization (repo name) only | Install count 9,087, labelled "from the directory"; 0 in-content links |
/skills/coreyhaines31/marketingskills/seo-audit | Same sync date | No dates | Organization only | 238,125 installs, same pattern |
/skills/coreyhaines31/marketingskills/content-strategy | Same sync date | No dates | Organization only | 164,414 installs, same pattern |
/skills/wshobson/agents/rag-implementation | Same sync date | No dates | Organization only | 14,011 installs, same pattern |
/skills/google/skills/bigquery-ai-ml | Same sync date | No dates | Organization only | 7,144 installs, same pattern |
/skills/yuan1z0825/nature-skills/nature-citation | Same sync date | No dates | Organization only | 15,696 installs, same pattern |
The skill pages already show an install count labelled "from the directory", with a skills.sh link in the text and in the schema. The gap is that this is not a source link attached to the number inside the content. I did not read the pages in full, so the dates and sources marked "none in the text I read" could appear lower on the page.
dateModified in JSON-LD from the same value. Use the directory sync date only if it is labelled as that.ai.claims pages first.ai.noDate, ai.noAuthor and ai.claims.ai.claims.datePublished and dateModified to the glossary template.ai.noDate and ai.noAuthor.ai.noAuthor (20) exceeds ai.noDate (14). The news articles and /news have a date but no author./news./ai-volatility, /questions and the three language glossary hubs.ai.noAuthor, ai.noDate and ai.claims./voicescope, /brandscope, /patternscope, /reviewscope, /vectorscope and /methodology. Add a byline to /vectorscope/claude-skill, which already has a date. Source the numbers on /voicescope. Verify with ai.noDate and ai.noAuthor./glossary/robots-txt and /glossary/llms-txt are the pages where a date matters most, because the topic changes over time. Verify with ai.noDate and ai.noAuthor.ai.claims list. I did not audit any score 2 page or any page from the topics with no claims.audit_url returned only the start of each page's text, so whether a visible date or byline appears further down is unconfirmed./about exists or has a Person profile.ai.noDate and ai.noAuthor calls were too large to print. I re-fetched them with only the columns url and topic, and all 218 and 225 rows came back. The set arithmetic for the table is mine.SoftwareApplication.aggregateRating|review) and security-header fixes. I did not report those here.I can write the Jira tasks (one per fix key) or publish this as a shareable page if you want either.
Schema errors, or no schema on key templates.
/structured-data*GLLmolfar tools it calls: count_pagesget_pagesaudit_urlexplain_fix
Claude Code (Sonnet) on a crawl of getlooploop.com, 300 pages, 28 October 2026 · 97 s · 12 GLLmolfar tool calls · unedited, in English
Source: crawl 32, 2026-10-28 (300 pages, health 89). The page-level findings come from URL audits run on 2026-10-28 at about 14:15 UTC. Fix counts come from count_pages. The proposed JSON-LD is my judgment.
Crawl state: no crawl was running. I did not start one.
/skills/ template.** This one template has 147 of the 156 error pages and 147 of the 161 warning pages.aggregateRating|review missing.Offer.url, Offer.availability, and Organization.url/logo/sameAs.Organization warnings probably come from the inline author, which has only a name.Offer and author properties and decide separately about the rating error (see Section 3).headline match the visible H1 and clean up dateModified.dateModified is 2 ms after datePublished, so it looks auto-generated. The page shows no modified date./gllmolfar.offers, which is an error.publisher is an inline Organization that lacks logo and sameAs. Point it at the #organization node with an @id reference.get_status reports the local app as GLLmolfar 0.8.1. Confirm which version is current before you publish softwareVersion.| Fix key | Pages | Where |
|---|---|---|
structured.invalid | 0 | none |
structured.missing | 0 | none |
structured.errors | 156 | 147 /skills/* pages. The other 9 are /, /gllmolfar, /brandscope, /methodology, /patternscope, /reviewscope, /voicescope, /vectorscope and /vectorscope/claude-skill. |
structured.warnings | 161 | The same 147 /skills/ pages, plus the same 9 non-skill pages, plus /free-tools, /news, /notes and 2 /news/ pages. |
Every page has some JSON-LD. The problem is incomplete properties, not absent markup.
| Template | URL audited | Types found | Errors | Warnings | |
|---|---|---|---|---|---|
| Home | / | Organization, WebSite, SoftwareApplication, WebPage, FAQPage, ItemList | `SoftwareApplication.aggregateRating\ | review` | Offer.url, ListItem.item |
| Product | /gllmolfar | Organization, WebSite, SoftwareApplication | SoftwareApplication.offers, `aggregateRating\ | review` | Organization.logo, Organization.sameAs |
| Skill | /skills/agricidaniel/claude-seo/seo-schema | Organization, WebSite, SoftwareApplication, WebPage | `aggregateRating\ | review` | Organization.url/logo/sameAs, Offer.availability, Offer.url |
| News post | /news/ai-overviews-pass-80-as-the-clicks-stay-thin | Organization, WebSite, NewsArticle, BreadcrumbList, FAQPage | none | NewsArticle.image |
Facts in the snippets come from the audited pages. Anything marked TODO needs a real value from you.
/)The Organization already exists, and its sameAs lists only X and Discord. Add real profiles you own, such as a company LinkedIn page or GitHub org. Don't add a profile that doesn't exist.
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "Organization",
"@id": "https://www.getlooploop.com/#organization",
"name": "GetLoopLoop",
"url": "https://www.getlooploop.com",
"logo": "https://www.getlooploop.com/brand/getlooploop-logo.jpg",
"sameAs": [
"https://x.com/Looploopnow",
"https://discord.gg/Z6cRuhprMa"
/* TODO: add company LinkedIn / GitHub URLs if they exist */
],
"founder": { "@id": "https://www.getlooploop.com/about#author" }
}
]
}In the existing home SoftwareApplication, add "url" to the Offer. Use the page that explains invite-only access, which is a TODO. In the ItemList, give each ListItem an item as well as url:
{ "@type": "ListItem", "position": 1, "name": "Vectorscope",
"item": "https://www.getlooploop.com/vectorscope" }ItemList. Re-check the rest after the change.Offer says price 0 with LimitedAvailability. The visible text says "Invite-only". Make sure the markup says the same./news/*)There are no errors. Change the headline, drop or correct dateModified, and add an image:
{
"@context": "https://schema.org",
"@type": "NewsArticle",
"@id": "https://www.getlooploop.com/news/ai-overviews-pass-80-as-the-clicks-stay-thin#article",
"headline": "AI Overviews pass 80% as the clicks stay thin",
"datePublished": "2026-10-26T18:18:47.010Z",
"dateModified": "2026-10-26T18:18:47.010Z",
"image": ["TODO: https://www.getlooploop.com/<real article image>"],
"author": {
"@type": "Person",
"@id": "https://www.getlooploop.com/about#author",
"name": "Olexandr",
"url": "https://www.linkedin.com/in/olexandr-tsyrkin-07460539"
},
"publisher": { "@id": "https://www.getlooploop.com/#organization" },
"mainEntityOfPage": "https://www.getlooploop.com/news/ai-overviews-pass-80-as-the-clicks-stay-thin"
}datePublished matches the visible "26 October 2026". Only set dateModified to a later time if the page shows a real update.wordCount of 2847 differs from the crawler's count of 3161 words. I left it out. Add it back only if it is computed from the rendered text./gllmolfar)Use SoftwareApplication. Product doesn't apply to a desktop app.
{
"@context": "https://schema.org",
"@type": "SoftwareApplication",
"@id": "https://www.getlooploop.com/gllmolfar#software",
"name": "GLLmolfar",
"url": "https://www.getlooploop.com/gllmolfar",
"applicationCategory": "SEO software",
"operatingSystem": "Windows 10 or later, macOS on Apple silicon",
"softwareVersion": "TODO: confirm (page says 0.7.35, local app is 0.8.1)",
"offers": {
"@type": "Offer",
"price": "0",
"priceCurrency": "USD",
"url": "https://www.getlooploop.com/gllmolfar",
"availability": "https://schema.org/InStock"
},
"publisher": { "@id": "https://www.getlooploop.com/#organization" }
}price: 0 agrees with that. If paid levels get their own offers, add them.dateModified: the existing markup says 2026-10-27. I found no visible date to match it, so drop it unless the page shows one./skills/*)Keep the existing SoftwareApplication, WebPage and BreadcrumbList. Change the author and the Offer:
"author": { "@type": "Organization", "name": "agricidaniel/claude-seo",
"url": "TODO: the publisher's real URL shown on the page" },
"offers": { "@type": "Offer", "price": "0", "priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"url": "https://www.getlooploop.com/skills/agricidaniel/claude-seo/seo-schema" }seo-schema and the 7,079 installs agree with the visible page.Google changes the rich result types. Check the current Google documentation before you depend on one. The seo-schema skill page on your own site, a data point from the crawl, says Google retired several types in 2025. FAQPage is one that its text flags as having no Google SERP rich result benefit.
audit_url on each representative page after the change. The page is clean when its structured.errors and structured.warnings keys no longer list it./methodology, /brandscope, /patternscope, /reviewscope, /voicescope, /vectorscope, /free-tools, /news and /notes. They may differ from my samples.The full URL lists are in get_fix_urls for structured.errors (156) and structured.warnings (161). The /skills/* group has about 60 publisher folders. The largest are claude-seo (25 pages), affaan-m/ecc (11), google/skills (10), marketingskills (9), aaron-he-zhu/seo-geo-claude-skills (8) and wshobson/agents (8).
Briefing writers or a model to produce more pages like the best one.
/reverse-prompts*GLLmolfar tools it calls: reverse_prompts_readreverse_prompts_buildreverse_prompts_get
You fill in: url, page_type
Claude Code (Sonnet) on a crawl of getlooploop.com, 300 pages, 28 October 2026 · 114 s · 4 GLLmolfar tool calls · unedited, in English
Source: reverse prompting of https://www.getlooploop.com/gllmolfar, run mvs7769j56e7de7a, 2026-10-28. Build status: built, 13 blocks from 15 candidates. This is my reading of the page (judgment), not crawl or audit data.
get_status showed no crawl running (crawl 32 loaded, idle). I did not start one.
Each prompt starts "Write a … block for {product}, aimed at {audience}. Write in English." Below are the job and the structure, with word counts as the build gives them.
| # | Block | Type | Job | Structure (words) |
|---|---|---|---|---|
| 1 | Hero | hero | Say what the tool does and offer a download for both systems, with the limits stated. | Headline 8–12 (three short imperatives, no product name); intro 30–40; two download buttons 5–9 and 8–11; terms notice 6–10; limits note 28–40 |
| 2 | Preview disclosure | other | Set the expectation that this is a preview. | Headline 5–8; statement 18–26; 4 caveats of 8–24; reassurance 6–10; changelog link 4–7 |
| 3 | Unsigned build guide | other | Get the visitor past the security warning. | Headline 7–11; explanation 30–40; 3 options (h3 3–5, p 15–35); command hints 8–12 |
| 4 | Audience strip | other | Name the roles in one line. | Lead-in 3–5; 4 role chips of 1–3 |
| 5 | View gallery | features | One scan opens into many views, with the AI-access view highlighted. | Headline 5–9; intro 22–28; 4 groups (label 2–4, 5 view names); question 8–11; answer 34–42 |
| 6 | Scan walkthrough | how_it_works | Make each crawler step and the entry modes visible. | Headline 6–9; intro 24–30; 4 steps (h3 3–6, p 20–45); modes headline 5–7; 4 modes (h4 2–3, p 14–26) |
| 7 | Signal catalogue | features | List the signal families and the crawler's conduct rules. | Headline 4–7; intro 22–26; 4 families (h3 2–4, p 18–25); conduct note 80–95 |
| 8 | Capability catalogue | features | Map the whole workspace from findings to decisions to automation. | Headline 5–9; intro 22–28; 15 cards (h3 1–5, p 25–110) |
| 9 | Local analysis explainer | other | Show that meaning analysis runs locally and how to read it. | Headline 5–8; method 28–34; depth modes 75–90; 3 similarity cues; disclaimer 10–14 |
| 10 | Data boundary | other | Make clear what stays local and what is sent. | Headline 5–8; local storage 30–40; no cloud AI 18–24; telemetry 40–50; 5 data-flow rows |
| 11 | Questions | faq | Answer scope, method, limits and updates. | Headline 3–5; intro 6–10; 10 Q&As (question 4–11, answer 35–135) |
| 12 | Honest comparison | comparison | Compare with two unnamed rivals and concede where they do more. | Headline 3–5; intro 18–22; legend 5–7; 20 rows (name 2–9, cells 20–60); source note 25–30; footnotes 20–25 |
| 13 | Final download | cta | Repeat the download offer and the consent and link-validity notes. | Headline 5–7; offer 15–19; two buttons; terms notice 6–10; link note 6–9 |
Techniques that recur across blocks
To verify the changes, rebuild with the corrected example lines and check that reverse_prompts_build returns no warnings.
“Why are they cited and we are not?”
/competitor-passages*GLLmolfar tools it calls: list_crawlsopen_crawlsemantic_searchstart_crawlwait_for_crawlaudit_url
You fill in: competitor, questions
No example yet: this skill needs your code repository, a competitor's site or a Search Console tool in the agent.
The cannibal check appears, or two pages split one query in Search Console.
/cannibalization*GLLmolfar tools it calls: get_fixesget_fix_urlsget_pagesaudit_urlsemantic_search
Claude Code (Sonnet) on a crawl of getlooploop.com, 300 pages, 28 October 2026 · 40 s · 12 GLLmolfar tool calls · unedited, in English
Source: crawl 32, 300 URLs crawled, 300 with embeddings. The crawl is loaded and idle, so I started no new crawl. The date and any URL limit were not in get_status. The account limit is 1,000,000 URLs, so it did not cut anything. I did not use Search Console.
/skills/ pages (crawl 32 + my judgment).cannibal no longer lists these URLs.larksuite/cli, open.larksuite.com and open.feishu.cn. The nearest-page scores are 0.78 and 0.74 (meeting-summary) and 0.79 and 0.76 (standup-report).open.feishu.cn, 466,168 for larksuite/cli and 6,936 for open.larksuite.com.open.larksuite.com listing removes it from the index. It unblocks the other two from competing with it. It does not guarantee any ranking.firecrawl-crawl.firecrawl/cli has 80,778 installs and firecrawl/skills has 5,700. They score 0.79–0.80 against each other, with the same intent.firecrawl/cli instead.Scores are cosine similarity from semantic_search, a search on the H1 of the first page. Each page has only one embedded section, and that section is the title sentence. So "best matching sections" here compares the title boilerplate, not the body text. The intent verdicts are my judgment from skill names and publishers.
| Pair | Score | Same intent? (my judgment) | Action |
|---|---|---|---|
claude-seo/seo ↔ seo-technical | 0.765 | Partly. The first is a general entry point and the second is technical checks. | Keep both. Angle: overview and router vs technical checks only. |
claude-seo/seo-audit ↔ seo-technical | 0.783 | Partly. An audit includes technical checks. | Keep both. Angle: full-site audit report vs technical-fix checklist. |
claude-seo/seo ↔ seo-audit | 0.756 | No. | Do nothing beyond the template fix. |
firecrawl/cli ↔ firecrawl/skills firecrawl-crawl | 0.786–0.800 | Yes | Keep both with different angles, or set a canonical (see change 3). |
gws-workflow ↔ gws-workflow-file-announce | 0.746 | No. The first is the parent hub and the second is one task. | Keep both. Angle: hub that lists workflows vs file announcements. |
gws-workflow ↔ gws-workflow-weekly-digest | 0.743 | No. Same hub-versus-task relationship. | Keep both. Angle: hub vs weekly digest. |
larksuite/cli ↔ open.larksuite.com ↔ open.feishu.cn, lark-workflow-meeting-summary | 0.744–0.778 | Yes | Set a canonical (change 2). |
Same three, lark-workflow-standup-report | 0.759–0.793 | Yes | Set a canonical (change 2). |
The nearest page for each of the six pages in the two Lark skills came from the sibling searches. I did not search the four open.* pages separately.
open.* pages were covered through their sibling pages, as noted above.cannibal fix has 14 URLs and all 14 were returned, so nothing was cut. I did not call explain_fix. I did not create Jira tasks./skills/agricidaniel/claude-seo/seo → seo-technical (0.765)/skills/agricidaniel/claude-seo/seo-audit → seo-technical (0.783)/skills/agricidaniel/claude-seo/seo-technical → seo (0.764)/skills/firecrawl/cli/firecrawl-crawl → firecrawl/skills/firecrawl-crawl (0.787)/skills/firecrawl/skills/firecrawl-crawl → firecrawl/cli/firecrawl-crawl (0.798)/skills/googleworkspace/cli/gws-workflow → gws-workflow-email-to-task (0.754). That page is not in the cannibal list, but file-announce (0.744) and weekly-digest (0.742) are the next nearest./skills/googleworkspace/cli/gws-workflow-file-announce → gws-workflow (0.746)/skills/googleworkspace/cli/gws-workflow-weekly-digest → gws-workflow (0.743)/skills/larksuite/cli/lark-workflow-meeting-summary → open.larksuite.com (0.778). I read this one from the open.larksuite.com search, where it scored 0.7784 against its own H1./skills/larksuite/cli/lark-workflow-standup-report → open.larksuite.com (0.793). I read this one from the open.larksuite.com standup-report search, where it scored 0.793./skills/open.feishu.cn/lark-workflow-meeting-summary, .../lark-workflow-standup-report, /skills/open.larksuite.com/lark-workflow-meeting-summary and .../lark-workflow-standup-report → the same-name page on larksuite/cli, from the sibling searches.Orphans, deep pages, or a new page that needs links.
/internal-links*GLLmolfar tools it calls: get_fix_urlsget_pagesaudit_urlsemantic_search
Claude Code (Sonnet) on a crawl of getlooploop.com, 300 pages, 28 October 2026 · 28 s · 8 GLLmolfar tool calls · unedited, in English
I did not build any edit lists. By your definition, this crawl has no weak pages.
Source: GLLmolfar crawl 32 of https://www.getlooploop.com/. It is the open crawl, and the status call shows no crawl running. I did not record its date. The status and overview results don't show one.
noInlinks, links.oneInlink and deep each returned 0 URLs. The deepest page is at depth 2. No page has 0 or 1 inlinks. Steps 3 to 7 start from these lists, so there are no pages to assign an action or source pages to.firecrawl/cli/firecrawl-crawl and firecrawl/skills/firecrawl-crawl (similarity 0.971).larksuite/cli/lark-workflow-standup-report and open.larksuite.com/lark-workflow-standup-report (0.957).larksuite/cli/lark-workflow-meeting-summary and open.larksuite.com/lark-workflow-meeting-summary (0.956). Linking such pairs to each other does not strengthen anything. My judgment is that they are merge or canonical candidates. The cannibal fix in this crawl flags 14 pages as nearly identical to another page. I did not check which pages those are.
/skills/…. About 25 more have 3 to 7. None of them fall under your three keys.links list was complete: 239 of 239, and the saved file has all 1,440 lines. I read only its first 60 lines (about 10 opportunities). The rest is unread, and the 239 total comes from the tool result.Pick one and I'll continue:
After any change, run the same fix key again. A change is verified when a new crawl no longer lists the URL under that key.
Quick wins with real demand behind them (needs a Search Console tool in the agent).
/gsc-opportunities*GLLmolfar tools it calls: semantic_searchget_pagesaudit_url
You fill in: min_impressions
No example yet: this skill needs your code repository, a competitor's site or a Search Console tool in the agent.
* How slash commands look, and whether they appear at all, depends on the agent you connect, not on GLLmolfar. Copying the text works in every agent.
Ideas adapted from open-source SEO, GEO and AEO skills (MIT and Apache-2.0); every text is written for GLLmolfar in simplified technical English.
The app shows the same notes when a new version is out, so you can see what changed before you update.
Scope, method and limits of the current preview.
Downloading means you accept the GLLmolfar Preview Terms.
It requests URLs from the website you choose, follows the discovery method and scope you set, records each response, and extracts page and link data for the reports. It does not change pages on the site.
It checks the ground floor: whether each AI crawler may fetch the site under robots.txt, whether llms.txt exists, and whether pages split into passages an assistant can quote on their own. Semantic search and the passage view show which pages answer a question by meaning. It does not measure whether assistants actually cite or mention you.
Spider follows links it discovers in page HTML. Spider + sitemap also reads XML sitemap files and records which discovered pages are listed there. Sitemap-only starts from sitemap URLs; List mode checks only URLs you provide.
In Auto mode, pages with fewer than 100 words in their original HTML are opened in a bundled browser and checked again after JavaScript runs. You can also render all pages or switch rendering off. This is a crawl diagnostic, not a guarantee that every site's bot defences or browser behaviour will match Google.
The app splits page text into passages, turns them into vectors with a local embedding model, then compares those vectors to group related pages and passages. Cluster labels are based on distinctive terms. The model does not write recommendations or page copy.
Two ways. From the crawl, it flags unusually similar same-language pages by meaning and shows the evidence side by side — a content-overlap lead to investigate. With Search Console connected, it lists the queries for which Google actually showed two or more of your pages, each with a real share of the impressions, the page with the most clicks first. The first needs no Google data; the second is what search really did.
Sign in to the app with Google, open Search Console on the rail and press Connect Search Console. Only that same Google account can be connected, and only with read-only access to Search Console. getlooploop.com keeps the access grant, encrypted; the reports travel from Google to your computer and are saved there, so the last one is shown, with its date, offline or signed out. Pressing Disconnect or signing out of the app deletes the grant, not the reports.
Crawl records and saved crawl history are stored in a local SQLite database. Embeddings are calculated on your computer after the model is downloaded. The app still sends ordinary web requests to the site you crawl; optional external-link checks request those URLs too, and a domain record asks public RDAP, WHOIS and DNS services. At start it reads one public version file from getlooploop.com to tell you about updates, and it sends anonymous usage statistics: a random install ID the app makes up, the app version, the Windows or macOS version, the interface language, and when the app opened and closed. Never a URL, a domain or anything from a crawl. Both can be switched off in Settings. With Search Console connected, the app reads Google's API directly; getlooploop.com keeps only the encrypted access grant.
Without an account a crawl reads up to 5,000 URLs; with a free account, 50,000; paid levels go up to 1,000,000, the app's own ceiling. That is how it works now, an intention rather than a promise: the limits can and will change. The sitemap can contain more URLs than the crawl limit; the crawl cap limits fetched pages, not the number of sitemap entries read for membership.
While the app is open it checks for a new version every half hour. On Windows it downloads the update in the background, checks its SHA-256 against the published file, and shows a red restart button in the title bar; the update installs when you restart, with crawls and settings kept. On a Mac it tells you about the new version and opens the download page. Checking for updates can be switched off in Settings.
Two well-known SEO crawlers, unnamed, side by side with GLLmolfar's free preview. Where they do more, the table says so.
| ✓Yes◐Partly — see the note✕No | GLLmolfar | Competitor 1Desktop crawler | Competitor 2Desktop & cloud auditor |
|---|---|---|---|
| Getting started | |||
| Free version | 5,000 URLs per crawl, 50,000 with a free account** | 500 URLs per crawl | ✕No14-day trial only |
| Largest crawl | Up to 1,000,000 URLs on paid levels** | No fixed cap* | Up to 10 million URLs (cloud) |
| Runs on your computer | ✓Yes | ✓Yes | ✓Yes |
| Windows and Mac | Windows 10+, Mac with Apple silicon | Windows, macOS, Ubuntu | Windows 10/11, macOS Sonoma+ |
| Technical SEO | |||
| Broken links, redirects, titles, directives, hreflang | ✓Yes | ✓YesFree version too | ✓Yes |
| JavaScript rendering | ✓YesAutomatic for thin pages | ✓YesPaid version | ✓Yes |
| Crawl history and comparison | ✓Yes | ✓YesPaid version | ✓Yes |
| Scheduled crawls | ✓YesBuilt in | ✓YesPaid version | ✓Yes |
| Search Console and Analytics | ◐Partly — see the noteSearch Console, nine reports, free when signed in; no Analytics | ✓YesPaid version | ✓Yes |
| Google's index status, page by page (URL Inspection) | ✓YesKept on your computer; Google's 2,000 a day, in portions | ✓YesPaid version | ✓YesTop 2,000 HTML URLs a day, by internal links |
| Accessibility audit | ◐Partly — see the noteFrom the HTML of every page; no colour contrast yet | ✓YesPaid version | ✓Yes |
| Export to Google Sheets | ✓YesTo your own Drive; the app sees only the files it creates | ✓Yes | ✓YesAutomatic upload on Pro |
| AI bots, each with its own robots.txt group | ✓YesGPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot and PerplexityBot presets | ◐Partly — see the noteAny agent you type; no AI presets documented | ◐Partly — see the noteAny agent you type; presets for search engines only |
| The crawl's user agent and public IP on screen | ✓YesLive during the crawl and on the project card | ✕No | ◐Partly — see the noteIP address under Settings › Logging |
| Meaning and AI search | |||
| Topics grouped by meaning | ✓YesBuilt in, free | ◐Partly — see the notePaid, with your own AI provider key | ✕NoNot offered |
| Cannibalization by meaning | ✓YesBuilt in, free | ◐Partly — see the notePaid, with your own AI provider key | ✕NoNear-duplicates by wording only |
| Page text stays on your computer during AI analysis | ✓YesLocal embedding model | ◐Partly — see the noteOnly with a local AI server you run | ✕NoAI works in a chat assistant on exported data |
| Search Console query charts | ✓YesQuery words as a treemap, position and CTR charts | ✕No | ◐Partly — see the noteClicks and CTR by position, brand split |
| Attention map on a page screenshot | ✓YesA forecast from layout, labelled as one | ✕No | ✕No |
| AI agents over MCP | ✓YesLocal server; can start crawls | ✓YesPaid; can run crawls | ◐Partly — see the noteReads finished audits; does not start crawls |
| A fix as a Jira task | ✓YesA button on each fix, and for agents | ✕No | ◐Partly — see the noteThrough its MCP skill in your AI assistant |
Competitors are not named. Their marks come from their own feature pages and documentation, read in October and November 2026; features change, so check the vendor before you decide.
* Limited by the computer's memory and storage.
** GLLmolfar's limits as they work now: an intention, not a promise. They can and will change.
Leave your email, accept the preview terms, and download the build for Windows or Mac straight away.
Downloading means you accept the GLLmolfar Preview Terms.
A personal link, valid for 7 days.