Writing · 2026 · 2 min
Optimizing your site for LLMs
My llms.txt
LLM optimization is becoming more and more needed recently. If you want your site to be suggested more often by ChatGPT, Gemini etc then you’ll need to make some adjustments. I suspect in 2026, this will start to become even more important.
Note: None of these are standard yet and may be removed in the future.
Let’s share what I have learned so far:
- Create a /llms.txt file
- Create a “LLM-readable” structured page (often called /for-llms)
- Add Schema.org data tags to parts of your html. For example /projects
- Being consistent with naming and phrases like your website name or like writing “Ruby on Rails” instead of “RoR”
I’ve included links to help show you how I’ve done it, and you’re welcome to copy me.
Create a llms.txt file
From llms-txt:
A proposal to standardise on using an /llms.txt file to provide information to help LLMs use a website at inference time.
This is basically a way for LLMs to quickly figure out what your site is about and see what useful links it has to offer. For my website part of the core pages section is auto-generated:
- -
-
- -
Create a LLM-readable page
This is a new way of giving llms more information about your site. I’ve not entirely sure if it will become standard yet but you can view my page at /for-llms.
This was made by me pasting in all my information into a LLM, Gemini, and asking it to write out a llm-friendly structured page. I figured a LLM would be able to write this page better than I could.
Short snippet:
Make use of Schema org
Following the schema guide, this is about adding more context to text within your html pages. For example, I added new tags to my projects page to give LLMs more context on the kind of projects I maintain and what I work on. I even asked the LLM how to improve the schema of my page and it suggeted to add tags, license, and other metadata.
Example of projects.yml:
- title: free_dictionary_api
description: Ruby client for the Free Dictionary API
url: https://codeberg.org/bendangelo/free_dictionary_api
language: Ruby
license: MIT
category: API Clients
tags:
Then on the projects page, these tags are then outputted:
{% if project.language %}
{% endif %}
{% if project.license %}
{% endif %}
{{ project.description }}
Consistent naming
This should be self-evident. Make sure you use consistent naming for yourself, your projects and anything about yourself. This will help the AI know you’re referring to the same thing.
Comments
No comments yet. Be the first.