Exclure des types de contenu de l'indexation de la recherche

Posté le: ven 26/10/2018 - 21:35 Par: rcowebdev
Exclure type de contenu

 

Au préalable, il faut que Drush soit installé et fonctionnel sur la machine hôte, ca tombe bien, il y a un article ici à ce sujet.

 

On commence par télécharger le module en question :

drush dl search_exclude

On active le module

drush en search_exclude

Ensuite il faut créer une nouvelle Search Pages mais dont le type est Content (exclude) et la définir comme page par défaut.

La configuration de la page Content (exclude) permet de sélectionner les types de contenu qu'on ne veut pas voir apparaitre dans les résultats de recherche.

Enfin, Il faut que le cron passe afin de réindéxer les articles sinon on peut exécuter la commande suivante qui forcera la réindexation

drush search-reindex --immediate
Attention, l'installation de ce module n'est pas compatible avec le module forms_rewrite qui supprimait le lien d'aide à la recherche. Pas de soucis, il suffit de modifier le fichier RouteSubscriber
    protected function alterRoutes(RouteCollection $collection) {
        $route = $collection->get('search.view_node_search') ?: $collection->get('search.view_content_exclude_');
        if ($route) {
            $route->setDefault('_controller', '\Drupal\forms_overwrite\Controller\ResultSearchController::view');
        }
    }

 

Mots clés
Drupal 8
Drush installation module