Version 4.2.2

February 16, 2024

Fixed

  • use pagination information on canonical (via @therealpecus)
  • sitemap element type grouping (via @jamesedmonston)

Version 4.2.1

August 23, 2023

Fixed

  • Remove trailing ? if token removed from URL (Fixes #457 part 2)
  • Restore whitespace in SEO tokens (Fixes #452)

Changed

  • Sanitize URL before outputting in meta (Fixes #454)

Version 4.2.0

August 18, 2023

Fixed

  • Fixed absolute URL including token query parameter (Fixes #457)
  • Fixed error on Shopify plugin products (#456 via @ttempleton)

Version 4.1.2

May 15, 2023

Fixed

  • Fix robots always injecting no-index (Fixes #432)

Version 4.1.1

April 19, 2023

Fixed

  • Fix redirect page 500 error (Fixes #448)
  • Remove HTML from fail toast (Fixes #449)
  • Fix redirect deletion (Fixes #441)

Version 4.1.0

April 12, 2023

Fixed

  • Fix SEO field focus keywords on Craft 4 (Fixes #431, #407, via @dyerc)
  • Deleted sites are no longer included in the redirect select (via @thomascoppein)
  • Fix env check (Fixes #432, via @jacotijssen & @thomascoppein)
  • Fix custom fields not being evaluated in dynamic syntax (Fixes #415, via @juban)

Version 4.0.3

June 8, 2022

Fixed

  • Fix sitemap render issue (Fixes #409, via @niektenhoopen)

Version 4.0.2

May 18, 2022

Fixed

  • Fix permission settings (Fixes #399, #401, via @niektenhoopen)

Version 4.0.1

May 10, 2022

Fixed

  • Fix GraphQL support

Version 4.0.0

May 4, 2022

Fixed

  • Support Craft v4 (via @niektenhoopen)

Version 3.7.4

June 14, 2021

Fixed

  • Fix error when trying to fetch social image (Fixes #358, via @MDXDave)

Version 3.7.3

May 28, 2021

Changes

  • Up Craft CMS requirement to ^3.5 (Fixes #341)

Fixed

  • Fix JS error on sitemap admin (Fixes #325)

Version 3.7.2

May 25, 2021

Changed

  • SEO will now add noindex to all environments except production, regardless of devMode (via @nstCactus)

Fixed

  • Fix sitemap error if some sites are disabled
  • Fix an exception when an entry type has multiple SEO fields (via @nstCactus)
  • Fix custom SEO objects always using fallback image (via @jmauzyk)

Version 3.7.1

April 22, 2021

Fixed

  • Fix migration issue when upgrading to 3.7 on MySQL

Version 3.7.0

April 22, 2021

Added

  • Added support for product types in sitemap (via @boboldehampsink)

Version 3.6.7

November 30, 2020

Changed

  • Set Twitter image transform to a 2:1 ratio (via @icreatestuff)
  • Hide the "Settings" links when admin changes are disallowed (via @nstCactus)

Fixed

  • Fix getSettingsHtml function to be compatible with Craft 3.5 (via @bendesilva)
  • Fix error in retrieving preview if no SVG tags are present on the page (via @tschoffelen)
  • Fix ErrorException error on sections XML (via @jesuismaxime)

Version 3.6.6

June 30, 2020

Added

  • Add gql field-type definition for Craft 3.3 GraphQL implementation (via @FreekVR)

Version 3.6.5.2

June 24, 2020

Fixed

  • Fix incorrect content in fields on redirect edit (Fixes #309, #314)

Version 3.6.5.1

May 22, 2020

Fixed

  • Fix missing order column install issue (Fixes #303)

Version 3.6.5

May 18, 2020

Added

  • Add redirect ordering (Closes #274)

Version 3.6.4

April 15, 2020

Fixed

  • Fix JS error when % appeared in SEO snippet text

Version 3.6.3

December 18, 2019

Improved

  • Replace SVG's while keeping text intact (Fixes #197)

Fixed

  • Fix social images not falling back to default (Fixes #188, #247)
  • Fix slug showing incorrect site URL (Fixes #237)
  • Fix SEO snippet showing homepage slug (Fixes #270)
  • Fix snippet issue when using protocol relative site URLs (Fixes #249, #239)
  • Fix incorrect canonical URL when site is behind a CDN (Closes #268)
  • Fix sitemap not filtering elements by type correctly (Fixes #275)

Version 3.6.2

August 5, 2019

Improved

  • Improve support for diacritics

Fixed

  • Fix an issue when legacy SEO data is just the title string
  • Fix issues with slug on single entries (Fixes #233, #228)
  • Fis issue with umlauts in optimisation checklist (Fixes #232)

Version 3.6.1.1

July 26, 2019

Fixed

  • Fix bulk redirect issue when add to all sites (Fixes #154)

Version 3.6.1

July 26, 2019

Added

  • Added date added column to redirects (Closes #160)

Changed

  • Redirects will also be triggered by {% exit 404 %} in templates (Fix #206 via @domstubbs)

Improved

  • Redirect add forms will no longer be reset after adding a redirect. Only but the URI fields will be cleared.

Fixed

  • Fix bulk importing of redirects (Fixes #154)
  • Fix social title not syncing for new entries
  • Fix snippet url preview bug (Fix #196 via @domstubbs)
  • Fix redirect uri case sensitivity issue with MySQL (Fixes #116)

Version 3.6.0

July 25, 2019

Added

  • Add OG image width & height meta tags (Fixes #220)

Changed

  • Update minimum Craft CMS requirement to 3.2.x
  • Social titles and descriptions can now be edited independently of the main snippet (Fixed #185)

Fixed

  • Fix entry preview error on keyword checklist (Fixes #224)
  • Fix SEO field error when changing entry types (Fixes #215)
  • Fix entire image meta data being saved with SEO field (Fixes #142)
  • Fix sitemap error when SEO field doesn't have any advanced data (Fixes #96)
  • Fix keyword checklist reading title length incorrectly (Fixes #199)
  • Fix social meta outputting encoded characters (Fixes #198)
  • Fix social description not updating correctly (Fixes #213)
  • Fix multi-word keyword not checking slug correctly (Fixes #152)
  • Fix CraftQL integration (Fixes #187)
  • Fix SEO field erring in globals (Fixes #226)
  • Fix section and type not being available in tokens (Fixes #221)

Improved

  • Improve alt text judgment in keyword checklist
  • Check for keyword in first paragraph of body, main, and article tags
  • Improve page meta field instructions in SEO settings
  • Ensure canonical is always an absolute URL (Fixes #202)

Version 3.5.4

January 28, 2019

Added

  • Added support for Solspace Calendar. #184

Fixed

  • Fixed upgrade not correctly carrying over custom titles. #183

Version 3.5.3

January 23, 2019

Fixed

  • Fixed undefined index error when creating a new element containing an SEO field. #176
  • Fixed error when using the SEO field in a category. #177
  • Fixed sitemap undefined index error. #178

Version 3.5.2

January 22, 2019

Changed

  • Increased debounce timeout when watching for input changes in fields.

Fixed

  • Fixed special characters being unnecessarily encoded when being out put in meta. #173
  • Fixed JS error in SEO snippet when the entry doesn't have a slug.
  • Excess whitespace removed from social title when dynamically updated.
  • Fixed tokens sometimes showing as empty incorrectly.
  • Fixed number of SEO snippet token re-renders from increasing exponentially. #175

Version 3.5.1

January 21, 2019

Added

  • Added console command to manually trigger the upgrade to the new data format ./craft seo/upgrade/to-new-data-format.

Fixed

  • Fixed issue when updating an SEO field without a suffix.
  • Fixed readonly property error when running the upgrade task.

Version 3.5.0

January 21, 2019

This update changes how SEO meta is stored. We STRONGLY recommend backing up your site before installing this update.

This update contains some potentially breaking changes. If you use a custom meta.twig template you should review the changes here.

Added

  • Advanced option for overriding the canonical URL.
  • Added rel="canonical" header

Changed

  • Craft 3.1.0 is now required.
  • The SEO field now uses a token-based system for the title, allowing for only certain parts of the title to be editable and adding twig support for pre-filling from fields! (Existing meta will be automatically upgraded)
  • The SEO field description can now be pre-filled using twig.
  • Robots meta tags are now rendered in the SEO meta. Useful for statically cached sites!
  • Social titles and descriptions are no longer editable. Images are still editable. Improved social meta management is planned for a future update.

Fixed

  • SEO meta now correctly renders across multi-sites and locales.
  • Fixed keyword checklist compatibility issue in Craft 3.1.
  • Locale - replace w/ _ #143
  • Fixed incorrect og:site_name #139

Improved

  • The social image "no volume" warning now explicitly states the need for volumes with public URLs #115
  • Better handling of robots header.
  • Whitespace now trimmed from title when checking SEO score (via @Rias500)

Version 3.4.4

September 10, 2018

Fixed

  • Fixed a server error when generating the sitemap sub-maps.

Version 3.4.3

September 7, 2018

Fixed

  • Redirects page no longer throws a twig error if there are no redirects for all sites. #134

Version 3.4.2

September 7, 2018

Fixed

  • Fixed a bug when saving a new element with an SEO field.

Version 3.4.1

September 6, 2018

Fixed

  • Fixed a bug when adding a redirect to all sites.

Version 3.4.0

September 6, 2018

This update contains some potentially breaking changes. If you use a custom meta.twig template you should review the changes here.

Added

  • Added getSeoField($handle = 'seo') Twig function for Site templates.
  • Added global settings for Facebook App ID and Twitter handle.

Changed

  • SEO field data is now used via an SeoData model, rather than an array. This may cause breaking changes, especially if you have a custom meta.twig template!
  • The default robots.txt now disallows all when the environment is NOT set to 'production'. This will not have an effect for existing installs (where the SEO settings have been saved). To manually update your robots.txt, replace the line {% if craft.app.config.general.devMode %} with {% if craft.app.config.env != 'production' %}. #122
  • Redirects are no longer case-sensitive #116

Fixed

  • SEO no longer errors if a social image doesn't have a public url. #131
  • Protocol relative image URLs are now handled correctly. #125, #126 (via @monachilada)

Improved

  • The SEO meta field will now look for product and category elements when searching for the SEO field. #128
  • Redirects now support full PCRE syntax. #119, #127
  • Redirects can now be specified on a per-site basis!

Version 3.3.1

September 3, 2018

Fixed

  • craft.seo.custom social images now fallback to the default social image from global settings. #113
  • Backwards compatibility SEO v1 keywords
  • Fixed bug where some requests would 404 when injecting 🤖's #130

Changed

  • SEO robots no longer return empty values #110
  • Text in the keyword input will automatically be turned into a tag on blur #114

Version 3.3.0

May 25, 2018

Heads up: This update includes changes to the SEO meta.twig. If you are using a custom version you can review the changes here.

Fixed

  • Fixed field settings throwing deprecation warning #109
  • Fixed invalid sitemap urls
  • Robot lightswitches now have a min-width #103
  • Fixed TypeError in SEO variable when social image doesn't have a transform URL #101
  • Fixed SEO hook throwing an error when a populated SEO field was removed from the current element #99

Changed

  • Redirect list moved below "Add Redirect" fields #107
  • Empty / suffix only title fields will now populate with the element title

Version 3.2.8

May 16, 2018

Fixed

  • Fixed bug where robots.txt would not be accessible when not logged in.

Version 3.2.7

May 10, 2018

Heads up: This update includes changes to the SEO meta.twig. If you are using a custom version you can review the changes here.

Fixed

  • Fixed SEO field erroring after upgrade from Craft 2 #92
  • Fixed sitemap erroring when entry doesn't have an SEO field #96

Changed

  • og:site_name now uses seo.title instead of siteName #95 (via @urbantrout)
  • Canonical meta tag now uses absoluteUrl #94 (via @matthiaswh)
  • Social URLs in meta.twig now use absoluteUrl

Version 3.2.6

May 1, 2018

Fixed

  • Fixed user permissions not being checked correctly #93

Version 3.2.5

April 26, 2018

Fixed

  • Fixed broken robots.txt code editor. #90
  • Fixed sitemaps having wrong Content-Type header. #91

Version 3.2.4

April 16, 2018

Added

  • Added a "Use suffix as prefix" option to the SEO field settings. For those clients.

Fixed

  • The sitemap settings now show all sections, regardless of what sites they are enabled on.

Version 3.2.3

April 5, 2018

Fixed

  • Fixed bug where Craft would 500 error when robots were injected for an element without an expiry date (via @saylateam)
  • Fixed a bug where the Craft edition referenced no longer existed #81 (via @andris-sevcenko)

Version 3.2.2

March 16, 2018

Fixed

  • Fixed a bug where editing entries with an SEO field would error if the current site doesn't have a base URL.

Version 3.2.1

March 15, 2018

Fixed

  • Fixed a bug that would cause Element API to error when no robots have been set.

Version 3.2.0

March 13, 2018

Added

  • You can now manage your sites 🤖 on a site-wide or per-field basis
    • The X-Robots-Tag header is added if you've set any robots
    • If the current entry has an expiry date, the unavailable_after directive will be added automatically
    • The none and noimageindex directives are automatically added to all pages when in devMode. No more accidental indexing of development sites!
  • You can now manage your robots.txt file from the SEO settings!

Changed

  • Improved the settings page (now with 300% more tabs).

Fixed

  • Fixed sitemap dynamic urls throwing errors
  • Sitemaps no longer show "headers already sent" warnings
  • Fixed the keywords checklist not realising content had changed on the page
  • The keywords checklist now knows what spaces are and count words accordingly
  • Fixed keywords checklist not working after live preview is opened
  • Fixed bug where fallback social images would cause SEO field to error
  • Keyword density now works correctly for keywords containing more than one word
  • Fixed a bug where deleting a keyword would occasionally cause a JS error

Version 3.1.0

March 2, 2018

Added

  • Added option to hide the social tab in the SEO field

Changed

  • It's now possible to pass social media meta to craft.seo.custom

Fixed

  • Fixed first paragraph check returning both positive and negative
  • Snippet description now has minimum height

Version 3.0.1

January 23, 2018

Fixed

  • Fixed error when installing on Craft Personal

Version 3.0.0

January 23, 2018

Changed

  • Initial Craft 3 Release