When the SEO analysis runs on a page, Yoast renders that page with hidden pages and records temporarily made visible (so the analysis sees the full content). The problem: this rendered result gets saved into the normal, shared page cache — the same cache that regular visitors are served from.
The effect: if a hidden page shows up somewhere on the rendered page (for example in an auto-generated menu or a footer list), it suddenly becomes visible to everyone, until the cache is cleared. And it comes back every time the analysis is run again.
Happens on TYPO3 v13 and v14.
Steps to reproduce
- Build a page that lists the subpages of a folder somewhere in a shared area (e.g. a "jobs" list in the footer), where that folder contains hidden subpages. For a normal visitor the list correctly shows nothing / the empty state.
- Clear the frontend cache.
- Open the SEO analysis for that page in the backend.
- Open the same page again as a normal (logged-out) visitor.
Expected: the visitor still sees the empty list. Running the analysis should not change what the public sees.
Actual: the visitor now sees the hidden subpages, served from the cache entry that the analysis wrote. This stays until the cache is cleared.
Note
We've already fixed this for our own case in #677 — feel free to use it as a reference.
When the SEO analysis runs on a page, Yoast renders that page with hidden pages and records temporarily made visible (so the analysis sees the full content). The problem: this rendered result gets saved into the normal, shared page cache — the same cache that regular visitors are served from.
The effect: if a hidden page shows up somewhere on the rendered page (for example in an auto-generated menu or a footer list), it suddenly becomes visible to everyone, until the cache is cleared. And it comes back every time the analysis is run again.
Happens on TYPO3 v13 and v14.
Steps to reproduce
Expected: the visitor still sees the empty list. Running the analysis should not change what the public sees.
Actual: the visitor now sees the hidden subpages, served from the cache entry that the analysis wrote. This stays until the cache is cleared.
Note
We've already fixed this for our own case in #677 — feel free to use it as a reference.