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:

  1. Store the llms.txt file in AEM DAM, in an allowlisted folder.

    For example, /content/dam/<customername>/my-site/llms/llms.txt

    Refer to Manage assets in the Experience Manager 6.5 Assets user guide for more details.

  2. Configure Dispatcher to expose the file by adding a rewrite rule in your site’s vhost/rewrites configuration.

    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.

  3. The rewrite rule should map requests for /llms.txt to the location of the file in DAM.

  4. 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.

  5. 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.

  6. Verify that https://your-site-domain/llms.txt serves the correct content.

recommendation-more-help
experience-cloud-kcs-help-kbarticles