- Fixed an issue where sites that are not enabled for a given Section were still showing up in the Sites menu in Content SEO (#1539)
- Fixed an issue where newly created sections would not have Content SEO settings show up for (#1544)
- Added the Site Alternate Name property to Site Settings, used in the JSON-LD for the homepage, if the MainEntityOfPage is WebPage or WebSite (#1482)
- Added Letterbox crop mode for SEO image transforms (#1337)
- No longer do a potentially expensive query on page load for sections that have a massive number of entries (#1526)
- Improved the display of the Entry Types menu in Content SEO
- If the current route is the homepage, set the
name
andalternateName
JSON-LD for themainEntityOfPage
toseomatic.site.siteName
andseomatic.site.siteAlternateName
respectively, rather than theseomatic.meta.seoTitle
(#1482) - The SEO preview display in Content SEO will pull an entry from the specific Entry Type rather than just the first entry. Note: If you have a custom
SeoElement
PHP class, it will require a very minor method signature change to continue working (#1535) - Text and Asset pull sources in Content SEO will now display only fields from the specific Entry Type rather than all fields for that Section. Note: If you have a custom
SeoElement
PHP class, it will require a very minor method signature change to continue working (#1535)
- Fixed an issue where an exception would be thrown if the Campaign plugin was installed first, and then you newly installed SEOmatic (#1530)
- Fixed
togImageField
field typo in the FeedMe integration (#1520) - Fixed a field mapping issue for fields in the FeedMe integration (#1520)
- Normalize the incoming
url
andpath
so thatmergUrlWithPath()
handles edge-cases properly (#1512) - Fixed an issue where the
ads.txt
wasn't renamed properly when requested via GraphQL (#1513) - Fixed an issue where the homepage metacontainer cache did not get properly cleared (#1514)
- Fixed an exception caused by the wrong argument passed to
Asset::getAssetById()
in edge cases (#1515) - Removed vestigial sitemap rendering code in
SitemapTemplate
that had a code path that had a code path that could return a503
(#1437)
- Make the Content SEO listings better at eliminating duplicates by pruning sections that no longer exist (#1499)
- Fixed an issue where a section with a
typeId
of0
wouldn't validate, and thus the changes to the Content SEO settings would not validate & save (#1510)
- Fixed the visual appearance of the Entry Type dropdown menu in Content SEO settings
- Made the SEO preview sidebar UI more consistent with Craft (#1497)
- Fixed an issue where GraphQL or Meta Container endpoint requests that had a token set were not being caches separately
- Also add any
token
to the meta container cache key for regular requests - Fixed an issue where using "Single Page" for the Sitemap Page Size setting would cause an exception to be thrown when generating the sitemap (#1498)
- Renamed the Regenerate Sitemaps Automatically setting to Invalidate Sitemap Caches Automatically for clarity
- Fixed an issue where getting the sitemaps via GraphQL and meta container endpoint only retrieved the first page since the switch to paginated sitemaps (#1492)
- Fixed an issue where saving an entry could be slow, because SEOmatic was pointlessly trying to regenerate the sitemap cache (which is no longer a thing with paginated sitemaps) (#1494)
- Remove queue generated sitemaps, switch to paginated sitemaps to allow them to be rendered at web response time, but still be managable in size
- Added a setting in Plugin Settings -> Tags to specify which site should be used as the
x-default
forhreflang
tags (1162)
- Moved where paginated
hreflang
tags are added for paginated pages, so that they can be overriden via Twig templating code. They are now added inside ofseomatic.helper.paginate()
- Fixed an issue that could cause an exception to be thrown if the selected asset for the Creator or Identity brand image was deleted (#1472)
- Fixed an issue where the SEO preview for SEO Settings fields and the sidebar wouldn't be displayed correctly for drafts (#1449)
- Changed the location of the site selection menu to match Craft styling (#1467)
- Fixed an issue where the down and up arrows were reversed for sorting purposes
- Fixed an issue where nested Matrix entries that have URLs would throw an exception (#1456)
- Ensure that
getTransformByHandle()
is passed a string
- Fix regression of
getAssetTransforms()
->getImageTransforms()
- Stable release for Craft 5
- Added the ability to choose the Asset Transform to apply to images in the sitemap (#1407)
- Fixed a regression in
extractTextFromField
that could cause it to not render properly by being more explicit, looking only for arrays orCollections
inisArrayLike()
(#1441) - Fixed an issue where the
typeId
coming in from editing the Content SEO settings was a string, when it needed to be cast to an integer (#1442) (#1368) - Fixed an issue where the Copy Settings From menu didn't work correctly for multiple entry types (#1368)
- Remove support for SuperTable, since in Craft 5 they are converted to Matrix entries https://verbb.io/blog/craft-5-plugin-update#super-table
- Convert
MatrixBlock
->Entry
andMatrixBlockQuery
->EntryQuery
- Addressed an issue where if SEOmatic was set to extract text or keywords from a relation field that was eager loaded, it would extract the serialized value of the field instead of the actual text (#1415)
- Fixed a regression that would throw an exception when attempting to save the
security.txt
template (#1435)
- Add
PerplexityBot
to the defaultdisallow
list inrobots.txt
, as there's no benefit to allowing it to index your site - Allow locales to be in the format
language[_territory]
such that the territory is optional - Ensure that
security.txt
templates always end with a new line (#1429)
- Fixed an issue where a trailing slash would be added to a paginated URL that uses URL parameters and
addTrailingSlashesToUrls
wastrue
in the General config (#1401) - Fixed an issue where clicking the SEOmatic CP nav item would result in a 403 exception if the current user didn't have permission to view the SEOmatic dashboard (#1410)
- Fixed an issue where an exception could be thrown when generating a sitemap with assets, and the field mapping was empty (#1425)
- Fixed an issue where the
@id
in themainEntityOfPage
JSON-LD wouldn't be correct if theidentity
andcreator
were not the same (#1431)
- Added the ability to generate a News Sitemap for any Section
- Added an SEOmatic Debug Toolbar Panel setting to Plugin Settings → Advanced that lets you control whether the SEOmatic Debug Toolbar panel is added to the Yii2 Debug Toolbar (if it is enabled)
- Updated to schema.org v26.0, fixes (#1420)
- Completely revamped the documentation to hopefully make it more accessible & useful (thanks to Matt Stein @ Adjacent)
- PHPstan code cleanup
- Fixed an issue that would cause assets in Neo blocks to not appear as images in the sitemap
- Fixed an issue that would cause assets in SuperTable blocks to not appear as images in the sitemap
- Fixed an issue with missing classes in
Sitemap
helper - Fixed an issue that would cause text in Neo blocks to not get extracted
- Fixed a regression where the
robots
tag would be set tonone
for CP requests, which is incorrect, because GraphQL and meta container endpoints are CP requests (#1414)
- Add
phpstan
andecs
code linting - Add
code-analysis.yaml
GitHub action - Added a custom Field icon
getContentColumnType()
->dbType()
, addphpType()
in the Field classes- PHPstan code cleanup
- ECS code cleanup
- Fixed an issue where
DynamicMeta
didn't properly take into account thatrobots
can be a comma delimited list of values now (#1399) - Fixed an issue where a
robots
setting ofnone
ornoindex
in the Content SEO settings make it impossible to override therobots
setting in an SEO Settings field (#1399) - Added the unused
static
to the Tailwind CSSblocklist
to avoid a name collision with a Craft CSS class (#1412) - Added
webp
andgif
as allowed social media image formats now that the social media sites accept them, and guard against no transform existing (#1411) - Fixed an issue with the Sites menu styling
- Fixed an issue where matrix blocks in an entry would throw an error when saving, because they have no section (#1406)
- Initial beta release for Craft CMS 5