Odysseo Core
Odysseo Core
Description
Most SEO plugins hand you a checklist. Odysseo Core does the work — and, when you
want to fine-tune a page, hands you the checklist too.
Activate it and every URL on your site immediately has a correct title, meta
description, canonical URL, indexing directive and social preview. There is no
setup wizard and nothing you must fill in first. If you never open its settings,
it is still doing its job — and when you do want a focus keyphrase and a score on
a particular page, that is waiting for you.
Works on everything, including things that do not exist yet
Odysseo Core does not keep a list of supported post types. It reads what
WordPress actually has, every time. Posts, pages, products, custom post types,
categories, tags, custom taxonomies, author archives, date archives — all
handled. Register a new post type tomorrow, from any plugin, and it is optimized
the moment it appears. Nothing to enable, nothing to configure.
Sensible by default, not just “on” by default
Being autonomous means making the right call, not tagging everything. Odysseo
Core keeps search pages, attachment pages and date archives out of the index,
because those create endless near-duplicate URLs that hurt the pages you care
about. It never overrides your WordPress “discourage search engines” setting, so
a staging site stays out of Google. Drafts, private posts and password-protected
content are never advertised.
Templates and variables
Every title and description is built from a template you can change once and see
applied across the whole site instantly — nothing is copied onto your posts, so
there is no stale data and no bulk re-run when you change your mind.
Twenty-nine variables are available, including %%title%%, %%sep%%,
%%site_name%%, %%excerpt%%, %%category%%, %%author%%, %%post_type%%,
%%date%% and %%page%%. Variables that do not apply to a page resolve to
nothing, and any separator left stranded is cleaned up automatically — so a
single default template reads correctly on every kind of page.
Finds problems you cannot see
Odysseo Core builds an index of what every URL on your site actually renders,
then tells you when two pages are competing for the same title, or when a page
has no description. On a large site this runs in the background in batches, so
it never slows down your editors or your visitors.
Found by search engines and AI alike
Odysseo Core publishes everything a page needs to be discovered, and keeps it
consistent. A paginated XML sitemap lists every indexable page — with your
images attached for Google Images — and because it is built from the same index
as everything else, it never advertises a page you have set to noindex. An
llms.txt file describes your site in plain language for the AI assistants people
now ask instead of searching: ChatGPT, Claude, Perplexity, Google’s AI answers.
And when you publish or update a page, IndexNow tells the search engines that
support it to recrawl straight away, instead of waiting for them to notice.
Structured data (JSON-LD) and a visible breadcrumb trail are built from that same
source too, so what a crawler reads and what a visitor clicks are always the same
path.
It repairs, it does not just report
Change a published page’s address and Odysseo Core adds a redirect from the old
one to the new, so existing links and search results keep working instead of
breaking. It sends WordPress’s empty attachment pages to the file they belong to.
And it keeps a log of the broken addresses visitors actually reach — the mistyped
links and moved URLs that end in a 404 — so you can turn any of them into a
redirect with one click. It never overwrites a redirect you made by hand.
Builds your internal links
While you write, Odysseo Core shows the other pages on your site about the same
topics, so adding an internal link is a glance and a paste. Across the whole site
it finds your orphan pages — the ones nothing links to — and names the related
pages where a link to each would fit. It only ever suggests; the link you add is
a link you wrote.
Describes your images
It finds the images with no alt text — the one thing a search engine and a screen
reader both read instead of the picture — so your photos can be found in image
search and understood by every visitor.
On-page SEO, when you want it
For the times you want to tune a specific page, Odysseo Core has the familiar
green/amber/red analysis too — set a focus keyphrase and it checks the title, the
meta description, the URL, the opening paragraph, subheadings, keyphrase use,
content length, image alt text and internal links, and gives the page a score. An
SEO column on your post lists shows that score at a glance across a whole content
type. It is entirely optional: turn it off and Odysseo simply carries on doing the
work for you.
A content-type builder, with SEO built in
Odysseo Core is also an autonomous content-type builder. Answer “what are you
building?” — Portfolio, Team, Services, Events, Jobs, Properties, Courses,
Recipes, and more — and it creates the content type, its categories, its
Schema.org type and its SEO in one click. No register_post_type(), no rewrite
rules, no second plugin.
Because the SEO engine reads whatever post types exist, every content type you
create is instantly complete: titles, descriptions, canonicals, robots, Open
Graph, structured data, the sitemap, breadcrumbs, llms.txt, IndexNow, internal-
link suggestions and the on-page analysis all apply the moment it appears.
A built-in custom-fields engine gives each content type the fields it needs —
nineteen types including text, rich text with images, number, image, gallery,
date, select, true/false, relationship (link one content type to another),
repeater (repeating rows) and an HTML code field for developers.
Read them in a template with odysseo_field('field_name'). Drop an
[odysseo_content type=”…”] shortcode anywhere for a filterable, sortable,
paginated grid of a content type. And a content type — with all its fields — can
be exported to a file and imported on another site, or duplicated in place.
AI is optional, and it cannot surprise you
Everything above works with no AI, no API key and no bill. If you do connect a
provider — Claude, OpenAI, Gemini, OpenRouter, or a local model via Ollama or
LM Studio — you must also set a monthly budget, and that budget is a hard
ceiling rather than a warning. Every task is costed before it runs, work that
would exceed what is left is refused rather than started, and every call is
recorded with its exact token count and cost. A budget of zero means nothing is
ever sent anywhere and nothing can ever be charged.
Local models (Ollama, LM Studio) need no key, cost nothing, and send nothing off
your server.
Plays well with others
If Yoast, Rank Math, All in One SEO, SEOPress, The SEO Framework, Slim SEO,
Squirrly or SmartCrawl is active, Odysseo Core stands down and tells you rather
than emitting a second set of tags. Two SEO plugins writing canonicals at once is
worse for your rankings than either one alone.
For developers
Every engine is a service, every module declares its own hooks, and everything is
filterable. See docs/HOOKS.md in the plugin directory for the full reference.
Bundled assets
The design packs self-host every asset they use — no CDN, no external requests
on your site. Bundled fonts are open-licensed: Inter, Outfit, Cormorant
Garamond, Playfair Display, Plus Jakarta Sans and Instrument Serif under the
SIL Open Font License 1.1 (from Google Fonts), and Font Awesome Free icons
under the SIL OFL 1.1 (icons: CC BY 4.0). All other pack imagery consists of
original SVG placeholder illustrations created for this plugin.
Installation
- Upload the plugin, or install it from Plugins Add New.
- Activate it.
That is the whole setup. Your site is already optimized. Everything under
Odysseo Core in the admin menu is optional.
Screenshots

The dashboard — your SEO health score, what it found, and every number live from your site.

The Activity log — every automated change, what ran it, what happened and when.

Website Blueprints — pick an industry and generate its whole content architecture in one click.

Content Models — every model with its entries, fields and categories, one Edit away.

Settings — every option in plain language, with technical terms one level down.
Faq
No. Every setting has a working default and the plugin optimizes your site with
none of them touched. Change something only when you want to differ from the
default.
No. Odysseo Core detects the major SEO plugins and pauses its own output rather
than duplicating tags, and it tells you it has done so. Deactivate the other
plugin when you are ready to switch.
No. The SEO engine is entirely rule-based: free, instant, and it works offline.
AI features are optional, off by default, and cannot run at all until you set a
monthly budget.
AI work stops until the next month, or until you raise the budget. It is a hard
limit — the plugin refuses to start a task it cannot pay for. It does not
overrun.
Yes. Odysseo Core also registers the travel content types the Odysseo theme is
built around — Destinations, Tour Packages, Fleet, Testimonials and Gallery —
along with a contact-enquiry form and a one-click demo importer. These are
optional: the SEO engine works on any site with any content, and the travel
types simply appear in your admin if you want them.
Yes — under Odysseo Core Content Types. Pick a blueprint (Portfolio, Events,
Properties and so on) or name your own, and the content type is registered with
its taxonomies, Schema.org type and full SEO automatically. You can add custom
fields to it, link it to other content types, show it on the front end with the
[odysseo_content] shortcode, and export it to reuse on another site. No separate
CPT or custom-fields plugin is needed.
If you want one. Set a focus keyphrase on a post and Odysseo shows a green/amber/
red analysis and a score, plus an SEO column on your post lists. It is optional,
and switching it off changes nothing else — Odysseo still optimises every page
automatically. The difference from other plugins is that the score is advice, not
a chore: the mechanical work is already done for you.
Products and any other custom post type are picked up automatically. Page
builders that store their content outside post_content may not produce an
automatic description, in which case write one on the page itself.
No. Nothing is computed on the front end beyond what the current page needs, and
all bulk analysis happens in background batches. The plugin adds no JavaScript to
your front end, and no CSS unless you choose to display its breadcrumbs — in which
case it is a single, few-hundred-byte stylesheet you can also turn off.
It is a plain-language guide to your pages, published at yoursite.com/llms.txt,
for the AI assistants people increasingly ask instead of searching — ChatGPT,
Claude, Perplexity and Google’s AI answers. Odysseo Core builds it automatically
from the same titles and descriptions your pages already use, and lists only pages
you allow search engines to index. Leave it on and it stays current on its own.
Yes, but only safe ones. When you change a published page’s address, it adds a
redirect from the old address to the new so nothing breaks. It never overwrites a
redirect you made by hand, and every automatic redirect is listed and reversible.
It also logs the broken addresses visitors reach, so you can fix real dead ends
with one click rather than guessing.
If IndexNow is on, publishing or updating a page pings the search engines that
support it — Bing, Yandex and others — to recrawl that one URL. Only your own
public pages are ever submitted, never a page set to noindex, and nothing is sent
on a site that discourages search engines.
Safest is to put it in wp-config.php as a constant, for example
ODYSSEO_AI_KEY_ANTHROPIC — the key then never touches your database, so
database backups and dumps cannot leak it. Keys stored through the admin are
encrypted with a key derived from your site’s AUTH_KEY, which protects against
a database-only breach. Keys are never displayed back to you.
No. Odysseo Core has no analytics, no telemetry and no phone-home. It never sends
information about you or your site anywhere. The only outbound requests it can make
are ones you switch on and control: optional AI (only after you set an API key and
a spending budget) and IndexNow, which submits your own public page addresses to
search engines so they recrawl faster. With both off, the plugin makes no external
requests at all. One optional housekeeping check is on by default: once a day
the plugin asks the wordpress.org directory when each of your installed plugins
last released, so it can warn you about abandoned ones. It sends plugin slugs to
wordpress.org and nothing else, and one switch in Settings Advanced turns it
off.
You do — entirely. Nothing is stored in a proprietary format. Your posts, pages and
media are ordinary WordPress content. Your per-page SEO fields live in standard post
meta (_odysseo_seo_*), and content-model field values in post meta prefixed
odc. Your content types and their fields live in a normal
WordPress option, and any content type can be exported to a plain JSON file. Odysseo
never claims ownership of your content or your website.
Deactivating changes nothing about your content — your posts, pages, custom post
types and their data stay exactly where they are, and reappear if you reactivate.
Uninstalling removes only Odysseo’s own settings and its derived tables (the search
index, the redirect and 404 logs, and similar caches, all rebuildable). It
deliberately keeps your _odysseo_seo_* page meta and your content-type
definitions, so switching away — or reactivating later — never deletes work you did.
There is no lock-in: content types export to JSON, and everything else is standard
WordPress you can take anywhere.
Yes. When a major SEO plugin is active Odysseo stands down and tells you, so the two
never fight; deactivate the other when you are ready and Odysseo takes over. Because
Odysseo generates correct titles, descriptions and structured data automatically,
most sites need no import at all. Custom titles or descriptions you hand-wrote in
another plugin are stored in that plugin’s own meta and do not transfer on their own
— so after switching, it is worth checking your most important pages and re-entering
any wording you want to keep. Custom post types and fields created elsewhere keep
working; Odysseo optimises them like any other content.
For a typical site, Odysseo Core stands in for a stack of them: an SEO plugin, a
schema/structured-data plugin, an XML sitemap plugin, a breadcrumb plugin, a
redirect/404 plugin, a custom-post-type plugin and a custom-fields plugin — one
install, one settings area, one design, instead of seven that each need configuring
and can conflict with each other.
Reviews
Changelog
2.21.0
- Changed: one theme. The dark (Dusk) theme and its toggle are retired — the light Daybreak theme is now the only theme, with every contrast value already WCAG-audited. Simpler product, smaller stylesheet, one look to polish. (Your previous theme choice needs no migration; the setting simply no longer exists.)
- New: The Library — the complete documentation, live inside the plugin. Odysseo Core Documentation renders the Handbook (with a plain-language glossary for every nautical term), Tutorials, API reference, Architecture, the hook catalogue, the Charter specification and the project Constitution — from the same files that ship in the package, so the screen can never drift from the docs. Reachable from the Helm as “The Library”.
2.20.0
- New: the Ensign — a read-only REST surface (/wp-json/odysseo/v1/…) flying the ship’s full state: status, plan, brain, questions, entities, log and the Charter. Guarded by the same capability as every screen, it works with WordPress application passwords out of the box, and no route accepts a write — acting on a site stays behind its own nonce gates and blast doors. This is the primitive fleet consoles and CI pipelines build on.
- New: Shipwright scaffolds — wp odysseo make agent|pack|intent generates a complete, activatable extension plugin that works the moment it activates: a real agent reporting a real count, a token-bearing script-free design pack, a Navigator intent with an honest card. Every scaffold uses only the public filters — the same doors Odysseo itself uses.
- New: a burning Signal Fire now reaches search engines too, as SpecialAnnouncement structured data with its expiry declared — and leaves no schema behind once it retires.
- New: wp odysseo entities — the entity inventory (who and what the site actually talks about), from the extraction engine.
- New: docs/CHARTER-SPEC.md — the Charter format published as a specification: document shape, section semantics, the partial-apply and backup-first rules, secret exclusion, and versioning. The first piece of the Odysseo Protocol.
2.19.0
- New: Even keel — three accessibility defects assistive technology actually trips on, measured in your own content: heading-level jumps, links with no accessible name, and “click here”-style anchors. A Command Deck card lists the pages, worst first; each is a small edit where it lives.
- New: Standing orders — Apprentice Mode graduates. Grant individual classes of safe work (describe images; write missing descriptions, AI and budget permitting) and the nightly beat runs exactly those, logging every act as an act. One filter — odysseo_core_standing_orders_enabled — is a blast door that holds everything shut regardless of grants.
- New: Salvage — point wp odysseo salvage at a folder holding a site you own (home.html + style.css) and the pipeline re-rigs it into a living design pack: scripts stripped, your old brand tokenized into the site-identity token, dead links rewired to home, preloaders killed, local assets put on the design-URL token — then it appears beside the bundled designs with preview and one-click apply. Anything it could not make self-contained is reported in the pack’s manifest, never silently shipped. –scuttle removes a pack completely.
- New: fleet-ready output — wp odysseo status –format=json and wp odysseo plan –format=json emit machine-readable ship state, the primitive an agency’s fleet tooling builds on.
2.18.0
- New: the Wake — the editor sidebar now shows what a change to this page would touch: how many of your pages link here (named), how many this one feeds, and that a rename is safe because inbound routes follow through a redirect. Read live from the link graph.
- New: Decisions waiting — when several pages share one title, a memo assembles the evidence (inbound links, substance, description state per contender) and recommends which page should own the title, with its reasoning stated. The decision stays yours; the legwork stops being.
- New: the Dispatch — one click (or wp odysseo dispatch) drafts a plain-language month-in-review from the site’s own activity log: real events, real counts, never published without you.
- New: the Charter now imports in the admin too — upload a charter on Settings Advanced, review exactly what would change, then apply or discard. Nothing is touched before you have seen the diff.
- New: the Pilot’s groundwork — free-text Navigator questions are now grounded in the pages of YOUR site most relevant to the question, and every answer arrives with a “Charts consulted” card naming those pages. No relevant pages means the answer says so instead of guessing.
2.17.0
- New: The Loom — declare a business fact (hours, address, phone, a price) once and weave it into any page with [odysseo_fact key=”…”]; edit it once and every page tells the new truth. A contradiction watch lists pages still stating a fact’s previous value in plain prose. Developers: odysseo_fact( ‘key’ ).
- New: The Charter — your site’s whole definition (content models, settings, facts, design variants) as one readable JSON document. Download it from Settings Advanced; diff and apply it with wp odysseo charter export / diff / apply. Credentials never travel with it, applying touches only the sections a document carries, and a backup of the previous definition is always kept.
- New: the Question Ledger — questions people ask the Navigator are counted (never stored with any visitor identity) and the most-asked appear on the Command Deck as the honest list of pages worth writing next.
- New: Apprentice Mode — flip it on and each night the plugin writes into the Activity log what it WOULD have done, drawn from the real plan, without doing any of it. Trust is earned by a narration that keeps being right.
- New: the Signal Fire — declare an announcement with an end date; it shows on the front of the site while it burns and retires itself the day it lapses, with a log entry saying so.
- New: dead ends now come with a likely destination — the repair form on the Command Deck pre-fills the page a lost visitor was probably seeking, computed from your own index.
- New: supply lines — a daily wordpress.org freshness check flags installed plugins with no release in over two years (off with one switch, sends only plugin slugs).
- New: AI provenance — every AI-written description stamps its object with task, provider, model and time; wp odysseo provenance reports the census.
- New: wp odysseo assert “bearing>=80 && orphans==0” — the live engines as a CI gate, so a deploy can fail because the site got worse.
2.16.0
- The release-candidate hardening: a full four-lens audit (security, performance, accessibility, directory standards) of every screen, query and asset — and every confirmed finding fixed.
- Performance: the front page no longer pays a per-testimonial query for its aggregate rating (one cached read, cleared when a testimonial changes); the image audit, link stats and content snapshot are computed once per dashboard paint instead of several times; The Chart draws from three batched queries instead of one per harbour; design previews are browser-cached; redirect chain-flattening narrows in SQL instead of loading the whole table.
- Accessibility: the default dark theme’s links, primary buttons, search-preview text and captions now meet WCAG contrast in both themes; the Helm and Navigator keep keyboard focus inside while open and return it on close; the Helm gained a visible header button, real combobox semantics and spoken results; The Chart’s harbours have accessible names and the whole map is available as a table; dashboard tabs are keyboard-operable with correct relationships; every input has a name; focus rings survive both themes.
- Design packs: every pack now self-hosts its fonts (SIL OFL, bundled as woff2) — no external font or image requests on your site; remaining third-party links and demo artefacts replaced with your own site’s addresses and neutral demo content.
- Security: the public contact endpoint is rate-limited per address, and the onboarding dismissal is nonce-protected.
- Housekeeping: uninstall now removes the AI-OS options, per-user display preferences and every cached panel; the plugin-conflict notice only appears on Odysseo screens and the Plugins screen; duplicate schema-upgrade hook removed; bundled-asset licences declared in this readme.
2.15.0
- New: Odysseo is now a platform. Four new extension points let other plugins join the OS without touching core: register an agent into the Coordinator’s plan (odysseo_core_agents — dismissals and learned weights apply automatically), add Navigator chips with their execution (odysseo_core_navigator_intents / _cards), ship a complete design pack from your own plugin with live preview and one-click apply (odysseo_core_designs with dir/url), and index anything in the Helm (odysseo_core_helm_index).
- New: a stable public API — odysseo_health(), odysseo_plan(), odysseo_brain() join odysseo_field(). These never change shape.
- New: WP-CLI — wp odysseo status, wp odysseo plan, wp odysseo brain: the same engines, from the terminal.
- New: docs/ARCHITECTURE.md — the platform’s shape, contracts and worked extension examples; docs/HOOKS.md regenerated (60 filters, 9 actions).
- Improved: hot aggregate reads are memoized per request and invalidated on write — a dashboard paint costs one stats query, not ten.
2.14.0
- New: the Ship’s understanding — with an AI aboard, one click lets the Brain read your own content and infer your site’s purpose, industry, audience and tone. Stored with its date, clearly marked as AI-inferred, and from then on it grounds every AI answer. Without a provider it stays empty — the Brain never stores guesses it didn’t make.
- New: the Full tune-up — one click on the Command Deck re-reads the whole site, fills missing image ALT text, and (with AI aboard) writes missing descriptions, all queued in the background. The first one-click bundle.
2.13.0
- New: the Website Brain — Odysseo maintains a live, factual understanding of your site (identity, content structure, models, health, link graph, thin pages), rebuilt on the daily heartbeat and shared by every intelligent feature, including the Navigator’s answers.
- New: the agents and the plan — six specialists (SEO, Linking, Image, Technical, Content, Schema), each wrapping an engine that already exists, feed a ranked plan on the Command Deck. Every recommendation explains itself: why, expected result, risk, degrees gained on the Bearing, difficulty, time, and confidence — which is always “high”, because these are measurements, not guesses.
- New: memory that learns — dismiss a recommendation and it stays gone (aging out after ninety days, since sites change); the kind of advice you dismiss speaks up less, the kind you act on speaks up more. Never asked twice.
- New: ask the Navigator “What should I do next?” and it speaks the plan.
2.12.0
- New: The Bridge — Settings re-presented, every one of them kept. A Connect strip leads with the three stations that unlock the OS — AI (live budget status, honest “not connected” state), Brand, and Organisation — each one click from its settings. The section list groups into tiers by what they unlock: Connect, Search appearance, Social & discovery, Repairs, Advanced. The full reset is fenced in a marked danger zone on Advanced, exactly as destructive things should be.
2.11.0
- New: The Chart — your site made visible, in the sidebar under Overview. Your most-linked pages drawn as harbours (sized by how many of your own pages link to them), internal links as dotted routes, pages missing descriptions shaded amber like shallows, and orphans as islets beyond the dotted edge of explored water. Click any harbour for its condition and one-click actions: open, edit, or head to Course corrections. Every position is computed from the live link index — a chart of the truth, not an illustration.
2.10.0
- New: the Helm — press Cmd/Ctrl+K on any Odysseo screen. The nine workspaces sit as waypoints on a course you steer with the arrow keys (spatial navigation, not another spotlight list), and typing searches everything aboard: every workspace, every setting by its plain-language label, your content models and the designs. Enter sails there; Escape lowers the Helm.
- New: the Charting — the first time you open the Command Deck, one question: “Where are you headed?” Five destinations (launch a website, build content, fix technical SEO, bring AI aboard, explore everything) or “Just watch it work”. One click, retired forever — never a modal, never blocking.
2.9.0
- New: the editor speaks Meridian — each page’s SEO score is now a mini Bearing right in the analysis box: true north at the top, the needle at that page’s real deviation, “This page is 14° off true north” spelled out. Same score, same checks — presented as an instrument.
- Improved: analysis checks render as signal lines with a coloured verdict edge — scannable as a column, with the plain-language legend unchanged.
2.8.0
- New: the builder’s live rail — while you build a content model, a sticky panel shows exactly what your site will render: fields grouped Above the content / Below the content / Backend only in their true order, value-only labels marked, the model’s Schema.org identity and address, and where every Connection field points. Read from the stored definition, so the preview can never disagree with reality.
- Improved: dragging a field now shuffles neighbouring rows smoothly, and the dropped row settles with a brief starlight ring.
2.7.0
- New: the voyage — generating a website or applying a design now shows the course while it runs: the real steps the engine executes (Models Fields Categories Pages Connections SEO & schema), labelled as waypoints with the star under way. No fake progress ticks, ever.
- New: Landfall — arrival is a real summary, not a notice: the true inventory of what now exists (models, ready-made fields, site pages) with the three next headings one click away: add your first entry, manage the models, see your site. Applied designs land the same way.
- Improved: the AI design generator shows your live budget line — the same hard ceiling every AI task obeys.
2.6.0
- New: Course corrections — the Issues tab reborn. Every problem class is a deviation card showing the exact degrees your Bearing gains when it is fixed (computed with the score’s own formulas), the stakes in one line, and the full page lists one click deep — duplicate titles, missing descriptions, orphan pages and ALT-less images, each page linking straight to its editor. Corrected classes settle into a starred, faded card; a fully corrected site shows a calm “On course.” horizon.
2.5.0
- New: Explore — the map of everything Odysseo does, in the sidebar under Overview. Eleven feature cards, each with a live status read from its real engine (running, standing by beside another SEO plugin, repairs waiting, orphan pages found…), a real number where one exists, a why-it-matters line that surfaces on hover, and one click to launch. Discovery without documentation.
2.4.0
- New: the Navigator — Odysseo’s assistant, aboard every screen. Open it from the header and take a heading: check your site’s bearing, list pages missing descriptions, surface duplicate titles, or launch the ALT expedition — all real capabilities that act instantly, no AI required. Free-text questions go to your connected AI, grounded in your site’s real numbers and governed by your hard monthly budget, whose status stays visible in the panel at all times.
- New: without an AI provider the Navigator still works — every chip acts, and free text answers with a warm explanation of how to connect one (free local models included), never an error.
2.3.0
- New: the Command Deck — the dashboard’s health score is now the Bearing, Odysseo’s own instrument: true north at the top, a needle that sweeps to your site’s real deviation on load, and an arc showing exactly how far off course you are. Same honest number, presented as a heading.
- New: four meridian gauges decompose that score into its real parts — Descriptions, Distinct titles, Linked pages, Indexable share — each bar the score’s own arithmetic, each explainable on hover.
- New: “Distance made good” — the engine’s silent work finally gets credit: what Odysseo completed for you this week, from the real activity log, with the full log one click away.
- New: “Where are you headed?” — four destination cards guiding the next step: create a website, fix issues, build content, connect AI.
2.2.0
- New: Meridian — Odysseo’s own design language, phase one. A dark-first Dusk theme (with a Daybreak light theme one click away — the star in the header is the switch, remembered per user), cartographic contour texture on every card, and chart-sheet depth in place of flat panels.
- New: the interface is alive — dashboard numbers roll up like instrument digits, cards drift in as you scroll, buttons respond to press and glow on keyboard focus, and every form locks with a spinning star the moment you submit, so nothing can be double-clicked into running twice.
- Improved: every animation respects your system’s reduced-motion preference.
2.1.0
- New: Site designs — seven ready-made looks on the Website Blueprints screen (Atlaso, Prismeo, Haveno, Hestio, Aquilo, Lyrio, Odysseo). Every card shows the real design as a live preview — click for full size — and applying publishes it as your front page in one click: any theme, assets served from the plugin, re-applying updates the same page instead of duplicating it.
- New: applying a design is a full one-click site — it also generates the design’s paired website blueprint (content models, fields, categories, connected pages, SEO and schema) and embeds live content grids on the front page, so the site grows as you write. Nothing is static.
- New: designs are dynamic — the applied page automatically wears your site’s own identity: your site name and tagline replace the design’s demo brand, and if you have uploaded a logo under Appearance Customise, it appears everywhere the design shows a logo. Nothing to find-and-replace.
- New: Create a design with AI — describe any business, pick a starting design, and the connected AI (a free local model works) restyles it to match. The result saves as a design of its own, governed by your monthly AI budget like every other AI task.
2.0.9
- Improved: Website Blueprints now show exactly what each one builds — stat pills (models, ready-made fields, category groups, connections, site pages), each model as a chip with its field count, and a “See everything it creates” panel listing every field and connection by name. The button is now “Build this website”, because that’s what it does.
- Improved: one button component now styles every action on every Odysseo screen — same size, same icons, same hover — defined once and reused, like a theme component.
2.0.8
- Improved: every action on a content model card is now one consistent button size with its own icon — edit, add, duplicate, export and a properly styled remove — so the row reads as a single toolbar.
2.0.7
- Improved: creating a content model — from a blueprint card or your own names — now lands you straight in its field builder, ready to add fields.
- Improved: the Content Models page leads with your models; each is a card with its icon, address, entry and field counts, and two unmissable buttons: “Manage fields” (build) and “+ Add” (write). Creation moved below, with “+ Build your own” and “Import from a file” as clear actions.
2.0.6
- New: HTML / Code field type for developers — a code editor with syntax highlighting for hand-written HTML and CSS, printed verbatim on the front end. Administrators may include style blocks; other roles are limited to safe post markup, the same policy as WordPress’s Custom HTML widget.
- New: per-field “Show the label” control — untick it in a field’s (or sub-field’s) Edit panel for value-only display on your site, no more forced “Field Name:” prefixes.
- Improved: Rich text fields now include the Add Media button, so one field can mix writing and images exactly like the post editor.
- Improved: placement is clearer in the builder — / arrows on every row and a note explaining that above-content and below-content fields render as two blocks, ordered within each.
2.0.5
- New: drag-and-drop field ordering — grab the ⋮⋮ handle in the field builder or in a post’s fields box and drop the field where it belongs. The order is saved to the content model, so the builder, every editor and your site’s pages all follow it instantly.
- New: a field guide on every content model’s screen — all 18 field types explained with a live preview of what writers see and a copy-ready theme snippet, using your own field names.
- Improved: after adding or editing a field, the screen reopens exactly where you were — building a loop field’s sub-fields no longer collapses between adds, and the panel scrolls back into view.
- Improved: a more polished builder — real buttons for “+ Add field”, clearer edit panels with an accent border, hover states, and a saved-order flash.
2.0.4
- Fixed: a fatal error when opening a content model’s field builder after adding a field.
- New: fields are fully editable after creation — click Edit on any field to change its label, type, choices, connection or placement inline, while its name (and so its template tag and saved values) stays safely fixed.
- New: choose your own field name when adding a field — it auto-fills from the label as you type, or type your own; leave it blank to use the label.
- Improved: the field builder redesigned in the style of a dedicated field plugin — each field is a clean row with reorder arrows, a type badge and its template tag; “+ Add field” expands only when you need it; and forms only show the options the chosen field type actually uses.
- Improved: a repeatable group’s sub-fields are now managed inside that field’s own edit panel — one self-contained place to build a loop, with sub-fields editable the same way.
2.0.2
- Improved: the dashboard’s detail sections now live in tabs (Overview, Issues, Automations, Redirects & 404s, Activity) — no more long scroll or uneven columns.
2.0.1
- Improved: a denser, calmer dashboard — every card shows its top five with the rest a click away, queue tasks use plain names, and the automations table breathes.
- Improved: the admin menu icon is now the Odysseo brand mark.
- Fixed: dashboard cards could visually overlap in two-column layout.
2.0.0
- New: an autonomous content-type builder — create Portfolios, Events, Properties and more in a click, each registered with taxonomies, Schema.org type and full SEO automatically.
- New: a built-in custom-fields engine — 17 field types including image, gallery, date, select, true/false, relationship (link content types) and repeater (repeating rows); read on the front end with odysseo_field().
- New: a [odysseo_content] shortcode for a filterable, sortable, paginated grid of any content type, on any theme.
- New: export, import and duplicate content types — move a type and its fields between sites, or copy it in place.
- New: on-page SEO analysis — a focus-keyphrase check with a green/amber/red score in the editor, and an SEO column across your post lists. Optional.
- New: llms.txt, a plain-language guide to your pages for AI search engines (ChatGPT, Claude, Perplexity, Google AI), served at /llms.txt and built from your own titles and descriptions.
- New: IndexNow — publishing or updating a page asks the search engines that support it (Bing, Yandex and others) to recrawl it straight away.
- New: automatic redirects when a published page’s address changes, and for attachment pages; plus broken-link (404) tracking with one-click redirect creation.
- New: a visible breadcrumb trail — shortcode, template tag or automatic — built from the same source as the BreadcrumbList structured data, so the two always agree.
- New: internal-link suggestions while you write, and a site-wide view that pairs each orphan page with the related pages to link it from.
- New: an image alt-text audit across your indexable pages.
- Improved: the XML sitemap is now a paginated sitemap index, includes your images for Google Images, lists only indexable pages, and supersedes WordPress core’s own sitemap so the two cannot disagree.
- Improved: a manual redirect may point to another domain when you enter a full URL, resolved safely.
- Fixed: the database schema is brought up to date automatically after a plugin update, not only on reactivation.
1.0.0
- First public release.
- Automatic titles, meta descriptions, canonical URLs, robots directives, Open Graph and Twitter Cards for every URL on the site.
- Universal support: every post type and taxonomy, including ones registered after installation.
- Indexing policy with correct defaults — search, attachment and date archives kept out of the index; the WordPress search-engine visibility setting always respected.
- Template and variable system with 29 variables and automatic cleanup of unused separators.
- Background automation on Action Scheduler, with an activity log of every change.
- Site-wide duplicate title and missing description detection.
- Optional AI (Claude, OpenAI, Gemini, OpenRouter, Ollama, LM Studio) behind a hard monthly spending cap.
- Conflict detection for the eight major SEO plugins.
- Travel content types (Destinations, Tour Packages, Fleet, Testimonials, Gallery), contact enquiries and a demo importer, for sites built on the Odysseo theme.