Configuration
All settings are made per site, in the site configuration. Edit them in the
backend module Site Management > Sites, tab
LLMS.TXT Configuration, or directly in
config/.
The extension needs no TypoScript configuration of its own: the two page types it uses are registered automatically.
Site settings
llmsTxtEnabled: true
llmsTxtTitle: 'ACME Corporation'
llmsTxtDescription: 'Industrial products and engineering services since 1952.'
llmsTxtKeywords: 'manufacturing, engineering, consulting'
llmsTxtContactEmail: 'contact@example.com'
llmsTxtAdditionalInfo: |
## Licensing
Product data sheets may be quoted with attribution.
llmsTxtMaxDepth: 2
llmsTxtExcludeDoktypes: '3, 199'
llmsTxtCacheLifetime: 900
-
- Type
- boolean
- Default
- true
Enables the extension for this site. This switch covers both outputs:
llms.returns only a short "generation is disabled" notice.txt - Markdown (
.md) requests are answered with the site's regular "page not found" response.
-
- Type
- string
- Default
- title of the site root page
Title used as the
# H1heading ofllms..txt
-
- Type
- string
- Default
- description of the site root page
Short summary rendered as the
>blockquote below the title. Line breaks are collapsed into a single line, as the specification expects one blockquote line.
-
- Type
- string (comma-separated)
- Default
- empty
Topics rendered as a
**Topics:**line.
-
- Type
- string
- Default
- empty
Contact address rendered as a
**Contact:**line.
-
- Type
- string (Markdown)
- Default
- empty
Free Markdown appended to the end of
llms., after a horizontal rule. Use it for sections such as licensing terms or "optional" link lists. Unlike all other values, it is written as-is: whoever can edit the site configuration controls this part of the file.txt
-
- Type
- integer
- Default
- 2
How many levels of the page tree below the site root are listed. Values are clamped to the range 1 to 10.
-
- Type
- string (comma-separated page types)
- Default
- empty
Additional page types (
doktypevalues) to leave out ofllms., for exampletxt 3for external links or a custom page type.Folders (254), menu separators (199) and shortcuts (4) are always excluded. This setting can only add to that list, not remove from it.
The subpages of an excluded page are not dropped: they move up and are listed in place of the excluded page.
-
- Type
- integer (seconds)
- Default
- 0
How long
llms.is cached, at most.txt 0disables caching: the file is generated on every request and also kept out of TYPO3's page cache.With a lifetime set,
llms.is stored in TYPO3's page cache, and the generated content additionally in thetxt hashcache. Entries are kept separate per combination of frontend user groups, because access-restricted pages appear only for visitors who may see them.Cache entries are tagged
pages, so saving any page record in the backend clears them. Changes that do not go through the backend, such as a page's start or stop time passing or a direct database import, are picked up once the entry expires or when the caches are flushed.This setting applies to
llms.only. The Markdown version of a page is cached by TYPO3's page cache like the page itself.txt
What is listed in llms.txt
A page appears in llms. only if all of the following apply:
- it is visible: not hidden, not deleted, within its start and stop time;
- it is accessible to the visitor, if it has access restrictions;
- Page > Behaviour > Miscellaneous > Hide in Menus (
nav_) is not set;hide - SEO > Robot Instructions > Index this page is enabled
(
no_is not set);index - its page type is not excluded (see llmsTxtExcludeDoktypes);
- it is within llmsTxtMaxDepth.
The Markdown version of a page (.md) follows the same visibility and access
rules. Pages with no_ set are answered with "page not found" there as
well, so that a page kept out of search engines is not offered to language
models instead.
Route configuration
Without route configuration the outputs are available through page type
parameters only: /?type=1699 for llms. and /any-
for Markdown. Import the bundled route enhancer to get the usual URLs:
imports:
-
resource: 'EXT:ai_llms_txt/Configuration/Routes/RouterEnhancer.yaml'
It maps the following suffixes:
routeEnhancers:
PageTypeSuffix:
type: PageType
map:
llms.txt: 1699
.well-known/llms.txt: 1699
.md: 1701
Note
If your site already defines a Page enhancer, for example for an
XML sitemap, add the three map entries above to that enhancer instead
of importing the file, so that a single enhancer handles all suffixes.
Page types
The extension registers these page types through TypoScript that is loaded automatically. They are listed here for reference: do not copy them into your own TypoScript.
| Page object | typeNum | Output |
|---|---|---|
llmstxt | 1699 | llms. |
markdown_ | 1701 | Markdown version of the current page |
Both are served as Content- together with
X-, so that browsers never interpret the
editor-controlled content as HTML.