Toutmark is an AI citation platform aligned with Google’s May 2026 AI Optimization guidance. This plugin connects your WordPress site to your Toutmark account and adds the technical signals that AI engines reward — all visible to every visitor, with no user-agent-conditional content delivery and no hidden text.
What it does
- Schema injection. Emits standard schema.org JSON-LD on each page via the
wp_head hook, sourced from your Toutmark account. Visible to humans and bots alike.
- /llms.txt + /llms-full.txt files. Serves public files at the root of your site (used by ChatGPT and Perplexity): llms.txt is the index, llms-full.txt carries the full text of your published content so AI systems can read everything in one fetch. Both populated from your Toutmark account, both visible to any visitor.
- One link to the pages Toutmark publishes. Each of those pages lives at its own address with nothing pointing at it, which means visitors cannot find it and crawlers may never reach it. This adds an ordinary, visible link on every page: in the footer by default, as items in your own footer menu beside your other footer links (or one centred line at the bottom of the page if your footer has no menu), or as one item at the end of your main menu if you choose the top menu. Once there are more than three pages, Toutmark puts an answers hub page that lists them all in your approval queue, and once you approve it and it is published, the link is a single link to it; until then, the pages themselves are linked in the footer. If you choose the top menu (in Toutmark, or under “Where it goes” here on a site connected with its Toutmark key, which the daily check-in passes on), the hub page goes in your approval queue from your first page, since a menu takes one link; until it is published the page links stay in the footer, and a theme with no main menu keeps the link in the footer. The menu item is added as each page loads; your saved menus are never edited. Switch it off in settings, or place the
[toutmark_hub_link] shortcode in your own footer instead.
- IndexNow verification file. Serves one plain-text file at
/<key>.txt on your site, containing only the key Toutmark issued for your site (the plugin receives it when you connect and in its daily update). The file lets Toutmark notify search engines that take part in IndexNow (Bing, Yandex and others) about the pages Toutmark publishes on your site: a page newly live, updated, or taken down. The notices are sent by Toutmark’s server, never by this plugin, and only for pages that are live on your site. Every other address is left to WordPress as before.
- A page’s title tag and meta description, when you accept one. Toutmark may suggest a title or a search description for a page you already have. Nothing is set until you accept it in your Toutmark dashboard. When you do, Toutmark sends the accepted text to this plugin through your site’s REST API (signed in with the Application Password you connected with), and the plugin prints it in that one page’s
<head>: the title through WordPress’s own pre_get_document_title filter, the description as one <meta name="description"> tag. It holds only the paths you accepted a text for, never your front page, and changes nothing else on the page. It does not read or write your posts, their post meta or any SEO plugin’s data. Reverting the change in your Toutmark dashboard takes it off again.
- AI bot reachability. Runs a daily ping back to Toutmark; the Toutmark service then verifies that GPTBot, ClaudeBot, PerplexityBot, ChatGPT-User, and Googlebot can reach your site and surfaces results in your dashboard.
- One-click connect. A “Connect to Toutmark” button creates a WordPress Application Password for your user account with core’s
WP_Application_Passwords API and sends it to Toutmark over HTTPS. Toutmark uses it to publish the pages and posts you approve in your Toutmark dashboard, and to make the changes to your existing pages that you approve there. You can revoke it any time from Users → Profile → Application Passwords.
What it does NOT do
- Does not deliver different content to bots than to humans. Google’s spam policy treats user-agent-conditional content delivery as a manual-action risk. Toutmark refuses to do it on principle.
- Does not inject hidden text, white-on-white text, off-screen text, zero-size text, or
display:none content blocks. Every character is visible to humans at full opacity, in normal document flow.
- The plugin itself does not modify your post content. Schema and llms.txt content are added via standard WordPress hooks (
wp_head, rewrite rules). Changes to your existing pages (for example a paragraph rewrite) are made by Toutmark through the standard REST API with the Application Password you connect, and only once they are approved.
- Does not add a page or post to your site without your approval. A new page goes live only after you approve it in your Toutmark dashboard. Edits to pages you already have follow the approval setting you choose there: ask every time, or automatic. Regulated businesses are never approved automatically.
- Does not need Toutmark to be reachable: if it is not, the plugin keeps serving the last copy it has. It needs an active Toutmark subscription to receive updates.
Compliance with Google’s May 2026 spam policy
Google’s updated spam policy targets user-agent-conditional content (cloaking), hidden or invisible text, “AI-only” content blocks visible only to LLM bots, and inauthentic mentions. Toutmark does none of these. Every signal we add is plainly visible to anyone who visits your site.
Requirements
- An active Toutmark subscription — sign up at toutmark.com.
- WordPress 6.0+, PHP 7.4+.
- Application Passwords enabled (default in WordPress 5.6+; some security plugins disable them).
- Outbound HTTPS access from your server to
toutmark.com.
External services
This plugin connects to Toutmark (https://toutmark.com), the service it is part of:
- Daily check-in and content update (
https://toutmark.com/api/verify-install and https://toutmark.com/api/wp/content-bundle, once a day each by wp-cron, only while the plugin is switched on): sends your Customer ID, your site address, the plugin, WordPress and PHP versions and the link settings; receives your schema, llms.txt text, the links to the pages Toutmark published and your site’s IndexNow key.
- Connect to Toutmark (
https://toutmark.com/api/wp/connect, only when you click the button): sends your Customer ID, site address, your user name and the new Application Password.
Toutmark’s server, not this plugin, notifies IndexNow (https://www.indexnow.org/, the shared endpoint api.indexnow.org), which passes the notice to the search engines that take part, such as Bing and Yandex. A notice carries your site’s host name, its IndexNow key and the addresses of the pages Toutmark published on your site, nothing else. Before the first notice, Toutmark reads /<key>.txt on your site to confirm the plugin serves it.
Toutmark: Terms and Privacy policy. IndexNow: about the protocol. Bing: Microsoft privacy statement.