Set up llms.txt at the site root on AEM Managed Services
On Adobe Experience Manager (AEM) Managed Services, you can make llms.txt available at the site root for SEO or geo-targeting using a pattern similar to robots.txt: store the file in the DAM in an allowed location, then map /llms.txt to that asset in the Dispatcher configuration. This article describes how to store, publish, and verify the file.
Description description
Environment
- Adobe Experience Manager (AEM) Managed Services
- Adobe Dispatcher in front of publish tier (typical AMS topology)
Issue/Symptoms
- You need llms.txt to be reachable at the root of your site (for example,
https://www.example.com/llms.txt) for SEO or geo-targeting. - The file must be maintained in AEM and served through your standard caching and security stack, not only as a static file on the web server with no DAM workflow.
Resolution resolution
Note: Adobe does not define or enforce a standard for {}llms.txt; this example shows how to serve a custom text file at the site root.
Follow these steps:
-
Store the llms.txt file in AEM DAM, in an allowlisted folder.
For example,
/content/dam/<customername>/my-site/llms/llms.txtRefer to Manage assets in the Experience Manager 6.5 Assets user guide for more details.
-
Configure Dispatcher to expose the file by adding a rewrite rule in your site’s
vhost/rewritesconfiguration.For example,
code language-none RewriteRule /llms\.txt$ /content/dam/<customername>/seo/llms/llms.txt [ PT,L]Refer to the AEM Dispatcher documentation on configuring rewrite rules for incoming requests to understand how rewrite mappings control URL resolution and ensure proper request routing through Dispatcher. For broader Dispatcher setup context, see Dispatcher Configuration.
-
The rewrite rule should map requests for
/llms.txtto the location of the file in DAM. -
Ensure the dispatcher configuration allows txt files in the filter section.
For example,code language-none # allow text assets from DAM (if not already allowed) # (Adjust index and existing rules as needed) #/00xx { /type "allow" /extension "(txt|css|js|...)" /path "/content/dam/*" }Replace … with any additional extensions already approved in your configuration. Refer to Configure access to content (filter) in the AEM Dispatcher Guide for more details.
-
Deploy and activate the updated Dispatcher configuration. Refer to Dispatcher Configuration in the AEM Dispatcher Guide for more details on Dispatcher files, deployment, and validation.
-
Verify that
https://your-site-domain/llms.txtserves the correct content.