Problem/Motivation
MyREST SEO historically provided quick access to Metatag and Simple Sitemap pages and a Metatag “routes/summary” view. The current 1.0.x needs to:
•
Re-introduce the summary page for Metatag Defaults (overview of bundles/targets with quick “Edit” links).
•
Provide a stable “Metatag settings” hub/redirect route that works across Metatag versions.
•
Make the integration predictable by declaring hard dependencies on Metatag and Simple Sitemap, so SEO links are always functional and not dead.
Proposed resolution
1)
Declare hard dependencies in myrest_seo.info.yml:
◦
dependencies:
▪
drupal:metatag
▪
drupal:simple_sitemap (Note: we keep Composer of module clean; site-level composer requires these.)
2)
Implement two new routes under MyREST SEO admin menu:
◦
myrest_seo.route_metatag_list → /admin/seo/myrest_route_metatag/list
▪
Controller: builds a table from Metatag Defaults config entities (metatag_defaults.*).
▪
Columns: Target (global/node type/taxonomy etc.), Applies to (bundle/route), Status (has overrides), Action (Edit link).
▪
Cacheability: tags config:metatag_defaults, contexts languages:language_interface.
▪
Access: administer myrest_seo, _admin_route: TRUE.
◦
myrest_seo.myrest_metatag → /admin/seo/myrest_metatag
▪
Safe redirect/hub to Metatag defaults collection (e.g., entity.metatag_defaults.collection) or to a known Metatag admin route; if route name differs by version, try a small list and fall back sensibly.
3)
Menu integration (/admin/seo): add two items
◦
“Metatag (routes/summary)” → list route above.
◦
“Metatag settings” → hub/redirect above.
4)
UX/Docs
◦
Keep existing quick links to Simple Sitemap and Robots.txt.
◦
Update README + Help (hook_help) with the two new paths and purpose.
5)
Tests
◦
Functional test for the summary page: 200 for admin, 403 for user without permission; at least one row rendered when Metatag Defaults exist; “Edit” link points to edit form.
◦
Functional test for the hub: resolves/redirects (302 or 200) to a valid Metatag admin page, not back to /admin/seo.
Issue fork myrest_seo-3567675
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
Comments
Comment #6
sergeydruua commentedComment #8
sergeydruua commented