# SEO Changelog Release notes for SEO. ## 2.0.0-beta.5 — August 7, 2026 (Pre-release) ## 🐛 Bug fixes - Fix canonical URL comparison when `canonical.trailingSlash` is enabled (@notz, #188) - Add missing labels and IDs to SEO Writer and SEO preview form controls (@FlorianBoe, #187) - Prevent fatal errors for non-resizable Open Graph images and hide them from the default image picker (#190) **Full Changelog**: https://github.com/tobimori/kirby-seo/compare/2.0.0-beta.4...2.0.0-beta.5 ## 2.0.0-beta.4 — April 16, 2026 (Pre-release) ## ✨ Enhancements - Support OpenAI completions API syntax - Use canonical URLs in the SEO preview (@antons, #185) **Full Changelog**: https://github.com/tobimori/kirby-seo/compare/2.0.0-beta.3...2.0.0-beta.4 ## 2.0.0-beta.3 — March 10, 2026 (Pre-release) ## 🚨 Breaking changes - Enable `fallbackFields` cascade level by default: a page's `description` is now used as `og:description` before site-wide Open Graph values are reached, preventing site-level OG descriptions from overriding page-specific meta descriptions. Remove `fallbackFields` from the cascade to restore the previous behavior. See the [Meta Cascade docs](https://github.com/tobimori/kirby-seo/blob/main/docs/2_customization/01_meta-cascade.md) for details. ## ✨ Enhancements - Improve sitemap XSL stylesheet with language alternate badges, cleaner URL display, and fixed table layout - Resolve template variable labels in SEO Writer placeholder text ## 🐛 Bug fixes - Fix sitemap stylesheet URL not resolving correctly on multi-language sites - Remove unnecessary `role="presentation"` attribute from decorative images in alt text output ## 2.0.0-beta.2 — March 9, 2026 (Pre-release) ## 🐛 Bug fixes - Fix SEO Writer regression **Full Changelog**: https://github.com/tobimori/kirby-seo/compare/2.0.0-beta.1...2.0.0-beta.2 ## 2.0.0-beta.1 — March 9, 2026 (Pre-release) ## 🎉 Features - Add alt text field (`alt-text`) with AI-powered alt text generation from images, with auto-generation on upload - Add Google Gemini as a built-in AI provider - Add background processing support for alt text generation via kirby-queues ## ✨ Enhancements - Add multimodal image support to AI drivers (Anthropic, OpenAI, Gemini) ## 🐛 Bug fixes - Fix robots indicator button not displaying correctly (#184) ## ♻️ Refactored - Extract shared AI streaming utilities (`useAiStream`, `consumeSSEStream`) from field components **Full Changelog**: https://github.com/tobimori/kirby-seo/compare/2.0.0-alpha.13...2.0.0-beta.1 ## 2.0.0-alpha.13 — February 27, 2026 (Pre-release) ## 🐛 Bug Fixes - Fix double-encoded HTML entities in meta tag output when using Writer fields (#183) ## 2.0.0-alpha.12 — January 21, 2026 (Pre-release) ## 🐛 Bug Fixes - Fix x-default hreflang pointing to language-specific URL instead of language-neutral switcher URL in multi-language setups (#177) ## 2.0.0-alpha.11 — January 20, 2026 (Pre-release) ## 🐛 Bug Fixes - Fix language code not being passed in page.update:after hook, breaking multi-language page updates - Fix hook running on pages without SEO tab, breaking compatibility with other plugins like DreamForm ## 2.0.0-alpha.10 — January 19, 2026 (Pre-release) ## 🎉 Features - Add Google Search Console integration - view search performance data directly in the Kirby panel - Add dynamic blueprint selection - automatically chooses between site and page SEO blueprints (#169) - Add support for object notation in AI provider configuration (#168) ## 2.0.0-alpha.9 — January 11, 2026 (Pre-release) ## 🎉 Features - Add new UTM parameter sharing dialog ## 🐛 Bug Fixes - Fix HTML entities not being decoded in SEO preview section (thanks @ovenum) - Fix deprecated pathinfo() call when parse_url() returns null (thanks @FloWinge) ## 2.0.0-alpha.8 — October 28, 2025 (Pre-release) ## 🐛 Bug Fixes - Fix "using $this when not in object context" error when saving pages (#167) - Fix favicon not displaying in Google preview component ## 2.0.0-alpha.7 — October 27, 2025 (Pre-release) ## 🎉 Features - Add IndexNow support for instant search engine notifications - Add components config syntax for easier component customization ## 2.0.0-alpha.6 — October 26, 2025 (Pre-release) ## 🎉 Features - Add AI-powered meta tag generation with OpenAI and Anthropic support - Add custom SEO writer field with specialized toolbar buttons ## 🐛 Bug Fixes - Fix sitemap returning 404 for HEAD requests - caused "Sitemap could not be read" errors in Google Search Console (#164, thanks @tomsl123) - Fix sitemap XSL stylesheet loading with wrong language prefix on multi-language sites (#160) ## ✨ Enhancements - Add proper HTTP method handling for sitemap routes (OPTIONS returns 204, unsupported methods return 405) - Fix writer toolbar button width (thanks @danburzo) ## 🌐 Translations - Add Romanian translation (thanks @danburzo) ## 2.0.0-alpha.5 — October 22, 2025 (Pre-release) ## 🎉 Features - Add custom SEO nodes for writer field - Add custom SEO writer field - Strip allowed HTML tags from meta tags for cleaner output ## ✨ Enhancements - Improve site preview styling ## 2.0.0-alpha.4 — October 21, 2025 (Pre-release) ## 🎉 Features - Add dark mode support for SEO previews - Update Google SEO preview component to match current Google design ## 🐛 Bug Fixes - Fix "Storage for the page is immutable" error when saving pages with kirby-seo fields (#145, thanks @ovenum) - Fix x-default alternate link using wrong slug on non-default languages (#146) - Fix Kirby template braces not being escaped in placeholder text (thanks @lukasleitsch) ## ♻️ Refactored - Simplify files query in og-image.php (thanks @ovenum) ## 2.0.0-alpha.3 — June 24, 2025 (Pre-release) ## 🐛 Bug Fixes - Fix all pages returning 404 when robots.index option is set to true (#140) ## 2.0.0-alpha.2 — June 11, 2025 (Pre-release) ## 🐛 Bug Fixes - Fix "Value of type null is not callable" error caused by missing default.lang option (#139) ## 2.0.0-alpha.1 — June 9, 2025 (Pre-release) ## 🚨 Breaking Changes - Requires Kirby 5 - Remove schema-org package from default plugin distribution - install separately if needed (#48) - Major refactor of language handling for multi-language sites (#128) ## 🎉 Features - Add priority meta tags support (#112) - Add trailing slash configuration (#136) - Add Mastodon profile link as rel="me" (#92) - Skip alternate hreflang tags when URL is not canonical (#98) ## 🐛 Bug Fixes - Fix OG image width/height not being set correctly (#91) - Fix wrong sitemap URL on multi-language pages (#124) - Fix sitemap URL not using canonical base URL (#88) ## 🌐 Translations - Add Swedish translation (thanks @olach) - Add Dutch translation (thanks @wietseneven) - Add Czech translation (thanks @jan-herman) ## 1.1.2 — April 10, 2024 ### 🐛 Bug Fixes - Google Search preview now shows the title correctly with the title preview (#90) **Full Changelog**: https://github.com/tobimori/kirby-seo/compare/1.1.1...1.1.2 ## 1.1.1 — April 2, 2024 ### 🐛 Bug Fixes - Empty robots fields do not throw error when saving anymore **Full Changelog**: https://github.com/tobimori/kirby-seo/compare/1.1.0...1.1.1 ## 1.1.0 — March 21, 2024 ### 🚀 Features - `/sitemap` now redirects to `/sitemap.xml` (#84) You can disable this behaviour by setting `tobimori.seo.sitemap.redirect` to `false`. ### 🐛 Bug FIxes - Robots section defaults are now set correctly by Kirby logic & using a page.update hook (#89) - Robots page settings now don't show up if Robots is disabled (#87) **Full Changelog**: https://github.com/tobimori/kirby-seo/compare/1.0.0...1.1.0 ## 1.0.0 — March 16, 2024 ### First stable production release of `kirby-seo`. #### :bomb: **Breaking changes** If you previously used `kirby-seo` 0.4.0 or earlier, please follow the [Migration guide](https://plugins.andkindness.com/seo/docs/get-started/migrating). ### :rocket: New Features - Kirby 4.0 redesign compatibility (#12) - Complete refactor of the Meta class & cascading behaviour - Customizable cascade option - New languages: Turkish 🇹🇷 & Portuguese 🇵🇹 (#49 / #69) - New Sitemap functionality (#47) - Custom meta tags with programmatic cascade (#23) - Use meta tag names instead of field names in programmatic cascade ...and tons of bug fixes! :bug: (Take a look at early releases for a detailed summary) This release was a ton of work and is available completely free of charge. If you use kirby-seo in a commercial project, I'd highly appreciate a [sponsorship on GitHub](https://github.com/sponsors/tobimori) (one-time available as well). If you need a commercial invoice or priority support, send me an email at `seo@moeritz.io` and we can figure things out. Thanks to all contributors and everyone who created issues as well. @afbora, @JuKra00, @andrepimpao, @luxuryluke, @holmey **Full Changelog**: https://github.com/tobimori/kirby-seo/compare/0.4.0...1.0.0 ## 1.0.0-rc.7 — March 15, 2024 (Pre-release) ### 🐛 Bug Fixes - Programmatic meta tags are now tracked correctly and no longer output twice - Robots check for `canonical` and `alternate` tags no longer causes an infinite loop (#83) - Sitemap title in XSL template is now escaped to support ampersands, thanks to @JuKra00 (#81 / #82) **Full Changelog**: https://github.com/tobimori/kirby-seo/compare/1.0.0-rc.6...1.0.0-rc.7 ## 1.0.0-rc.6 — March 10, 2024 (Pre-release) ### 🐛 Bug Fixes - `$site->lang()` now returns the config language in the correct format for the `` tag (#77) - `canonical` and `alternate` tags are not output anymore if the page is set to `noindex` or the `robots` module is disabled - Section label of `heading-structure` now looks as expected ### 📝 Docs - Schema.org usage is now documented (#70) - Sitemap docs now hint to robots docs for whether a page is indexed or not (#68) - `heading-structure` section is now documented **Full Changelog**: https://github.com/tobimori/kirby-seo/compare/1.0.0-rc.5...1.0.0-rc.6 ## 1.0.0-rc.5 — March 7, 2024 (Pre-release) ### 🐛 Bug Fixes - Regex pattern used for accessing the page context programmatic blueprints now supports `-` and `_` **Full Changelog**: https://github.com/tobimori/kirby-seo/compare/1.0.0-rc.4...1.0.0-rc.5 ## 1.0.0-rc.4 — March 7, 2024 (Pre-release) ### 🐛 Bug Fixes - `$site->schema()` now correctly uses the `default` context and does not throw an error anymore **Full Changelog**: https://github.com/tobimori/kirby-seo/compare/1.0.0-rc.3...1.0.0-rc.4 ## 1.0.0-rc.3 — March 5, 2024 (Pre-release) ### 🚀 Features - `kirby-seo` now supports `pt_PT` language, by @andrepimpao ### 🐛 Bug Fixes - Robots programmatic blueprint now uses a regex pattern for accessing the page context (#66) - Avoid double assignment for `snippetData()` by @holmey (#71) **Full Changelog**: https://github.com/tobimori/kirby-seo/compare/1.0.0-rc.2...1.0.0-rc.3 ## 1.0.0-rc.2 — January 30, 2024 (Pre-release) ### 🐛 Bug Fixes - Alternate sitemap entries now correctly specify the locale in its `hreflang` attribute (#67) **Full Changelog**: https://github.com/tobimori/kirby-seo/compare/1.0.0-rc.1...1.0.0-rc.2 ## 1.0.0-rc.1 — January 26, 2024 (Pre-release) This release is the first release candidate for a stable release. If no issues are reported, a stable release is coming out in February 1st. ## What's Changed - `snippetData()` resolving and handling of programmatic meta data fixed - Robots settings defaults look up fixed for draft pages (#60) - Use named columns for blueprints for easier extensions (#65) - Template strings are no longer escaped (#63) **Full Changelog**: https://github.com/tobimori/kirby-seo/compare/1.0.0-beta.3...1.0.0-rc.1 ## 1.0.0-beta.3 — January 18, 2024 (Pre-release) ## What's Changed * fix: sitemap creation on multilang #61 by @JuKra00 in https://github.com/tobimori/kirby-seo/pull/62 ## New Contributors * @JuKra00 made their first contribution in https://github.com/tobimori/kirby-seo/pull/62 **Full Changelog**: https://github.com/tobimori/kirby-seo/compare/1.0.0-beta.2...1.0.0-beta.3