# Help search and AI understand your WordPress site
Help search engines find your pages, give AI tools readable information, and find content to improve with the free CYBERMAPS WordPress plugin.
# HELP _SEARCH AND AI_UNDERSTANDYOUR SITE.
Give search engines a clear map of your WordPress pages, give AI tools readable information, and find pages that need work.
**One free WordPress plugin. No AI subscription required.**
[Download CYBERMAPS →](https://cybermaps.dev/downloads/)
FREE PLUGIN / GPL-2.0-OR-LATER / YOUR CONTENT. YOUR CONTROL.
01 / INGEST02 / ORGANIZE03 / PUBLISH04 / DISPATCH[See what you get ↓](https://cybermaps.dev/#discovery-loadout)
06 / FOR PROFESSIONALS
## TURN DISCOVERY
INTO _BILLABLE WORK._
Find a page that needs work. Make the improvement. Show the client what changed.
Use reports to plan useful fixes and content projects, then compare saved results and create a branded report. You get a clear next job and evidence of the work you delivered.
[See how client reports work ↗](https://cybermaps.dev/professionals/)
CLIENT\_OPERATIONS / LOADOUTALL INCLUDED
**01**CONTENT INTELLIGENCEFind pages to improve. Compare results after changes._READY_
**02**PROFESSIONAL IDENTITYYour brand on a client-ready deliverable._READY_
**03**EXPORT + HANDOFFPrintable HTML. Task-ready CSV. Structured JSON._READY_
[Plan your next client project ↗](https://cybermaps.dev/professionals/content-planning/)
02 / WHAT YOU GET
## YOUR CONTENT.
_WORKING HARDER._
Make your site easier to find and understand, then see where to improve it. These tools are all included in the free plugin.
### Help search engines find your pages
01SEARCH DISCOVERY
Publish a clear sitemap of the content you want discovered, including supported images, video, and news.
Give crawlers a map of your service pages, articles, or products.
[Explore sitemap benefits↗](https://cybermaps.dev/features/#search-discovery)
### Give AI tools useful information
02AI READINESS
Publish readable pages and structured business details that compatible assistants can retrieve.
Help an assistant read what you offer, where you work, and how to contact you.
[Explore AI publishing↗](https://cybermaps.dev/features/#ai-readable-content)
### Know which pages need work
03CONTENT IMPROVEMENTS
Find pages below your content thresholds, overdue for review, or missing media. Compare reports after making changes.
Spot a neglected service page, improve it, and save evidence of what changed.
[Explore reports↗](https://cybermaps.dev/features/#content-reports)
03 / SEE IT IN WORDPRESS
## SEE WHAT YOU GET
_INSIDE WORDPRESS._
Open a report, review a sitemap, or inspect the information published for AI tools. These are real plugin screens.
06 / REPORTS
### Turn discovery into client deliverables
Save content measurements, track added and resolved findings, export focused action lists, validate AI publications, and apply agency branding to printable reports.
[Read the guide ↗](https://cybermaps.dev/docs/reports/)
6 / 14
14 plugin screens and reports · Select a thumbnail, then open the image to inspect it at full size.
BUILT TO WORK WITH YOUR STACK**WordPress**Yoast SEORank MathAIOSEOGenesisElementor[Choose your sitemap owner ↗](https://cybermaps.dev/comparison/)
04 / WHAT CHANGES
## SAME CONTENT.
_BETTER DISCOVERY._
An example of a site with an incomplete setup. Here’s what you can improve by configuring CYBERMAPS.
| BEFOREDiscovery gaps | AFTERWith CYBERMAPS→ |
| --- | --- |
| Sitemaps −**Pages missing from the map** The sitemap leaves out content you want crawlers to find. | Sitemaps ✓**A clear route to your pages** Configure a sitemap that points to the pages you want published. |
| AI discovery −**Business details are scattered** An assistant has to piece together what your site offers. | AI discovery ✓**A clearer picture of your business** Publish site guidance and structured details in one connected set of sources. |
| Content retrieval −**Text buried in page markup** Useful content sits among menus and theme code. | Content retrieval ✓**Clean content, ready to read** Readable versions of your pages give compatible AI tools focused source text. |
Start with the features your site needs. Publish clear sitemaps and readable content, then check what search crawlers and compatible AI tools can retrieve.
[See what the plugin includes ↗](https://cybermaps.dev/features/)
05 / COMPARE YOUR OPTIONS
## SEE HOW CYBERMAPS _STACKS UP._
Choosing between CYBERMAPS, Rank Math, Yoast SEO, or AIOSEO? See the publishing features, AI tools, and reports side by side.
Compare what’s included, where paid plans apply, and how CYBERMAPS fits alongside the tools you already use.
[Compare the plugins ↗](https://cybermaps.dev/comparison/)
WHAT TO LOOK FOR↓
* 01
### Search coverage
XML, image, News, video, RSS, and HTML sitemaps.
* 02
### AI publishing
Readable content, discovery files, and checks that verify public delivery.
* 03
### Client deliverables
Content reviews, saved comparisons, and branded reports.
✓ All included in the free CYBERMAPS plugin.
01 / WHY THIS MATTERS
## SEARCH IS CHANGING.
_YOUR SITE CAN KEEP UP._
People search for answers. Machines retrieve facts. Agents need usable knowledge. Your WordPress site can serve all three.
DISCOVERY / THROUGH TIMESELECT A MILESTONE ↓
// FROM ANSWERS TO ACTION
### Make your knowledge usable.
Meet the agents acting on it.
CYBERMAPS supplies the discovery and knowledge layer: focused Markdown, a full content corpus, structured identity, and a concise briefing. Compatible agents can use that knowledge in a wider task. Orders and appointments require a connected commerce or booking service and the user’s authorization; CYBERMAPS is not the transaction engine.
[Explore AI publications ↗](https://cybermaps.dev/docs/machine-publications/)
07 / GET STARTED
## KEEP WHAT WORKS.
_ADD WHAT YOU NEED._
Keep the editorial tools you use. Let CYBERMAPS handle the discovery features you need. Choose one sitemap owner and coordinate any overlapping schema output.
If your theme already handles titles and schema, you may not need a full SEO suite.
1. ### Download and install
Get the plugin ZIP from our downloads page, then use Plugins → Add New → Upload Plugin in WordPress.
2. ### Complete Quick Setup
Answer three short steps about your website, priorities, and public identity. Apply the preset and see which settings changed.
3. ### See your first results
Open your sitemap and AI publications. Run a content report to find pages worth improving.
Requires WordPress 7.1+ and PHP 8.2+. Free plugin. No AI subscription required.
[Download CYBERMAPS →](https://cybermaps.dev/downloads/)[Follow the setup guide ↗](https://cybermaps.dev/docs/getting-started/)
Free and available now. WordPress.org listing awaiting approval.
08 / COMMON QUESTIONS
## BEFORE YOU _GET STARTED._
What will CYBERMAPS do for my website?
It publishes a map of your pages for search engines, gives compatible AI tools readable content and business information, and helps you find pages that need attention. You can also check whether those publications are reachable and correctly served.
Can I keep my current SEO plugin?
Yes. Keep the metadata and writing tools you use. Choose one plugin to publish your sitemaps and coordinate any overlapping schema. CYBERMAPS can provide its other features while your current sitemap owner remains in place. [Compare the workflows.](https://cybermaps.dev/comparison/)
What does it cost?
CYBERMAPS is free and open source. Its sitemaps, AI publishing, diagnostics, reports, and report branding are included without a paid feature unlock. You do not need an AI subscription or API key for these publications.
How do I set it up?
Download the plugin, upload it in WordPress, and complete Quick Setup. Apply your three-step preset and review its settings receipt, then inspect your sitemap and AI publications. [Follow the installation guide.](https://cybermaps.dev/docs/getting-started/)
What does my site need?
WordPress 7.1+ and PHP 8.2+. PHP 8.3+ is recommended. Static delivery depends on your server and writable files; multisite uses dynamic delivery. [Check the requirements.](https://cybermaps.dev/docs/getting-started/)
Why require WordPress 7.1?
CYBERMAPS uses the newer public Abilities foundation to connect its agent interfaces through one shared system. A modern baseline lets development focus on new capabilities instead of compatibility layers.[Read the reasoning.](https://cybermaps.dev/about/#why-wordpress-71)
How does CYBERMAPS help search engines and AI tools?
It gives crawlers a clear sitemap and gives compatible AI tools readable pages and structured business details. Content reports help you find gaps, improve your pages, and track the changes you make.
Will crawler analytics see everything?
It records relevant requests that reach WordPress. Requests served directly by a cache or web server can bypass tracking.[See what analytics can observe.](https://cybermaps.dev/docs/status-analytics/)
Can I choose what gets published?
Yes. You control eligible content and exclusions. Private and password-protected content is excluded.[Review the publishing rules.](https://cybermaps.dev/docs/publication-eligibility/)
CYBERMAPS
READY TO PUT YOUR SITE TO WORK?
## CLEARER CONTENT.
_MORE WAYS TO BE FOUND._
Help search engines find your pages, give AI tools useful information, and see what you can improve. All in one free WordPress plugin.
[Download CYBERMAPS →](https://cybermaps.dev/downloads/)[See how to install ↗](https://cybermaps.dev/docs/getting-started/)
Free and available now. WordPress.org listing awaiting approval.
---
# About CYBERMAPS
The WordPress experience and design decisions behind CYBERMAPS, from advanced sitemaps to useful AI publishing.
THE PEOPLE AND THE PURPOSE
Built from years of WordPress work. Made for what comes next.
CYBERMAPS started with a feature I wanted and grew into the publishing and discovery system I wanted to use on my own clients’ websites.
## It started with an upgrade I didn’t want to buy
An XML sitemap plugin had a pro feature I wanted. I didn’t want to pay for it. That was the spark.
But once I started, I had a longer list. I wanted better control over what a website publishes. I wanted agents to retrieve useful content. And I wanted a dashboard I could stand to look at every day.
The SEO plugins I’d used kept filling that dashboard with popups, banners, upgrade prompts, and junk. An affront to my sense of aesthetics. I wanted something **slim, clean, and lean**.
> So I sat down and cooked. CYBERMAPS is what came out.
## Useful AI support, with substance behind it
I wanted real LLM agent support. Too many of the integrations I encountered offered stubs that satisfied a scanner without giving an agent much useful content to retrieve.
My goal was to connect the pieces: eligible content, readable publications, structured business information, and tools that inspect the actual public response. A site should be able to explain what it offers to a visitor arriving through search or an agent working for a human.
The same principle shapes the interface. Clear controls, useful evidence, and room to work. A WordPress dashboard should help you run the site.
## Why WordPress 7.1?
Starting fresh gave me room to build around the platform I want to develop on. **CYBERMAPS requires WordPress 7.1 and PHP 8.2 or later.** I chose those minimums so I could build on the newer platform features.
The plugin uses WordPress 7.1’s public ability metadata filtering to find abilities it can expose to external clients. In the code, that means calling `wp_get_abilities()` with `meta.public`. CYBERMAPS then shares its native Ability kernel across MCP, WebMCP, API Catalog, OpenAPI, and ARD discovery.
The practical benefit is consistency: capability definitions feed several interfaces from one foundation. The plugin also uses WordPress-owned global routing for its well-known discovery endpoints.
I don’t want to carry a growing compatibility layer just to recreate that foundation on older installations. I want to spend that time improving the plugin. If you like building on the leading edge of WordPress, that is the direction of this project.
## Built from years of WordPress work
I’m **Aleksandr Oreshkin**, a web developer representing [CYBER BRAND](https://cyberbrand.net/). I’ve built hundreds of WordPress websites since 2009.
I built CYBERMAPS around what I’ve learned working on those sites. I want it to save you time, help you spot useful improvements, and make your content easier for people and agents to understand.
And this is my cat **Nuski**. He helped a lot. I couldn’t introduce the project without him.
[View photo ↗](https://cybermaps.dev/images/blog/aleksandr-oreshkin.jpg)
**Aleksandr Oreshkin**Developer · CYBER BRAND
[View photo ↗](https://cybermaps.dev/images/blog/nuski.jpg)
**Nuski**Cat · Much appreciated help
## Put it to work
The open beta is available now. Explore what is included, try it with your content, and help shape the next release.
[See what you can try in the open beta →](https://cybermaps.dev/blog/open-beta/)
---
# Notes on a discoverable web
Practical ideas for publishing useful content for search, AI retrieval, and the people behind them.
# Notes on a discoverable web
Practical ideas for publishing useful content for search, AI retrieval, and the people behind them.
[

2026-09-10 · CYBERMAPS JOURNAL
## CYBERMAPS is now in open beta ↗
Try advanced WordPress sitemaps, useful AI publications, branded client reports, and delivery diagnostics in the free CYBERMAPS open beta.
Read entry
](https://cybermaps.dev/blog/open-beta/)[

2026-09-10 · CYBERMAPS JOURNAL
## Your next customer might ask AI first ↗
Customers ask longer questions now. Give them better answers with useful pages, strong sitemaps, and WordPress content that AI tools can read.
Read entry
](https://cybermaps.dev/blog/google-ai-search-shift/)[

2026-09-10 · CYBERMAPS JOURNAL
## Your website’s AI cheat sheet: Meet llms-tldr.txt ↗
Your most useful pages should be easy to find. Here’s why CYBERMAPS offers a compact site briefing, what goes into it, and how to put it to work.
Read entry
](https://cybermaps.dev/blog/llms-tldr/)
---
# Your next customer might ask AI first
Customers ask longer questions now. Give them better answers with useful pages, strong sitemaps, and WordPress content that AI tools can read.
Think about someone looking for a laptop repair shop. They might search for “PC repair near me.” Or they might ask an assistant:
> “My laptop won’t charge. Find a local shop that repairs charging ports, explain how diagnosis works, and tell me how to book.”
That second question needs several pieces of information: services, location, process, and a next step. **Your website should make those answers easy to find and use.**
This is where CYBERMAPS fits. It helps search engines discover your pages, publishes readable information for compatible AI tools, and gives you reports that show where your content needs attention.
## Search is becoming a conversation
Google’s AI Overviews and AI Mode can bring together information from several sources to answer a question. AI Mode also supports more detailed questions and comparisons that might previously have taken several searches. [Google explains these features in its guide for website owners.](https://developers.google.com/search/docs/appearance/ai-features)
For a business, this changes what a useful page looks like. A page called “Laptop Repair” is a start. A page that explains the faults you fix, the devices you handle, your service area, and your booking process gives people much more to work with.
The same applies to a contractor explaining project requirements, a car dealer describing a vehicle, or a consultant showing how an engagement works. Specific information helps someone decide whether you’re the right business to contact.
## Keep giving search crawlers a good map
Search engines still need to discover and read your pages. Google’s guidance for its AI features builds on established SEO practices: accessible content, useful internal links, a good page experience, and structured data that matches the page. [See Google’s recommendations.](https://developers.google.com/search/docs/appearance/ai-features#seo-best-practices)
**Sitemaps remain part of a well-organized website.** CYBERMAPS gives you control over the pages and content types you include, with support for image, video, and News sitemap information as well as HTML and RSS output.
If you already use an SEO plugin for editorial guidance, keep the tools you find useful. Choose one sitemap owner and coordinate overlapping schema output. If your theme already handles titles and schema, you may not need a full SEO suite.
## Make the answers worth finding
Open one of your main service pages and read it as a potential customer. Can you quickly answer these questions?
* **What exactly do you offer?** Name the service, product, or problem you solve.
* **Who and where do you serve?** Include relevant locations and customer needs.
* **What does it cost?** Give prices where practical, or explain how an estimate works.
* **Why should someone choose you?** Show relevant experience, examples, or project details.
* **What happens next?** Make the quote, contact, purchase, or booking process clear.
For our repair shop, “We offer quality solutions” does very little. A paragraph explaining charging-port diagnosis, supported laptop types, and how to arrange a repair is useful immediately.
## Give AI tools a readable version
Once the information is on your site, CYBERMAPS can publish it in formats that compatible assistants and other software can retrieve:
* **A site guide:** `llms.txt` points to eligible pages and their readable versions.
* **Page content:** Markdown publications make the stored text available with a link to its source.
* **A compact introduction:** the optional `llms-tldr.txt` briefing packages selected extracts within a budget you set.
* **Business context:** structured identity, services, and catalogs help describe what your business offers.
These give you more ways to share information with tools that support them, including assistants and integrations you configure yourself. You can inspect the output and see exactly what you’re making available.
CYBERMAPS also checks public delivery, helping you spot a publication that is enabled in WordPress but served incorrectly by a cache or server.
## Turn the improvements into work clients can see
For SEO professionals, this creates a straightforward service: find missing information, improve the pages, check the publications, and show what changed.
Start with a CYBERMAPS content report. It can flag pages below your chosen content thresholds, overdue for review, or missing media. Read those pages, decide what will help the customer, and make the improvements.
Then save another report and compare the findings. Add your branding and give the client a clear record of the issues resolved and the next priorities. That’s a useful deliverable for a content project or an ongoing maintenance engagement.
## Start with one important page
You don’t need to rewrite your whole website in one sitting. Pick a page for a service or product you want to sell more of. Answer the questions above, check that the page appears in your sitemap, and inspect its AI publication.
That gives you a repeatable process: **make the information useful, make it easy to retrieve, and keep improving it.** CYBERMAPS brings the publishing, checks, and reports together in one free WordPress plugin.
[Get started with CYBERMAPS →](https://cybermaps.dev/docs/getting-started/) · [See the client reporting workflow →](https://cybermaps.dev/professionals/)
---
# Your website’s AI cheat sheet: Meet llms-tldr.txt
Your most useful pages should be easy to find. Here’s why CYBERMAPS offers a compact site briefing, what goes into it, and how to put it to work.
Imagine introducing your business to someone who has a few minutes to spare. You would probably explain what you do, who you help, and where to find the details. You would point them toward your services, pricing, and best examples of your work.
An AI assistant researching your website can benefit from the same introduction. That’s the idea behind **`llms-tldr.txt`: a compact briefing built from your WordPress content, with your chosen pages considered first.**
It gives you a practical way to hand a compatible assistant an overview of your site in one file.
## Why the short version matters
Picture a window replacement company with service pages, brand comparisons, installation guides, and years of blog posts. Someone asks an assistant:
> “I need new windows. What does this company install, where does it work, and how do I get a quote?”
The useful starting points are probably the service area, installation options, and quote process. A long archive of older articles can wait.
AI systems process text in pieces called **tokens**. The more text you ask a model to read, the more of its reading allowance you use. Depending on the service, that can also mean more processing time and cost.
A compact briefing lets you set a size budget and prioritize the pages that introduce your business. Source links give the assistant somewhere to go when it needs the warranty details or a particular product specification.
## Three files, three useful jobs
CYBERMAPS offers different ways to read your content:
* **`llms.txt` is the guide.** It lists eligible pages with links and short extracts, helping a client decide where to look.
* **`llms-full.txt` is the fuller reading material.** It collects the readable stored text of eligible pages into one publication, useful when a workflow needs more detail.
* **`llms-tldr.txt` is the short briefing.** It selects page extracts that fit within the size budget you choose.
You can enable the publications that suit your site. A small brochure website and a publisher with years of articles will have different needs.
## Put your important pages first
In CYBERMAPS, you can pin the pages you want considered first and choose their order. For our window company, that might be:
1. **Window replacement services:** what the company installs and who it serves.
2. **Service area:** the cities and neighborhoods it covers.
3. **Brands and options:** the products a customer can choose from.
4. **Getting a quote:** what happens next and how to contact the team.
After pinned pages, CYBERMAPS follows your configured content types and considers recently modified content first. It adds entries while they fit the budget. Each entry includes a title, source URL, content type, available modification date, and an extract from the stored text.
The output also reports how many eligible items were included or left out, so you can see how much the briefing covers.
## Your words, assembled in WordPress
CYBERMAPS builds the briefing from text you have already published. **You don’t need an AI subscription, API key, or per-generation payment.** It selects and packages extracts locally in WordPress.
That makes the quality of your original pages worth paying attention to. If your service area is missing from the site, add it. If an opening paragraph says very little about the service, rewrite it. Clear source text helps your visitors and makes a more useful briefing.
The size limit uses an approximate token count. Start with a budget that suits the tool you plan to use, then read the output to see whether it gives a useful introduction to your site.
## Try it with your own website
The briefing is an optional CYBERMAPS feature, currently offered as an experimental format. Enable it in **AI Publishing** when you want to use it with an assistant or retrieval workflow you configure.
1. Pin a few pages that explain your business well.
2. Choose a briefing budget and open `/llms-tldr.txt` on your site.
3. Read the extracts and follow their links. Check that the selected pages cover the questions customers usually ask.
4. Give the URL to a tool that can fetch it, or provide the text directly. Try asking about your services and compare the answer with your pages.
You now have something concrete to improve: the introduction your website gives, the pages it prioritizes, and the information behind them.
[Set up AI Publishing →](https://cybermaps.dev/docs/machine-publications/) · [Read the technical details →](https://cybermaps.dev/tech/llms-tldr-whitepaper/)
---
# CYBERMAPS is now in open beta
Try advanced WordPress sitemaps, useful AI publications, branded client reports, and delivery diagnostics in the free CYBERMAPS open beta.
OPEN BETA
Give search engines and AI agents more to work with. See what your website can do.
The CYBERMAPS open beta is here. Advanced sitemaps, readable AI publications, branded reports, and public delivery checks are ready to try on your WordPress site. They’re all included in the free plugin.
[Download open beta ↗](https://github.com/Alex9001/cybermaps/releases/)
Free and available now. WordPress.org listing awaiting approval.
01 / OVERVIEW
## See the entire discovery system
Start with a live map of search, AI, structured-data, API, and policy publications. Publication state and direct output links stay together in one workspace.
[Read the guide ↗](https://cybermaps.dev/docs/getting-started/)
1 / 14
14 plugin screens and reports · Select a thumbnail, then open the image to inspect it at full size.
## Start with a better map of your website
Search crawlers still need to find your content. CYBERMAPS gives you detailed control over what goes into your sitemaps, with support for publishers, business websites, and sites rich in images and video.
* **Publish advanced XML sitemaps:** eligible posts, pages, taxonomies, authors, and additional URLs.
* **Include your media:** image and video discovery, with dedicated News sitemap support for publishers.
* **Serve human visitors too:** build an HTML sitemap and configure a separate RSS publication.
* **Decide what belongs:** control eligibility, exclusions, and sitemap ownership from one publishing system.
**Try this:** follow Guided Setup, choose your sitemap owner, and open the generated sitemap to see how your content is represented.
[Explore sitemap configuration →](https://cybermaps.dev/docs/sitemaps/)
## Turn your content into something agents can use
A customer asks an agent about your services, products, or expertise. CYBERMAPS can publish readable sources that help compatible clients retrieve that information from your site.
* **A map for discovery**Publish llms.txt and discovery indexes that point to eligible resources.
* **The actual content**Offer Markdown and full-content publications, plus a concise briefing for smaller retrieval budgets.
* **Business context**Describe your identity, services, and catalogs with structured information.
* **Tools for compatible clients**Enable optional MCP and browser agent support, with access governed by the selected mode and permissions.
**Try this:** enable AI Publishing, open your public outputs, and compare them with the content on your site. Each external service decides what it discovers and uses; CYBERMAPS makes useful material available when it arrives.
[Configure AI publications →](https://cybermaps.dev/docs/machine-publications/)
## Find improvements and show clients what changed
For SEO marketers and agencies, **Reports may be the first workspace to open**. Turn a content review into an action list, then give clients evidence of the improvements you made.
* **Find opportunities:** surface content gaps and pages that need attention.
* **Plan paid work:** use the findings to scope fixes, content projects, or maintenance.
* **Make the result presentable:** create branded printable reports and export the available findings.
* **Keep the evidence:** save reports and compare measurements as the site improves.
**Try this:** generate a report for a client site, choose an improvement to make, and save another report afterward. You get a guide to the work and a deliverable that helps explain its value.
[See the reporting workflow →](https://cybermaps.dev/professionals/)
## Know what is reaching your site
Configuration is only the beginning. The beta includes tools to inspect delivery and understand observed crawler activity.
* **AI Discovery Status** separates what is enabled, advertised, available, and valid.
* **Public checks** inspect HTTP responses, media types, headers, and publication bodies.
* **Crawler analytics** show recognized activity that reaches the plugin’s tracking layer. Requests served directly by a cache or static file can bypass PHP tracking.
* **Debugging and System Status** help explain your server setup and which optimizations are in use.
**Try this:** inspect a publication in AI Discovery Status. If its public response differs from the configuration, use the delivery evidence to investigate.
[Read the diagnostics guide →](https://cybermaps.dev/docs/status-analytics/)
## Clean controls. Efficient delivery.
CYBERMAPS brings these features together in a focused WordPress workspace, with practical controls for the infrastructure underneath.
* **Optional static publication** lets your server deliver eligible files without regenerating them through WordPress for every request.
* **APCu and LiteSpeed integrations** reuse supported caching capabilities.
* **Scoped invalidation** refreshes CYBERMAPS publications when relevant content or settings change.
* **Cloudflare integration** helps configure discovery headers and cache safety on supported setups.
* **Bounded scans and output budgets** keep publication work within defined limits as content grows.
[Explore delivery and caching →](https://cybermaps.dev/docs/static-file-engine/)
## Download, explore, and help shape the release
The open beta is free software under **GPL-2.0-or-later**. It requires **WordPress 7.1+ and PHP 8.2+**. Reports, branding, and the publishing features described here are included in CYBERMAPS.
### What happens when the beta ends?
**The open beta ends when CYBERMAPS is released on WordPress.org. The plugin stays free.** The transition is to the normal WordPress.org update channel, so beta users can carry on with CYBERMAPS and receive future releases through their WordPress dashboard. We’ll include any transition steps with the WordPress.org release announcement.
Until then, you get to live on the bleeding edge of WordPress: try the new publishing and agent capabilities early, put them through real workflows, and help shape the release. You’ll have time to learn the tools and see where they help on your own sites and client projects.
### Get started today
1. **Download the beta** from GitHub Releases and read the release notes.
2. **Start on a test site.** Follow Guided Setup and choose which plugin owns your sitemap.
3. **Try it with your content.** Inspect the sitemaps, AI publications, and reports.
4. **Share useful feedback.** Tell us what you expected, what happened, and how to reproduce it. Include the plugin version and relevant delivery details.
**Your content. Your control.**
Put the beta to work and help make the next release better.
[Download open beta ↗](https://github.com/Alex9001/cybermaps/releases/)
[Getting started](https://cybermaps.dev/docs/getting-started/) · [Support and feedback](https://cybermaps.dev/support/)
## About the developer
I’m **Aleksandr Oreshkin** of **CYBER BRAND**. I’ve built hundreds of WordPress websites since 2009 and put that experience into CYBERMAPS. My cat **Nuski** helped a lot, too. We hope you enjoy trying it.
[View photo ↗](https://cybermaps.dev/images/blog/aleksandr-oreshkin.jpg)
**Aleksandr Oreshkin**Developer · CYBER BRAND
[View photo ↗](https://cybermaps.dev/images/blog/nuski.jpg)
**Nuski**Cat · Much appreciated help
[Read the story behind CYBERMAPS →](https://cybermaps.dev/about/)
---
# CYBERMAPS release notes
Review the changes in CYBERMAPS 8.0.2 and previous releases.
The latest documented release is **8.0.2**. Free and available now. WordPress.org listing awaiting approval.
## 8.0.2
* Enforce producer byte budgets before Markdown, JSON and link allocations; preserve completeness evidence and avoid caching partial publications.
* Clean up worker-owned native cache entries during discovery scans; use supported runtime-only flushes for external caches.
* Restore bounded post and metadata cache priming for uncached publications without caching failed database reads as empty results.
* Move static ownership to per-path rows with resumable legacy migration, fenced writes and bounded reconciliation and lifecycle cleanup.
* Validate identity and imported configuration independently from partial settings forms; use exact-byte conflict detection and rollback only owned changes.
* Preserve concurrent settings saves and explicit choices during retired MCP cleanup, static-mode normalization and automatic translation defaults.
* Preserve origin response headers and native REST serialization; reject incomplete Cloudflare rule responses and isolate concurrent authorization transactions.
* Correct RSS UTC dates, XML character handling, multisite sitemap output, query aliases, canonical decisions and old-permalink notifications.
* Report incomplete sitemap and audit scans explicitly; preserve queued edge invalidations and surface backpressure or scheduling failures.
* Bound browser delivery checks, fence stale page-search responses and preserve disabled controls during overlapping operations.
* Extend local release checks and retain exact candidate, runtime, website and review evidence.
## 8.0.1
* Replace retired MCP mode configuration with an explicit read-only adapter switch.
* Delete obsolete settings, migration notices and the unused OAuth upgrade placeholder.
* Preserve 8.0 adapter consent and retain deletion-only cleanup for direct 7.x upgrades.
* Guard against reintroducing legacy runtime configuration; update setup and migration docs.
## 8.0.0
* Optional WordPress MCP Adapter replaces the custom transport and OAuth stack.
* Read-only public discovery/search; removed remote operations and generic ability execution.
* Guided setup, explicit migration, remote-capability release gates and matching website guides.
## 7.5.4
* Make public sitemap attribution optional and off by default, including upgrades.
* Require frozen candidate validation and evidence-backed policy review before release.
* Harden Plugin Check parsing and preserve failed-validation evidence.
## 7.5.3
* Sanitize Quick Setup fields at the request boundary and reject excessive proxy chains.
* Escape admin HTML at output while preserving native accessible tooltip controls.
* Separate HTML and JSON sinks from reviewed non-HTML protocol emission.
* Publish editable asset source links and verify real WordPress input/output behavior.
* Include clearer setup icons and the canonical local release/install workflow.
## 7.5.2
* Hardened action authorization and setup survey validation before payload use.
* Centralized contextual output, enqueued report CSS, bounded IP hook context, and prepared every IndexNow list value.
* Removed reserved transient-option access and added fail-closed source, Plugin Check, artifact, and runtime release validation.
* Restored and validated the WordPress 7.1 / PHP 8.2 runtime baseline, including native Cybermaps ability registration.
## 7.5.1
* Added a bounded local internal-link graph using stored published content, assigned classic menus, and active-theme block navigation.
* Added potential-orphan, unreachable-from-homepage, and three-plus-click-depth findings with evidence, focused action reports, and exports.
* Suppressed link findings when coverage is incomplete and limited trend comparisons to reports with matching complete analysis contracts.
* Preserved safe links and headings in Markdown alternates, full LLMS output, and RAG chunks through shared stored-content analysis.
## 7.5.0
* Replaced Guided Setup with a three-step Quick Setup survey covering website type, AI discovery, activity logging versus lightweight delivery, and basic public identity.
* Apply bounded site-wide presets and show a settings receipt while preserving advanced configuration outside the setup fields.
* Fixed stale setup assets in same-version testing builds, adopted modern React mounting, and removed the placeholder brand mark.
* Added generated publication limits and route inventories plus a documentation handoff checked against the exact release commit.
## 7.4.2
* Counted raw candidates before SEO evaluation: briefings share a 250-candidate budget across pinned and ordinary posts; summaries examine at most 1,000 candidates and disclose incomplete coverage.
* Fetched inventory batches as complete post rows, retained hydrated objects through URL/title and SEO helpers, primed pinned metadata, and stopped flushing unrelated runtime cache entries between batches.
* Serialized cached, forced, full, and localized LLMS generation with durable ownership leases and MySQL session fences where supported; cache invalidation and eviction cannot authorize another owner.
* Added a cooperative 20-second generation deadline, early pagination-progress checks, and uncached HTTP 503 responses with Retry-After when a build cannot complete. Failed builds never populate caches or replace static publications.
* Corrected candidate-scan reporting when SEO exclusions exhaust the inventory, and isolated localized publication caches.
## 7.4.1
* Improved sanitization of request flags, headers, OAuth callback values, and request paths.
* Prepared database column identifiers for OAuth lookups and documented bounded database queries.
* Clarified Cloudflare OAuth and specification links flagged by older WordPress Plugin Check versions.
## 7.4.0
* Added opt-in managed `.htaccess` delivery with ownership-safe removal and routing diagnostics.
* Added per-publication server-side evidence and manual public inspection links.
* Corrected Cloudflare media types and root publication coverage.
* Fixed report comparison SQL parameters and exception handling.
* Fixed LLMS inventory pagination and expanded bounded full-corpus publication.
## 7.3.4
* Fixed cross-site origin caching for `/ai-discovery` without changing its public URL.
## 7.3.3
* Added an ownership-safe `/ai-discovery` fallback for origins with unpurgeable path caches.
## 7.3.2
* Isolated APCu and shared object-cache entries across independent WordPress installations.
## 7.3.1
* Fixed the Advanced Cloudflare eligibility control fatal and confirmation-row visibility.
## 7.3.0
* Added opt-in, expiring redacted diagnostics/support bundles; renamed System Status to Debugging.
## 7.2.2
* Disabled Cloudflare mutations when proxy traffic is not detected, with an exact-host, page-scoped manual confirmation for advanced deployments.
## 7.2.1
* Fixed recoverable OAuth completion, canonical rule paths, and automatic browser-visible verification with per-resource diagnostics.
* Added Cloudflare execution proof and complete OAuth metadata cache bypass.
## 7.2.0
* Added public Cloudflare OAuth with PKCE, account consent, automatic combined rule installation, immediate token revocation, and no stored credential.
* Added a bounded open-source callback relay, ambiguity-safe zone selection, OAuth lifecycle status, and a one-time-token fallback.
* Added self-managed Cloudflare OAuth for organizations that want the callback, PKCE transaction, code exchange, and token revocation to remain on WordPress.
## 7.1.0
* Added System Status with stack detection and explicit optimization-utilization evidence.
* Added one-time-token Cloudflare header and cache-safety automation plus default-on LiteSpeed and APCu controls.
* Unified edge diagnostics with the static publication header contract and added scoped Cybermaps-only cache invalidation.
## 7.0.1
* Added ownership-safe `.well-known` fallbacks with explicit conformance status.
* Unified OAuth metadata, bounded LLMS scans, and fixed duplicate-header diagnostics.
## 7.0.0
* Raised the minimum to WordPress 7.1 and added a native public Ability kernel shared by MCP, WebMCP, API Catalog, OpenAPI, and ARD discovery.
* Replaced nested well-known configuration with exact WordPress global rewrite rules, removed physical well-known defaults, and retained ownership-safe cleanup and public verification.
## 6.6.1
* Added automatic ownership-safe `/.well-known/` routing for header-sensitive discovery endpoints on compatible Apache and LiteSpeed servers.
* Added public GET/HEAD verification and explicit blocked-before-WordPress diagnostics without substituting wrong-MIME static files.
## 6.6.0
* Added enriched per-API RFC 9727/RFC 9264 Linksets and a public REST health endpoint.
* Added OAuth metadata, optional RFC 8628 device approval, and opt-in Auth.md without unsupported OIDC or fabricated JWKS claims.
* Added the experimental current MCP Server Card, draft ARD AI Catalog, and opt-in read-only WebMCP with explicit maturity guidance.
* Added server/cache/CDN rules and Configured, Advertised, Publicly verified, and canonical-interception diagnostics.
Read the [complete plugin release history](https://cybermaps.dev/changelog.txt) for earlier versions.
---
# CYBERMAPS vs. Rank Math, Yoast & AIOSEO
Publish. Verify. Improve. One complete WordPress discovery engine—with News and video sitemaps, AI publications, delivery checks, and branded reports included in the free plugin.
**Publish. Verify. Improve. One complete WordPress discovery engine.**
CYBERMAPS combines a complete sitemap engine, rich AI publications, public-delivery checks, crawler observations, and branded content reports in one standalone WordPress plugin. **Every CYBERMAPS capability below is included in CYBERMAPS.**
For agencies and site owners, that means News and video sitemap output without a paid upgrade, a coordinated publication layer for search engines and AI clients, and practical reports that turn ongoing site work into a client deliverable.
## More discovery power. Included in CYBERMAPS.
**CYBERMAPS 8.0.2 · Official competitor sources reviewed September 8, 2026.** AIOSEO is All in One SEO, formerly All in One SEO Pack. “Generic sitemap plugin” means a basic XML sitemap solution; additional features vary by the chosen plugin.
**Included** means included in CYBERMAPS. **Available** means the vendor documents the feature; a free or paid edition is identified where verified. **Not listed** means a matching capability was not identified in the linked vendor sources, rather than a tested absence from every edition or integration.
## Every sitemap your publishing workflow needs
| Capability | **CYBERMAPS** | Rank Math | Yoast SEO | AIOSEO | Generic sitemap plugin |
| --- | --- | --- | --- | --- | --- |
| XML sitemap index and content sitemaps | **Included** | [Available](https://rankmath.com/kb/configure-sitemaps/) | [Available](https://yoast.com/help/xml-sitemaps-in-the-wordpress-seo-plugin/) | [Available](https://aioseo.com/features/smart-xml-sitemaps/) | Primary purpose |
| Image sitemap support | **Included** | [Available](https://rankmath.com/kb/configure-sitemaps/) | [Available](https://developer.yoast.com/features/xml-sitemaps/functional-specification/) | [Available](https://aioseo.com/features/smart-xml-sitemaps/) | Varies |
| News sitemap | **Included** | [Paid PRO](https://rankmath.com/kb/news-sitemap/) | [Paid News SEO bundle](https://yoast.com/features/news-seo/) | [Paid Pro plan or above](https://aioseo.com/docs/how-to-create-a-google-news-sitemap/) | Varies |
| Video sitemap output | **Included** | [Paid PRO](https://rankmath.com/free-vs-pro/) | [Paid Video SEO bundle](https://yoast.com/features/video-seo/) | [Paid Pro plan or above](https://aioseo.com/docs/how-to-create-a-video-sitemap/) | Varies |
| Dedicated RSS sitemap | **Included** | Not listed | Not listed | [Available](https://aioseo.com/docs/how-to-create-an-rss-sitemap/) | Varies |
| HTML sitemap for visitors | **Included; three layouts** | [Free](https://rankmath.com/kb/html-sitemap/) | Not listed | [Free Lite and paid](https://aioseo.com/newsroom/introducing-html-sitemaps/) | Varies |
**The CYBERMAPS advantage:** XML, News, RSS, image, video, and HTML output are part of the same included engine. Choose the formats your site needs without buying a higher edition for News or video publication.
Yoast includes News SEO and Video SEO with Premium, WooCommerce SEO, and AI+; those products also provide capabilities beyond sitemaps. AIOSEO’s **Pro plan** is a specific paid tier, not a synonym for every paid AIOSEO license. CYBERMAPS’ [News provider](https://cybermaps.dev/docs/sitemaps/) covers up to 1,000 eligible articles from the last 48 hours. These are feature-availability comparisons, not claims that the products’ entire News or video toolsets are equivalent.
## Give AI clients more to work with
| Capability | **CYBERMAPS** | Rank Math | Yoast SEO | AIOSEO | Generic sitemap plugin |
| --- | --- | --- | --- | --- | --- |
| `llms.txt` site guide | **Included** | [Available](https://rankmath.com/kb/llms-txt/) | [Free and paid](https://yoast.com/features/ai-features/) | [Available](https://aioseo.com/docs/how-to-create-an-llms-txt-using-all-in-one-seo/) | Varies |
| `llms-full.txt` content publication | **Included; opt-in** | Not listed | Not listed | [Available](https://aioseo.com/docs/how-to-create-an-llms-txt-using-all-in-one-seo/) | Varies |
| Readable Markdown versions of content | **Included** | Not listed | Not listed | [Post conversion available](https://aioseo.com/docs/how-to-create-an-llms-txt-using-all-in-one-seo/) | Varies |
| Discovery manifests, API catalog, and retrieval chunks | **Included endpoint family** | Not listed | Not listed | Not listed | Varies |
| Public AI endpoint checks: HTTP, body, media type, and headers | **Included** | Not listed | Not listed | Not listed | Varies |
| Managed static sitemap and AI publication, with file-ownership checks | **Included; optional** | Not listed | Not listed | Not listed | Varies |
**The CYBERMAPS advantage:** publish a coordinated family of machine-readable resources and check what a client can actually retrieve. The workflow extends from `llms.txt` through content exports and discovery catalogs to public-response verification. The [endpoint registry](https://cybermaps.dev/docs/machine-publications/) and [Discovery Status checks](https://cybermaps.dev/docs/status-analytics/) define that coverage.
These comparisons draw on [Rank Math’s feature matrix](https://rankmath.com/free-vs-pro/), [Yoast’s feature catalog](https://yoast.com/features/) and [AI feature matrix](https://yoast.com/features/ai-features/), and [AIOSEO’s feature catalog](https://aioseo.com/features/) and [LLMS guide](https://aioseo.com/docs/how-to-create-an-llms-txt-using-all-in-one-seo/). Yoast also offers schema aggregation, and AIOSEO documents full-text and Markdown publication: AI publishing is a shared category, with meaningful differences in scope.
CYBERMAPS’ public checks distinguish a reachable URL from a valid body and correct headers. Optional static publication can serve eligible files directly; multisite uses dynamic delivery. Server and CDN configuration still determines public routing and headers. See the [delivery documentation](https://cybermaps.dev/docs/static-file-engine/).
## Turn discovery into billable work
| Capability | **CYBERMAPS** | Rank Math | Yoast SEO | AIOSEO | Generic sitemap plugin |
| --- | --- | --- | --- | --- | --- |
| Crawler and discovery request log with CSV export | **Included; opt-in** | Not listed | Not listed | Not listed | Varies |
| Content review | **Word count, freshness, and media findings** | [SEO content analysis](https://rankmath.com/free-vs-pro/) | [SEO and readability analysis](https://yoast.com/features/) | [TruSEO content analysis](https://aioseo.com/features/) | Varies |
| Saved content-audit runs with added, resolved, and persisting findings | **Included** | Not listed | Not listed | Not listed | Varies |
| Reports to share with clients | **Branded HTML, CSV, and JSON with content, potential-orphan, and click-depth findings** | [SEO email reports; custom branding in Business/Agency](https://rankmath.com/kb/seo-email-reporting/) | [AI brand reports in AI+](https://yoast.com/features/ai-features/) | [SEO email reports available](https://aioseo.com/best-seo-reporting-tools/) | Varies |
| Structured site identity | **Identity Hub, Knowledge Graph, and OfferCatalogs** | [Schema tools](https://rankmath.com/free-vs-pro/) | [Schema tools](https://yoast.com/features/) | [Schema tools](https://aioseo.com/features/) | Varies |
| Editorial SEO workflow | **Works with supported existing SEO controls** | [Title, meta, and content tools](https://rankmath.com/free-vs-pro/) | [Title, meta, and content tools](https://yoast.com/features/) | [Title, meta, and content tools](https://aioseo.com/features/) | Varies |
**The CYBERMAPS advantage:** show what was published, what requests reached WordPress, which content needs attention, and what improved between reviews. Agency branding and content-report exports are included, so the output is ready to become part of your client service.
CYBERMAPS’ reports measure the site’s content and changes in saved findings. Rank Math’s performance emails and Yoast’s AI brand reports answer different questions. CYBERMAPS’ crawler log records requests that execute WordPress/PHP; crawler labels reflect User-Agent evidence. Requests served entirely by a CDN or static file are outside that log. Explore [crawler observations](https://cybermaps.dev/docs/status-analytics/), [saved content reviews](https://cybermaps.dev/professionals/content-planning/), and [branded reports](https://cybermaps.dev/professionals/report-branding/).
## Why choose CYBERMAPS?
**Against a generic sitemap plugin: get the workflow around the sitemap.** CYBERMAPS adds AI-readable content, public-delivery diagnostics, crawler evidence, structured identity, and client reports to the familiar job of publishing URLs. It is a practical step up when maintaining a sitemap is only one part of your work.
**Against Rank Math: put discovery and content evidence in one place.** Rank Math offers broad editorial SEO and performance tools. CYBERMAPS gives you included News and video sitemap output, its discovery publication family, public endpoint checks, and branded content audits. That makes it a focused choice for professionals whose next priority is publication, verification, and content maintenance.
**Against Yoast: extend the publishing workflow you already use.** Yoast provides editorial guidance, schema, and AI features. CYBERMAPS brings its sitemap formats, delivery checks, crawler observations, and saved content reports together in CYBERMAPS. You can retain Yoast’s editorial tools while assigning sitemap and supported AI publications to CYBERMAPS.
**Against AIOSEO: choose an integrated discovery and reporting workflow.** AIOSEO also publishes RSS, HTML, LLMS, and Markdown content. CYBERMAPS builds on that shared publication category with a coordinated discovery endpoint family, public-response checks, optional managed static files, and content-audit change tracking. News, video output, and branded content reports are all included in CYBERMAPS.
CYBERMAPS consumes supported singular noindex and canonical signals from Rank Math, Yoast, and AIOSEO, plus broader supported Genesis/Mai signals. Assign one publisher per sitemap or discovery URL when combining plugins. The [sitemap setup guide](https://cybermaps.dev/docs/sitemaps/) explains how to assign publication ownership.
## Put your content to work
**One free plugin. A complete discovery workflow.** Publish for search engines and AI clients, verify public delivery, find content that needs attention, and turn improvements into reports your clients can use.
[Explore all CYBERMAPS features](https://cybermaps.dev/features/) · [See the professional workflow](https://cybermaps.dev/professionals/) · [Plan your setup](https://cybermaps.dev/docs/getting-started/)
### About this comparison
Based on the CYBERMAPS 8.0.2 comparison reference. Competitor sources reviewed September 8, 2026. CYBERMAPS requires WordPress 7.1+ and PHP 8.2+. The tables link to official vendor documentation. “Not listed” means a matching capability was not identified in those sources; it does not mean every edition or integration was tested. Generic sitemap plugins vary by product.
Publish readable content and structured information for compatible AI clients, then use delivery checks to verify your server and CDN serve it correctly. See the [AI publication guide](https://cybermaps.dev/docs/machine-publications/) and [delivery guide](https://cybermaps.dev/docs/static-file-engine/) for setup details.
[Download CYBERMAPS →](https://cybermaps.dev/downloads/)
---
# The CYBERMAPS field guide
Set up, publish, verify, and improve. Source-grounded documentation for CYBERMAPS 8.0.2.
New to CYBERMAPS?
## Your first successful publication
Install CYBERMAPS, complete Quick Setup, then check what your site publishes.
1. [Install and set up →](https://cybermaps.dev/docs/getting-started/)
2. [Choose sitemap ownership →](https://cybermaps.dev/docs/sitemaps/)
3. [Verify your output →](https://cybermaps.dev/docs/verification/)
## Start and configure
Install the plugin, choose your content, and manage settings.
* [
### Getting started with CYBERMAPS
Install, complete Quick Setup, and verify your first WordPress publications.
→](https://cybermaps.dev/docs/getting-started/)
* [
### Choose what gets published
Understand the shared eligibility rules that keep private and excluded content out of public outputs.
→](https://cybermaps.dev/docs/publication-eligibility/)
* [
### Configuration backup and migration
Understand configuration roots, private backups, and safe settings exchange.
→](https://cybermaps.dev/docs/configuration/)
* [
### AI Configuration Briefs and backups
Preview bounded configuration changes, preserve private backups, and use exact versioned schemas.
→](https://cybermaps.dev/docs/ai-configuration/)
## Publish for search and AI
Configure the sources that crawlers and agents can retrieve.
* [
### XML, News, RSS, and HTML sitemaps
Configure sitemap ownership, eligible content, media discovery, and the HTML sitemap shortcode.
→](https://cybermaps.dev/docs/sitemaps/)
* [
### AI publishing and Markdown
Configure llms.txt, literal content, feeds, discovery manifests, and retrieval publications.
→](https://cybermaps.dev/docs/machine-publications/)
* [
### Identity, schema, and crawler policy
Publish factual identity and service catalogs, and configure crawler preferences.
→](https://cybermaps.dev/docs/robots-identity-services/)
* [
### MCP and browser agent tools
Install WordPress MCP Adapter, enable read-only Cybermaps connections, and reconnect clients upgrading from 7.x.
→](https://cybermaps.dev/docs/mcp/)
## Measure, improve, and troubleshoot
Review your content, verify delivery, and keep publications running.
* [
### Content intelligence reports
Create saved measurements, focused action lists, and printable client reports.
→](https://cybermaps.dev/docs/reports/)
* [
### Diagnostics and crawler analytics
Read delivery evidence, recognized crawler observations, and privacy controls correctly.
→](https://cybermaps.dev/docs/status-analytics/)
* [
### Publication verification checklist
Verify public retrieval, body validity, routing, and headers after configuration changes.
→](https://cybermaps.dev/docs/verification/)
* [
### Static File Engine
Choose dynamic delivery, essential compatibility files, or full eligible static publication.
→](https://cybermaps.dev/docs/static-file-engine/)
* [
### Troubleshooting and security
Diagnose delivery, permissions, cleanup, and operational boundaries.
→](https://cybermaps.dev/docs/lifecycle-security-troubleshooting/)
## Developer reference
Connect tools, build extensions, and inspect the published contracts.
* [
### REST API, WP-CLI, and integrations
Work with public resources, private operations, CLI commands, and publishing integrations.
→](https://cybermaps.dev/docs/rest-cli/)
* [
### Extension and lifecycle reference
Build separate extensions using the plugin’s documented lifecycle and integration contracts.
→](https://cybermaps.dev/docs/extension-api/)
* [
### Developer reference and release inventory
Explore the exact 8.0.2 endpoint, setting, CLI, and configuration inventory.
→](https://cybermaps.dev/docs/developer-reference/)
* [
### Public website agent API
Search and read published CYBERMAPS website pages through bounded REST and MCP tools.
→](https://cybermaps.dev/docs/site-api/)
## More guides
* [Complete plugin endpoint reference](https://cybermaps.dev/docs/endpoints/)
---
# AI Configuration Briefs and backups
Preview bounded configuration changes, preserve private backups, and use exact versioned schemas.
> CYBERMAPS 8.0.2 · AI Configuration Brief format 2
Cybermaps can prepare a site-aware configuration handoff for an AI assistant without exposing the private values required for an exact site restoration. The downloaded **AI Configuration Brief** is a Markdown file containing the site context, current non-secret configuration, the accepted field contract, and one tightly bounded JSON changes block.
This guide is the human-readable companion to the versioned machine contracts referenced at the end of every Brief:
* Guide: `https://cybermaps.dev/docs/ai-configuration/`
* JSON Schema: `https://cybermaps.dev/specs/ai-configuration/8.0.2/schema.json`
* Field catalog: `https://cybermaps.dev/specs/ai-configuration/8.0.2/catalog.json`
The plugin source keeps the canonical schema and catalog under `docs/dev/ai-configuration/`. This website publishes the exact imported release copies at the versioned schema and catalog links above.
## Choose the correct download
Cybermaps offers two different configuration files under **Cybermaps → Advanced → Backup & AI Configuration Brief**.
| Download | Intended use | Privacy boundary | Import modes |
| --- | --- | --- | --- |
| **Backup** (`.cybermaps.json`) | Migration, recovery, and an exact configuration handoff | Contains the complete site configuration, including the private Cybermaps REST API secret and IndexNow key; keep it private | Smart Merge or Full Replace |
| **AI Configuration Brief** (`.cyberconf.md`) | Ask an AI assistant to recommend or prepare selected configuration changes | Excludes dedicated secrets and other non-configuration data, but includes user-authored business and public identity details; review before sharing | Smart Merge only |
Do not give the complete JSON backup to an AI assistant merely to request configuration advice. Download a fresh AI Configuration Brief instead.
## What the Brief contains
Each Brief is generated from the current site and contains:
* instructions for the AI assistant and privacy warnings;
* the WordPress site URL, name, description, language, locale, timezone, multisite state, and active-theme information;
* a bounded inventory of public post types and taxonomies, including counts when WordPress can provide them;
* detected Yoast SEO, Rank Math, AIOSEO, WPML, and Polylang integrations;
* supported Schema.org identity types and Cybermaps crawler definitions;
* current publication state, resolved sitemap route, and whether dedicated credentials have been configured;
* configured public identity, contact, location, hours, and catalog context;
* current effective values for every AI-editable, non-secret field;
* a field-by-field reference containing JSON types, constraints, effective defaults, examples, dependencies, and review-risk levels; and
* a JSON changes envelope in which every field initially has the value `null`.
The sitemap field `show_sitemap_attribution` is a boolean and defaults to `false`. Enabling it displays a public Cybermaps credit; it is marked high risk and requires explicit intent and the import workflow’s high-impact acknowledgement. Leave it `null` to preserve the current preference.
The AI publishing section includes the boolean `enable_mcp_adapter`, defaulting to `false`. It enables only the read-only adapter integration, requiring WordPress MCP Adapter 0.7.0+, completed legacy-data cleanup and the enabled AI Publication Hub. Retired `mcp_mode` and `agent_registration_mode` fields are not accepted. Download a fresh Brief after upgrading; see [MCP setup](https://cybermaps.dev/docs/mcp/).
The Brief does not include:
* the private Cybermaps REST API secret;
* the IndexNow key;
* credential-bearing URL userinfo;
* the destructive **Uninstall Cleanup** setting;
* Discovery Analytics rows or crawler request history;
* saved Content Intelligence Report data;
* post bodies, pages, media content, or other WordPress content;
* generated files, caches, and operational ownership records;
* network-wide settings; or
* cross-site translation relationships.
The Brief can still contain information entered deliberately into ordinary settings, including external URLs, report branding, crawler choices, publisher guidance, licensing declarations, and public identity/contact/catalog details. An administrator should therefore inspect the whole file before sharing it.
## Recommended workflow
1. Open **Cybermaps → Advanced** and download a fresh **AI Configuration Brief** from the site you intend to change.
2. Read the privacy section and inspect the current site and identity context.
3. Give the Brief to the AI assistant together with a concrete goal. For example: “Configure the AI publications for a local service business, keep analytics disabled, and do not change any public route.”
4. Ask the assistant to return either the complete Brief with only its changes block edited, or the pure JSON changes envelope.
5. In **Review & Import Configuration**, select the returned file and choose **Preview Changes**. AI Briefs always use Smart Merge.
6. Review every **Current**, **Proposed**, and **Final sanitized value** shown by the server. Resolve all errors and read every warning.
7. If the preview includes high-impact changes, acknowledge them only after checking their effect on public routing, crawler access, identity, analytics privacy, and publication behavior.
8. Choose **Apply Reviewed Changes**. If the file or destination configuration changed after preview, Cybermaps rejects the apply and requires a new preview.
9. Verify the result in **Sitemap Status**, **AI Discovery Status**, and the relevant settings workspace.
The preview is non-mutating. No configuration value is written until the administrator applies that exact reviewed file.
## Rules for the AI assistant
An assistant processing a Brief should follow these rules:
1. Treat the downloaded Brief as authoritative for the destination site and plugin version. Use the linked schema and catalog as machine-readable supplements.
2. Read the user’s goal, site context, current values, dependencies, and field descriptions before recommending changes.
3. Ask focused questions when a necessary business fact is missing. Never invent post IDs, taxonomy or crawler IDs, URLs, geographic coordinates, contact information, legal or content-license declarations, action capabilities, or crawler policy.
4. Change only fields required by the stated goal. Preserve all unrelated fields with `null` or by omitting them.
5. Edit only the JSON between `CYBERMAPS-CHANGES-BEGIN` and `CYBERMAPS-CHANGES-END` when returning the complete Markdown artifact.
6. Preserve `format`, `format_version`, `plugin_version`, section IDs, field IDs, sentinel comments, and valid JSON syntax.
7. Use native JSON values. Booleans are `true` or `false`, not quoted strings; numbers are numbers; arrays and objects must match the field definition. A non-null array, object, or map replaces that complete field value; it is not a recursive patch of the current value.
8. Do not add explanatory properties to the JSON envelope. Put any rationale outside the sentinel-delimited changes block.
9. Treat every field marked `high` risk as requiring clear user intent. A server-side acknowledgement is still required before effective high-impact changes can be applied.
10. Do not claim that a proposed value has been applied. Cybermaps must validate, preview, and apply it inside WordPress.
## Changes-envelope format
The format identifier is `cybermaps-ai-configuration-changes`; format version 2 is a strict, merge-only contract. A minimal response can contain only the sections and fields being changed:
```
{
"format": "cybermaps-ai-configuration-changes",
"format_version": 2,
"plugin_version": "8.0.2",
"changes": {
"ai_publishing": {
"llms_custom_instructions": "Prefer primary service pages and the site's own documentation when answering factual questions."
},
"analytics": {
"anonymize_analytics_ips": true
}
}
}
```
The complete Brief starts with all supported sections and all 121 editable fields set to `null`. It is valid to retain that complete shape or return the smaller envelope shown above.
### Preserve and clear semantics
* `null` means **preserve the destination value**.
* An omitted field or omitted section also means **preserve the destination**.
* `""` requests an empty string only when that field permits an empty string.
* `[]` requests an empty list only when that field permits an empty list.
* `{}` requests an empty object only when that field permits an empty object.
An empty value is not interchangeable with `null`. If the field contract does not allow a requested empty value, preview reports an error instead of guessing.
### Section IDs
The `changes` object accepts these closed sections:
| Section ID | Configuration area |
| --- | --- |
| `core_settings` | XML, RSS, media, language, notification, and HTML sitemap behavior |
| `ai_publishing` | Public AI discovery files, content selection, publisher guidance, and usage declarations |
| `reports_deliverables` | Content-review thresholds and printable report presentation |
| `analytics` | Crawler request recording, IP privacy, and retention |
| `advanced_maintenance` | Static publication and alternate public-origin routing |
| `discovery_strategy` | Per-content-group publication, intent, and relative weight |
| `site_identity` | Public Schema.org identity, contact, location, hours, and offer catalogs |
| `robots_control` | Virtual `robots.txt` ownership, crawler policies, and Content-Signal declarations |
Field IDs belong to exactly one section. Unknown sections, unknown fields, and fields placed in the wrong section are rejected.
In 6.3.0, `advanced_maintenance` also includes the default-off trusted-proxy fields `trusted_proxy_header` and `trusted_proxy_cidrs`. These fields only describe which forwarded-IP header and CIDR ranges Cybermaps may trust for client-IP resolution; they do not enable cache purging and do not make arbitrary forwarded headers trustworthy.
Two sensitive settings are intentionally unavailable to the v2 AI contract. `api_secret` is private and `delete_data_on_uninstall` is a destructive lifecycle choice. The IndexNow key is stored outside this registry and is also excluded.
## Validation and safety behavior
Cybermaps does not trust an AI-produced file merely because it follows the visible template. Before apply, the server:
* enforces the 1 MiB import limit;
* parses the protected block or pure JSON envelope;
* requires the exact format identifier and supported format version;
* requires a plugin-version string and warns when it differs from the installed Cybermaps version;
* rejects unknown envelope properties, sections, fields, nested properties, and crawler IDs;
* checks JSON types, enumerated choices, numeric and collection bounds, text lengths, public HTTP(S) URLs, and field-specific shapes;
* rejects URL userinfo and invalid route values;
* validates cross-field rules such as compatible identity types, paired latitude/longitude, collision-safe public routes, and RAG overlap no greater than half the selected chunk size;
* requires known content-group and crawler IDs, different opening and closing times, and the correct manual-versus-automatic offer-catalog shape;
* runs proposed values through the same canonical sanitizers used by the corresponding Cybermaps settings;
* shows current, proposed, and final sanitized values in a non-mutating preview;
* binds that preview to the exact file, import mode, and destination configuration;
* writes each changed group only if its stored value still matches the reviewed state; and
* verifies written values and, after a failure, attempts to restore only values still owned by that import.
A concurrent writer’s values are preserved. If Cybermaps reports incomplete restoration, inspect the current settings and publication status and preview again before retrying. Configuration groups are not committed as one atomic transaction.
Unknown data is rejected rather than silently imported. Sanitization can also normalize a valid proposal; the administrator must review the **Final sanitized value**, not only the value the AI supplied.
## Versioned schema and field catalog
For CYBERMAPS 8.0.2, the public machine contracts are:
* `https://cybermaps.dev/specs/ai-configuration/8.0.2/schema.json`
* `https://cybermaps.dev/specs/ai-configuration/8.0.2/catalog.json`
The JSON Schema is Draft 2020-12 and describes the strict JSON changes envelope, not the surrounding Markdown wrapper. The catalog contains the same field inventory in a compact form intended for planning and documentation: section, storage mapping, purpose, type, constraints, effective default, dependencies, example, and risk. Generic JSON Schema validation is useful, but Cybermaps preview remains authoritative because the contract uses Cybermaps `x-*` keywords, destination-aware route resolution, and the plugin’s runtime sanitizers.
Contract URLs are versioned because settings and accepted shapes can change. In each URL, the version segment is the exact `plugin_version` recorded in the downloaded Brief. Format-version mismatch is rejected. An older or newer plugin-version value produces a warning at runtime, while the installed plugin remains authoritative for validation. The versioned JSON Schema itself pins `plugin_version` exactly. Download a fresh Brief after a Cybermaps update instead of reusing an old template.
## Common errors
| Preview error | Resolution |
| --- | --- |
| Unsupported format version | Download a fresh Brief from the destination site |
| Unknown or misplaced field | Use the field ID and owning section from that Brief’s field reference or catalog |
| Invalid JSON type | Use the native JSON type specified for the field |
| Invalid public URL | Supply an HTTP(S) URL with a public host and no embedded username or password |
| Incompatible identity type | Choose a precise Schema.org type allowed by the selected primary identity type |
| Latitude/longitude pairing error | Set both coordinates together or clear both where allowed |
| RAG overlap error | Keep overlap at or below half of the chunk size |
| File changed after preview | Select or preview the final returned file again |
| Destination changed after preview | Refresh the preview against the site’s current configuration |
## Maintainer contract
`Cybermaps\Admin\AIConfigurationRegistry` is the canonical non-secret field registry. Runtime sanitizers remain authoritative. Run the following regeneration and validation commands from the plugin source checkout when the registry or plugin version changes.
For the 6.3.0 optimization release, the expected contract assumes exactly two new general settings, `trusted_proxy_header` and `trusted_proxy_cidrs`: 94 general settings in the generated manifest and 121 editable AI Brief fields.
That 94-setting count describes the historical 6.3.0 contract. For the current release, use the generated manifest for the general-setting inventory and the versioned catalog for field definitions. The current AI Brief exposes 121 editable fields.
```
php docs/dev/generate-docs.php --ai-schema > docs/dev/ai-configuration/schema.json
php docs/dev/generate-docs.php --ai-catalog > docs/dev/ai-configuration/catalog.json
php docs/dev/generate-docs.php > docs/dev/manifest.json
php bin/check-ai-configuration.php
php bin/check-manifest.php
```
The catalog and schema hashes in `docs/dev/manifest.json` cover the canonical JSON encoding returned by the PHP registry, rather than whitespace in the pretty-printed files. The plugin contract checker rejects stale schema/catalog artifacts and missing required contract text in `docs/ai-configuration.md`. The website has a separate import and prose-review workflow.
---
# Configuration backup and migration
Understand configuration roots, private backups, and safe settings exchange.
Understand configuration roots, private backups, and safe settings exchange.
## How it works
Settings use four groups: general settings (`cybermaps_settings`), Content Discovery Strategy (`cybermaps_discovery_center`), crawler policy (`cybermaps_robots_manager`), and identity (`cybermaps_identity_data`). Saving one workspace preserves values owned by other workspaces.
Identity and crawler-policy repeaters are submitted as bounded JSON; the server also accepts the validated nested-field fallback. An invalid structured group keeps its previously saved value and reports an error. If the main settings request is cut off before its final completeness marker, Cybermaps preserves all four groups. Reduce unusually large repeater lists or resolve the server input limit before retrying. Configuration imports have a separate strict validation and preview workflow.
Advanced settings provide two deliberately different exchange formats.
### Versioned JSON backup
The JSON backup contains:
* all `cybermaps_settings` values, including nested values and the private API secret;
* the Content Discovery Strategy;
* Robots Control data;
* Identity Hub data; and
* the IndexNow key.
The file includes its format version and an integrity checksum. Import accepts **Smart Merge** or **Full Replace** and validates every configuration group with its owning sanitizer. Smart Merge preserves destination secrets when the source value is empty; Full Replace requires a valid Cybermaps JSON backup. Imports are limited to 1 MiB (1,048,576 bytes).
Each changed group is written only while its stored value still matches the reviewed state. If a write or verification fails, Cybermaps attempts to restore only values still owned by that import. Concurrent changes are preserved. A partial-restoration error requires reviewing the current settings and publication status before making a fresh preview. The group writes are not one atomic transaction.
This is a site-configuration backup, not a backup of every Cybermaps-owned or WordPress-owned record. It excludes:
* Discovery Analytics history;
* saved Content Intelligence Report runs;
* posts, pages, media, and other WordPress content;
* generated files, ownership records, caches, and operational status;
* network-wide settings; and
* cross-site translation relationships.
Because the JSON file can contain the private Cybermaps REST API secret and information entered in plugin settings, keep it private. The IndexNow key is also preserved for exact restoration but is not an integration credential.
### AI Configuration Brief
The Markdown AI Configuration Brief is a site-aware, credential-excluding handoff for AI-assisted configuration. It contains operating instructions, privacy and safety rules, current non-secret values, public identity/contact/catalog context, site content and taxonomy inventories, route and publication state, detected integrations, supported crawlers and schema types, and a complete field reference with defaults, allowed values, dependencies, examples, and risk levels. Its fenced JSON changes envelope starts with every editable field set to `null`; only non-null changes are considered.
The v2 envelope is merge-only and strict: unknown sections, fields, nested properties, crawler IDs, malformed public URLs, incompatible identity types, and invalid cross-field combinations are errors. Cybermaps first produces a non-mutating field-level preview of current, proposed, and canonical sanitized values. Applying requires that exact file and unchanged destination configuration; high-impact changes require explicit acknowledgement.
The complete administrator and AI-assistant workflow, changes-envelope rules, privacy boundary, validation behavior, examples, and troubleshooting guidance are documented in [AI-Assisted Configuration](https://cybermaps.dev/docs/ai-configuration/).
The canonical machine contracts are published at `https://cybermaps.dev/specs/ai-configuration/{version}/schema.json` and `https://cybermaps.dev/specs/ai-configuration/{version}/catalog.json`, with usage guidance at `https://cybermaps.dev/docs/ai-configuration/`. The same canonical artifacts are committed under `docs/dev/ai-configuration/` in the plugin source repository; their hashes appear in its generated manifest. The private Cybermaps REST API secret and IndexNow key, destructive uninstall state, analytics, report data, content, and generated files are not included. Credential-bearing URL userinfo is omitted as well. Because ordinary configuration fields are user-authored and can still contain sensitive business details, review the Brief before sharing it. Use the complete JSON backup—not the Brief—when exact restoration is required, and keep that backup private.
Old backups may contain retired MCP keys. The current sanitizer removes those keys, and imports cannot restore the deleted server or remote tools. The new `enable_mcp_adapter` boolean controls only the read-only integration; use the optional [MCP setup](https://cybermaps.dev/docs/mcp/) and reconnect clients after upgrading.
Only the complete JSON backup and the self-describing v2 Brief are accepted for configuration import. Earlier Markdown templates are intentionally unsupported.
---
# Developer reference and release inventory
Explore the exact 8.0.2 endpoint, setting, CLI, and configuration inventory.
The committed release inventory is generated by the plugin source and preserved byte for byte.
## Release artifacts
* [8.0.2 public manifest](https://cybermaps.dev/product/manifest.json)
* [8.0.2 configuration JSON Schema](https://cybermaps.dev/specs/ai-configuration/8.0.2/schema.json)
* [8.0.2 configuration field catalog](https://cybermaps.dev/specs/ai-configuration/8.0.2/catalog.json)
* [Full technical source guide](https://cybermaps.dev/product/documentation.md)
* [Generated website facts and source provenance](https://cybermaps.dev/product/website.json)
* [Complete endpoint inventory, including robots.txt and IndexNow verification](https://cybermaps.dev/docs/endpoints/)
The original tagged manifest is retained exactly. The separate website export combines its registry metadata with supplemental sitemap, robots, verification, and REST route families, including optional MCP Adapter transport. It also reads publication limits directly from runtime constants. Its count describes supported route families, not the number of enabled URLs on an individual WordPress site.
## Editable source and release validation
The [tagged source](https://github.com/Alex9001/cybermaps/tree/v8.0.2) contains the editable JavaScript and CSS shipped in the ZIP. Quick Setup uses WordPress’s `wp.element` directly; there is no JavaScript/CSS compilation step. After `composer install`, `bash bin/package-candidate.sh` reproduces the package from a source checkout, including a published tag. Assets are copied unchanged. For an unpublished candidate, `composer release:build` additionally validates the ZIP in disposable WordPress with Plugin Check.
A validated candidate is only one release step. Publication requires reviewed website content matching the exact source commit and channel. The full `composer release` workflow publishes the plugin, deploys the matching website, and verifies the production contracts, downloads and changelog on cybermaps.dev before reporting completion. `composer release:status` identifies pending steps; `composer release:resume -- --tag vX.Y.Z` finishes an interrupted website handoff without republishing the plugin. The repository’s [release workflow](https://github.com/Alex9001/cybermaps/blob/v8.0.2/docs/dev/RELEASE-WORKFLOW.md) documents dependencies, local installation, publication, and website handoff.
The [8.0.2 audit checkpoint](https://github.com/Alex9001/cybermaps/blob/v8.0.2/docs/dev/audits/8.0.2.json) records AI-assisted source reviews, native fault tests, and measurements from 1,000 to one million primary records. It retains incomplete operations, measured regressions, and remaining limitations. The mandatory release gate runs after that checkpoint.
## Configuration roots
General settings live in `cybermaps_settings`. Discovery strategy, crawler policy, and identity have separately owned options and sanitizers. Read them through the plugin configuration store; preserve unrelated settings on partial saves.
## Build an extension
Use the [extension and lifecycle reference](https://cybermaps.dev/docs/extension-api/). An extension owns its namespace, settings, lifecycle, and release artifact. It must not replace CYBERMAPS or depend on its internal service container.
## Site agent API
This website’s [public read-only API](https://cybermaps.dev/docs/site-api/) reads these published pages. It is separate from the WordPress plugin’s optional authenticated MCP interface.
---
# Complete plugin endpoint reference
Generated inventory of Cybermaps publications, robots.txt, sitemap families, REST routes, and optional MCP Adapter transport.
Cybermaps 8.0.2 supports **53 routes and route families** in this inventory. It includes aliases, `/robots.txt`, sitemap families, REST routes, IndexNow key verification, and the optional MCP Adapter endpoint. Concrete URLs vary with enabled features, languages, content, pagination, and configured sitemap slugs. Routes may require authentication or return an unavailable response when disabled.
WordPress admin screens, AJAX/admin-post actions, static assets, and legacy redirects are outside this count. Filename and query-form Markdown alternates are variants of the permalink Markdown family.
## Routes
| Path / route family | Format | Availability | Static mode |
| --- | --- | --- | --- |
| /.well-known/agent-skills/cybermaps-site-guide/SKILL.md | text/markdown | Publication Hub and publication configuration | well\_known |
| /.well-known/agent-skills/index.json | application/json | Publication Hub and publication configuration | well\_known |
| /.well-known/ai-catalog.json | application/json | enable\_discovery\_hub | dynamic |
| /.well-known/api-catalog | application/linkset+json | Publication Hub and publication configuration | dynamic |
| /.well-known/mcp/server-card.json | application/mcp-server-card+json | Publication Hub and publication configuration | dynamic |
| /ai-actions.json | application/ld+json | Publication Hub and publication configuration | well\_known |
| /ai-catalog.json | application/json | enable\_discovery\_hub | dynamic |
| /ai-discovery | application/json | Publication Hub and publication configuration | dynamic |
| /ai-discovery.json | application/json | Publication Hub and publication configuration | dynamic |
| /ai-sitemap.xml | application/xml | Publication Hub and publication configuration | all |
| /ai-usage.json | application/json | Publication Hub and publication configuration | well\_known |
| /ai.json | application/json | Publication Hub and publication configuration | well\_known |
| /api-catalog | application/linkset+json | Publication Hub and publication configuration | dynamic |
| /cybermaps-openapi.json | application/vnd.oai.openapi+json | Publication Hub and publication configuration | dynamic |
| /discovery/chunks/{post\_id}.json | application/json | enable\_rag\_chunks | all |
| /feed.json | application/feed+json | Publication Hub and publication configuration | dynamic |
| /knowledge-graph.json | application/ld+json | Publication Hub and publication configuration | all |
| /llms-full.txt | text/markdown | enable\_llms\_full | all |
| /llms-tldr.txt | text/plain | enable\_llms\_tldr | all |
| /llms.txt | text/markdown | Publication Hub and publication configuration | all |
| /news/archive.jsonl | application/x-ndjson | Publication Hub and publication configuration | all |
| /news/changelog.json | application/json | Publication Hub and publication configuration | all |
| /news/llms.txt | text/markdown | Publication Hub and publication configuration | all |
| /news/speakable.json | application/ld+json | Publication Hub and publication configuration | all |
| /robots.txt | text/plain | WordPress virtual route; physical robots.txt takes precedence | dynamic |
| /sitemap-archives-{page}.xml | application/xml | Enabled sitemap/provider; network index requires multisite | all (single site only) |
| /sitemap-authors-{page}.xml | application/xml | Enabled sitemap/provider; network index requires multisite | all (single site only) |
| /sitemap-misc.xml | application/xml | Enabled sitemap/provider; network index requires multisite | all (single site only) |
| /sitemap-network.xml | application/xml | Enabled sitemap/provider; network index requires multisite | dynamic |
| /sitemap-news.xml | application/xml | Enabled sitemap/provider; network index requires multisite | all (single site only) |
| /sitemap-posts-{post\_type}-{page}.xml | application/xml | Enabled sitemap/provider; network index requires multisite | all (single site only) |
| /sitemap-rss.xml | application/rss+xml | Enabled sitemap/provider; network index requires multisite | all (single site only) |
| /sitemap-taxonomies-{taxonomy}-{page}.xml | application/xml | Enabled sitemap/provider; network index requires multisite | all (single site only) |
| /sitemap.xml | application/xml | Enabled sitemap/provider; network index requires multisite | all (single site only) |
| /skill.md | text/markdown | Publication Hub and publication configuration | dynamic |
| /updates.json | application/json | Publication Hub and publication configuration | all |
| /wp-json/cybermaps/v1/audit-latest | application/json | Route-specific enablement and permissions; see REST documentation | dynamic |
| /wp-json/cybermaps/v1/audit-run | application/json | Route-specific enablement and permissions; see REST documentation | dynamic |
| /wp-json/cybermaps/v1/discovery | application/json | Route-specific enablement and permissions; see REST documentation | dynamic |
| /wp-json/cybermaps/v1/editor/translation/{post\_id} | application/json | Route-specific enablement and permissions; see REST documentation | dynamic |
| /wp-json/cybermaps/v1/health | application/json | Route-specific enablement and permissions; see REST documentation | dynamic |
| /wp-json/cybermaps/v1/llms-tldr | application/json | Route-specific enablement and permissions; see REST documentation | dynamic |
| /wp-json/cybermaps/v1/mcp/server-card | application/json | Route-specific enablement and permissions; see REST documentation | dynamic |
| /wp-json/cybermaps/v1/purge | application/json | Route-specific enablement and permissions; see REST documentation | dynamic |
| /wp-json/cybermaps/v1/search | application/json | Route-specific enablement and permissions; see REST documentation | dynamic |
| /wp-json/cybermaps/v1/status | application/json | Route-specific enablement and permissions; see REST documentation | dynamic |
| /wp-json/cybermaps/v1/urls | application/json | Route-specific enablement and permissions; see REST documentation | dynamic |
| /wp-json/mcp/cybermaps | application/json | Optional WordPress MCP Adapter 0.7.0+, explicit read-only opt-in, Publication Hub and WordPress authentication | dynamic |
| /{key}.txt | text/plain | IndexNow enabled; the site key is generated when needed | dynamic |
| /{language}/llms-full.txt | text/markdown | enable\_llms\_full | all |
| /{language}/llms-tldr.txt | text/plain | enable\_llms\_tldr | all |
| /{language}/llms.txt | text/markdown | enable\_multilingual\_hub | all |
| /{permalink}/index.md | text/markdown | Publication Hub and publication configuration | dynamic |
`dynamic` means Cybermaps does not materialize that route as a static file. Other values identify eligible Static File Engine modes; actual publication also depends on feature settings, ownership, protocol requirements, and a single-site installation. `/robots.txt` uses WordPress’s virtual route, so a physical file served by the web server takes precedence.
This table is generated from the imported plugin release. See the [public data](https://cybermaps.dev/product/website.json) and the [tagged source](https://github.com/Alex9001/cybermaps/tree/v8.0.2).
---
# Extension and lifecycle reference
Build separate extensions using the plugin’s documented lifecycle and integration contracts.
Build separate extensions using the plugin’s documented lifecycle and integration contracts.
## How it works
CYBERMAPS is a complete standalone WordPress plugin. Its Extension API 2.0 exposes:
* endpoint metadata registration;
* read-only access to the final publication-eligibility service; and
* read-only access to saved content report runs.
Extensions implement and route their own capabilities; CYBERMAPS retains ownership of its settings, tables, files, lifecycle, and public namespace.
Proxy integrations may use `cybermaps_client_ip_resolution` after validating their own trust boundary. The filter receives a bounded, sanitized context containing only supported peer and forwarding-header values, never the complete server environment. A filtered address is revalidated before use.
Activation provisions Core runtime storage, schedules cleanup, adds rewrite rules, and initializes publication state. Relevant settings changes invalidate caches and schedule ownership-safe static reconciliation. Static publication is disabled on multisite; each site continues to use dynamic delivery.
Deactivation clears scheduled events and rewrite rules and makes a bounded attempt to remove unchanged Cybermaps-owned output. Edited files, lock contention, storage failures, or the cleanup deadline can leave files in place. No purge continuation is left scheduled after deactivation or uninstall. Reactivation schedules restoration for the selected static mode where it is supported.
Uninstall also attempts ownership-safe file cleanup. Persistent Core options, tables, and metadata are removed only when **Uninstall Cleanup** was enabled beforehand; this data cleanup does not depend on every static file being removed. Non-sensitive cache-generation fences remain to prevent reuse of stale external cache data. Edited and pre-existing files are retained.
MCP upgrade cleanup runs per site and deletes retired configuration keys, credential tables and scheduled tasks, then reconciles discovery publications. The old server implementation and empty OAuth upgrade step are deleted. Cleanup preserves unrelated settings and converts explicit 8.0 adapter consent to the new boolean setting. Optional MCP cannot be enabled until cleanup finishes; 7.x clients must reconnect through WordPress MCP Adapter.
Data upgrades run as idempotent, resumable steps with a renewable owner lock, persisted progress, retry backoff, and post-write verification. New installations are stamped before defaults are created; existing configuration is normalized without overwriting a newer value observed during the upgrade. Static ownership uses a per-path database inventory with bounded migration of legacy options and shards. An unavailable ownership migration remains visible and retryable while dynamic publication and unrelated Core upgrades continue. The four structured configuration roots and operational coordination options are non-autoloaded.
---
# Getting started with CYBERMAPS
Install, complete Quick Setup, and verify your first WordPress publications.
Install CYBERMAPS, review the suggested configuration, and see what it publishes for your site.
## Requirements and installation
Use WordPress **7.1 or later** and PHP **8.2 or later**. PHP 8.3+ is recommended.
Free and available now. WordPress.org listing awaiting approval.
[Download CYBERMAPS](https://cybermaps.dev/downloads/)
Get the plugin ZIP from the CYBERMAPS downloads page. In WordPress, go to Plugins → Add New → Upload Plugin, choose the ZIP, then install and activate CYBERMAPS.
The plugin is free and available to install now. The WordPress.org listing is awaiting approval; the downloads page shows which installation options are currently available.
## Configure your first publications
1. Choose one sitemap owner. Disable overlapping sitemap output in other plugins before letting CYBERMAPS take over its routes.
2. Open CYBERMAPS → Overview → Quick Setup and answer the three short steps.
3. Select **Finish setup** to apply the preset, then expand **See settings applied** for the receipt.
4. Fine-tune public content eligibility, schema, and AI Publishing in their workspaces.
5. Open Sitemap Status and AI Discovery Status. Test the public URLs and their headers.
6. Open Reports and save a content report. Review content, potential-orphan, and click-depth findings, make a useful improvement, and run another report to compare the findings.
Keep the editorial tools you use. If your theme already handles titles and schema, you may not need a full SEO suite. Cybermaps disables WordPress’s native sitemap provider when it initializes and registers its own sitemap routes. Choose one public sitemap owner and coordinate overlapping output from other SEO plugins before activation. Review overlapping schema settings as well.
## How it works
Cybermaps adds one top-level administration area with seven primary tabs:
| Page | What it controls |
| --- | --- |
| **Overview** | Site inventory, feature status, publication links, and operational shortcuts |
| **XML Sitemaps** | XML, News, RSS, media, external URL, Content Discovery Strategy, caching, redirect, robots-link, translation, IndexNow, WebSub, and Static File Engine settings |
| **HTML Sitemap** | Shortcode availability plus an interactive builder, generated shortcode, examples, and attribute reference |
| **AI Publishing** | The publication master switch, LLMS output, discovery manifests, feeds, chunks, actions, usage policy, custom AI instructions, and crawler/robots policy |
| **Schema** | Organization, LocalBusiness, or Person identity, contact and location details, social profiles, hours, contact points, and service catalogs |
| **Reports** | Content and local internal-link measurements, saved reports, focused action lists, report themes, agency branding, and AI Discovery Publication Reports |
| **Advanced** | Delivery and performance controls, managed or self-managed Cloudflare OAuth plus a one-time-token fallback, headless and media-CDN URL rewriting, private REST secret, static cleanup, uninstall behavior, and configuration exchange |
**Debugging** is a separate submenu, with expiring diagnostic logging, redacted support bundles, runtime and optimization status, and public delivery checks.
### Quick Setup
**Quick Setup** is an optional three-step survey launched from **Overview**:
1. **Your website:** choose the closest website type for a matching content profile and sitemap preset.
2. **Your priorities:** choose basic AI discovery and either crawler activity with IP anonymization or lightweight delivery.
3. **About you:** enter a public identity type, name, short introduction, and optional logo or photo.
**Finish setup** applies the site-wide preset and displays a summary with an expandable settings receipt. Viewing or leaving the survey changes nothing. Activity insights enable 30-day logging with IP anonymization and dynamic delivery; logged-in observations retain the WordPress user ID as described in [Diagnostics and crawler analytics](https://cybermaps.dev/docs/status-analytics/). Lightweight delivery disables logging and selects full static publication. Multisite always keeps dynamic delivery.
Custom content-group adjustments, crawler policies, AI usage permissions, detailed AI features, identity contacts and catalogs, credentials, route slugs, and reports remain in their normal workspaces. Turning AI discovery off also disables WebSub because it depends on the Discovery Hub. The server validates and sanitizes the preset and checks the content, environment, and destination fingerprints before applying it. There is no saved completion state or recurring setup notice.
The apply request accepts only the documented answer keys and scalar types, with bounded identity text and a nonnegative media ID. The server reconstructs the preset from those answers, reruns the non-mutating configuration preview, and compares the environment, content, and destination hashes before it writes anything. The browser does not send a configuration document for WordPress to trust or replay. Identity names use WordPress text sanitization; introductions use textarea sanitization so line breaks survive. Unsupported choices and unknown fields are rejected before the preset is built.
The **Crawler & Robots Policy** workspace is shown directly within AI Publishing. Its category rows provide bulk controls for every crawler currently listed in that group; individual rows stay collapsed until an administrator chooses **Customize**.
Cybermaps also provides three dedicated diagnostic pages:
* **Sitemap Status** lists the advertised sitemap inventory, estimated URL coverage, explicit item exclusions, configured delivery mode, and direct links for public inspection.
* **AI Discovery Status** checks each registered fixed-path publication’s enablement, expected format, public HTTP status, media type, parseability, and delivery path. It distinguishes **Configured** settings, **Advertised** generated metadata, and **Publicly verified** live HTTP results.
* **Discovery Analytics** combines endpoint activity, crawler-like content visits, unidentified request patterns, the detailed Request Log, retention, CSV export, and clear-history controls.
The standard WordPress Dashboard includes a five-row **CYBERMAPS: Recent PHP-Observed Requests** widget with a direct link to the full analytics view.
AI Discovery Status and the AI Discovery Publication Report make bounded GET requests to enabled publications at the configured public base URL. They send the expected `Accept` media type, `X-Cybermaps-Diagnostic: 1`, and a Cybermaps health-check User-Agent. The API Catalog receives an additional HEAD check for its required Link header. A bounded number of publications also receive secondary HEAD, OPTIONS, and conditional GET checks for protocol and cache behavior. All of these probes carry the diagnostic marker.
Results are validated locally and cached briefly. A separately hosted Frontend Base URL receives these requests when configured; no probe data is sent to Cybermaps. A failed loopback request or local validation limit leaves delivery unverified rather than proving that public delivery is broken.
On multisite, Network Admin adds a Cybermaps page with an optional centralized `/sitemap-network.xml` index. It lists the Cybermaps sitemap for each public site where the plugin is active.
For each publishable public post type, the classic editor and block editor expose Cybermaps controls for sitemap exclusion, AI exclusion, intent, sitemap priority, and change frequency. WordPress attachment rows are excluded from the shared publication-type inventory. A translation panel is available when translation integrations are enabled.
## Optional MCP connections
Cybermaps works on its own. For MCP clients, open **AI Publishing → Model Context Protocol**, follow the install/activate link for **MCP Adapter by WordPress.org** (0.7.0+), then select **Enable Cybermaps MCP (read-only)** and save. Installing the adapter alone does not enable the integration. The panel shows the endpoint and connection instructions. See [MCP setup and 7.x migration](https://cybermaps.dev/docs/mcp/) for supported authentication, a dedicated Subscriber account and client reconnection.
---
# Troubleshooting and security
Diagnose delivery, permissions, cleanup, and operational boundaries.
Diagnose delivery, permissions, cleanup, and operational boundaries.
## How it works
* Cybermaps administration pages require `manage_options`; multisite network settings require `manage_network_options`.
* Settings forms and ordinary admin form/AJAX submissions use WordPress nonces and capability checks before action selectors or payload fields are processed. The administrator Cloudflare OAuth callback validates the administrator and its transaction state before accepting an authorization result.
* Quick Setup accepts its exact documented answer schema, rebuilds the preset and preview on the server, and verifies the environment, content, and destination hashes before applying changes.
* Private REST reads compare `X-Cybermaps-Secret` with `hash_equals()` and send private, non-cacheable responses.
* Protected Varnish PURGE requests are disabled until configured and are limited to exact Cybermaps publication URLs.
* Report, analytics, and configuration exports require authorization and use explicit content types and filenames, no-cache headers, and `X-Content-Type-Options: nosniff`. Downloadable formats use attachment disposition; printable report HTML is served inline.
* Admin HTML is escaped when emitted, and printable reports use a narrow element/attribute allowlist. JSON, XML, CSV, and text publications retain their own serialization rules so HTML escaping cannot corrupt their bodies.
* CSV exports protect spreadsheet-leading formula characters and use UTF-8 output.
* Configuration imports are size-bounded, parsed before writes, sanitized by their owning configuration group, and verified after writes. A failed import attempts to restore only values it still owns. Concurrently changed values are preserved; if restoration is incomplete, review the remaining settings and publication status before previewing and retrying the import.
* Cybermaps admin responses restrict framing to the same origin with a `Content-Security-Policy: frame-ancestors 'self'` header.
* Public discovery documents are read-only. The admin REST purge requires `manage_options`. MCP exposes public resources and search only; it provides no remote purge or other administrative tool. Filesystem changes remain ownership-verified.
## Publication build responses
HTTP 503 with `Retry-After: 5` means Cybermaps could not complete the publication safely. Causes include a busy build, an exhausted work budget, a required read failure, or content/configuration changing during generation. Retry after the stated delay; if the response persists, inspect Debugging and storage health. HTTP 507 with `publication_too_large` indicates an output-size or PHP memory-headroom limit. Neither response is a completed publication. See [AI publishing](https://cybermaps.dev/docs/machine-publications/) for the limits and the distinction between a cooperative deadline and a blocked backend.
## Diagnostic support bundles
Debugging can collect a short-lived set of bounded diagnostic events. Support bundles omit credential options, request headers and bodies, cookies, and crawler analytics. Redaction of free-form messages is best effort: review the bundle locally for private information before sharing it. If clearing events fails, reload and retry; a clear confirmation does not stop an active logging session from recording later events.
---
# AI publishing and Markdown
Configure llms.txt, literal content, feeds, discovery manifests, and retrieval publications.
Configure llms.txt, literal content, feeds, discovery manifests, and retrieval publications.
The [complete endpoint reference](https://cybermaps.dev/docs/endpoints/) also includes robots.txt, sitemap families, REST routes, and optional authenticated MCP.
## How it works
The **Enable AI Publication Hub** setting is the master control for fixed discovery publications, localized LLMS routes, RAG chunks, and public discovery REST routes. Publications are assembled from WordPress content and configured publisher data; no external AI account or API key is required.
These representations omit theme chrome, navigation, scripts, and other repeated page layout. Compatible agents can retrieve URLs, summaries, identity, actions, freshness, and publisher guidance with substantially less payload and token overhead than rendering every full HTML page.
### Fixed publications
| Path / route family | Format | Availability | Static mode |
| --- | --- | --- | --- |
| /.well-known/agent-skills/cybermaps-site-guide/SKILL.md | text/markdown | Publication Hub and publication configuration | well\_known |
| /.well-known/agent-skills/index.json | application/json | Publication Hub and publication configuration | well\_known |
| /.well-known/ai-catalog.json | application/json | enable\_discovery\_hub | dynamic |
| /.well-known/api-catalog | application/linkset+json | Publication Hub and publication configuration | dynamic |
| /.well-known/mcp/server-card.json | application/mcp-server-card+json | Publication Hub and publication configuration | dynamic |
| /ai-actions.json | application/ld+json | Publication Hub and publication configuration | well\_known |
| /ai-catalog.json | application/json | enable\_discovery\_hub | dynamic |
| /ai-discovery | application/json | Publication Hub and publication configuration | dynamic |
| /ai-discovery.json | application/json | Publication Hub and publication configuration | dynamic |
| /ai-sitemap.xml | application/xml | Publication Hub and publication configuration | all |
| /ai-usage.json | application/json | Publication Hub and publication configuration | well\_known |
| /ai.json | application/json | Publication Hub and publication configuration | well\_known |
| /api-catalog | application/linkset+json | Publication Hub and publication configuration | dynamic |
| /cybermaps-openapi.json | application/vnd.oai.openapi+json | Publication Hub and publication configuration | dynamic |
| /feed.json | application/feed+json | Publication Hub and publication configuration | dynamic |
| /knowledge-graph.json | application/ld+json | Publication Hub and publication configuration | all |
| /llms-full.txt | text/markdown | enable\_llms\_full | all |
| /llms-tldr.txt | text/plain | enable\_llms\_tldr | all |
| /llms.txt | text/markdown | Publication Hub and publication configuration | all |
| /news/archive.jsonl | application/x-ndjson | Publication Hub and publication configuration | all |
| /news/changelog.json | application/json | Publication Hub and publication configuration | all |
| /news/llms.txt | text/markdown | Publication Hub and publication configuration | all |
| /news/speakable.json | application/ld+json | Publication Hub and publication configuration | all |
| /skill.md | text/markdown | Publication Hub and publication configuration | dynamic |
| /updates.json | application/json | Publication Hub and publication configuration | all |
`/ai.json` is the **Cybermaps AI Discovery Manifest 1.0**. It is a documented Cybermaps vendor extension, not a claim of an external protocol or independent standard.
`/ai-discovery.json` is the separate community AI Discovery Protocol 3.0 Level 3 publication. It links the site’s knowledge graph, LLMS context, robots directives, JSON Feed, bounded updates, AI sitemap, and the four required `/news/*` context, speakable, changelog, and JSONL archive publications. The protocol frequency hint is `daily`; Cybermaps also invalidates its cached publication when relevant site content or settings change. MCP is a separate, default-off capability; its transport and discovery metadata require WordPress MCP Adapter 0.7.0+ and explicitly enabled read-only access. See [MCP setup](https://cybermaps.dev/docs/mcp/). `/updates.json` reports only current public content changed in the last seven days and does not infer deletions without an event ledger.
The canonical nested `SKILL.md` uses valid Agent Skills frontmatter. The draft well-known index binds its entry to the exact guide bytes with SHA-256. `/skill.md` remains available for existing links. Consumer discovery and use still depend on the client.
Eligible singular resources also have literal `text/markdown` alternates. Pretty permalinks use `/{permalink}/index.md`, filename permalinks append `.md`, and plain permalinks use `cybermaps_markdown=1`. The representation includes the canonical source URL, content type, language, modified time, and structural Markdown derived from stored content. Headings remain headings, safe links stay clickable, and relative links resolve against the canonical resource. Unsupported URL schemes remain plain text. It does not execute shortcodes or dynamic blocks and is not materialized by the Static File Engine.
The endpoint registry records each fixed path, aliases, handler, body format, media type, enablement setting, static targets, maturity, adoption description, advertising state, and request-cost tier. Routing, status checks, static publication, analytics classification, and manifest generation consume this same registry.
When the AI Publication Hub is enabled, eligible HTML pages advertise their Markdown alternate and describing `llms.txt` publication through both HTML `` elements and RFC 8288 `Link` response headers. The optional Header-Based Discovery control adds the broader feed and API Catalog headers. The API Catalog supplies its registered `rel="api-catalog"` relation, media type, and RFC 9727 profile on GET and HEAD responses at the RFC 9727 well-known location. Its dynamic compatibility alias is retained for existing integrations. The Linkset advertises Cybermaps’ public OpenAPI contract; administrative and secret-authenticated routes are omitted.
### LLMS output and custom AI instructions
`/llms.txt` lists eligible resources in stable publication order with links to their literal Markdown alternates and compact extracts. Its configurable limit is clamped to 20–500 links, with a default of 100. The output reports selected resources and observed coverage. It examines at most 1000 candidates, counted before SEO checks. When a link or candidate limit leaves more content to explore, the output discloses that boundary and links the complete XML sitemap. Configured title, mission, sitemap reference, license, and publisher guidance are included when available.
`/llms-full.txt` is disabled by default because it can become large. It includes the same structural stored-content Markdown for eligible resources without executing shortcodes or dynamic blocks. LLMS inventory is traversed in bounded, non-caching post batches rather than loaded as one corpus.
#### LLMS output ceilings
| Publication | Output ceiling |
| --- | --- |
| /llms.txt | 4 MiB minus 1 byte (4,194,303 bytes) |
| /llms-full.txt | 32 MiB minus 1 byte (33,554,431 bytes) |
These are output ceilings, not guaranteed available capacity. Generation also checks PHP memory headroom for extraction and string handling, so available memory can impose a lower limit. Exceeding the applicable output ceiling or memory-headroom limit makes a dynamic request return **HTTP 507** with `Content-Type: application/problem+json`. In this case, 507 indicates a publication-generation limit, not necessarily a full disk.
Generation produces a complete publication or fails; it does not silently cut entries or truncate the full corpus to fit. The summary’s configured link and candidate-scan limits remain separate selection controls, with coverage reported in the summary.
The same summary/full distinction applies to localized publications such as `/{language}/llms.txt` and `/{language}/llms-full.txt`, and to static publication. Static reconciliation records `publication_too_large` without writing a partial file. See the [Static File Engine guide](https://cybermaps.dev/docs/static-file-engine/) for handling of previously generated files.
**Documentation correction:** these limits already existed in v7.4.1; this is not a new limit introduced in v7.4.2. Verified against the tagged [v7.4.2 LLMS implementation](https://github.com/Alex9001/cybermaps/blob/v7.4.2/src/Discovery/LLMS.php), [v7.4.1 implementation](https://github.com/Alex9001/cybermaps/blob/v7.4.1/src/Discovery/LLMS.php), and [v7.4.2 technical guide](https://github.com/Alex9001/cybermaps/blob/v7.4.2/docs/documentation.md).
#### Cache storage and the budgeted briefing
Cache-storage thresholds do not determine publication output ceilings. The summary’s separate **512 KiB** database-cache threshold controls whether a body can be stored without an external object cache. The full publication bypasses that body cache entirely: it is never stored in a transient or retained in the static generator’s request cache. The summary cache’s size check does not give `/llms-full.txt` a 4 MiB output limit.
The optional budgeted briefing:
* publishes up to 100 configured pinned IDs first;
* follows the configured content-type order, modified date descending, and ID ascending;
* uses fixed-size literal excerpts;
* includes only complete entries that fit the budget;
* estimates tokens as `ceil(UTF-8 bytes / 4)`; and
* reports eligible, selected, omitted, and partial counts.
The briefing examines at most 250 candidates across pinned and regular passes, including candidates excluded by SEO checks. Its Candidate-Scan field reports actual examined rows and whether another candidate remained beyond the limit. Generated briefings larger than 512 KiB are cached only when WordPress uses an external object cache, avoiding oversized database transients.
**Custom AI Instructions** are stored once and published as publisher guidance in `/llms.txt`, enabled `/llms-full.txt`, `/skill.md`, the discovery manifest, the discovery index, and `/wp-json/cybermaps/v1/discovery`. The separate Site Guide addition appears only in `/skill.md`. Schema-bound feeds, XML, usage, action, Linkset, knowledge-graph, and chunk formats stay within their defined field structures.
### Granular publication controls
AI Publishing also provides controls for:
* LLMS title, mission, content license, included post types, concise link limit, taxonomy filters, sitemap link, and pinned briefing resources;
* global AI-publication exclusions by post ID and by term ID or slug; the UI consolidates the two historical post-ID fields without dropping either saved list;
* budgeted-briefing token allowance;
* manifest endpoint selection, business description, topic labels, and capability labels;
* Knowledge Graph controls for exposing the administrator as a `Person` and linking the configured primary entity as the website publisher;
* JSON Feed item limit from 1–100, author fields, and full-content versus summary output;
* AI sitemap content types, a 1–2,000 eligible-item limit per selected type, up to 100 custom external links, transparent metadata excerpts, and vendor media hints; custom links do not fabricate a `lastmod` value;
* training, retrieval, and commercial-use preferences plus an optional licensing contact;
* up to 100 action-to-URL mappings using the supported Schema.org action types.
### Localized LLMS and translation relationships
With the Multilingual AI Hub enabled, active WPML or Polylang languages receive:
* `/{language}/llms.txt`;
* `/{language}/llms-full.txt` when the full file is enabled; and
* `/{language}/llms-tldr.txt` when the briefing is enabled.
The translation integration can also add sitemap `hreflang` alternates. Cybermaps maintains its own translation relationship registry and can synchronize supported WPML duplicates; the editor panel supports manual grouping where needed. Sitemaps settings include the primary language code used in supported `hreflang` output. Language tags are normalized to bounded BCP 47-style values, and an alternate is emitted only while its target remains an eligible, public sitemap resource. Relationship and eligibility changes invalidate the sitemap caches of every connected site.
### Text chunks and search
When enabled, `/discovery/chunks/{post_id}.json` divides eligible structural stored-content Markdown into configurable overlapping character windows. It preserves headings and safe links without executing shortcodes or dynamic blocks. A resource is authorized only when it belongs to the exact bounded inventory selected for the AI sitemap, so advertised chunk links, dynamic authorization, and static publication stay aligned.
Chunk size is normalized to 100–12,000 characters; overlap is normalized from zero to at most half the selected chunk size.
`/wp-json/cybermaps/v1/search` uses bounded WordPress text search over configured public content. `q` is required and limited to 200 characters and UTF-8 bytes; `limit` accepts 1–100 results, defaulting to 20.
On an unresolved front-end URL, a registered crawler signature or conservative `bot`, `spider`, or `crawler` User-Agent receives an RFC 9457 `application/problem+json` response. Cybermaps can include up to three eligible alternatives found by literal WordPress search of the requested slug.
## Concurrent builds and retries
Cold LLMS builds share a site- and publication-specific ownership lock across dynamic, REST, localized, and forced/static generation. A competing request serves an existing valid cached body when available, or returns HTTP 503 with `Retry-After: 5` and `Cache-Control: no-store`.
Generation checks a cooperative 20-second deadline between queries, candidate checks, and rendered entries. Lost ownership, stalled pagination, or an exceeded deadline fails without caching a partial body or replacing an existing static publication. A blocked database or cache driver cannot be interrupted at these checkpoints; its connection and read timeouts still matter. The full corpus has no candidate-count cap.
Publications also check the current content/configuration generation before returning a body or conditional response. If a relevant change is observed during generation, or a required database read fails, the request returns HTTP 503 without caching a partial body. Retry after the stated delay; repeated failures need investigation. These checks cannot retract a response already served by an external cache.
---
# MCP and browser agent tools
Install WordPress MCP Adapter, enable read-only Cybermaps connections, and reconnect clients upgrading from 7.x.
Install WordPress MCP Adapter, enable read-only Cybermaps connections, and reconnect clients upgrading from 7.x.
## How it works
The shipped contract uses a revision-pinned Cybermaps conformance profile for AI Discovery Protocol 3.0 Level 3. The profile covers the manifest, bounded updates, and the four `/news/*` publications; it does not claim an unqualified ADP implementation level, and every publication remains conditional on its own AI Publishing setting.
OpenAPI 3.2.0 is canonical. The retained 3.1.2 document is available through explicit `Accept` negotiation or the documented `version=3.1.2` query form, with `Vary: Accept` on negotiated responses. The API Catalog and generated contracts identify the exact representation served.
The established API discovery surface uses RFC 9727 and RFC 9264. The catalog contains an enriched Linkset for every advertised public API rather than one undifferentiated route list. `GET /wp-json/cybermaps/v1/health` is a bounded public health resource; it reports public service state without exposing private WordPress diagnostics or replacing external monitoring.
The current MCP Server Card is experimental. Its canonical resource is `GET /wp-json/cybermaps/v1/mcp/server-card`; the requested scanner compatibility path is `/.well-known/mcp/server-card.json`. The card describes optional MCP separately from OpenAPI and does not imply that a client supports the current draft. The Agentic Resource Discovery catalog is also a draft: its canonical path is `/.well-known/ai-catalog.json`, `/ai-catalog.json` is a compatibility alias, and it lists only capabilities active for the current site.
Markdown for Agents is an opt-in vendor convention, not an RFC. When enabled, eligible canonical singular, homepage, blog, and public archive URLs return bounded stored-content Markdown when `text/markdown` is explicitly preferred over HTML. Singular output preserves stored headings and safe links. Default requests remain HTML; both variants declare `Vary: Accept`. Cybermaps reports its four-bytes-per-token estimate in `X-Markdown-Tokens` and marks native output with `X-Cybermaps-Markdown-Source: origin`. It does not render theme HTML, execute shortcodes, claim Cloudflare byte parity, or emit an `X-Original-Tokens` value.
The existing `Content-Signal` header and robots declaration remain unchanged. The optional AIPREF `Content-Usage` attachment is disabled by default; when enabled it publishes bounded sitewide or path-specific `train-ai` and `search` preferences. `ai-input` remains Content-Signal-only. IndexNow submissions use the existing eligible-URL behavior and, when enabled, a durable deduplicating same-host database queue with bounded retries and batches of up to 10,000 URLs.
MCP connections are optional and require the separate **MCP Adapter** plugin by WordPress.org, version 0.7.0 or newer. Cybermaps works independently for sitemaps, AI publications, analytics, reports and dashboard operations. In **AI Publishing → Model Context Protocol**, install or activate the adapter through WordPress, then explicitly enable **Cybermaps MCP (read-only)** and save. Installing the adapter alone does not opt Cybermaps in. The AI Publication Hub must also be enabled.
The dedicated endpoint is `/wp-json/mcp/cybermaps`. It exposes the `cybermaps-search` tool and enabled public Core discovery resources, using their canonical publication URLs. Resources and search honor public-content eligibility and exclusions. Cybermaps does not project other plugins’ abilities. Its four former operation abilities have also been removed from the native Abilities API. The standalone native `cybermaps/search` ability remains public and read-only. `ai-actions.json` describes operator-declared links and does not create tools.
For HTTP clients, use HTTPS and a WordPress Application Password for a dedicated Subscriber account with the `read` capability. Enter credentials in the client; Cybermaps does not collect them. Clients must support WordPress authentication; OAuth-only clients cannot use the retired Cybermaps consent flow. The adapter also supports local/SSH WP-CLI transport via `wp mcp-adapter serve --server=cybermaps --user=USERNAME`. The adapter owns protocol negotiation, sessions and transport. MCP Adapter 0.7.0 supports revisions 2025-11-25 and 2026-07-28. Connect to the dedicated Cybermaps server. The adapter’s separate default server may expose abilities supplied by other plugins; Cybermaps does not control it.
**Upgrading from 7.x:** the custom MCP server, OAuth/device routes, generic ability dispatcher and remote operation tools are deleted from the plugin. The old `/wp-json/cybermaps/v1/mcp` endpoint, OAuth metadata and Auth.md are gone. Upgrade cleanup deletes retired settings, credential tables and queued jobs; it does not retain a dormant server. Install the adapter, enable the new integration and reconnect clients. Use the dashboard for audit, static purge/reconciliation and IndexNow operations.
The current integration has one boolean setting, `enable_mcp_adapter`, defaulting to `false`. It has no operational modes. An explicit adapter opt-in made on 8.0.0 is converted only when no current `enable_mcp_adapter` choice exists; an explicit opt-out is preserved. The 7.x preferences never grant adapter consent. The empty OAuth upgrade step and obsolete migration notice are removed. Deletion-only cleanup remains for sites upgrading directly from older versions. If cleanup detects a concurrent settings save, it remains pending for a later retry. Deactivating the adapter withdraws MCP advertisements while preserving the new opt-in for later reactivation.
The default-off WebMCP bridge registers only three read-only browser tools: `cybermaps.search_site`, `cybermaps.get_page_markdown`, and `cybermaps.list_discovery_resources`. It prefers `document.modelContext.registerTool`, falls back to `navigator.modelContext.registerTool`, and safely performs no registration in unsupported browsers. It grants no new server-side authority.
Static diagnostics report body parity separately from origin-header parity, including RFC 9111 edge policy, RFC 9530 Repr-Digest, Content-Usage, and deployment headers. Static claims are conditional on the selected Static File Engine mode and equivalent web-server/CDN routing.
The administration UI places visible maturity guidance beside the relevant controls: established RFC standards, current drafts, early protocols, experimental previews, and vendor conventions are labelled separately and link to their authoritative sources. These labels describe specification maturity, not client adoption or a promise that any crawler will use the publication.
AI Discovery Status separates configuration, advertisement, availability, body validity, and protocol conformance. When an alias works but its canonical well-known URL does not, the page identifies likely `/.well-known/` interception. Discovery mode materializes only the registered static targets; the API Catalog, Agentic Resource Catalog, MCP Server Card compatibility route, and Discovery Index remain dynamic. Their requests must reach WordPress.
Diagnostics distinguish body availability from media-type and header conformance. Generated header guidance preserves origin responses; filesystem snapshots are diagnostic information, not deployable validator values. Cybermaps can maintain an owned well-known rewrite block on compatible Apache/LiteSpeed installations and, after explicit authorization, its own Cloudflare rules. It does not edit nginx or Varnish configuration.
---
# Choose what gets published
Understand the shared eligibility rules that keep private and excluded content out of public outputs.
Understand the shared eligibility rules that keep private and excluded content out of public outputs.
## How it works
`Cybermaps\SEO\PublicationEligibility` supplies a shared base resolver and channel-specific inclusion decisions to the sitemap repository, AI publication inventory, text chunks, IndexNow, and content reports. It evaluates:
1. WordPress publication state, public object type, password protection, URL, and site search-engine visibility;
2. supported Genesis and Mai Theme noindex, canonical, redirect, archive, term, author, and home-page signals;
3. supported singular noindex and canonical metadata from active Yoast SEO, Rank Math, and All in One SEO installations;
4. Cybermaps global and per-resource exclusions; and
5. surface-specific sitemap or AI inclusion controls.
A redirect or canonical pointing away from the resource makes that resource ineligible. Each result retains reason keys and source signals for diagnostics and reports.
Content Intelligence Reports use the dedicated `report` channel. It retains the base public/search indexability decision and extension filters, but does not treat an XML-only exclusion, AI-only exclusion, or Content Discovery Strategy Publish-off group as a reason to hide an otherwise search-indexable resource from content review.
Developers can add compatibility adapters with `cybermaps_seo_compatibility_adapters` and filter the final typed result with `cybermaps_indexability_decision`.
`Cybermaps\Core\PublicationPostTypes` supplies the shared public post-type inventory to XML, AI, HTML, reporting, media-audit, status, and editor surfaces. It excludes `attachment` consistently; attachments can still be discovered as media belonging to an eligible page or post.
---
# Content intelligence reports
Create saved measurements, focused action lists, and printable client reports.
Create saved measurements, focused action lists, and printable client reports.
## How it works
Content Intelligence Reports inspect all published public post types except attachments. The reader captures a maximum post ID and processes stable 100-item ID batches so publishing or deleting content during a run cannot shift pagination. Attached-image presence is resolved once per batch, and completed batch objects are released from the runtime cache. Posts and pages use the configurable rules; another public post type uses a 150-word fallback with no age or required-media finding. Report generation is synchronous. It is not a background job that resumes after a request timeout.
When an object-cache implementation cannot release its runtime data, both scan passes share a fallback budget of 1,000 candidate hydrations, a 20-second deadline, and a 32 MiB memory-headroom check. Exceeding that budget fails the run and releases its lease; it never completes a partial report or flushes the persistent cache backend. These checks happen at batch boundaries. They do not interrupt a database query or guarantee that an unusually large row fits in memory. A timeout or failed run is not evidence of full-site coverage.
Only one Content Intelligence Report can run for a site at a time. Generation uses an atomic, ownership-token lease that is refreshed before each content batch and before completion. The lease expires ten minutes after its last refresh, so a fatal error or timed-out request cannot strand report generation; expired takeover and release use exact-value comparisons so an older request cannot overwrite or delete a newer owner’s lease.
Each saved report records:
* the active post and page measurement rules;
* resource ID, type, title, URL, modified time, word count, age, media presence, indexability evidence, and content fingerprint;
* findings for thin content, configured freshness intervals, configured media review, potential orphans, homepage reachability, and click depth; and
* the prior completed report used for comparison.
Internal-link findings use a local graph rather than crawling the public site. Cybermaps matches links in stored published content to the report inventory and adds assigned classic-menu links plus navigation blocks referenced by active theme templates. A static front page starts at depth zero, assigned navigation targets start at one click, and breadth-first search finds the shortest stored path. The report flags:
* a **potential orphan** when no other stored resource or assigned navigation item points to an indexable resource;
* **no homepage path** when incoming links exist but the local graph cannot reach the resource from the homepage or assigned navigation; and
* **three-plus clicks deep** when the shortest local path is at least three clicks.
This local result is intentionally described as potential or estimated. It does not infer links from sitemaps, URL structure, page-parent relationships, rendered shortcodes, widgets, or a remote frontend. Coverage metadata records the resource, unique-link, and navigation-reference counts. Analysis stops at 10,000 resources or 100,000 unique links; incomplete stored-content or navigation traversal also marks the scan incomplete. Cybermaps suppresses all internal-link findings in those cases instead of claiming that a link is absent. Link findings enter saved-report trends only when both reports have the same complete analysis version.
Template inspection reads bounded stored overrides, active-theme files and registered template source without rendering dynamic blocks or block hooks. Stored-template reads allow ordinary WordPress query filters, so other plugins can change the results. WordPress query-style page links are matched to their canonical resources. When literal text extraction is incomplete, saved measurements expose a null full word count, omit the full content fingerprint, and record an incomplete analysis finding. Thin-content findings and comparisons are suppressed for that incomplete analysis; an unavailable measurement is never reported as a resolved thin-content issue.
Thin-content, freshness, and media findings apply only to public, search-indexable resources. Sitemap-only, AI-only, and Content Discovery Strategy exclusions do not suppress report findings. Search-noindex, password, redirect, off-site canonical, and other base indexability decisions still do. Non-indexable resources remain in the saved measurement set with their indexability decision and reasons.
The report workspace shows total resources and findings, finding categories, and added, resolved, and persisting findings since the baseline. Focused action lists isolate thin-content, freshness, media, orphan, reachability, and depth work. Exports are available as printable themed HTML, spreadsheet-safe UTF-8 CSV, and JSON, with optional agency name, URL, logo, site-name override, and a choice of Swiss, Minimal, Monochrome, Midnight, or Cyberbrand presentation.
The AI Discovery Publication Report is separate from content measurement. It records the registered fixed-path publication inventory and enablement state, then performs current public HTTP, media-type, header, and parseability validation for a client-ready HTML or JSON deliverable.
Completed reports can be selected from history. A report can be deleted only when no later report still depends on it as its comparison baseline. The admin page loads a bounded findings preview and database-computed totals; HTML and CSV exports load the complete finding inventory without hydrating unused resource rows. Structured JSON and the private read API retain the full saved resource measurements when the complete snapshot fits the shared synchronous JSON bound.
Synchronous admin exports and private report REST reads reject impractically large snapshots with HTTP 413 before hydrating them: CSV supports up to 50,000 current findings; printable HTML supports up to 25,000 current-plus-baseline findings; and full JSON—whether exported or read through REST—supports up to 25,000 combined current resources, current findings, and baseline findings. CSV response rows are emitted incrementally. These row-count ceilings reduce predictable bulk allocation; they do not guarantee that every unusually large stored row or third-party callback fits the available PHP memory. Below the limits, exports retain the saved result rather than silently truncating it.
---
# REST API, WP-CLI, and integrations
Work with public resources, private operations, CLI commands, and publishing integrations.
Work with public resources, private operations, CLI commands, and publishing integrations.
## How it works
### REST API
| Route | Access |
| --- | --- |
| `GET /wp-json/cybermaps/v1/discovery` | Public while the AI Publication Hub is enabled |
| `GET /wp-json/cybermaps/v1/health` | Bounded public health while the hub is enabled |
| `GET /wp-json/cybermaps/v1/mcp/server-card` | Public while the hub and MCP are enabled |
| `POST /wp-json/mcp/cybermaps` | Optional read-only MCP Adapter transport; explicit opt-in, WordPress authentication and read capability |
| `GET /wp-json/cybermaps/v1/llms-tldr` | Public while both the hub and budgeted briefing are enabled |
| `GET /wp-json/cybermaps/v1/search` | Public while the hub is enabled |
| `GET /wp-json/cybermaps/v1/urls` | `X-Cybermaps-Secret` |
| `GET /wp-json/cybermaps/v1/status` | `X-Cybermaps-Secret` |
| `GET /wp-json/cybermaps/v1/audit-latest` | `X-Cybermaps-Secret` |
| `GET /wp-json/cybermaps/v1/audit-run?run_id=…` | `X-Cybermaps-Secret` |
| `POST /wp-json/cybermaps/v1/purge` | Logged-in administrator with `manage_options` |
Private JSON responses send non-cacheable headers. The API secret is generated locally, displayed in Advanced settings, redacted from CLI status, and included in site-configuration backups.
Cybermaps no longer registers its former MCP OAuth or device authorization routes. MCP Adapter owns transport and WordPress authentication. The separate administrator Cloudflare OAuth connection remains available. The private read API secret cannot authenticate MCP. See the [MCP setup and migration guide](https://cybermaps.dev/docs/mcp/).
### WP-CLI
The [complete endpoint reference](https://cybermaps.dev/docs/endpoints/) includes the editor translation route and IndexNow verification alongside these REST interfaces. The LLMS-TLDR REST route shares publication build locks and work limits with the text route; a build that cannot finish returns a retryable HTTP 503.
* `wp cybermaps status`
* `wp cybermaps clear_cache`
* `wp cybermaps flush_rules`
* `wp cybermaps regenerate`
### IndexNow
When enabled, Cybermaps queues a content URL when it enters, changes within, or leaves the eligible published sitemap inventory, including deletion. The durable database queue deduplicates same-host URLs and records retry state. A queue worker sends a bounded batch to `https://api.indexnow.org/indexnow` and waits for the response with a five-second request timeout so it can record acceptance or schedule a retry. The request includes the public URLs, host, site-specific IndexNow key, and key-location URL. While enabled, `/{key}.txt` serves the site key to GET and HEAD requests with a one-day public cache header. If `frontend_base_url` points to a different host, IndexNow requires that public frontend to proxy or publish the same generated `/{key}.txt` verification path; the key location must be on the host whose URLs are submitted.
### WebSub
When WebSub and AI Publishing are enabled, the JSON Feed at `/feed.json` is the one canonical topic. Cybermaps sends non-blocking publish notifications after an eligible post is published, updated, becomes included or excluded, or is deleted. The JSON Feed contains JSON Feed 1.1 `WebSub` hub descriptors; dynamic responses also advertise exactly one `rel="self"` topic plus the configured `rel="hub"` links. The feed remains dynamic in every Static File Engine mode so its media type and discovery contract do not depend on server configuration. The hub list accepts up to 10 unique validated HTTPS URLs.
---
# Identity, schema, and crawler policy
Publish factual identity and service catalogs, and configure crawler preferences.
Publish factual identity and service catalogs, and configure crawler preferences.
## How it works
A named identity can appear as homepage JSON-LD when the homepage is indexable, and in the Knowledge Graph when AI Publishing is enabled. Supported primary types are `Organization`, `LocalBusiness`, and `Person`, with validated Schema.org subtypes.
Supported fields include:
* entity name, description, and image;
* international postal address, latitude, and longitude;
* phone and email;
* social-profile `sameAs` URLs;
* customer-support, technical-support, and sales contact points;
* opening hours; and
* one or more Schema.org `OfferCatalog` structures.
Catalogs can be entered manually or derived from a bounded selection of published direct child pages. The parent and each emitted child must be public, unprotected pages eligible for that output. Knowledge Graph catalogs also honor AI exclusions and Content Discovery Strategy publication choices; homepage schema uses schema indexability. The bounded candidate selection can produce fewer than 50 offers after exclusions.
Normalized identity data is limited to 12 catalogs, 50 offers per catalog, 200 offers overall, 20 social profiles, 12 contact points, and four opening-hour ranges per day. Catalog and identity changes invalidate discovery caches and schedule static reconciliation.
The Knowledge Graph also publishes a `WebSite` with the Cybermaps search action, informational and transactional collections for public post types and taxonomies, an optional link from the website to the primary entity, and an optional administrator `Person`.
Robots controls can append to WordPress’s virtual `robots.txt` output or take over that response. Cybermaps emits its per-crawler deny rules in takeover mode; append mode retains the existing response and adds configured manual directives, publisher preferences, and publication links. Content-use signals express preferences whose interpretation depends on the client. WordPress’s site-visibility setting remains authoritative. The generated response is always dynamic, even when the Static File Engine publishes other files. Cybermaps does not publish a physical `robots.txt`; a server-owned file must be managed separately.
---
# Public website agent API
Search and read published CYBERMAPS website pages through bounded REST and MCP tools.
This website exposes public, read-only tools over its rendered page index. No login is required. These tools do not connect to a WordPress installation and cannot change anything.
## REST operations
| Tool | Request | Bounds |
| --- | --- | --- |
| `search_site` | `GET /api/agent/search?q=sitemap&limit=10` | Query 1–120 characters; 1–20 results |
| `list_site_pages` | `GET /api/agent/pages?limit=25` | 1–100 results; optional pagination cursor |
| `get_site_page` | `GET /api/agent/page?path=/docs/sitemaps/` | Exact indexed pathname only; maximum 512 characters |
| `get_site_summary` | `GET /api/agent/site` | Identity, description, and page counts |
```
curl 'https://cybermaps.dev/api/agent/search?q=static&limit=3'
curl 'https://cybermaps.dev/api/agent/page?path=/docs/sitemaps/'
```
Invalid input returns HTTP 400, unknown indexed pages return 404, and unavailable index data returns 503. The API uses a Cloudflare rate-limit binding with 60 requests per minute per IP at an edge location. Limits are approximate and do not form a global quota. A 429 response includes Retry-After.
## MCP
The same four tools are available at `/mcp` using the SDK’s Streamable HTTP transport and protocol version `2026-07-28`. Use `server/discover` and `tools/list` for live capabilities. Tools are read-only, non-destructive, idempotent, and closed-world. The interface is stateless and does not expose subscriptions.
## Discovery and maturity
* [OpenAPI document](https://cybermaps.dev/openapi.json): implemented REST operations.
* [API Catalog](https://cybermaps.dev/.well-known/api-catalog): RFC 9727 / RFC 9264 Linkset.
* [ARD catalog](https://cybermaps.dev/.well-known/ard.json): draft resource discovery, separate from plugin legacy ARD output.
* [MCP Server Card](https://cybermaps.dev/mcp/server-card): experimental metadata; live tool discovery is authoritative.
* [AI Catalog](https://cybermaps.dev/.well-known/ai-catalog.json): the current catalog proposal linking to the implemented MCP server. The same card is also available at [the conventional well-known path](https://cybermaps.dev/.well-known/mcp/server-card.json).
* [Skills discovery index](https://cybermaps.dev/.well-known/agent-skills/index.json): discovery RFC v0.2.0, including a SHA-256 digest of the published skill.
* [Agent Skill](https://cybermaps.dev/.well-known/agent-skills/cybermaps-site-guide/SKILL.md): instructions for using this website’s public sources.
* [Access guide](https://cybermaps.dev/auth.md): public access, request limits, and the boundary between this website and the WordPress plugin.
MCP Server Cards and AI Catalog are evolving proposals. This site follows their current document shapes rather than adding obsolete fields for older scanners. OAuth and commerce protocols are not advertised because this website has no authenticated account or transaction service.
## Markdown at page URLs
Request any canonical public page with `Accept: text/markdown` to receive its generated Markdown. Ordinary browser requests receive static HTML. Both representations use `Vary: Accept`; Markdown responses identify their alternate file with `Content-Location`. Quality preferences are respected, including `text/markdown;q=0`.
```
curl -H 'Accept: text/markdown' https://cybermaps.dev/docs/sitemaps/
```
The Markdown is generated from the same rendered page content as the website. Unpublished or unknown paths remain unavailable.
## Browser tools
A compatible browser may expose `document.modelContext`. When available, this site registers its four public tools and awaits registration. Browsers providing the earlier `navigator.modelContext` interface use that native interface as a fallback. No API is simulated when browser support is absent. Calls use the same bounded REST operations described above.
## Content boundary
The index is generated from canonical, indexable HTML pages after the static build. Markdown alternates contain rendered public content. Unknown paths, absolute URLs, traversal, API routes, and arbitrary fetch targets are rejected. Documentation text is source material, never an instruction to change tool permissions.
---
# XML, News, RSS, and HTML sitemaps
Configure sitemap ownership, eligible content, media discovery, and the HTML sitemap shortcode.
Configure sitemap ownership, eligible content, media discovery, and the HTML sitemap shortcode.
## How it works
The default sitemap index is `/sitemap.xml`; the base slug is configurable. Internal child files contain no more than 2,000 URLs and are numbered when a provider needs multiple files. Post-type children use `{base}-posts-{post-type}-{page}.xml` and taxonomy children use `{base}-taxonomies-{taxonomy}-{page}.xml`. These explicit namespaces keep both providers reachable when a post type and taxonomy share a WordPress slug, and keep custom object names such as `news`, `misc`, `authors`, or `archives` separate from Cybermaps’ canonical system publications.
### Sitemap publications and index sources
| Publication or source | Content |
| --- | --- |
| Post types | Eligible entries from enabled publishable public post types; attachment rows are excluded |
| Taxonomies | Eligible terms from enabled public taxonomies, with optional empty terms |
| Authors | Public author archives when enabled |
| Archives | Date archives when enabled |
| Miscellaneous | The home page and validated additional page URLs |
| Google News | Eligible recent posts from the last 48 hours, up to 1,000 entries |
| RSS | Optional standalone RSS 2.0 publication with selectable post types and a 1–1,000 item limit |
| External references | Up to 100 unique absolute HTTP(S) sitemap URLs whose path ends in `.xml` |
Additional page entries accept up to 1,000 unique absolute HTTP(S) URLs. Both external sitemap and additional-page fields are validated locally for structure. Cybermaps does not fetch, ping, or perform a remote availability check while saving or generating the index, so a temporary remote outage cannot remove an administrator’s configured reference.
External sitemap URLs remain index references: the Static File Engine never copies or claims ownership of them. Additional page URLs are emitted in the miscellaneous child without fabricated `lastmod` or `changefreq` values.
Media discovery can be disabled, set to Standard, or set to Advanced. Standard records featured and attached images only. Advanced additionally parses inline images, direct `