PHPackages                             terminal42/contao-seal - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. terminal42/contao-seal

ActiveContao-bundle[Utility &amp; Helpers](/categories/utility)

terminal42/contao-seal
======================

This extensions provides SEAL integration for the frontend into Contao Open Source CMS

2661[1 PRs](https://github.com/terminal42/contao-seal/pulls)PHP

Since Jul 29Pushed 9mo ago1 watchersCompare

[ Source](https://github.com/terminal42/contao-seal)[ Packagist](https://packagist.org/packages/terminal42/contao-seal)[ RSS](/packages/terminal42-contao-seal/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Contao SEAL
===========

[](#contao-seal)

Caution

Work in progress

This project integrates [SEAL](https://github.com/php-cmsig/search) with the [Contao Open Source CMS](https://www.contao.org).

It lets you add as many search indexes as you like for the frontend. Every index needs a `search adapter` and a `provider`:

- The `search adapter` is the SEAL adapter you want to use. By default, this extension ships with native support for [Loupe](https://github.com/loupe-php/loupe) which you can use without any dependencies other than `SQLite`. Search adapters can be added using configuration, see next section.
- The `provider` is responsible for indexing, searching and formatting the output. For a search engine, indexing and searching are inseparable. You need to know what you need to index depending on what you want to search for or output in your search results. Hence, there are providers which are provided either directly by this extension or any third-party logic. This extension ships with the `Standard` provider which provides the logic that you are probably familiar with from the Contao Core engine: A search result consists of page URLs with some context and optionally an image. For querying, it only supports a keyword search field. That's it. However, you could imagine a provider for e.g. Isotope eCommerce which does not only provide a search field but also some price range filter and lists products instead of page URLs.

Configuration
-------------

[](#configuration)

This extension does not require any configuration. However, if you want to use a different search engine for example, you need to add this in your `config.yaml` (or `config.php`) first:

```
terminal42_contao_seal:
    adapters:
        'loupe_default': 'loupe://%kernel.project_dir%/var/loupe' # Loupe, storing the indexes in `var/loupe`
        'meilisearch_server_a': 'meilisearch://127.0.0.1:7700'
        'meilisearch_server_b': 'meilisearch://127.0.0.1:7701'
```

The notation for the search adapters can be found in the [SEAL Symfony Bundle](https://github.com/PHP-CMSIG/seal-symfony-bundle)

What are the advantages compared to the Contao Core search engine?
------------------------------------------------------------------

[](#what-are-the-advantages-compared-to-the-contao-core-search-engine)

- This extension integrates with SEAL which means you can use any supported search engine (ElasticSearch, MeiliSearch, Redis, Loupe etc.) so you can benefit from the individual strengths of those engines such as typo tolerance, which the Contao Core engine does not support.
- Supports indexing protected contents (content elements, articles, modules) as of [Contao 5.6](https://github.com/contao/contao/pull/8395). The Contao Core engine skips those elements because it cannot make a difference between different member group permissions. This extension, however, can.
- The Contao Core engine only supports one global search index which limits the possibilities. For example, this extension can ignore documents with a certain `rel="canonical"` filter for one index while indexing them for another one.
- Likely faster because the search engines are faster. 🚀

###  Health Score

19

—

LowBetter than 10% of packages

Maintenance41

Moderate activity, may be stable

Popularity12

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity14

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1073273?v=4)[Andreas Schempp](/maintainers/aschempp)[@aschempp](https://github.com/aschempp)

![](https://avatars.githubusercontent.com/u/481937?v=4)[Yanick Witschi](/maintainers/Toflar)[@Toflar](https://github.com/Toflar)

---

Top Contributors

[![Toflar](https://avatars.githubusercontent.com/u/481937?v=4)](https://github.com/Toflar "Toflar (32 commits)")

### Embed Badge

![Health badge](/badges/terminal42-contao-seal/health.svg)

```
[![Health](https://phpackages.com/badges/terminal42-contao-seal/health.svg)](https://phpackages.com/packages/terminal42-contao-seal)
```

###  Alternatives

[yoast-seo-for-typo3/yoast_seo

Yoast SEO for TYPO3

521.6M9](/packages/yoast-seo-for-typo3-yoast-seo)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
