yoast-seo-for-typo3/yoast_seo
Yoast SEO for TYPO3
12.1.2
1.8M downloads/mo
#4869 most downloaded on Packagist
Yoast/Yoast-SEO-for-TYPO3
What this package is like to depend on
Last release 1 months ago
08 Jul 2026
Release timing varies
gaps range from 2 weeks to 10 months
Most releases are documented
notes for 57 of 68 stable releases
Nothing withdrawn
no release was ever pulled
10 years old
69 releases · first in 2017
4 releases in the last 12 months
see the full history below
Release timeline
69 releases · Feb 2017 to Jul 2026Releases
latest 60 of 69-
12.1.208 Jul 2026Release notes
Open source →What's Changed
- [BUGFIX] Optimize prominent words and linking suggestions performance, prevent prominent words to be copied when pages are copied by @RinyVT in #675
Full Changelog: 12.1.1...12.1.2
IMPORTANT
It may be possible that there are prominent words in the database that are corrupt (
site=0,uid_foreign=0,tablenames='') due to copying pages, this easy query will clean this up:DELETE FROM tx_yoastseo_prominent_word WHERE tablenames = '' AND uid_foreign = 0;Release notes
Open source →Fixed
- Prevent prominent words from being copied when pages are copied. The copied records were corrupted because
uid_foreign,tablenamesandsitehave no TCA configuration and were dropped by the DataHandler, ending up with their database defaults. A newProminentWordCopyPreventionHookremoves prominent word writes from the DataHandler datamap so the copied page is re-analyzed on first use instead - Optimized prominent words and linking suggestions performance:
- Load all document frequencies once per scoring run with a single index-covered aggregation query instead of once per candidate batch
- Stream the document frequency rows with
fetchAssociative()instead of buffering them all in memory - Fetch all matching record groups in a single query and chunk them in PHP instead of paging through the table with
setMaxResults/setFirstResult - Skip the linking suggestions analysis when the CKEditor content has not changed, and skip the AJAX request entirely when the content has no prominent words
-
12.1.122 Jun 2026Release notes
Open source →What's Changed
- [BUGFIX] Split up user setting field registration between 12/13 and 14 to fix exception by @RinyVT in #659
- [BUGFIX] Do not preview website title if config.showWebsiteTitle is false by @Mabahe in #655
- [BUGFIX] Fixed analysis heading color in dark mode, hide inclusive language icon in TCA form when disabled by @RinyVT in #661
- [BUGFIX] Exclude TYPO3 12 tests from security advisories to prevent failing tests by @RinyVT in #667
- [BUGFIX] Fix exception when editing records with sys_language_uid -1 by @BastiLu in #666
- [BUGFIX] Code coverage now includes functional instead unit two times, added extra excluded directories/files for TER release by @RinyVT in #670
- [BUGFIX] RecordCanonicalListener now uses standalone ContentObjectRenderer for TYPO3 13 and 14 by @RinyVT in #669
- [BUGFIX] Updated LinkingSuggestionsService to sort correctly and base batchSize of group sizes by @RinyVT in #673
- [BUGFIX] Check if columns for seo/readability score exist before saving inside SaveScoresService by @RinyVT in #668
New Contributors
Full Changelog: 12.1.0...12.1.1
Release notes
Open source →Fixed
- Split up the user settings field for 12/13 and 14 to prevent issues with the TCA changes in TYPO3 14
- Analysis heading color in dark mode
- Inclusive language check icon in TCA form which was visible even when the check was disabled
- Added additional files and folders to exclude from TER release
- Excluded TYPO3 12 composer install from security advisory since latest public version is marked as vulnerable
- Check if score columns exist in the table before trying to save scores to prevent errors when the columns do not exist on custom records
RecordCanonicalListenernow mimics the url creation of coreCanonicalGeneratorinstead of relying on TSFE->cObj which doesn't exist anymore in TYPO3 14- Do not render the website title in the snippet preview if
showWebsiteTitleis false - Fallback to default language if request language is "All Languages" inside
SiteService - Optimized queries, grouping and batching inside
LinkingSuggestionsService
Changed
- Code coverage now uses TYPO3 14 as the base for the coverage report
-
12.1.008 May 2026Release notes
Open source →Changed
- Updated all underlying Yoast and Wordpress libraries to the latest versions
- Migrate to the new PHP-based documentation rendering
Fixed
- Optimized BodyParser to support nested TYPO3SEARCH markers and allow h6 headings in the content
- Re-introduced typo3/tailor for automatic TER publishing
- Set publish workflow to run on ubuntu-latest to fix PHP compatibility errors
New Contributors
Full Changelog: 12.0.0...12.1.0
Release notes
Open source →Changed
- Updated all underlying Yoast and Wordpress libraries to the latest versions
- Migrate to the new PHP-based documentation rendering
Fixed
- Optimized BodyParser to support nested TYPO3SEARCH markers and allow h6 headings in the content
- Re-introduced typo3/tailor for automatic TER publishing
- Set publish workflow to run on ubuntu-latest to fix PHP compatibility errors
-
12.0.021 Apr 2026Release notes
Open source →Yoast SEO for TYPO3 — Release Notes v12.0.0
We're excited to announce the release of Yoast SEO for TYPO3 v12.0.0! This is a major release that brings TYPO3 14 support, powerful new analysis features, social media previews, and significant under-the-hood improvements.
⚠️ This release contains breaking changes. Please review the Breaking Changes section carefully before upgrading.
🚀 Major Features
TYPO3 14 Support
Yoast SEO for TYPO3 now fully supports TYPO3 14, ensuring compatibility with the latest version of the TYPO3 CMS.
Social Previews for Open Graph and X/Twitter
Preview how your content will appear when shared on Facebook (Open Graph) and X (formerly Twitter) directly from the TYPO3 backend. Optimize your social sharing without leaving your editor.
Inclusive Language Analysis
A new inclusive language analysis is now available alongside the existing SEO and Readability analyses. This feature helps editors write more inclusive and welcoming content.
This analysis is disabled by default and can be enabled through a feature toggle, see the documentation.
Frontend Request Functionality Extracted
The functionality for making requests to the frontend from the backend has been moved to a separate, reusable package:
maxserv/frontend-request. This separation improves maintainability and allows other extensions to benefit from the same functionality.Backend JavaScript Rewritten in TypeScript
The entire backend JavaScript codebase has been rewritten in TypeScript. The Yoast components are now consumed exclusively as web components, keeping the extension aligned with TYPO3 core practices and making it easier for external contributors to work on the codebase.
✨ Minor Features
Per-Page Analysis Toggle
The previous "Hide snippet preview" option has been split into two independent toggles:
- Hide snippet preview — controls visibility of the snippet preview only.
- Disable analysis — disables the SEO, readability, and inclusive language analyses for a page.
You can now hide the snippet preview without disabling the analysis (and vice versa). Disabling the analysis on a page also prevents that page from appearing in internal linking suggestions.
An upgrade wizard is provided to migrate the existing flag to the new structure, preserving current behavior for all pages.
Frontend Request Cache Toggle
A new feature toggle has been added to fully disable the cache on the frontend request, helping to prevent edge cases in specific environments and setups.
See the documentation for the correct feature toggle.
🔧 Improvements
- Linking suggestions performance — improved database schema and optimized queries for faster, more efficient internal linking suggestions.
- Translation handling — improved score saving for translated pages.
- Snippet preview — the website title is now displayed in the snippet preview.
- Slug analysis — the page slug is now taken into account during analysis.
- Language support — added support for the
gu(Gujarati) andlo(Lao) locales. - Test coverage — updated and expanded both functional and unit tests.
- Codebase cleanup — extensive refactoring including class splitting, general improvements, and removal of legacy classes.
⚠️ Breaking Changes
Please review these carefully before upgrading.
Dropped: TYPO3 11 Support
TYPO3 11 is no longer supported. Please ensure your installation is on TYPO3 12, 13, or 14 before upgrading.
Dropped: PHP 8.0 and 8.1 Support
The minimum required PHP version is now PHP 8.2.
Removed:
ModifyPreviewEventThe
ModifyPreviewEventhas been removed. It has been replaced byModifyUrlEventfrom the newmaxserv/frontend-requestpackage.If you have custom code listening to
ModifyPreviewEvent, you will need to update it to useModifyUrlEventinstead.
📦 Upgrading
Before upgrading, make sure your environment meets the new requirements:
- TYPO3 12, 13, or 14
- PHP 8.2 or higher
After upgrading, run the TYPO3 upgrade wizards to migrate the legacy "Hide snippet preview" flag to the new split flags.
Release notes
Open source →Breaking
- Dropped support for TYPO3 11
- Dropped support for PHP 8.0 and 8.1, now requires PHP 8.2+
- Added new dependency
maxserv/frontend-requestfor handling frontend requests- Removed
ModifyPreviewUrlEventevent - useModifyUrlEventfrommaxserv/frontend-requestinstead - Removed
PreviewHandlerAJAX handler - Removed
PreviewServiceand related content extractors (ContentParser,UrlContentFetcher,HttpOptionSetter, etc.)
- Removed
- Removed
SnippetPreviewUrlGenerator- replaced bySnippetPreviewRequestDataGenerator - Removed
JavascriptServiceandJsonConfigService- replaced byJsonTranslationsService - Removed
YoastEnvironmentService - Removed
BackendYoastConfighook - replaced byBackendYoastTranslations - Removed
UsePageCacheandAfterCacheableContentIsGeneratedListener- replaced by new event listeners - Removed
PagesWithoutDescriptionDataProviderdashboard widget (use core TYPO3 widget instead) - Removed
RecordLinksViewHelper- replaced by core viewhelperbe:link.editRecord - Removed
PaginationandPaginationService- replaced by coreSlidingWindowPagination
Added
- Support for TYPO3 14
- New TypeScript-based frontend architecture replacing the legacy JavaScript implementation
- Complete rewrite of analysis, insights, and preview components in TypeScript
- New modular TypeScript source files in
Build/typescript/
- New form elements for social previews:
FacebookPreview- dedicated Facebook/Open Graph preview widgetTwitterPreview- dedicated Twitter card preview widgetAbstractSocialPreview- base class for social preview implementationsAbstractLabeledFormElement- base class for labeled form elements
- New service architecture for TYPO3 version compatibility:
FrontendServiceInterfacewithFrontendService(v13+) andLegacyFrontendService(v12)HmacGeneratorServiceInterfacewithHmacGeneratorService(v13+) andLegacyHmacGeneratorService(v12)StandaloneViewServiceInterfacewithStandaloneViewService(v13+) andLegacyStandaloneViewService(v12)
- New
FrontendRequestListenerevent listener for frontend request handling - New
PageCacheIdentifierListenerandPageCacheListenerfor cache handling - New
SnippetPreviewRequestDataGeneratorfor generating preview request data - New
SaveScoresServicefor handling score persistence - New
SiteServicefor site-related operations - New
RequestDataDTO for structured request data handling - New
PageParser/BodyParserandTitleConfigurationParserfor parsing page content - New
ModifyPageLayoutContentListenerevent listener (replacing the removed backend class) - New
TableNamesclass for centralizing database table name definitions - New
yoastSeoDisableAllCachesOnPreviewRequestfeature toggle that disables all TYPO3 caches for validated Yoast frontend requests (snippet preview, analysis, crawler) by setting thenoCacherequest attribute, ensuring the analysis always reflects the current page content. Disabled by default; only Yoast requests are affected. - New
inclusiveLanguagefeature toggle to add an inclusive language check to the analysis, disabled by default. - Various new functional and unit tests for the new architecture and features
Changed
- Updated TYPO3 version constraints: now supports TYPO3 12.4.25+, 13.4+, and 14.1+
- Complete JavaScript/TypeScript frontend rewrite:
- Migrated from legacy JavaScript to TypeScript
- New web components architecture
- Improved analysis worker implementation
- Reorganized event listeners under
EventListenernamespace - Renamed
AbstractAbstractListenertoAbstractBuilderListener - Improved internal linking suggestions handling for TYPO3 14 TCA changes
- Updated DDEV configuration:
- Removed TYPO3 v11 installation command
- Added TYPO3 v14 installation command
- Updated PHP version and configuration
- Split
tx_yoastseo_hide_snippet_previewinto two independent options:tx_yoastseo_disable_analysis(disables readability and focus-keyword scoring, clears existing scores and prominent words, prevents the crawler from indexing the page) andtx_yoastseo_hide_snippet_preview(hides only the SERP snippet preview). Upgrade wizard copies existing values to the new field so current behavior is preserved. - Restructured form elements with better separation of concerns
- Simplified
ext_localconf.php- removed IIFE wrapper, modernized hook registration - Updated GitHub Actions workflow for new TYPO3 version matrix
- Updated translations to latest versions
- Improved dark mode compatibility
- Updated documentation for the ddev setup and typescript / javascript development
- Optimized
tx_yoastseo_prominent_worddatabase performance:- Added
stem_lookupandpage_lookupindexes to eliminate full table scans in linking suggestions queries - Fixed pagination in
LinkingSuggestionsServiceto operate on distinct records instead of raw rows - Replaced massive OR chains in
getProminentWords()with groupedIN()clauses - Cached document frequency calculations to avoid redundant queries across batch iterations
- Replaced individual INSERT statements in
ProminentWordsServicewith a single bulk insert
- Added
Fixed
- Fixed merge conflict markers in CHANGELOG.md from previous release
- Fixed saving scores for translated pages
- Fixed the schema.org declaration inside the structured data providers (removed www. from the URL)
Removed
- Legacy JavaScript files (
plugin.js,yoastModal.js,yoastModalEs6.js) - Legacy layout template (
Resources/Private/Layouts/Legacy.html) - Legacy crawler template (
Resources/Private/Templates/Crawler/Legacy.html) PagesWithoutMetaDescriptionWidgettemplate (functionality moved to core TYPO3)- PHPStan configuration for TYPO3 11 (
Build/phpstan/phpstan.cms11.neon) - Various unit tests for removed controllers
-
11.1.001 Jul 2025Release notes
Open source →Added
- Extra database indexes for
tx_yoastseo_related_focuskeywordandtx_yoastseo_prominent_wordto speed up the queries for retrieval (thanks to @helsner)
Fixed
- Set fixed width and height for svg icons within the score bar on top of the page view
- Set the color of the Yoast module svg to
currentcolorto fix both dark and light mode in TYPO3 13 (thanks to @bmoex)
Release notes
Open source →Added
- Extra database indexes for
tx_yoastseo_related_focuskeywordandtx_yoastseo_prominent_wordto speed up the queries for retrieval
Fixed
- Set fixed width and height for svg icons within the score bar on top of the page view
- Set the color of the Yoast module svg to
currentcolorto fix both dark and light mode in TYPO3 13
- Extra database indexes for
-
11.0.202 Apr 2025Release notes
Open source →Fixed
translationsandsupportedLanguagesare added to theYoastConfigvariable within the Crawler module to fix the crawling process- Removed the
loadevent listener for setting the seo title placeholder, this is now executed immediately - Added fallback to
en_GBif no backend locale is found to prevent missing translations - Re-added
typo3/tailorto dev dependencies to fix automatic publishing to TER
Release notes
Open source →Fixed
translationsandsupportedLanguagesare added to theYoastConfigvariable within the Crawler module to fix the crawling process- Removed the
loadevent listener for setting the seo title placeholder, this is now executed immediately - Added fallback to
en_GBif no backend locale is found to prevent missing translations - Re-added
typo3/tailorto dev dependencies to fix automatic publishing to TER
-
11.0.113 Mar 2025Release notes
Open source →Fixed
- Added
ignorePageTypeRestrictionto thetx_yoastseo_prominent_wordTCA to prevent page copy problems (thanks to @chrissonntag)
Release notes
Open source →Fixed
- Added
ignorePageTypeRestrictionto thetx_yoastseo_prominent_wordTCA to prevent page copy problems
- Added
-
11.0.014 Feb 2025Release notes
Open source →Breaking
- Replaced the
urlToCheckhook with a new PSR-14ModifyPreviewUrlevent
Added
- Added "Flesh reading score" to the Insights
- Added "Reading time" to the Insights
- Added "Word count" to the Insights
- New testing setup for unit, functional and acceptance tests
- Translations script to download translations from GlotPress (wordpress)
Changed
- Updated all the underlying Yoast libraries to the latest version
- Added custom combine-reducers package to replace the existing one with CSP issues
- Moved all build related files to the
Builddirectory - Lots of splitting up code and moving it to separate classes
- Updates scss files to work with the new dark mode in TYPO3 13
- Labels for Readability and SEO score are now taken from the Yoast translations instead of xlf
- Moved
tx_yoastseo_hide_snippet_previewto the SEO tab - PHPStan level set to 8
Fixed
- CSP issues within the
Cornerstoneform element and the Dashboard backend module - Dark mode styling for the Dashboard and Overview backend module
- Ajax Calls for
saveScoresandprominentWordshave the correct JSON header now - (TYPO3 12+) Language id is now taken from
moduleDatawithin the request object for displaying the snippet preview- All languages mode now shows the default language instead of nothing
- Optimized images that are used in the Dashboard module and load them directly instead of through
f:image- Removed old unused images
- Translations are now correctly loaded based on the backend locale
Release notes
Open source →Breaking
- Replaced the
urlToCheckwith a newModifyPreviewUrlevent
Added
- Added "Flesh reading score" to the Insights
- Added "Reading time" to the Insights
- Added "Word count" to the Insights
- New testing setup for unit, functional and acceptance tests
- Translations script to download translations from GlotPress (wordpress)
Changed
- Updated all the underlying Yoast libraries to the latest version
- Added custom combine-reducers package to replace the existing one with CSP issues
- Moved all build related files to the
Builddirectory - Lots of splitting up code and moving it to separate classes
- Updates scss files to work with the new dark mode in TYPO3 13
- Labels for Readability and SEO score are now taken from the Yoast translations instead of xlf
- Moved
tx_yoastseo_hide_snippet_previewto the SEO tab - PHPStan level set to 8
Fixed
- CSP issues within the
Cornerstoneform element and the Dashboard backend module - Dark mode styling for the Dashboard and Overview backend module
- Ajax Calls for
saveScoresandprominentWordshave the correct JSON header now - (TYPO3 12+) Language id is now taken from
moduleDatawithin the request object for displaying the snippet preview- All languages mode now shows the default language instead of nothing
- Optimized images that are used in the Dashboard module and load them directly instead of through
f:image- Removed old unused images
- Translations are now correctly loaded based on the backend locale
og_imageandtwitter_imagenow have the correctforeign_match_fields->tablenameswhen using the Record functionality
- Replaced the
-
10.1.027 Jan 2025Release notes
Open source →Added
TypoScriptStructuredDataProviderto add structured data to the page, configured with TypoScript (premium functionality)
Fixed
- Renamed
JavascriptModules.phptoJavaScriptModules.php
Removed
- Premium support mention within the documentation
Full Changelog: 10.0.0...10.1.0
Release notes
Open source →Added
TypoScriptStructuredDataProviderto add structured data to the page, configured with TypoScript (premium functionality)
Fixed
- Renamed
JavascriptModules.phptoJavaScriptModules.php
Removed
- Premium support mention within the documentation
-
10.0.015 Oct 2024Release notes
Open source →Breaking
- Dropped support for TYPO3 10
- Dropped support for PHP 7
- Removed
DbalServicewhich was used to support olderdoctrine/dbalversions for TYPO3 10 - Removed
ArrayPaginatorwhich was used to support TYPO3 10 - Changed the structure of the overview filters for the
Overviewbackend module- Instead of registering it in the
EXTCONFthe filters are now registered through theServices.yaml - Extra methods have been added to the
OverviewDataProviderInterfaceas a replacement of the array configuration - DataProviders are now initialized with a new
DataProviderRequestDTO object
- Instead of registering it in the
Added
- Support for TYPO3 13
- Upgrade wizard to migrate the dashboard widget "Pages without meta description" to the core widget
Changed
- Update ddev configuration with latest changes from https://github.com/a-r-m-i-n/ddev-for-typo3-extensions
- Added
ddev composer-install-dashboard $VERSIONandddev composer-remove-dashboard $VERSIONcommands to simplify testing dashboard widgets - Added
ddev composer-update-all $VERSIONto update all composer dependencies to the latest version
- Added
Release notes
Open source →Breaking
- Dropped support for TYPO3 10
- Dropped support for PHP 7
- Removed
DbalServicewhich was used to support olderdoctrine/dbalversions for TYPO3 10 - Removed
ArrayPaginatorwhich was used to support TYPO3 10 - Changed the structure of the overview filters for the
Overviewbackend module- Instead of registering it in the
EXTCONFthe filters are now registered through theServices.yaml - Extra methods have been added to the
OverviewDataProviderInterfaceas a replacement of the array configuration - DataProviders are now initialized with a new
DataProviderRequestDTO object
- Instead of registering it in the
Added
- Support for TYPO3 13
- Upgrade wizard to migrate the dashboard widget "Pages without meta description" to the core widget
Changed
- Update ddev configuration with latest changes
from https://github.com/a-r-m-i-n/ddev-for-typo3-extensions
- Added
ddev composer-install-dashboard $VERSIONandddev composer-remove-dashboard $VERSIONcommands to simplify testing dashboard widgets - Added
ddev composer-update-all $VERSIONto update all composer dependencies to the latest version
- Added
-
9.0.318 Dec 2023Release notes
Open source →Fixed
- Prevent undefined array key warning within
LinkingSuggestionsService - Missing label of the tx_yoastseo_prominent_word table
- Removed exclude=true from tx_yoastseo_prominent_word fields, table already has hideTable
- Use
websiteTitleof site configuration within snippet preview, previously this was only taken from site languages instead of the site itself
Changed
- Updated mentions of the premium extension within the documentation
- Prevent undefined array key warning within
-
9.0.218 Sep 2023Release notes
Open source →Fixed
- Show warning on linking suggestions when the language cannot be retrieved from the content element, use the default language in case "All Languages" is selected
- Added extra checks within the metatag generators in case fields do not exist ( opengraph, twitter, robots)
hasSitemapFieldsnow correctly returns thesitemapFieldsinstead ofyoastSeoFields- Filter the columns to import from the old premium database table before
inserting in the new table within
MigratePremiumFocusKeywords accessfromuser,grouptouserwithin the configuration for backend modules (Configuration/Backend/Modules.php)
-
9.0.105 Jul 2023Release notes
Open source →Fixed
- Content Security Policy issues in CMS12 by adding extra parameter within BackendYoastConfig and removing unnecessary inline code within FocusKeywordAnalysis.html
- Removed loading of
extended-list-widget.min.csswithinPageOverviewWidget doctrine/dbal2.10 support by addingDbalServicewhich checks for the TYPO3 major version, if 10 then use the oldfetchmethods- Loading state of internal linking suggestions when the bodytext is empty (e.g. new content element)
- Avoid exceptions because of broken showitem tt_content types
- PHP warnings within several Form classes due to non-existing doktype index within databaseRow array
- Favicons with relative urls or urls with a port
- Caught InvalidArgumentException within BreadcrumbStructuredDataProvider when the current site language does not exist
-
9.0.012 Jun 2023Release notes
Open source →Breaking
- Dropped support for CMS9
- API for
overview_filtershas changed, instead ofgetDataproviders should have agetResults(array $pageIds)method (seeOverviewDataProviderInterface) - Removed
get_focus_keywordhook, was not used anymore
Added
- Support for CMS12
- New feature to automatically activate Yoast SEO functionality on custom records
- Upgrade wizard for migrating premium redirects to
sys_redirect - Features from the premium version:
- Related keyphrases with their own synonyms
- Insights to show prominent words on a page
- Internal linking suggestions within content elements based on the prominent words
- Crawler backend module to update Yoast data for complete sites
- Orphaned content view within the Overview module
- Advanced robots: nosnippet, noimageindex, noarchive
- Typoscript functionality for Structured Data
- Dashboard widgets for Orphaned content and pages without meta description
- Upgrade wizards for migration premium focus keywords and redirects
- Introduced custom ModeSwitcher to create a different Mobile/Desktop switcher within the preview
Changed
- Restructured backend modules to work with CMS10, CMS11 and CMS12. Introduced
legacyactions for CMS10 - Simplified
ext_localconfandext_tables.php- Removed
TYPO3_MODEchecks - Introduced
ConfigurationUtilitywhich provides the default configuration and nodes for the formEngine and - Merged adding the
YoastConfigjavascript and backend CSS into oneBackendYoastConfighook
- Removed
- Introduced
SnippetPreviewServicewhich bothPageLayoutHeaderandSnippetPreviewuse to render the snippet preview - Optimized
SnippetPreviewby removing unnecesary code and raw html - Simplified
PageLayoutHeader, moved all html to separate fluid template, removedAbstractPageLayoutHeaderandPageLayoutHeaderService - Simplified all the FormEngine node classes
- The backend module
Overviewnow needs a valid page selected from the tree, this is to retrieve the languages from the currently selected site - Updated
AdditionalPreviewData, removed old methods to check forgetWebsiteTitle(always available now) - Updated dev-dependencies to latest (usable) versions and fixed CI build
- Removed old
linkingSuggestions.jsfromdist - Removed upgrade wizards for old canonical and seo title fields
- Simplified
.gitattributes - Updated and removed old grunt configuration, fixed sass build
Removed
- Premium backend module
- All references for premium including all related javascript modals
-
9.0.0-alpha-116 Aug 2022 pre-releaseRelease notes
Open source →Breaking
- Dropped support for PHP <7.4
Added
- New feature to automatically activate Yoast SEO functionality on custom records
Changed
- All javascript related build configuration (grunt, webpack) has been moved to
the
gruntdirectory - All build related files (phpstan, phplint, php-cs-fixer) has been moved to the
.Builddirectory - Removed ext_icon.png, Extension.svg already present in
Resources/Public/Icons - Updated all code with typed properties and arguments, minor cleanups
-
8.3.103 Aug 2022Release notes
Open source →Fixed
- Github CI pipelines by adding the correct "allow-plugins" to composer.json
-
8.3.003 Aug 2022Release notes
Open source →Fixed
- Lists within the Overview module now take the "DB Mounts" of a user into account
- Optimized pagination of Overview module
- Fixed PHP8 error when the metatag
x-yoast-title-config(for some reason) cannot be read from the frontend - Added extra try-catch block to catch guzzle exceptions within
PreviewService - Path to the Yoast Backend CSS for the new composer mode
-
8.2.023 Jun 2022Release notes
Open source →Added
- Support for new TYPO3 composer mode
Changed
- Replaced javascript React classes with functional components
- Updated a lot of npm packages
- Updated documentation structure
Fixed
- Adjusted analysis calls when there is more than 1 related keyphrase due to bug in "yoastseo" npm package
- PHP8 fixes:
- Prevent 'undefined array key' warnings with PHP8 when
EXTCONFallowedDoktypes missing - Warning within
FocusKeywordAnalysis.php - Notice exceptions within
SnippetPreviewandPreviewService
- Prevent 'undefined array key' warnings with PHP8 when
- Ignore hidden pages within
BreadcrumbStructuredDataProvider - CGL issue within
YoastUtility - Wrong PHP array Syntax within StructuredDataProvider documentation
- Deprecated extension name usage within ext_tables.php
- Loading issues with the title and description progress bar
- Display issue with the title progress bar within CMS11
- Usage of deprecated cache name within
StructuredDataProviderManager
-
8.1.024 Nov 2021Release notes
Open source →Added
- PHP8 Support (for CMS11)
- Fully updated the documentation
Fixed
getPreviewPageIdnow always returns an integer (used for custom records analysis)- Removed old include of
constants.typoscript - Fatal error from
PageLayoutHeaderwhen you select "All Languages" in CMS11 is now gone - Composer
branch-aliasis updated .gitattributesis updated to exclude more files/directories- Added
min-heightto the preview container to prevent (most of the) layout shifting while preview is loading additionalGetVarsare now url-decoded before generating the preview uri ( used for custom records analysis)
-
8.0.004 Oct 2021Release notes
Open source →Breaking changes
- Dropped CMS8 support
- All AJAX requests are now done through the Backend AjaxRoutes
- Canonical and XmlSitemap functionality has been removed, provided by
EXT:seo - Support for
pages_language_overlayis removed
- Dropped the
urlToCheckhook forPageLayoutHeaderwhich was introduced by moving thegetUriToCheck, this is now only available forUrlService(as it was before) - Without a meta description, only a placeholder is being shown in the snippet preview. Previously content from the page was being shown, but this hurts the analysis.
Added
- CMS11 support
- Introduced strict typing and return-types to all classes
YoastConfigInlineJshook to make it possible to add to the YoastConfig JSON from multiple classes- Replaced the
widget.paginateviewhelper call with within the Overview functionality with the Pagination API, added backport classes for CMS9 - Placeholders for the Premium functionalities "Insights" and "Advanced robots"
Changed
- Updated underlying yoastseo javascript libraries
- Restructured
PageLayoutHeaderhook by introducingAbstractPageLayoutHeaderandPageHeaderServiceto save generated information - Removed RouteEnhancerError check within
PageLayoutHeaderbecause all AJAX requests are now done through Backend AjaxRoutes - Moved
getUriToCheckmethod toUrlService - Updated Premium information within backend module and all modals
- Removed
linkingSuggestionsjavascript from extension, unused and caused an extra 2.5MB on the extension size - Huge cleanup of whole extension
Fixed
- Check if the content returned by the HTTP request for the snippet preview is
not
false - Removed unused
$invertfunctionality withinstripTagsContentinPreviewService - Removed semicolon from generated LD+JSON
- Changed
breaktocontinuewithinStructuredDataProviderManagerto prevent only first provider rendering from cache - Set TCA fields without a database column to
type=none TYPO3_MODE=FEchecks added to the pageRenderer hooks to prevent errors in other extensions- Re-added
worker.jsto Javascript build - php-cs-fixer configuration
- Dropped CMS8 support
-
7.2.412 Aug 2021Release notes
Open source →Fixed
- additionalGetVars are working again for CMS8 (used for record analysis)
- Removed accidental
gitkeyword within content reducer to avoid javascript console errors localeextraction, which is used to determine the language for analysis, now works for locales with a hyphen (e.g.en-US) and for html tags with extra attributes
-
7.2.310 Aug 2021Release notes
Open source →Fixed
- Removed XSS possibilities within snippet preview and structured data
-
7.2.225 Jun 2021Release notes
Open source →Fixed
twitter:cardis now rendered for CMS8- Records with language setting "All" (
-1) have a fallback to language id0now urltoCheckhook works again, regression fix as the url-generation had been moved toAjaxController- Minor updates in various javascript-dependencies
-
7.2.126 Apr 2021Release notes
Open source →Fixed
- Passing through the completely generated uri as an
uriToCheckparameter has been removed, url generating now happens within AjaxController based on page and language parameter
- Passing through the completely generated uri as an
-
7.2.019 Feb 2021Release notes
Open source →Added
- Possibility to use stdWrap within sitemap typoscript
Fixed
- Regular expression to parse body content is optimized
- The default favicon.ico is now loaded on subpages
- The preview page id for translated records (like EXT:news) is now correctly set
-
7.1.323 Dec 2020Release notes
Open source →Fixed
- Excluded some more unnecessary files and folders from the TER release
- Changed comment for TER release and mention this changelog
-
7.1.223 Dec 2020Release notes
Open source →Fixed
- Excluded unnecessary files and folders from the TER release so it is not to big to publish
-
7.1.123 Dec 2020 -
7.1.023 Dec 2020Release notes
Open source →Added
- If your site is secured with basic auth, we have you covered now. You can set the username and password in the settings so you are able to analyse pages that are secured by basic auth. Please be careful with adding credentials to your repository!
Fixed
- Special characters in the title of a page are now rendered correctly in the snippet preview
Changed
- Added automatic deployments to the TYPO3 Extension Repository
- A warning is added to the documentation that the Sitemap of EXT:yoast_seo should only be used in TYPO3 v8.
-
v7.0.710 Dec 2020Release notes
Open source →Fixed
- It should not matter if a backend user has backend access to the page which is used to preview. This is mainly when using Yoast SEO for records other than pages and the detail page itself is not accessible for the backend user.
-
v7.0.620 Nov 2020Release notes
Open source →Fixed
- The script adding additional information for the preview now checks if the getWebsiteTitle method exists before calling it. This prevents errors in TYPO3 v9 as this method is not availalbe there.
-
v7.0.517 Nov 2020 -
v7.0.416 Nov 2020Release notes
Open source →Fixed
- Make sure both strings and integers can be used when setting allowed doktypes
- Use the site title of the site configuration when this property is set.
- Removed usage of $_EXTKEY in ext_tables.php to prevent other extensions to crash.
Changed
- Changed the link to TypoScript file in documentation
- The JSON-LD tag will only be rendered when structured data is available
-
v7.0.321 Sep 2020Release notes
Open source →Fixed
- Make sure the path to the backend CSS is always available to show a modal. This should fix the problem of a not being able to edit a content element after updating to 7.0.2
-
v7.0.218 Sep 2020Release notes
Open source →Fixed
- Removed hardcoded links to typo3conf/ext folder
- Fixed fontsize of text width measurement to ensure we get same calculations as in the WordPress plugin of Yoast SEO
-
v7.0.107 Sep 2020Release notes
Open source →Changed
- Added a placeholder to seo_title field to show the user what the value will be if no specific SEO title is set
- Removed negative margin to avoid issues with other plugins
- Updated dependencies
Fixed
- When changing tabs in the page properties, tje preview keeps working
-
v7.0.010 Aug 2020Release notes
Open source →Breaking changes
- We removed the possibility to set the doktypes that needs to be analysed from within TypoScript. The doktypes are needed during the TCA setup and by using TypoScript some installations did crash when no database connection was already in place. The feature was never documented but it was possible so this is marked as a breaking change. Please set your allowed doktypes in your ext_localconf.php as described in the documentation.
Added
- A DDEV setup is now included in the repository to make it easy to contribute to this project and check the results in TYPO3 v8, 9 and 10. We added some information in the documentation as well.
- To be able to alter the URL that should be analysed, we introduced a hook after the link is generated. With this hook, you have the possibility to add your own logic to determine which URL to analyse. More information can be found in the documentation.
Changed
- There was a library included which was not used anymore so we removed the dependency to the nimut/testing-framework package.
- Moved from Travis to GitHub actions for the CI process
Fixed
- Removed include of empty TypoScript file which caused errors in TypoScript Object Manager when installed in non-composer-mode.
- Add missing return true to executeUpdate function in CanonicalFieldUpdate.php.
- The canonical and title fields are now rendered correctly in frontend again in TYPO3 v8
- Removed wrong information about usage of EXT:realurl in the documentation
- Fixed issue in output of structured data that caused warnings when more inline javascript was added to the frontend.
- The canonical link in TYPO3 v8 is now checking the right GET parameters while building the canonical
-
v6.0.122 Apr 2020 -
v6.0.021 Apr 2020Release notes
Open source →Added
- You can use Yoast SEO now with TYPO3 v10 LTS. We did the update without losing support for TYPO3 v8. So this update is available for TYPO3 v8, v9 and v10.
- Added word form support for Dutch (Yoast library)
- Added the transition word assessment for Hungarian (Yoast library)
Changed
- Updated Snippet Preview layout (Yoast library)
-
v5.1.110 Oct 2019Nothing published for this version
-
v5.1.020 Sep 2019Release notes
Open source →Added
- Visually updated snippet preview to match latest changes on Google.
- Favicons visible in mobile snippet preview
- Added proper error message when server is not able to access the page it wants to analyse.
Changed
- You can set the doktypes that Yoast should analyse now by
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['yoast_seo']['allowedDoktypes']in stead of TypoScript. It will still have a fallback to the old TypoScript configuration. (#283) - Altered the documentation a little bit.
Fixed
- Restored the compatibility with PHP 7.0 (#266)
- Prevent caching of page when analysing a page that is disabled. (#272)
- When the base in site configuration is only
/, the absolute URL (which is needed by the analysis) will now be based on the current domain. #279 - Made sure that if you set the allowed doktypes via
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['yoast_seo']['allowedDoktypes'], the doktypes will always be available when defining which fields in the page properties. (#283) - The right URL to analyse the content is now generated when you have a multi-site setup
-
v5.0.102 May 2019Release notes
Open source →Changed
- Updated Yoast libraries
- Added configuration to exclude certain doktypes in the structured data output for breadcrumbs
Fixed
- Fixed problems with overview module in CMS8
- Made sure the extension also works with PHP 7.0
- Resolved problems with the upgrade wizard in CMS8
- Removed message in console about translations
- Fixed styling issues with modal in page module
- Preview URL generation in page module is now only done on allowed doktypes making sure you don't get an error on the not allowed doktypes.
-
v5.0.012 Apr 2019Release notes
Open source →Added
- Basic schema.org integration helping you to give structured data to search engines. In this basic version, we will help you with your breadcrumbs and your general site information.
- Possibility for extension developers to create their own schema.org data providers
- Focus keyword is now renamed to Focus keyphrase. You can find more information about the difference on https://yoast.com/difference-between-keyword-and-keyphrase/
- All latest features now available for TYPO3 CMS v8LTS and v9LTS
- New single H1 assessment to check if only one H1 is used within the text
Changed
- For various languages, we’ll now filter out function words that precede the keyphrase in the title when analysing your title. This means that if you use words like [the], [on] or [what] before your keyphrase in the title, it won’t affect your score.
- The keyword density assessment now takes the length of the focus keyphrase into account, because it can be much harder to use a longer keyphrase in your text. In this new version, you’ll need to use your longer keyphrase less often in the text than a shorter keyphrase to get a green bullet.
- When you have no outbound links on your page, you will get a red bullet instead of an orange one.
- Check if your keyphrase is used in the alt attributes of your images.
- All the technology behind the integration is rewritten so we are future proof and can handle new updates of the Yoast SEO libraries.
Fixed
- Fixed problem with analysing pages when using a quote in your focus keyword
- When you have larger pages to analyse it could happen in previous versions that your browser crashed. Because we have rewritten the technology to analyse your content, your browser should not crash on large amounts of content anymore.
-
v4.1.016 Jan 2019Release notes
Open source →Added
- Added possibility to view snippet preview on disabled pages.
Changed
- Add check if route-enhancers are configured.
Fixed
- We fixed some multi-domain and SSL related bugs.
- Fixed HTML markup in modals in the page view.
-
v4.0.023 Oct 2018Release notes
Open source →Changed
- Added support for TYPO3 CMS 9LTS
- In the v4.x branch, we dropped support for 7LTS and 8LTS. The v3.x will still support 7LTS and 8LTS
-
v3.0.516 Jan 2019Release notes
Open source →Fixed
- The sitemap will now also show mountpoints and other expected pages and will not show pages that are not available.
- Fixed problem with RealURL auto configuration that might override earlier set configuration.
-
v3.0.424 Aug 2018Release notes
Open source →Fixed
- The update of YoastSEO.js caused some errors that needs to be investigated more. For now we reverted the update of YoastSEO.js
- Fixed error about wrong value hidden when saving a page
-
v3.0.323 Aug 2018Release notes
Open source →Fixed
- Error when creating a page via the context menu is fixed now
- Fixed the last_mod date for page records of the sitemap.xml
Changed
- Updated YoastSEO.js to version 1.38.1
-
v3.0.229 Jul 2018 -
v3.0.127 Jul 2018Release notes
Open source →Added
- Added documentation for Sitemap XML feature
Changed
- Updated YoastSEO.js to version 1.36.0
-
v3.0.025 Jul 2018Release notes
Open source →Breaking changes
- We removed the configuration for EXT:news and EXT:cal. It worked for people with these extension installed, but for several other people it was giving errors and warnings. If you are using EXT: news or EXT:cal, please see our manual to get info on how to configure EXT:news or EXT:cal to use Yoast SEO for TYPO3.
Added
- A feature a lot of people been waiting for: a sitemap.xml feature. Please check the manual how to configure it for your situation.
- For older TYPO3 versions, we added a PNG icon for the extension.
- We filter out script and style tags in the content for the snippet preview so you won't see any inline JavaScript or CSS anymore in your snippet preview.
Changed
- Updated YoastSEO.js to version 1.35.5
- We did some cleanups in the TypoScript configuration
- Added some template for issue and pull request creation on GitHub
- Updated license with additional terms
Fixed
- It is now possible to have quotes in your title or description without getting warnings.
- When you have a multi language site, the preview URL of your translation will now be determined correctly.
- When you configure Yoast SEO for TYPO3 on your own records, it is now possible (but not recommended) to have the title field on another tab as the snippet preview.
- A stupid mistake: the overview of pages without description was actually checking if a SEO title was filled. We fixed that!
- We added some database fields to prevent errors in the database migration tool.
- Also for translated pages the og:image and twitter:image is working correctly now.
- The module icons are now also working correctly in Internet Explorer
-
v2.1.009 Mar 2018Release notes
Open source →Added
- You can now mark a page as cornerstone content. Cornerstone content have more strict analysis because it are the most important pages on your website.
Changed
- Added documentation how to set fallback social images based in multisite setups
- Updated backend modules and added Premium information
Fixed
- Added some missing backend labels
-
v2.0.226 Feb 2018Release notes
Open source →Fixed
- Before showing the snippet preview in the Page module, we will now check if the user has the permissions for the right backend module
- Fixed some linting issues causing some CI processes to fail
-
v2.0.116 Feb 2018Release notes
Open source →Fixed
- You can now set fallback images for social sharing again
- Fixed TypoScript config to make it easier to override width and height of images for social sharing
-
v2.0.013 Feb 2018Release notes
Open source →Added
- Possibility to integrate Yoast SEO for TYPO3 in records of third party plugins
- Added integration with EXT:news
- Render more social metatags
Changed
- Backendmodule is split up in multiple modules to have a more clear menu and the possibility to add new modules quit easily.
- Changed way of defining metatags from template based to TypoScript to make it possible to use the core features to render metatags.
- Show score of analysis in icon and text for accessibility reasons
- Prepared several fields to be named the same as it will be in CMS9.
- Updated YoastSEO.js to version 1.29.0
Fixed
- The title prepend and append will not be saved in the databased anymore when saving the SEO title of the field.
-
v1.4.108 Jan 2018Release notes
Open source →Fixed
- Fixed syntax of Twitter cards
- Remove title prepend and append when saving the title in the snippet preview.
-
v1.4.020 Dec 2017Release notes
Open source →Added
- Added translations for backend fields
Changed
- Updated YoastSEO.js to version 1.28 which contains several enhancements. The most important is "The upper boundary of the meta description length has been changed from 156 to 320 characters"
- We now make sure you can't insert a too long title and description for your Twitter cards.
Fixed
- TypoScript is now always loaded at the right time
-
v1.3.013 Dec 2017Release notes
Open source →Added
- Added possibility to hide the analysis in Page module in your user settings
- It is now possible to disable the redering of SEO tags by the Yoast plugin in frontend on a specific page
- Add language selector in backend module so you can switch languages in the analysis
Changed
- We improved the notifications when something went wrong analysing the content. It will close automatically after 5 seconds now and will give you more detailed information.
- Don't use default rendering of title tag from TYPO3 when the Yoast plugin is enabled
- Cleanup class PageMetaRenderer
Fixed
- Added missing SEO-Title field in Page Language Overlay
- Disable snippet preview in backend, if plugin is disabled at page
-
v1.2.311 Oct 2017Release notes
Open source →Fixed
- Fixed bug with merging other page fields when uploading social image
- Disable snippet preview does now also work in localized pages
For older changelogs, check the releases on GitHub
-
v1.2.202 Oct 2017Nothing published for this version