Bug #86234
closedMissing Meta Tags on Pages with *_INT objects
100%
Description
When a page has USER_INT or COA_INT objects and is delivered from cache, most of the meta tags are missing.
Steps to reproduce:
- Setup fresh TYPO3
- Single page with meta description and no_index=1
- following TypoScript:
page = PAGE page.meta.keywords.field = keywords page.meta.viewport = width=device-width,initial-scale=1 page.10 = TEXT page.10.value = HELLO WORLD! page.20 = USER_INT
This might be related to one of the following Bugs:
https://forge.typo3.org/issues/86012
https://forge.typo3.org/issues/63776
This outright kills pages on mobile. Safari on iOS displays the Desktop website when the viewport-meta tag is missing!
I tested this on 9.4.0 and on current master (1ff01bcb74a4ce73493bce0969222b02e5e85add).
Files
Updated by Susanne Moog about 6 years ago
- Category changed from Frontend to SEO
- Target version set to 9 LTS
Updated by Robert Vock about 6 years ago
I am not sure, if Category SEO is correct. I think the main issue here is that the cached version of a page is different depending if there are *_INT objects on a page or not.
If the page has USER_INT-object, the cached content looks like this (data in cf_cache_pages):
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <!-- This website is powered by TYPO3 - inspiring people to share! TYPO3 is a free open source Content Management Framework initially created by Kasper Skaarhoj and licensed under GNU/GPL. TYPO3 is copyright 1998-2018 of Kasper Skaarhoj. Extensions are copyright of their respective owners. Information and contribution at https://typo3.org/ --> <!-- ###TITLE48530d86be61846b4a1fd122df42580e### --> <!-- ###META48530d86be61846b4a1fd122df42580e### --> <!-- ###CSS_LIBS48530d86be61846b4a1fd122df42580e### --> <!-- ###CSS_INCLUDE48530d86be61846b4a1fd122df42580e### --> <!-- ###CSS_INLINE48530d86be61846b4a1fd122df42580e### --> <!-- ###JS_LIBS48530d86be61846b4a1fd122df42580e### --> <!-- ###JS_INCLUDE48530d86be61846b4a1fd122df42580e### --> <!-- ###JS_INLINE48530d86be61846b4a1fd122df42580e### --> <!-- ###HEADERDATA48530d86be61846b4a1fd122df42580e### --> </head> <body> <!--TDS_48530d86be61846b4a1fd122df42580e--> HELLO WORLD!<!--INT_SCRIPT.da26b631649bb71c9817450df3ffd500--> <!-- ###JS_LIBS_FOOTER48530d86be61846b4a1fd122df42580e### --> <!-- ###JS_INCLUDE_FOOTER48530d86be61846b4a1fd122df42580e### --> <!-- ###JS_INLINE_FOOTER48530d86be61846b4a1fd122df42580e### --> <!-- ###FOOTERDATA48530d86be61846b4a1fd122df42580e### --> </body> </html> <!-- Cached page generated 12-09-18 16:59. Expires 13-09-18 16:59 -->
If the page does not have the USER_INT object, the cached data looks like this:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <!-- This website is powered by TYPO3 - inspiring people to share! TYPO3 is a free open source Content Management Framework initially created by Kasper Skaarhoj and licensed under GNU/GPL. TYPO3 is copyright 1998-2018 of Kasper Skaarhoj. Extensions are copyright of their respective owners. Information and contribution at https://typo3.org/ --> <title>Standard</title> <meta name="generator" content="TYPO3 CMS" /> <meta name="description" content="description" /> <meta name="robots" content="noindex,follow" /> </head> <body> HELLO WORLD! </body> </html> <!-- Cached page generated 12-09-18 17:01. Expires 13-09-18 17:01 -->
This is also responsible for the other two bugs (#86012 related to indexed_search and #63776: hooks working on favicon for example).
Of course it's possible to just fix the meta-tags issue, but I believe it's better to fix the underlying issue.
Updated by Susanne Moog about 6 years ago
Hi,
The underlying issue is IMHO no general issue, yes in case there are USER_INT objects on a page, the page is cached and rendered differently. We won't "fix" that behaviour, as that is not a bug. In case of a cached page the whole page should be cached without any markers whatsoever and directly delivered from cache (It's not only a bit slower to replace marker, its multiple times slower on a fully cached page).
On a page with USER_INT objects the basic skeleton of the page gets cached and only the marker replacement parts get rerendered on each subsequent request. So basically the flow has three different states:- uncached (completely new generation of everything),
- page itself cached but has USER_INTs and
- fully cached page
so, that behaviour is no bug. The bug in this case is actually, that the meta tags are missing - because the header section is constructed more or less separately iirc. I'll take a look at the other bugs, soon.
Updated by Richard Haeser about 6 years ago
Had the same with title tag. I will fix this for meta tags.
Updated by Gerrit Code Review about 6 years ago
- Status changed from Accepted to Under Review
Patch set 1 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58261
Updated by Gerrit Code Review about 6 years ago
Patch set 2 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58261
Updated by Christian Kuhn about 6 years ago
- Related to Feature #86012: Indexing of meta-tags not possible when *_INT-objects are on the page added
Updated by Christian Kuhn about 6 years ago
- Related to Bug #63776: PageRenderer Hooks are called to late with uncached objects added
Updated by Gerrit Code Review about 6 years ago
Patch set 3 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58261
Updated by Gerrit Code Review about 6 years ago
Patch set 4 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58261
Updated by Gerrit Code Review about 6 years ago
Patch set 5 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58261
Updated by Gerrit Code Review about 6 years ago
Patch set 6 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58261
Updated by Gerrit Code Review about 6 years ago
Patch set 7 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58261
Updated by Gerrit Code Review about 6 years ago
Patch set 8 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58261
Updated by Richard Haeser about 6 years ago
- Status changed from Under Review to Resolved
- % Done changed from 0 to 100
Applied in changeset 7985a69c399065160a206ca146fe1ad26797f82f.
Updated by Joerg Kummer about 6 years ago
Currently in TYPO3 9.5.1 pages, which contains a none cached plugin as content element (fx EXT:news searchform) have correct meta tags just for a given time. After some hours, all meta tags are missing again, except generator=TYPO3 CMS.
This breaks at least mobile websites, which depends on meta tag viewport data.
Updated by Robert Vock about 6 years ago
- File Cache-Expiration.png Cache-Expiration.png added
I thought, this was fixed for me as well. But after looking at the cache-expiration, I believe Joerg is correct and the metatags could disappear after a while (see attached screenshot).
The metatags are cached shorter than the page HTML
Updated by Wolfgang Wagner about 6 years ago
Can still confirm this bug in 9.5.1.
Updated by Richard Haeser about 6 years ago
- Status changed from Closed to In Progress
- Target version deleted (
9 LTS)
Will try to reproduce for now, reopened this issue.
Updated by Gerrit Code Review about 6 years ago
- Status changed from In Progress to Under Review
Patch set 1 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/58891
Updated by Richard Haeser about 6 years ago
- Status changed from Under Review to Resolved
Applied in changeset 56dcf354a9d6621e011ea66e735d06765f832056.
Updated by Robert Vock over 5 years ago
- Related to Bug #87962: Incorrect cache lifetime for MetaTag Cache added
Updated by Helmut Hummel over 5 years ago
- Related to Bug #88179: Meta tags and page title are unnecessarily cached in separate cache entries added
Updated by Helmut Hummel over 4 years ago
- Related to Bug #91233: Cached page title is overwritten on pages with *_INT objects added