A catalogue of 586 low-poly 3D models is useless if nobody can find it. This week we rebuilt how Gaitkit shows up in two places: classic search engines, and the AI assistants and coding agents that now answer a growing share of "where do I get a 3D model of…" questions. Here is what we did, what each piece is for, and what we cannot speed up.
Pages that answer one question each
Before this week the site had a catalogue page and one page per asset. That is fine for someone who already knows the product, and weak for someone who searches "free low poly 3D models" or "animated GLB for Godot". So we added three kinds of page, all rendered on the server from the same catalogue the API uses, so counts and cards can never drift from the truth:
- 60 kit pages (
/kits/bug-world,/kits/mech-hangar…), each with its own short description of what is in the kit and what moves. - 20 collection pages, one per real search intent: free models, animated models, models that walk, characters, vehicles, furniture, weapons, and one page per engine (three.js, React Three Fiber, Godot, Unity).
- 7 guides that answer a question in the first paragraph and then show code that runs against the live CDN, such as adding a walking creature to a three.js scene.

Structured data, written once
Every page now carries JSON-LD that says what it is: CollectionPage with an ItemList of models for kits and collections, FAQPage for the questions at the bottom, BreadcrumbList everywhere, TechArticle for guides, and Organization plus WebSite (with a search action) on the home page. Each asset page describes a 3DModel whose image is an ImageObject with a licence URL and an "acquire licence" page, which is what Google Images uses for its Licensable badge.
None of this is hand-written per page. One small module builds it from the same data as the visible HTML, and a test checks that every page has exactly one h1, a unique title, a unique description and JSON-LD that parses.
Telling crawlers they are welcome
Plenty of sites now block AI crawlers by default, often without knowing it. We checked our CDN settings (search, agent and training crawlers all allowed) and rewrote robots.txt to name the crawlers we want: Googlebot, Bingbot, OAI-SearchBot, ChatGPT-User, ClaudeBot, PerplexityBot and others. Download URLs and the API are disallowed because they are not pages.
The sitemap lists every page (about 700 URLs), and each asset page carries its thumbnail as an image entry. We also send every new or changed URL to IndexNow, which reaches Bing and Yandex within minutes. That matters more than it sounds: several AI assistants answer from Bing's index when they search the web.
A plain-text door for language models
/llms.txt was already there: a short Markdown map of the site for agents. We added /llms-full.txt, which holds the whole catalogue in one file: every model with its id, what it does (walks on four legs, rolls its wheels, has a hinged lid), whether it is free, and the first sentence of its description, plus the kits, collections and guides. It is about 290 KB, so an agent can read it in one fetch and answer "is there a rigged spider?" without crawling 600 pages.
Being listed where agents look
Gaitkit has an MCP server, so coding agents such as Claude Code or Cursor can search the catalogue and get working code. We published it to the official MCP Registry as com.gaitkit/mcp, proving ownership through the domain instead of a GitHub account. A day later Glama had picked it up from the registry on its own and scored it. We also tightened the server's instructions so an agent knows when to reach for it: whenever a user needs a 3D model instead of a scene made of boxes.
claude mcp add --transport http gaitkit https://gaitkit.com/mcpTwo directory submissions failed on the directories' side this week, and one now charges a fee. We will try again later.
Measuring it honestly
You cannot improve what you only guess at, so the admin dashboard now has a visibility panel: visits grouped by channel (AI assistants, search engines, directories, communities, social), where each channel lands, and which agents connect to the MCP server. ChatGPT usually sends no referrer, but its links carry utm_source=chatgpt.com, so we record that tag too. Search Console and Bing Webmaster numbers appear in the same panel.
What this does not do
On day one the numbers are close to zero, and that is expected. Search engines rank pages on quality and on how much the rest of the web points to them. We fixed the first part this week. The second part comes from people linking to and talking about the work, which takes weeks, not days. AI assistants that answer from their own training data will not know about a new site until their next training run; when they search the web, they behave like the search engines above.
We also found a naming problem: a scientific Python library for gait analysis is also called gaitkit. So we now say "Gaitkit, 3D assets" wherever we can, and we will link our official profiles from the site's structured data so search engines can tell the two apart.
Next we publish a public examples repository and post the work where developers actually talk. We will share the numbers here as they come in.