Skip navigation

Changelog

Release history

2.0.0-beta.5

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

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

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 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

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

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

Pre-release

๐Ÿ› Bug Fixes

  • Fix double-encoded HTML entities in meta tag output when using Writer fields (#183)

2.0.0-alpha.12

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

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

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

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

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

Pre-release

๐ŸŽ‰ Features

  • Add IndexNow support for instant search engine notifications
  • Add components config syntax for easier component customization

2.0.0-alpha.6

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

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

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

Pre-release

๐Ÿ› Bug Fixes

  • Fix all pages returning 404 when robots.index option is set to true (#140)

2.0.0-alpha.2

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

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

1.1.2

๐Ÿ› 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

๐Ÿ› 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

๐Ÿš€ 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

First stable production release of kirby-seo.

๐Ÿ’ฃ Breaking changes

If you previously used kirby-seo 0.4.0 or earlier, please follow the Migration guide.

๐Ÿš€ 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! ๐Ÿ› (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 (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

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

Pre-release

๐Ÿ› Bug Fixes

  • $site->lang() now returns the config language in the correct format for the <html> 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

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

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

Pre-release

๐Ÿš€ Features

๐Ÿ› 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

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

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

Pre-release

What's Changed

New Contributors

Full Changelog: https://github.com/tobimori/kirby-seo/compare/1.0.0-beta.2...1.0.0-beta.3