Skip to content

EP Txt Files

EP Txt Files dynamically serves /robots.txt and /llms.txt from PageMotor’s settings rather than files on disk. Edit through the admin UI, see version history, have changes go live instantly. No FTP, no cache-busting, no forgotten deploys.

Published by ElmsPark Studio.

Two files, both conventional:

The file search engines read to understand which pages they should and shouldn’t crawl. Must be at the site root and served at the exact URL /robots.txt.

The newer convention for guiding LLM crawlers (GPTBot, ClaudeBot, etc.) with a site summary plus links to the content you want AI systems to prioritise. See llmstxt.org for the full spec.

  • No FTP. Edit from the admin.
  • Version history. Every change is logged so you can see what it was before.
  • Instant. Changes go live on save, no deploy step.
  • Validation. The plugin flags obvious mistakes (syntax errors in robots.txt directives).
  • PageMotor 0.8.2b or later
  • EP Suite base class
  1. Download ep-txt-files.zip from the EP Suite downloads page.
  2. Upload via Plugins → Manage Plugins. Activate.
  3. Check that https://yoursite.com/robots.txt now returns the plugin’s version.

Textarea containing your robots.txt content. Defaults to a reasonable starter:

User-agent: *
Allow: /
Sitemap: https://yoursite.com/sitemap.xml

Add specific user-agent blocks for bots you want to restrict. The EP Sitemap plugin’s URL is auto-filled if that plugin is installed.

Textarea for your llms.txt. No default content — LLMs.txt is site-specific and needs thought. Typical structure:

# My Site
> One-sentence description of what the site is about.
## Core content
- [Page title](/url) — short description
- [Another page](/another) — short description
## Optional
- [Less-critical page](/less-critical)
  • Enabled. Toggle. Off makes the plugin inert; PageMotor falls back to whatever (if anything) is at the physical file path.
  • Cache-Control headers. Default is to let the content be cached for 1 hour. Adjustable.

Every save creates a history entry:

  • Timestamp.
  • Who changed it.
  • Diff from previous version.

Click an old version to revert.

“/robots.txt still serves the old version”

Section titled ““/robots.txt still serves the old version””

Check:

  • The plugin is active.
  • The Enabled toggle is on for robots.txt.
  • Your web server isn’t serving a physical robots.txt file that overrides the plugin. Remove or rename any file at /robots.txt on disk.
  • Your CDN isn’t caching the old version. Purge the CDN.

“I broke robots.txt and now Google can’t crawl my site”

Section titled ““I broke robots.txt and now Google can’t crawl my site””

Revert to a previous version from the history. Or use the default starter content.

“I don’t know what to put in llms.txt”

Section titled ““I don’t know what to put in llms.txt””

Start simple. A one-line description and links to your 5 most important pages is enough. The spec at llmstxt.org has examples.

Your CDN or hosting provider might override. Check the response headers in browser dev tools. If the CDN is overriding, configure it to respect origin cache headers.

For a quick question about this plugin, EP Support inside your admin is the fastest option. The chat widget sits on every EP plugin settings page and knows which one you’re on, with starter questions and links preloaded for that exact screen.

For anything bigger — a bug report, a feature request, or a “how do I…” that needs a real reply — open a ticket at help.elmspark.com. A real person, helped by AI, writes the reply. Usually within a few hours. Tickets don’t disappear into the void.

  • Settings language menu. The language menu in this plugin’s settings now lists only the languages it is actually translated into, plus English, so you can no longer pick a language that changes nothing.
  • Danish. Adds a Danish translation.
  • Stops a PHP 8 deprecation warning filling your error log. Automated scanners often request addresses that begin with two slashes (for example //something.php). On those requests the plugin passed an empty value into a text function, and PHP logged a warning every time. It now treats the empty value as an empty address. Your pages behave exactly as before.
  • Also brings the shared ElmsPark admin layout up to date: the brand-colour control has moved out of the page header into a Branding section in Settings. Nothing else about your settings changes.
  • Fixes “Your session has expired. Please reload to ensure your security.” on PageMotor 0.11. The message appeared on this plugin’s admin screens even though you were signed in perfectly normally, and whatever you were doing failed to save.
  • Nothing was wrong with your session. PageMotor 0.11 started handling part of the security check that this plugin was already handling itself, and the two together made every save look invalid. The plugin now checks whether PageMotor has already done it.
  • Visitors who were not signed in were never affected, on any version.
  • There is nothing to reconfigure, and nothing else changed.