feat: bring back EXT:yoast_seo

Editors need its focus keyword and readability analysis in the page form.
Version 12.1 supports TYPO3 13.4 and keeps the existing tx_yoastseo_* data
of the TYPO3 10 database.

The deploy's extension:setup adds its new pages columns and tables. After
the deploy, run the upgrade wizard yoastDashboardWidgetMigrate (it moves the
yoast "pages without meta description" dashboard widget to the core one).

In the frontend, yoast adds WebSite and BreadcrumbList JSON-LD to every page.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
frommeandClaude Opus 5.5 committed 2026-10-25 14:47:49 +01:00
1 parent d9f74e271e
commit b39f17886f
2 files changed
+165 -2

No files matched your search

+2 -1
View File
@@ -49,7 +49,8 @@
"typo3/cms-sys-note": "^13.4",
"typo3/cms-tstemplate": "^13.4",
"typo3/cms-viewpage": "^13.4",
"typo3/cms-webhooks": "^13.4"
"typo3/cms-webhooks": "^13.4",
"yoast-seo-for-typo3/yoast_seo": "^12.1"
},
"repositories": [
{
Generated
+163 -1
View File
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "f1134476988f3bf5d2a3a74092cdb285",
"content-hash": "c1db37c5c31e87b85ee7db5788ca99c8",
"packages": [
{
"name": "b13/container",
@@ -2055,6 +2055,79 @@
},
"time": "2026-08-18T06:18:41+00:00"
},
{
"name": "maxserv/frontend-request",
"version": "2.0.1",
"source": {
"type": "git",
"url": "https://github.com/MaxServ/frontend-request.git",
"reference": "527296df01a6370bf3ad40d6514a3538129f1bc6"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/MaxServ/frontend-request/zipball/527296df01a6370bf3ad40d6514a3538129f1bc6",
"reference": "527296df01a6370bf3ad40d6514a3538129f1bc6",
"shasum": ""
},
"require": {
"ext-json": "*",
"php": "^8.2",
"typo3/cms-backend": "^12.4.25 || ^13.4 || ^14.1",
"typo3/cms-core": "^12.4.25 || ^13.4 || ^14.1",
"typo3/cms-frontend": "^12.4.25 || ^13.4 || ^14.1"
},
"replace": {
"typo3-ter/frontend-request": "self.version"
},
"require-dev": {
"composer/class-map-generator": "^1.3.4",
"dg/bypass-finals": "^1.8",
"ergebnis/composer-normalize": "^2.43",
"friendsofphp/php-cs-fixer": "^3.60.0",
"php-parallel-lint/php-parallel-lint": "^1.4",
"phpstan/extension-installer": "^1.0",
"phpstan/phpstan": "^1.12 || ^2.1",
"phpunit/phpunit": "^10.1 || ^11.2.5",
"saschaegerer/phpstan-typo3": "^1.10 || ^2.1 || ^3.0.1",
"typo3/coding-standards": "^0.7.1 || ^0.8.0",
"typo3/testing-framework": "^7.1.0 || ^8.2.0 || ^9.5.0"
},
"type": "typo3-cms-extension",
"extra": {
"typo3/cms": {
"web-dir": ".Build/public",
"extension-key": "frontend_request"
}
},
"autoload": {
"psr-4": {
"MaxServ\\FrontendRequest\\": "Classes/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"GPL-3.0-or-later"
],
"authors": [
{
"name": "Team MaxServ",
"email": "[email protected]",
"homepage": "https://maxserv.com"
}
],
"description": "Helper extension to make a frontend request from the backend of TYPO3 using javascript.",
"homepage": "https://maxserv.com",
"keywords": [
"MaxServ",
"TYPO3 CMS"
],
"support": {
"docs": "https://docs.typo3.org/p/maxserv/frontend_request/main/en-us/",
"issues": "https://github.com/MaxServ/frontend-request/issues",
"source": "https://github.com/MaxServ/frontend-request"
},
"time": "2026-04-30T08:31:29+00:00"
},
{
"name": "nikic/php-parser",
"version": "v5.9.0",
@@ -8855,6 +8928,95 @@
"source": "https://github.com/webmozarts/assert/tree/2.5.0"
},
"time": "2026-10-05T23:14:19+00:00"
},
{
"name": "yoast-seo-for-typo3/yoast_seo",
"version": "12.1.2",
"source": {
"type": "git",
"url": "https://github.com/Yoast/Yoast-SEO-for-TYPO3.git",
"reference": "1287de1607a20976390a5adaaa6db57f2301a4c5"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Yoast/Yoast-SEO-for-TYPO3/zipball/1287de1607a20976390a5adaaa6db57f2301a4c5",
"reference": "1287de1607a20976390a5adaaa6db57f2301a4c5",
"shasum": ""
},
"require": {
"ext-json": "*",
"maxserv/frontend-request": "^2.0",
"php": "^8.2",
"typo3/cms-backend": "^12.4.25 || ^13.4 || ^14.3",
"typo3/cms-core": "^12.4.25 || ^13.4 || ^14.3",
"typo3/cms-extbase": "^12.4.25 || ^13.4 || ^14.3",
"typo3/cms-fluid": "^12.4.25 || ^13.4 || ^14.3",
"typo3/cms-frontend": "^12.4.25 || ^13.4 || ^14.3",
"typo3/cms-install": "^12.4.25 || ^13.4 || ^14.3",
"typo3/cms-seo": "^12.4.25 || ^13.4 || ^14.3"
},
"replace": {
"typo3-ter/yoast-seo": "self.version"
},
"require-dev": {
"composer/class-map-generator": "^1.3.4",
"dg/bypass-finals": "^1.8",
"ergebnis/composer-normalize": "^2.43",
"friendsofphp/php-cs-fixer": "^3.60.0",
"php-parallel-lint/php-parallel-lint": "^1.4",
"phpstan/extension-installer": "^1.0",
"phpstan/phpstan": "^1.12 || ^2.1",
"phpunit/phpunit": "^10.1 || ^11.2.5",
"saschaegerer/phpstan-typo3": "^1.10 || ^2.1 || ^3.0.1",
"typo3/coding-standards": "^0.7.1 || ^0.8.0",
"typo3/tailor": "^1.7",
"typo3/testing-framework": "^7.1.0 || ^8.2.0 || ^9.5.0"
},
"suggest": {
"typo3/cms-dashboard": "Display Yoast SEO widgets within the Dashboard of TYPO3"
},
"type": "typo3-cms-extension",
"extra": {
"typo3/cms": {
"web-dir": ".Build/public",
"extension-key": "yoast_seo"
}
},
"autoload": {
"psr-4": {
"YoastSeoForTypo3\\YoastSeo\\": "Classes/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"GPL-3.0-or-later"
],
"authors": [
{
"name": "Team Yoast",
"email": "[email protected]",
"homepage": "https://yoast.com"
},
{
"name": "Team MaxServ",
"email": "[email protected]",
"homepage": "https://maxserv.com"
}
],
"description": "Yoast SEO for TYPO3",
"homepage": "https://yoast.com",
"keywords": [
"MaxServ",
"TYPO3 CMS",
"seo",
"yoast"
],
"support": {
"docs": "https://docs.typo3.org/p/yoast-seo-for-typo3/yoast_seo/main/en-us/",
"issues": "https://github.com/Yoast/Yoast-SEO-for-TYPO3/issues",
"source": "https://github.com/Yoast/Yoast-SEO-for-TYPO3"
},
"time": "2026-07-08T13:20:01+00:00"
}
],
"packages-dev": [