Indexing
...
Entities
CMS Pages
Excluding CMS Pages
1 min
you may wish to exclude certain cms pages from the sync to do this we inject an isindexablecondition into the isindexableconditions array for the virtual type klevu\indexingcms\service\determiner\isindexabledeterminer xml \<virtualtype name="klevu\indexingcms\service\determiner\isindexabledeterminer"> \<arguments> \<argument name="isindexableconditions" xsi\ type="array"> \<item name="pageisindexablecondition" xsi\ type="object">vendor\module\service\determiner\excludedpagesisindexablecondition\</item> \</argument> \</arguments> \</virtualtype> create that class, which must implement the isindexableconditioninterface vendor\module\service\determiner\excludedpagesisindexablecondition php \<?php namespace vendor\module\service\determiner; use klevu\indexingapi\service\determiner\isindexableconditioninterface; use magento\cms\api\data\pageinterface; class excludedpagesisindexableconditionr implements isindexableconditioninterface { / edit routes as required alternatively inject these via di xml @param string\[] / private array $excludedpages = \[ 'no route', 'service unavailable', ]; public function execute( extensibledatainterface|pageinterface $entity, storeinterface $store, ) bool { if (!($entity instanceof pageinterface)) { throw new \invalidargumentexception( sprintf( 'invalid argument provided for "$entity" expected %s, received %s ', pageinterface class, get debug type($entity), ), ); } return !in array( needle $page >getidentifier(), haystack $this >excludedpages, strict true, ); } } see entities is indexable determiner https //docs klevu com/klevu magento v4/entities is indexable determiner for more information