aribilgi.com — llms.txt & GEO score
An index of pages, not of content
aribilgi.com publishes a curated llms.txt — 27 links across 7 sections, 2.3 KB in all.
The clearest gap is every link carries a description. Right now: 0 of 27 described (0%). Closing it is worth 10 points.
What it does well
- A workable number of links 27 links (12–50 is the sweet spot)
- List items are markdown links All 27 list items are links
- Grouped into balanced sections 7 H2 sections, largest group holds 5 of 27 links
- AI crawlers are not blocked No AI user-agent is disallowed at the root
What is missing
- Every link carries a description +10 0 of 27 described (0%)
- Points at clean markdown copies +10 0 of 27 end in .md or .txt (0%, detected by file extension)
- Descriptions say something concrete +7 No descriptions at all
- Descriptions add to the title +4 No descriptions to compare against their titles
Among the 22 sites measured here so far, aribilgi.com ranks 17th, 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 aribilgi.com tells an assistant
Arı Bilgi: Bilgisayar ve Meslek Eğitim Kursları
Arı Bilgi Bilişim Akademisi Türkiye'nin En iyi Bilişim Akademisi Kurumudur\. Kurumsal ve Bireysel Olarak Eğitim ve Danışmanlık Hizmeti Verir\.
Content & links
Can a model pick the right page, first time?
5 of 11 checks pass. What is left: every link carries a description, descriptions say something concrete, descriptions add to the title, points at clean markdown copies, link titles are descriptive and enough written detail per link.
-
Every link carries a description 0 of 27 described (0%)0/10
-
Descriptions say something concrete No descriptions at all0/7
-
Descriptions add to the title No descriptions to compare against their titles0/4
-
Points at clean markdown copies 0 of 27 end in .md or .txt (0%, detected by file extension)0/10
-
Link titles are descriptive 2 weak titles (bare URLs, “here”, one-word labels)3/4
-
A workable number of links 27 links (12–50 is the sweet spot)4/4
-
Skippable links marked Optional An ## Optional section is present3/3
-
No duplicate links All 27 URLs are distinct2/2
-
List items are markdown links All 27 list items are links4/4
-
Enough written detail per link 6 words per link across 164 words0/3
-
Links are absolute URLs All 27 links are absolute URLs1/1
Structure
Does it follow the llms.txt shape?
All 7 checks pass in this group.
-
Exactly one H1 project title “Arı Bilgi: Bilgisayar ve Meslek Eğitim Kursları”3/3
-
Summary directly under the title Present as a blockquote3/3
-
Summary is a usable length 142 characters3/3
-
Concrete language, not marketing filler No marketing filler detected3/3
-
Grouped into balanced sections 7 H2 sections, largest group holds 5 of 27 links4/4
-
Conforms to the published grammar Markdown only, headings used as the spec defines them2/2
-
Section names say what is inside All 7 headings are descriptive2/2
Discovery & access
Can an assistant reach it, and is it allowed to?
All 5 checks pass in this group.
-
At the root of the domain you typed Found at the standard /llms.txt path2/2
-
Sent as plain text Content-Type: text/plain1/1
-
robots.txt exists 340 B of crawler rules1/1
-
AI crawlers are not blocked No AI user-agent is disallowed at the root6/6
-
robots.txt points at a sitemap A Sitemap: line is declared1/1
Search-engine basics
What a crawler reads from your homepage today
All 6 checks pass in this group.
-
Homepage title is the right length 65 characters, from title — will be cut off2/2
-
Title is not padded or repetitive No repeated terms1/1
-
Homepage has a meta description 140 characters, from meta description2/2
-
Canonical URL declared https://aribilgi.com/1/1
-
Language declared lang="tr"1/1
-
Social card image og:image is set1/1
Depth & upkeep
Is there more than the index, and is it current?
2 of 5 checks pass. What is left: publishes llms-full.txt, the index points at the full file and the index is kept current.
-
Publishes llms-full.txt No llms-full.txt alongside the index0/3
-
The index points at the full file No llms-full.txt exists to link to0/1
-
Index is a sensible size 2.3 KB2/2
-
Server reports when it last changed Server sends Last-Modified1/1
-
The index is kept current 225 days old1/2
What aribilgi.com should fix next
Ordered by what each one is worth. Open a row for the steps.
-
Right now: 0 of 27 described (0%)
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
- Add ": " and one short line after every link — not most of them, every one.
- Describe what the page answers, not what it is called.
- An undescribed link is a coin flip: the model has to open it to find out.
In your file
line 8- [Başarı Hikayeleri](https://aribilgi.com/basari-hikayeleri/)
- [Başarı Hikayeleri](https://aribilgi.com/basari-hikayeleri/): {one line on what this page covers}line 9- [Ana Sayfa 2](https://aribilgi.com/)
- [Ana Sayfa 2](https://aribilgi.com/): {one line on what this page covers}line 10- [Network Eğitimleri](https://aribilgi.com/network-egitimleri/)
- [Network Eğitimleri](https://aribilgi.com/network-egitimleri/): {one line on what this page covers}Placeholders in { } are yours to write — we do not invent text about your pages.
-
Right now: 0 of 27 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
- Publish a .md version of each page you link to, at a predictable URL (page.md next to page).
- Point the llms.txt links at the .md copies, not at the HTML pages.
- Strip navigation, cookie banners and footers from the markdown — that is the whole point: the model reads your content instead of your chrome.
- Declare the pair in your HTML with a link relation so clients can find it without guessing.
In your file
line 8- [Başarı Hikayeleri](https://aribilgi.com/basari-hikayeleri/)
- [Başarı Hikayeleri](https://aribilgi.com/basari-hikayeleri.md)
line 10- [Network Eğitimleri](https://aribilgi.com/network-egitimleri/)
- [Network Eğitimleri](https://aribilgi.com/network-egitimleri.md)
line 11- [Yazılım Eğitimleri](https://aribilgi.com/yazilim-egitimleri/)
- [Yazılım Eğitimleri](https://aribilgi.com/yazilim-egitimleri.md)
Placeholders in { } are yours to write — we do not invent text about your pages.
-
Right now: No descriptions at all
Write 60+ characters that add information the title does not: numbers, limits, formats, names.
Where: The text after ": " on each link
- Write 60 characters or more, and make them add information the title does not.
- Cover every link: this is measured per LINK, not per description, so an undescribed line counts as zero.
- Name the concrete things on the page: numbers, limits, formats, model names.
- 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: No descriptions to compare against their titles
A description that echoes the title costs context and adds nothing. Say what is on the page, not what it is called.
Where: The text after ": " on each link
- Find the descriptions that just repeat the link title and rewrite them.
- Say what is ON the page — the numbers, limits, formats or names a reader would come for.
- If the description and the title carry the same information, one of them is wasted context.
Instead of- [Shipping](https://acme.example/shipping.md): Shipping
Do this- [Shipping](https://acme.example/shipping.md): Delivery times by country, free over €50, returns within 30 days
-
Right now: 6 words per link across 164 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
- Count the words in your file against the number of links — aim for 30 or more per link.
- A list of page names is an index, not documentation; the descriptions are what a model actually reads.
- Add a line of context under each "## " heading saying what that group covers.
-
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
- Concatenate the markdown of every page listed in llms.txt into one file.
- Keep the heading structure: a client uses those headings to navigate a multi-megabyte file.
- Regenerate it in the same build step that publishes the docs, so it cannot drift.
- Note that llms-full.txt is a community convention, not part of the proposal — useful, but optional.
-
Right now: 2 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
- Replace bare URLs, "here", "click here" and one-word labels with the page’s real name.
- The title is half the signal — a model reads it before it reads your description.
In your file
line 30- [ofis x](https://aribilgi.com/?post_type=upl_post_list&p=12548)
- [{the page’s real name}](https://aribilgi.com/?post_type=upl_post_list&p=12548)line 43- [error](https://aribilgi.com/qmn_log_type/error/)
- [{the page’s real name}](https://aribilgi.com/qmn_log_type/error/)Placeholders in { } are yours to write — we do not invent text about your pages.
-
Right now: 225 days old
Regenerate llms.txt when the docs change. A year-old index quietly points models at pages that have moved.
Where: Your build pipeline
- Regenerate llms.txt in the same step that publishes content, so it cannot go stale silently.
- Treat it as a build artifact, not a hand-edited file — hand-edited indexes drift within a quarter.
- An llms.txt with discontinued products is worse than none: a model will repeat the wrong facts confidently.
-
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
- Mention the full file in llms.txt itself, as a link or a line of context.
- Guessing the filename works often enough to be tempting and not often enough to rely on.
Do thisFull 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 21 September 2026; run it again for the current state, or check a different site.
Other recently scored sites
Every scan that finds an llms.txt gets a score card. Cards link back to the full report here, not out to the site.