Project

General

Profile

Actions

Feature #86012

closed

Indexing of meta-tags not possible when *_INT-objects are on the page

Added by Robert Vock over 5 years ago. Updated about 4 years ago.

Status:
Closed
Priority:
Should have
Assignee:
-
Category:
Indexed Search
Target version:
-
Start date:
2018-08-28
Due date:
% Done:

0%

Estimated time:
PHP Version:
Tags:
Complexity:
Sprint Focus:

Description

Meta-Tags are not indexed, when there are USER_INT or COA_INT objects on a page.

Sample TypoScript:

config.index_enable = 1
config.index_metatags = 1
page.20 = USER_INT
// no function definition needed. It's enough to have a USER_INT object

This happens because Meta-Tags are not available in the HTML when the indexing hook is run, because their placeholders have not yet been replaced. See my other Bugreport for details:
https://forge.typo3.org/issues/63776

To reproduce, add the above TypoScript and add a Debug-Statement with the content here:
https://github.com/TYPO3/TYPO3.CMS/blob/9f0af539cbef43da46d1270b3c27770732287ddb/typo3/sysext/indexed_search/Classes/Indexer.php#L642

\TYPO3\CMS\Core\Utility\DebugUtility::debug($headPart);

You will get the following HTML:

<!DOCTYPE html>
<html lang="de">
<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/
-->

<!-- ###TITLE1045adfa441ac3948037d4863c3200b1### -->
<!-- ###META1045adfa441ac3948037d4863c3200b1### -->

<!-- ###CSS_LIBS1045adfa441ac3948037d4863c3200b1### -->
<!-- ###CSS_INCLUDE1045adfa441ac3948037d4863c3200b1### -->
<!-- ###CSS_INLINE1045adfa441ac3948037d4863c3200b1### -->

<!-- ###JS_LIBS1045adfa441ac3948037d4863c3200b1### -->
<!-- ###JS_INCLUDE1045adfa441ac3948037d4863c3200b1### -->
<!-- ###JS_INLINE1045adfa441ac3948037d4863c3200b1### -->

<!-- ###HEADERDATA1045adfa441ac3948037d4863c3200b1### -->
</head>

When no USER_INT object is available on the page, those placeholders are already replaced and indexing works fine.

This bug also appears in TYPO3 8.7, 7.6 and 6.2.


Related issues 2 (0 open2 closed)

Related to TYPO3 Core - Bug #63776: PageRenderer Hooks are called to late with uncached objectsClosed2014-12-11

Actions
Related to TYPO3 Core - Bug #86234: Missing Meta Tags on Pages with *_INT objectsClosedRichard Haeser2018-09-12

Actions
Actions #1

Updated by Robert Vock over 5 years ago

  • Related to Bug #63776: PageRenderer Hooks are called to late with uncached objects added
Actions #2

Updated by Christian Kuhn over 5 years ago

  • Related to Bug #86234: Missing Meta Tags on Pages with *_INT objects added
Actions #3

Updated by Helmut Hummel about 5 years ago

  • Tracker changed from Bug to Feature
  • Status changed from New to Needs Feedback

That is more or less by design.
It was a design decision that title, meta tags, css, js and other header data can be modified by uncached plugins.
Therefore these must not be part of the cached content of a page and therefore they are not available during indexing (because they are dynamic by definition).

If this causes issues, the design needs to be changed, which makes this a feature request.

What would be your expectation how this should work out without loosing the option for uncached plugins to modify these parts of the web page?

What could work out is that every non cachable object defines in configuration which parts it potentially modifies and page renderer uses this information and only
makes these parts uncached. That would be doable, but would potentially be a breaking change.

Actions #4

Updated by Benni Mack about 4 years ago

  • Status changed from Needs Feedback to Closed

That is correct. a USER_INT is "not cacheable" by TYPO3, so it cannot be indexed. A uncacheble plugin could e.g. display the current time - this should never be indexed. Will close this issue now, because - as Helmut stated - this is by design.

Actions

Also available in: Atom PDF