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 <video>/<source> URLs, and YouTube or Vimeo references from
the first 2 MiB of stored post markup, stopping each matcher at the publication
budget instead of allocating every possible match. Direct video files are published as content locations;
YouTube and Vimeo references are published as player/embed locations. Protocol
video entries require a literal representative thumbnail: Advanced uses a
poster attribute for direct video and YouTube’s deterministic thumbnail, and
does not substitute a generic site icon when no video thumbnail is known.
The bulk media rescan refreshes saved media observations for published content
in sitemap-enabled post types. Changing modes advances a constant-time audit
generation; prior and legacy unmarked rows fail closed until the post is saved
or rescanned instead of being synchronously deleted across the whole site.
Every publication revalidates saved observations and retains at most 100 media
items per post, including no more than 25 videos, so malformed legacy metadata
cannot create unbounded XML or on-page schema output.
Vendor media hints in the AI sitemap are controlled separately. Eligible
singular content can also publish VideoObject JSON-LD when an observed video
has the required public URL, thumbnail, title, upload date, and page URL.
Content Discovery Strategy and per-resource controls
Content Discovery Strategy starts with a publishing profile suited to common real-world WordPress structures: news, editorial, store, documentation, portfolio/agency, local/service business, or mixed company content. Suggest from site structure can recommend one from public content types and published-item counts. It does not read the site’s content or infer its business goals. The suggestion is shown first and changes nothing until the administrator explicitly applies it. A profile is a starting baseline, not a business classification or content-quality score.
Explicit product/download, documentation, portfolio/project, service, and news/press post types are the strongest profile signals. Without one of those, a post-led inventory suggests Blog / Editorial, or News / Magazine when it has more than 1,000 published Posts. Non-editorial inventories below 50 items use the Local / Service Business starting point; other mixed structures use Company / Mixed Content.
Each post-type or taxonomy row has three independent decisions. The interface keeps explanations beside the relevant labels through mouse- and keyboard-accessible help tips:
- Publish controls global eligibility for Cybermaps sitemap and AI URL
inventories. Turning a group off does not add
noindex, hide, or delete its content. Disabled groups are filtered before bounded XML, RSS, HTML, LLMS, search, AI-sitemap, chunk, and Knowledge Graph inventory work. - Discovery intent publishes either Informational or Commercial
metadata in AI representations that support it. Commercial covers purchase,
booking, contact, registration, download, and similar conversion-oriented
content. Its persisted protocol value remains
transactionalfor backward compatibility. Explicit row and per-resource values override the profile baseline. - Publication weight stores a positive
0.1–1.0publishing hint. Higher weights place a group earlier in the sitemap index, and the value is emitted with its URLs in XML and AI sitemap output. It is not a ranking score or crawl guarantee.
The XML Sitemaps workspace groups related controls into Content Scope, Sitemap Paths & Delivery, Media Discovery, News/Feeds/Notifications, and Language & Translation sections. Primary language and WPML/Polylang relationship controls are kept together; external pages belong to content scope, while external sitemap files belong to sitemap-index configuration.
Publication status is stored separately from positive weight, so disabling and re-enabling a group retains its tuned weight. Historical zero-weight exclusions are migrated into the independent disabled map. Profile changes update inherited rows while preserving rows marked Custom; row-level and global reset actions return them to the selected profile.
Post-type and taxonomy rows use explicit kind-aware identities, so a post type
and taxonomy with the same WordPress slug retain independent weight, status,
and intent controls. The WordPress post_format taxonomy is labelled Post
Formats and described as archive groupings such as image, video, quote, and
link—not as a Cybermaps output-format selector. Legacy raw-slug settings remain
readable and are canonicalized on save. Individual resources can separately
override sitemap priority and change frequency or be excluded from sitemap and
AI publication.
Global controls cover post types, taxonomies, post IDs, category slugs, the home
page, author archives, date archives, and empty term archives. A sitemap
exclusion changes Cybermaps publication; it does not add a noindex directive.
Dynamic delivery, redirects, and caching
Dynamic sitemap responses support:
- browser-friendly XSL;
- ETag-based
304 Not Modifiedresponses; - optional 12-hour WordPress transient or object-cache entries;
- automatic invalidation after relevant content or setting changes;
- optional post or page modified-time updates when a comment is approved;
- optional redirects from WordPress core and legacy sitemap locations; and
- configurable sitemap, News, and RSS base slugs.
The index footer identifies Cybermaps as the generator and states that the sitemap helps search-engine indexing.
Headless and media-CDN URL rewriting
frontend_base_url replaces the WordPress origin in published content URLs for
a headless frontend. When enabled, cdn_base_url replaces the origin only for
same-site image and video URLs written into XML sitemap entries. It does not
move XSL, discovery publications, or generated files.
HTML sitemap shortcode
[cybermap] builds a front-end HTML sitemap. Its builder and runtime support:
| Attribute | Default | Purpose |
|---|---|---|
only | empty | Select content groups with post_type:slug or taxonomy:slug tokens; post_type:* and taxonomy:* select every eligible group of that kind, and legacy unprefixed slugs remain supported |
exclude | empty | Exclude item IDs, exact slugs, or slug wildcards containing * |
limit | 50 | Maximum rendered entries, bounded to 1–500 |
depth | 0 | 0 renders the full available hierarchy, -1 is flat, and a positive value caps nesting levels |
sort | asc | Sort direction |
nofollow | false | Add nofollow to generated links |
display_title | true | Show section titles |
layout | list | list, columns, or bare presentation |
The combined post-type query and each selected taxonomy use bounded batches and
inspect at most 5,000 candidates. Exclusions and shared publication eligibility
are applied before the rendered-entry limit. The bare layout is intentionally
flat; depth controls the hierarchical list and columns layouts.
Namespaced only tokens keep a post type and taxonomy independently selectable
when they share the same WordPress slug. Kind wildcards select all groups of the
requested kind and are still narrowed by the saved Publish state and shared
eligibility. Unprefixed tokens retain the historical post-type-first resolution order. The only and exclude lists are also
byte- and item-bounded before they influence queries.