RTEO Connect
RTEO Connect links your WordPress site to your RTEO workspace. It pulls live, never-stale schema.org Course structured data from RTEO and injects it server-side into your course page , and it provides the [rteo_connect embed=table object=…] shortcode to drop the live course instance table (dates, locations, prices, availability, enrol buttons) anywhere on your site.
For sites connected to RTEO, the plugin also exposes your course structure to your authenticated RTEO workspace: the fields on your course pages (including Advanced Custom Fields) and the taxonomies attached to your courses (learning categories, course types, funding options, delivery modes and the like). This lets RTEO read your course content, fields and taxonomies and, with your approval in RTEO, update them. All content operations are driven from your own RTEO workspace; the plugin never authors or stores content in WordPress on its own.
Embed a course page’s live instance table by pasting the shortcode from your RTEO course page editor, e.g. [rteo_connect embed=table object=sch_xxxxx]. Optional attributes: display (tabs|combined), rows (3|6|10|all), sort (date|spots|cost|location), dir (asc|desc), theme (auto|light|dark). The table renders in an isolated Shadow DOM in your site’s brand colours and stays in sync with your live schedule.
The Course JSON-LD is injected server-side (in wp_head), not via client-side JavaScript, so search engines and AI consumers index it reliably. The plugin transient-caches the fetched JSON-LD so it adds no per-render network cost, and it fetches from RTEO’s public, anonymous schema endpoint, storing no secrets.
The plugin also serves your AI-discovery document at /llms.txt on your own domain. This is the plain-text file AI crawlers look for at the root of a site: who you are, what you teach, and links to your pages. RTEO builds it from your workspace and the plugin serves it, so it stays current without a plugin update.
Alongside it, every page listed in your llms.txt gets a clean Markdown copy at its own address on your domain — your /course/forklift-perth/ page also answers at /course/forklift-perth.md, and your home page at /index.md. This is the same page without the navigation, scripts and popups around it, which is what an AI reads best. On a course page RTEO also appends your live schedule (dates, locations, availability) underneath your own words.
External services
This plugin relies on the RTEO application — a third-party SaaS platform operated by RTEO — to generate and serve the schema.org Course structured data and the live course instance table for your courses. The plugin only reads and renders content that RTEO produces; it never authors or stores content in WordPress.
The plugin connects to the live RTEO service at https://app.rteo.com.au. Which environment a site talks to is decided by RTEO’s domain registry: the plugin asks https://app.rteo.com.au/api/connect/environment (sending only the site’s own domain name) which environment the domain is registered for, and on an unregistered domain it stays inactive and makes no further requests.
What data is sent, and when:
-
Schema fetch (server-side, on page render). When a page has an RTEO schema token configured, the plugin makes a server-to-server request to the RTEO schema endpoint (https://app.rteo.com.au/api/schema/) to fetch that page’s Course JSON-LD. The only data sent is the page’s opaque schema token (e.g.
sch_xxxx) — no personal data, post content, or site credentials. Responses are cached locally so the request is not repeated on every render. -
Embed widget (in the visitor’s browser, only when used). When you add the [rteo_connect embed=table] shortcode to a page, the visitor’s browser loads the RTEO embed widget script from https://app.rteo.com.au/dist/rteo-instances.js, which then requests the public, anonymous instance-table data for the page’s token from https://app.rteo.com.au/api/embed/page/. As with any externally hosted script, the visitor’s browser contacts app.rteo.com.au (sending its IP address and standard request headers) when the table is displayed.
-
llms.txt fetch (server-side, when /llms.txt on your site is requested). The plugin makes a server-to-server request to https://app.rteo.com.au/api/discovery/llms.txt to fetch your site’s public AI-discovery document. The only data sent is your site’s own domain name — no personal data, post content, or site credentials. The response is cached locally for six hours, so a crawler cannot cause a request per visit.
-
Page Markdown fetch (server-side, when a .md address on your site is requested). The plugin makes a server-to-server request to https://app.rteo.com.au/api/discovery/page.md to fetch the Markdown copy of that one page. The only data sent is your site’s own domain name and the requested page path — no personal data, post content, or site credentials. This response is not stored in your database; it is passed straight through with standard HTTP caching headers, and if RTEO is unreachable the plugin stops asking for a short period rather than retrying on every request.
This service is provided by RTEO. Its terms and privacy policy:
- Terms & Conditions: https://rteo.com.au/terms-conditions
- Privacy Policy: https://rteo.com.au/privacy-policy
