Important: #100465 - Disable frontend indexing via EnableIndexingEvent listener
See forge#100465
Description
The PSR-14 event
\TYPO3\ can now also be used
to prevent the indexing of the current page during frontend rendering, for
example if a plugin shows search results based on GET parameters that should
not end up in the index.
The new method
disable marks the current request as not to be
indexed. It takes precedence over
enable, over
config. and over the extension setting
disable. The method
is returns
whether any listener has vetoed the indexing.
This replaces setting
index_ on
$GLOBALS, which is no longer available.
use TYPO3\CMS\Core\Attribute\AsEventListener;
use TYPO3\CMS\IndexedSearch\Event\EnableIndexingEvent;
final class DisableIndexingForSearchResults
{
#[AsEventListener]
public function __invoke(EnableIndexingEvent $event): void
{
if ($event->getRequest()->getQueryParams()['tx_myplugin'] ?? false) {
$event->disableIndexing();
}
}
}