<Devsly/>
NotebookLM Watermark Remover
Remove the NotebookLM watermark from PDF slide exports — free, unlimited, and 100% in your browser.
View
NotebookLM Video Watermark Remover
Remove the NotebookLM watermark from every frame of your MP4 and auto-trim the end card — free and unlimited.
View
Gemini Watermark Remover
Remove the Gemini (Veo) sparkle watermark from every frame of your AI-generated MP4 — free and unlimited.
View
MCP https://devsly.io/mcp MCP Tools Best Skills API Docs

Keyboard Shortcuts

Navigation

Quick Search
⌘ / Ctrl + K
Toggle Dark Mode
⌘ / Ctrl + D
Close Dialogs
Esc

Tool Actions

Execute / Process
⌘ / Ctrl + Enter
Clear Input
⌘ / Ctrl + Shift + C
Copy Output
⌘ / Ctrl + Shift + X

Editor

Select All
⌘ / Ctrl + A
Undo
⌘ / Ctrl + Z
Redo
⌘ / Ctrl + Shift + Z
Questions or ideas? Reach us on LinkedIn — we reply. Connect

www.wgod.co — llms.txt & GEO score

Re-scan this site
63 /100 C · 63 of 100 points

An index of pages, not of content

www.wgod.co publishes a short llms.txt: 6 links across 3 sections, 994 bytes in all.

Only 83% of the links carry a description, so the rest are a coin flip: a model has to open them to find out what they are.

The clearest gap is points at clean markdown copies. Right now: 0 of 6 end in .md or .txt (0%, detected by file extension). Closing it is worth 10 points.

Workable, but an assistant is still guessing in places. Scanned 27 October 2026 against 34 checks — 19 passed, 4 partial, 11 missing.

www.wgod.co GEO score card: 63 out of 100, with the score broken down across content, structure, discovery, search-engine basics and depth.
www.wgod.co scored 63/100 on 27 October 2026. Source file: https://www.wgod.co/llms.txt.
63/100geo score
6links
3sections
994 Bsize

What it does well

  • Descriptions add to the title No description merely repeats its title
  • List items are markdown links All 6 list items are links
  • AI crawlers are not blocked No AI user-agent is disallowed at the root

What is missing

  • Points at clean markdown copies +10 0 of 6 end in .md or .txt (0%, detected by file extension)
  • Link titles are descriptive +4 3 weak titles (bare URLs, “here”, one-word labels)
  • Grouped into balanced sections +3 3 H2 sections, largest group holds 5 of 6 links
  • Publishes llms-full.txt +3 No llms-full.txt alongside the index

Among the 24 sites measured here so far, www.wgod.co ranks 19th, against a median of 71. That comparison moves as new sites are scanned — it is a snapshot of this list, not of the web.

What www.wgod.co tells an assistant

WGOD

WGOD is a community for AI creators. It has a library of video prompts, downloadable resources, forums, a blog and a member feed.

Content & links

Can a model pick the right page, first time?

29/52

4 of 11 checks pass. What is left: every link carries a description, descriptions say something concrete, points at clean markdown copies, link titles are descriptive, a workable number of links, skippable links marked Optional and enough written detail per link.

  • Every link carries a description 5 of 6 described (83%)
    8/10
  • Descriptions say something concrete Average 79 characters across 5 described links
    6/7
  • Descriptions add to the title No description merely repeats its title
    4/4
  • Points at clean markdown copies 0 of 6 end in .md or .txt (0%, detected by file extension)
    0/10
  • Link titles are descriptive 3 weak titles (bare URLs, “here”, one-word labels)
    0/4
  • A workable number of links 6 links — thin for an index of a real site
    2/4
  • Skippable links marked Optional Nothing is marked as skippable
    0/3
  • No duplicate links All 6 URLs are distinct
    2/2
  • List items are markdown links All 6 list items are links
    4/4
  • Enough written detail per link 21 words per link across 128 words
    2/3
  • Links are absolute URLs All 6 links are absolute URLs
    1/1

Structure

Does it follow the llms.txt shape?

17/20

6 of 7 checks pass. What is left: grouped into balanced sections.

  • Exactly one H1 project title “WGOD”
    3/3
  • Summary directly under the title Present as a blockquote
    3/3
  • Summary is a usable length 129 characters
    3/3
  • Concrete language, not marketing filler No marketing filler detected
    3/3
  • Grouped into balanced sections 3 H2 sections, largest group holds 5 of 6 links
    1/4
  • Conforms to the published grammar Markdown only, headings used as the spec defines them
    2/2
  • Section names say what is inside All 3 headings are descriptive
    2/2

Discovery & access

Can an assistant reach it, and is it allowed to?

11/11

All 5 checks pass in this group.

  • At the root of the domain you typed Found at the standard /llms.txt path
    2/2
  • Sent as plain text Content-Type: text/plain; charset=utf-8
    1/1
  • robots.txt exists 567 B of crawler rules
    1/1
  • AI crawlers are not blocked No AI user-agent is disallowed at the root
    6/6
  • robots.txt points at a sitemap A Sitemap: line is declared
    1/1

Search-engine basics

What a crawler reads from your homepage today

4/8

3 of 6 checks pass. What is left: homepage title is the right length, canonical URL declared and social card image.

  • Homepage title is the right length 4 characters, from title — shorter than search engines prefer
    0/2
  • Title is not padded or repetitive No repeated terms
    1/1
  • Homepage has a meta description 60 characters, from meta description — thin for a snippet
    2/2
  • Canonical URL declared No rel="canonical" link
    0/1
  • Language declared lang="en"
    1/1
  • Social card image No og:image — shares render as a bare link
    0/1

Depth & upkeep

Is there more than the index, and is it current?

2/9

1 of 5 checks pass. What is left: publishes llms-full.txt, the index points at the full file, server reports when it last changed and the index is kept current.

  • Publishes llms-full.txt No llms-full.txt alongside the index
    0/3
  • The index points at the full file No llms-full.txt exists to link to
    0/1
  • Index is a sensible size 994 B
    2/2
  • Server reports when it last changed No Last-Modified header — clients cannot tell when this changed
    0/1
  • The index is kept current Cannot be confirmed — the server sends no Last-Modified header
    0/2

What www.wgod.co should fix next

Ordered by what each one is worth. Open a row for the steps.

+37 pts
  • Right now: 0 of 6 end in .md or .txt (0%, detected by file extension)

    Publish a .md version of each page and link to that. The single biggest win here: the model reads your content instead of your navigation and footer.

    Where: Your CMS or docs build — this is the biggest single win here

    1. Publish a .md version of each page you link to, at a predictable URL (page.md next to page).
    2. Point the llms.txt links at the .md copies, not at the HTML pages.
    3. Strip navigation, cookie banners and footers from the markdown — that is the whole point: the model reads your content instead of your chrome.
    4. Declare the pair in your HTML with a link relation so clients can find it without guessing.

    In your file

    line 7
    - [Prompts](https://www.wgod.co/prompts): Video prompts: copy-ready prompts with preview videos, shared by members and the team.
    - [Prompts](https://www.wgod.co/prompts.md): Video prompts: copy-ready prompts with preview videos, shared by members and the team.
    line 8
    - [Downloads](https://www.wgod.co/downloads/): Resources: scripts, themes, add-ons and design files with versions, reviews and free or points-based downloads.
    - [Downloads](https://www.wgod.co/downloads.md): Resources: scripts, themes, add-ons and design files with versions, reviews and free or points-based downloads.
    line 9
    - [Forums](https://www.wgod.co/forums/): Forums: discussion boards on AI tools, development, design and general topics.
    - [Forums](https://www.wgod.co/forums.md): Forums: discussion boards on AI tools, development, design and general topics.

    Placeholders in { } are yours to write — we do not invent text about your pages.

  • Right now: 3 weak titles (bare URLs, “here”, one-word labels)

    Replace bare URLs and “click here” with the page’s real name — the title is half the signal.

    Where: The "[Title]" part of each link

    1. Replace bare URLs, "here", "click here" and one-word labels with the page’s real name.
    2. The title is half the signal — a model reads it before it reads your description.

    In your file

    line 7
    - [Prompts](https://www.wgod.co/prompts): Video prompts: copy-ready prompts with preview videos, shared by members and the team.
    - [{the page’s real name}](https://www.wgod.co/prompts): Video prompts: copy-ready prompts with preview videos, shared by members and the team.
    line 9
    - [Forums](https://www.wgod.co/forums/): Forums: discussion boards on AI tools, development, design and general topics.
    - [{the page’s real name}](https://www.wgod.co/forums/): Forums: discussion boards on AI tools, development, design and general topics.
    line 10
    - [Blog](https://www.wgod.co/blog): Blog: articles and guides written by approved authors.
    - [{the page’s real name}](https://www.wgod.co/blog): Blog: articles and guides written by approved authors.

    Placeholders in { } are yours to write — we do not invent text about your pages.

  • Right now: 3 H2 sections, largest group holds 5 of 6 links

    Group links under headings a reader would look for, and spread them — one group holding most of the file is the same as no grouping.

    Where: The "## " headings in llms.txt

    1. Split the link list into at least five "## " groups by what a reader would be looking for.
    2. Typical split: Docs, API, Guides, Product, Company, Optional.
    3. Grouping is what lets a model skip nine tenths of the file and still find the right page.
    Instead of
    ## Links
    
    - [A](...)
    - [B](...)
    - [C](...)
    Do this
    ## Docs
    
    - [A](...)
    
    ## API
    
    - [B](...)
    
    ## Optional
    
    - [C](...)
  • Right now: No llms-full.txt alongside the index

    Generate an llms-full.txt that inlines every linked page. Community convention rather than spec, but assistants with a large context window take the whole thing in one request.

    Where: Your docs build, output at /llms-full.txt

    1. Concatenate the markdown of every page listed in llms.txt into one file.
    2. Keep the heading structure: a client uses those headings to navigate a multi-megabyte file.
    3. Regenerate it in the same build step that publishes the docs, so it cannot drift.
    4. Note that llms-full.txt is a community convention, not part of the proposal — useful, but optional.
  • Right now: Nothing is marked as skippable

    Move the nice-to-haves under ## Optional so a model on a tight budget knows what to drop first.

    Where: A new "## Optional" section at the end of llms.txt

    1. Move the nice-to-have links — history, press, careers — under "## Optional".
    2. By convention a client may skip that whole section when context is tight.
    3. This is you deciding what gets dropped first, instead of the model guessing.
    Do this
    ## Optional
    
    - [Company history](https://acme.example/about.md): Background, not needed to answer product questions
  • Right now: 6 links — thin for an index of a real site

    Either curate to roughly 10–40 links, or go the other way and map everything to .md copies. The costly middle is a long list of HTML links with no descriptions.

    Where: The link lists in llms.txt

    1. Aim for roughly 10–40 curated links.
    2. Above about fifty, a model has to read the whole file before it can choose, and every entry gets diluted.
    3. If you generated the file from a sitemap, delete most of it: curation is the entire value of the format.
    4. Below ten, add the pages you would send a new customer to first.
  • Right now: 5 of 6 described (83%)

    Add ": " and one short line after every link. An undescribed link is a coin flip — the model has to open it to find out what it is.

    Where: Each "- [Title](url)" line

    1. Add ": " and one short line after every link — not most of them, every one.
    2. Describe what the page answers, not what it is called.
    3. An undescribed link is a coin flip: the model has to open it to find out.

    In your file

    line 19
    - [sitemap.xml](https://www.wgod.co/sitemap.xml)
    - [sitemap.xml](https://www.wgod.co/sitemap.xml): {one line on what this page covers}

    Placeholders in { } are yours to write — we do not invent text about your pages.

  • Right now: 4 characters, from title — shorter than search engines prefer

    Write a 30–60 character title that names the product and what it does.

    Where: The <title> tag on your homepage

    1. Target 30–60 characters; past 60 the result gets cut off in search.
    2. Put what you do before the brand name — the first words are what survives truncation.
    Instead of
    <title>Acme Parts | Acme | Industrial Spare Parts Supplier Europe Acme</title>
    Do this
    <title>Industrial spare parts for food lines — Acme</title>
  • Right now: Cannot be confirmed — the server sends no Last-Modified header

    Regenerate llms.txt when the docs change. A year-old index quietly points models at pages that have moved.

    Where: Your build pipeline

    1. Regenerate llms.txt in the same step that publishes content, so it cannot go stale silently.
    2. Treat it as a build artifact, not a hand-edited file — hand-edited indexes drift within a quarter.
    3. An llms.txt with discontinued products is worse than none: a model will repeat the wrong facts confidently.
  • Right now: No rel="canonical" link

    Add <link rel="canonical"> so www and non-www are not counted as two competing sites.

    Where: The <head> of every page

    1. Add <link rel="canonical" href="..."> with the absolute, preferred URL.
    2. Pick one host — www or non-www — and make every canonical point at it.
    Do this
    <link rel="canonical" href="https://acme.example/">
  • Right now: Average 79 characters across 5 described links

    Write 60+ characters that add information the title does not: numbers, limits, formats, names.

    Where: The text after ": " on each link

    1. Write 60 characters or more, and make them add information the title does not.
    2. Cover every link: this is measured per LINK, not per description, so an undescribed line counts as zero.
    3. Name the concrete things on the page: numbers, limits, formats, model names.
    4. If the description could be pasted under any other link, it is not a description yet.
    Instead of
    - [API](https://acme.example/api.md): API documentation
    Do this
    - [API](https://acme.example/api.md): REST endpoints, auth with bearer tokens, rate limits and pagination
  • Right now: 21 words per link across 128 words

    A list of names is not documentation. Aim for 30+ words per link across the file — summary, section context and descriptions together. For an exhaustive map what matters instead is that the list is grouped so a model can skip whole branches.

    Where: The descriptions and section context in llms.txt

    1. Count the words in your file against the number of links — aim for 30 or more per link.
    2. A list of page names is an index, not documentation; the descriptions are what a model actually reads.
    3. Add a line of context under each "## " heading saying what that group covers.
  • Right now: No Last-Modified header — clients cannot tell when this changed

    Let the server send Last-Modified on llms.txt. Without it a client has to re-download the whole file to notice a change.

    Where: Your web server configuration

    1. Serve llms.txt as a real file on disk so the server can derive Last-Modified from its mtime.
    2. If it is generated by an application route, set the header yourself from the generation time.
    3. Without it a client has to re-download the whole file to notice a change, and cannot answer "is this current?".
    Instead of
    HTTP/1.1 200 OK\nContent-Type: text/plain
    Do this
    HTTP/1.1 200 OK\nContent-Type: text/plain\nLast-Modified: Wed, 10 Sep 2026 08:14:00 GMT
  • Right now: No og:image — shares render as a bare link

    Add an og:image. One tag, and it is the difference between a link and a card wherever you are shared.

    Where: The <head> of your homepage

    1. Add an og:image pointing at a 1200×630 PNG or JPG, with an absolute URL.
    2. Add og:title and og:description alongside it so the card is not assembled from guesses.
    3. Without it, every share of your link renders as bare text.
    Do this
    <meta property="og:image" content="https://acme.example/og.png">
    <meta property="og:image:width" content="1200">
    <meta property="og:image:height" content="630">
  • Right now: No llms-full.txt exists to link to

    Mention llms-full.txt inside llms.txt. Guessing the filename works often enough to be tempting and not often enough to rely on.

    Where: Inside llms.txt

    1. Mention the full file in llms.txt itself, as a link or a line of context.
    2. Guessing the filename works often enough to be tempting and not often enough to rely on.
    Do this
    Full inlined text: https://acme.example/llms-full.txt

This score is Devsly’s own heuristic, not an official standard — llms.txt has no scoring body. It measures how well a file serves an AI assistant, and it does not predict whether any assistant will cite the site. The reading is a snapshot from 27 October 2026; run it again for the current state, or check a different site.