Die indexierte Suche von TYPO3 ist eine leistungsstarke integrierte Funktion, die es den Nutzern leicht macht, relevante Inhalte auf Ihrer Website zu finden. Mit nur wenigen Zeilen TypoScript können Sie das Sucherlebnis anpassen und erweitern, von der Gestaltung des Formulars bis zur Bereitstellung optimierter Ergebnisse. In diesem Beitrag, Teil 1 unserer Serie zur TYPO3-Suche, installieren und konfigurieren Sie Indexed Search in TYPO3 v13 und v14, bauen ein aktuelles Suchfeld mit TypoScript, planen die Indexierung mit der Crawler-Extension, beheben die häufigsten Probleme und vergleichen Indexed Search mit sechs weiteren TYPO3-Suchlösungen.
Kurze Antwort: TYPO3 Indexed Search (Extension-Key indexed_search) ist die Suchmaschine, die mit dem TYPO3 Core ausgeliefert wird. Installieren Sie sie mit composer require typo3/cms-indexed-search, fügen Sie Ihrer Site das Site Set „Indexed Search“ hinzu, platzieren Sie das Plugin „Indexed Search“ auf einer Suchseite und lassen Sie gecachte Seiten den Index füllen. Für eine geplante Neuindexierung ergänzen Sie die Crawler-Extension.
Das Wichtigste in Kürze
- Indexed Search gehört zum TYPO3 Core, ist aber nicht standardmäßig installiert (TYPO3-Dokumentation).
- Seit TYPO3 13.3 liefert das Site Set
typo3/indexed-searchdie Standardwerte. Ergebnisseite (indexedsearch.targetPid) und Template-Pfade stellen Sie im Settings-Editor ein. - Indexiert werden nur cachebare Seiten. Seiten mit deaktiviertem Cache erscheinen nie in den Ergebnissen.
- Das klassische Suchfeld-Snippet mit
switchableControllerActionsfunktioniert nicht mehr, weil diese Option in TYPO3 12.0 entfernt wurde. Verwenden Sie stattdessen das Content-ObjektEXTBASEPLUGIN. - Für facettierte Suche oder sehr große Websites passen ke_search, Apache Solr for TYPO3 oder eine Elasticsearch-basierte Extension meist besser (siehe Vergleich unten).
Getestet mit / gültig für: TYPO3 v13.4 LTS und v14 (14.3 LTS). Aktualisiert: November 2026.
Wie installieren und richten Sie TYPO3 Indexed Search ein?
Paket installieren, Site Set hinzufügen, Plugin platzieren und sicherstellen, dass Ihre Seiten gecacht werden. Diese Schritte gelten für TYPO3 v13.4 und v14.3 im Composer-Modus.
- Extension installieren. Führen Sie
composer require typo3/cms-indexed-searchaus. In einer Installation ohne Composer ist die Extension bereits enthalten; aktivieren Sie sie im Modul Extensions. - Site Set hinzufügen. Tragen Sie
typo3/indexed-searchunterdependenciesin Ihrer Site-Konfiguration (config/sites/<site>/config.yaml) oder im Set Ihres Sitepackages ein. Das Set lädt das Standard-TypoScript, dasconfig.index_enable = 1setzt (Dokumentation zum Site Set). - Suchseite anlegen. Legen Sie eine Seite wie „Suche“ an und fügen Sie das Plugin „Indexed Search“ ein. Wählen Sie diese Seite im Settings-Editor als
indexedsearch.targetPid, damit Suchformulare auf anderen Seiten dorthin führen. - Ersten Index aufbauen. Seiten werden indexiert, wenn sie gerendert und im Seiten-Cache gespeichert werden. Rufen Sie einige Seiten im Frontend auf und prüfen Sie dann das Backend-Modul Indexing.
- Seiten von den Ergebnissen ausschließen. Deaktivieren Sie in den Seiteneigenschaften im Tab Verhalten die Option „Include in Search“ (Feld
no_search), etwa für die Sitemap oder die Suchseite selbst.
Wie indexieren Sie automatisch mit der Crawler-Extension neu?
Die Frontend-Indexierung erfasst nur Seiten, die jemand aufgerufen hat. Für eine vollständige, geplante Indexierung nutzt Indexed Search die Crawler-Extension (tomasnorre/crawler). Crawler 13.0 unterstützt TYPO3 13.4 und 14.3 (Packagist).
- Führen Sie
composer require tomasnorre/crawleraus. - Aktivieren Sie in der Extension-Konfiguration von Indexed Search die Option „Disable Indexing in Frontend“, damit nur noch der Crawler den Index aufbaut.
- Legen Sie in der Root-Seite einen Crawler-Konfigurationsdatensatz an und aktivieren Sie die Processing Instruction „Re-Indexing [tx_indexedsearch_reindex]“.
- Testen Sie auf der Kommandozeile:
vendor/bin/typo3 crawler:buildQueue 1 crawl-mysite --depth 2 --mode exec(1 ist die uid der Root-Seite, crawl-mysite der Name der Konfiguration). - Legen Sie zwei Scheduler-Tasks der Klasse „Execute console commands“ an:
crawler:buildQueueeinmal pro Nacht undcrawler:processQueuealle paar Minuten.
Quelle: Crawler-Dokumentation, Anwendungsfall Indexed Search. Auch Indexing Configurations der Typen „Page tree“, „Database Records“ (zum Beispiel News), „External URL“ und „Filepath on server“ verarbeitet der Crawler (Indexing Configurations).
Welche Einstellungen zählen bei PDFs, Ranking und Sprachen?
- Dateien: Indexed Search indexiert Dateien wie PDF, Word, HTML und Text, die von einer indexierten Seite verlinkt sind und in einem FAL-Speicher liegen. Eine Datei wird nur indexiert oder aktualisiert, wenn eine Seite, die auf sie verlinkt, neu indexiert wird (External media).
- PDF-Werkzeuge: Für PDFs brauchen Sie
pdftotextundpdfinfoauf dem Server. Deren Verzeichnis ist die Extension-Einstellung „pdftools“ (Standard/usr/bin/). - Grenzen: „maxExternalFiles“ begrenzt die Zahl der indexierten Dateien pro Seite (Standard 5), „minAge“ legt fest, wie viele Stunden mindestens vergehen, bevor eine Seite erneut indexiert wird (Standard 24).
- Ranking: Mit der Standard-Sortierung ranken Wörter aus Seitentitel, Keywords oder Description höher als Wörter im Fließtext (index_words, index_rel). Gute Seitentitel und Meta-Descriptions verbessern also auch Ihre interne Suche.
- Sprachen: Jede Sprachversion einer Seite wird als eigener Eintrag indexiert, und das Plugin sucht in der aktuellen Sprache der Site.
1. Wie fügen Sie in TYPO3 v13 und v14 ein Suchfeld per TypoScript hinzu?
Nutzen Sie das seit TYPO3 12.3 verfügbare Content-Objekt EXTBASEPLUGIN, um das Formular von Indexed Search an beliebiger Stelle im Layout auszugeben (Changelog). Dieses Snippet funktioniert in TYPO3 v13.4 und v14.3:
# TYPO3 v13.4 und v14.3: Suchfeld für Header oder Sidebar
lib.searchBox = EXTBASEPLUGIN
lib.searchBox {
extensionName = IndexedSearch
pluginName = Pi2
settings {
# uid der Seite mit dem Indexed Search Plugin (Ergebnisseite)
targetPid = 62
displayAdvancedSearchLink = 0
}
} Auf den ersten Blick gibt diese Konfiguration das Plugin Indexed Search von TYPO3 als kompaktes Suchfeld aus. Hier ist ein kurzer Überblick über jeden Teil:
- EXTBASEPLUGIN: Das Content-Objekt für Extbase-Plugins. Es ersetzt das ältere
USER-Objekt mituserFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run, das zwar noch funktioniert, aber nicht mehr empfohlen wird. - extensionName / pluginName: Geben Sie an, dass Sie die IndexedSearch Extension, Plugin Pi2, verwenden. Das Plugin startet mit der Action
formund zeigt die Ergebnisse mit der Actionsearch, eine Action-Konfiguration ist also nicht nötig. - settings: Diese Werte überschreiben
plugin.tx_indexedsearch.settingsnur für dieses Suchfeld. targetPid schickt das Formular an Ihre Ergebnisseite, displayAdvancedSearchLink = 0 blendet den Link zur erweiterten Suche aus.
Sie aktualisieren ein älteres Snippet? Entfernen Sie vendorName, switchableControllerActions (seit TYPO3 10.3 veraltet und in 12.0 entfernt, siehe Deprecation #89463), features.requireCHashArgumentForActionArguments (in TYPO3 11.0 entfernt) und isSearchBox, das das aktuelle Plugin nicht auswertet.
2. Best Practices bei der Anpassung der indexierten Suche
Halten Sie die Konfiguration in Dateien, lassen Sie das Caching intakt und testen Sie mit echten Inhalten. Diese Empfehlungen gelten für TYPO3 v13 und v14.
- Halten Sie Ihr TypoScript organisiert
Speichern Sie Ihr TypoScript in einer eigenen Datei (z.B. setup.typoscript) in Ihrem Sitepackage. Auf diese Weise bleibt Ihre Konfiguration modular, was die Wartung und Fehlersuche erleichtert, wenn Ihre Website wächst. - Verwenden Sie eindeutig benannte Überschreibungen
Wenn Sie Templates, Partials oder Layouts überschreiben, folgen Sie einer klaren, gut strukturierten Namenskonvention. So können Sie Ihre Anpassungen schnell identifizieren und Konflikte mit dem Core-Code oder dem Code von Drittanbietern vermeiden. - Lassen Sie den cHash-Schutz aktiv
Die alte Option requireCHashArgumentForActionArguments = 0 wurde in TYPO3 11.0 entfernt und hat in v13 und v14 keine Wirkung. Der cHash sorgt für ein korrektes Caching und verhindert unbeabsichtigte URL-Manipulationen, versuchen Sie ihn also nicht zu umgehen; das Suchformular sendet seine Daten per POST. - Testen Sie in mehreren Umgebungen
Da die indexierte Suche auf die Indexierung der Seiten durch das System angewiesen ist, können sich Konfigurationen in Staging- und Produktionsumgebungen unterschiedlich verhalten. Stellen Sie sicher, dass Sie die Ergebnisse in einer produktionsnahen Umgebung vollständig testen, um Überraschungen in letzter Minute zu vermeiden. - Cache und Leistung
- Index-Wartung: Bereinigen Sie Ihren Index regelmäßig und indexieren Sie neu, insbesondere nach umfangreichen Inhaltsaktualisierungen oder Änderungen an der Website-Struktur.
- Schließen Sie irrelevante Seiten aus: Deaktivieren Sie „Include in Search“ in den Seiteneigenschaften für Seiten (z. B. Datenschutzerklärung oder AGB), deren Inhalte nicht durchsucht werden müssen.
Kostenlose TYPO3-Leitfäden
Sie planen mehr als die Suche? Holen Sie sich unsere kostenlosen TYPO3-Leitfäden zu Upgrade, AI-Verordnung, Barrierefreiheit und mehr, jeweils als PDF mit TYPO3-v14-Screens und Excel-Datei.
3. Suchfeld in Fluid Templates einbinden
Nachdem Sie die obige TypoScript Konfiguration eingebaut haben, können Sie das Suchfeld direkt in Ihre Fluid Templates einbetten. Wenn Sie zum Beispiel ein Fluid Template für das Hauptlayout Ihrer Website haben, können Sie Folgendes hinzufügen:
<f:section name="searchBox">
<f:cObject typoscriptObjectPath="lib.searchBox" />
</f:section> <!DOCTYPE html>
<html>
<head>
<title><f:render section="title" /></title>
</head>
<body>
<!-- Header -->
<f:render partial="Header" />
<!-- Search Box -->
<f:render section="searchBox" />
<!-- Main Content -->
<f:render section="main" />
</body>
</html> Mit diesem Ansatz bleibt das Suchfeld wiederverwendbar und zentralisiert, während gleichzeitig eine saubere Codestruktur erhalten bleibt.
4. Wie passen Sie die Templates von Indexed Search an?
Seit TYPO3 13.3 setzen Sie eigene Template-Pfade in den Einstellungen des Site Sets statt per TypoScript. Tragen Sie sie in die settings.yaml Ihres Sitepackage-Sets ein (oder im Settings-Editor):
# EXT:site_package/Configuration/Sets/SitePackage/settings.yaml
indexedsearch:
view:
templateRootPath: 'EXT:site_package/Resources/Private/Extensions/IndexedSearch/Templates/'
partialRootPath: 'EXT:site_package/Resources/Private/Extensions/IndexedSearch/Partials/'
layoutRootPath: 'EXT:site_package/Resources/Private/Extensions/IndexedSearch/Layouts/' … kopieren Sie dann nur die Dateien, die Sie ändern möchten, aus EXT:indexed_search/Resources/Private/ in diese Ordner, zum Beispiel das Partial des Suchformulars. Behalten Sie den Dateinamen Ihrer TYPO3-Version bei: v13 nutzt Partials/Form.html, v14 nutzt Partials/Form.fluid.html. Auf diese Weise haben Sie die volle Kontrolle über Markup und Stil im Frontend, während Aktualisierungen von der Core-Extension getrennt bleiben. Ohne Site Sets können Sie weiterhin plugin.tx_indexedsearch.view.templateRootPaths per TypoScript erweitern (Overriding the Fluid template).
5. Zusätzliche Überlegungen
- Mehrsprachige Sites: Stellen Sie sicher, dass Sie die Sprachen Ihrer Site richtig konfiguriert haben. Indexed Search indexiert jede Sprachversion separat und sucht in der aktuellen Sprache der Site, daher muss jede übersetzte Seite cachebar und erreichbar sein.
- Zugänglichkeit: Stellen Sie beschreibende Bezeichnungen und ARIA-Attribute bereit. Ein gut beschriftetes Suchformular ist für die Tastaturnavigation und für Screenreader von Vorteil.
- Breadcrumbs und Suchergebnisse: Sie können das Template für die Suchergebnisse so anpassen, dass es Breadcrumbs oder andere Metadaten enthält, die den Benutzern helfen, relevante Inhalte schnell zu finden.
Warum zeigt TYPO3 Indexed Search keine Ergebnisse?
Die meisten Probleme mit fehlenden Treffern entstehen durch Seiten, die nie indexiert wurden. Prüfen Sie diese häufigen Fehler in dieser Reihenfolge.
- Seiten werden nicht gecacht. Indexed Search indexiert nur cachebare Seiten.
config.no_cacheoder ein Plugin, das den Seiten-Cache abschaltet, verhindert die Indexierung. - Site Set oder TypoScript fehlt. Das Plugin zeigt dann „Please check that TypoScript for the Indexed Search plugin is included“. Fügen Sie
typo3/indexed-searchzu den Abhängigkeiten der Site hinzu und leeren Sie die Caches. - Frontend-Indexierung ist deaktiviert, aber kein Crawler läuft. Mit aktivierter Option „Disable Indexing in Frontend“ füllen nur Crawler-Läufe den Index.
- PDFs fehlen.
pdftotextoderpdfinfoist nicht installiert, die Datei liegt nicht in einem FAL-Speicher, oder die Seite verlinkt mehr Dateien, als „maxExternalFiles“ erlaubt. - Wörter mit Bindestrich finden nichts. Mit der MySQL-Volltext-Option zerlegt MySQL „Berners-Lee“ in zwei Wörter und überspringt Wörter, die kürzer als
ft_min_word_lensind (Standard 4). MariaDB hat das Bindestrich-Problem nicht (Known problems). - Ein altes Snippet bricht nach dem Upgrade. Ersetzen Sie
USERmitswitchableControllerActionsdurch dasEXTBASEPLUGIN-Snippet aus Abschnitt 1. - Ergebnisse sind veraltet. Leeren Sie den Index im Modul Indexing und bauen Sie ihn neu auf, oder prüfen Sie, ob die Crawler-Tasks laufen.
Welche TYPO3-Such-Extension sollten Sie wählen?
Nutzen Sie Indexed Search für kleine und mittlere Websites, die eine Volltextsuche ohne zusätzlichen Server brauchen. Wählen Sie ke_search für Filter (Facetten) ohne zusätzliche Serversoftware und Apache Solr, Elasticsearch oder eine andere Engine, wenn Sie Skalierung, Synonyme oder eine Suche über mehrere Systeme brauchen.
| Lösung (Paket) | Läuft in TYPO3 | Such-Backend | Lizenz | Am besten für | Einschränkung |
|---|---|---|---|---|---|
| Indexed Search (typo3/cms-indexed-search) | Core-Extension in v13.4 und v14.3 | TYPO3-Datenbank | GPL-2.0-or-later | Kleine bis mittlere Websites, verlinkte PDFs, kein Zusatzserver | Die erweiterte Suche bietet Bereiche und Medientypen, aber keine Facetten |
| ke_search (tpwd/ke_search 7.3) | v13 und v14 | TYPO3-Datenbank, eingebaute Indexer | GPL-2.0-or-later, dazu eine kostenpflichtige Premium-Version | Facettierte Suche; laut Hersteller bis ca. 200.000 Seiten oder Datensätze | Einige Funktionen nur in der Premium-Version |
| Apache Solr for TYPO3 (apache-solr-for-typo3/solr) | v13.4 (EXT:solr 13.1), v14.3 (EXT:solr 14.0) | Apache-Solr-Server (empfohlen 9.10.1 für v13, 10.0.0 für v14) | GPL-3.0-or-later | Große Websites, Facetten, Synonyme | Sie betreiben und pflegen einen Solr-Server |
| Searchable (pagemachine/searchable 7.2) | v13.4 und v14.3 | Elasticsearch | GPL-3.0-or-later | Teams mit Elasticsearch; TCA-basierte Indexierung von Datensätzen, Indexierung per Kommandozeile | Braucht einen Elasticsearch-Server |
| SEAL (lochmueller/seal 2.0) | v13.4 und v14.3, PHP 8.3+ | Adapter: TYPO3-Datenbank, Meilisearch, Solr, Loupe, Typesense | GPL-2.0-or-later | Suchmaschine wechseln, ohne die Integration neu zu schreiben | Nur im Composer-Modus; benötigt EXT:index |
| mksearch (dmk/mksearch 13.0) | v12.4 und v13.4 | Zend Lucene, Apache Solr oder Elasticsearch | GPL-2.0-or-later | Bestehende mksearch-Projekte | Noch kein Release für TYPO3 v14 |
| t3meilisearch (visuellverstehen/t3meilisearch 1.4) | v11.5 bis v13.4 | Meilisearch | Keine Lizenz auf Packagist angegeben | v13-Websites, die bereits Meilisearch nutzen | Noch kein Release für TYPO3 v14; PDFs brauchen poppler-utils |
Versionen und TYPO3-Unterstützung geprüft auf Packagist und in der Dokumentation der Projekte im November 2026. Aktuelle TYPO3-Versionen: 14.3 LTS und 13.4 LTS (get.typo3.org).
Schnelle Entscheidungshilfe
- Unternehmenswebsite mit einigen hundert Seiten und verlinkten PDFs: Indexed Search plus Crawler.
- Besucher brauchen Filter nach Kategorie, Datum oder Typ, und Sie können keine zusätzlichen Server betreiben: ke_search. Lesen Sie Teil 2 dieser Serie, unsere Anleitung zu TYPO3 ke_search.
- Große oder Multi-Site-Installationen mit Facetten und Synonymen: Apache Solr for TYPO3. Lesen Sie Teil 3, unsere Anleitung zur TYPO3 Solr-Suche.
- Elasticsearch oder Meilisearch ist schon im Einsatz: Searchable oder SEAL.
- Besucher stellen Fragen, statt Stichwörter einzugeben: TYPO3 AI Search (T3AS) von T3Planet zeigt AI-Antworten mit ihren Quellen über den normalen Ergebnissen von Indexed Search, ke_search oder Solr, Sie behalten also Ihren bestehenden Index.
Weitere Fragen zu TYPO3 Indexed Search
Ist TYPO3 Indexed Search kostenlos?
Ja. Indexed Search ist eine TYPO3-Systemextension und steht wie der gesamte TYPO3 Core unter der Lizenz GPL-2.0-or-later. Es gibt keine Lizenzgebühr und keinen externen Suchdienst. Der Index liegt in Ihrer TYPO3-Datenbank. Auch die Crawler-Extension für die geplante Indexierung ist kostenlos (GPL-3.0). Optionale Hilfsprogramme wie pdftotext laufen auf Ihrem eigenen Server.
Funktioniert Indexed Search mit TYPO3 v14?
Ja. Indexed Search wird mit TYPO3 14.3 LTS und 13.4 LTS ausgeliefert, und die offizielle Dokumentation deckt beide Versionen ab. Plugin, Site Set und Extension-Einstellungen sind gleich. Ein Unterschied ist für Integratoren wichtig: In v14 heißen die Fluid-Templates *.fluid.html, zum Beispiel Partials/Form.fluid.html. Verwenden Sie diesen Dateinamen, wenn Sie Templates überschreiben.
Kann Indexed Search News und andere Datensätze indexieren?
Ja, mit einer Indexing Configuration vom Typ „Database Records“. Legen Sie sie auf der Seite mit der News-Detailansicht an, wählen Sie die Tabelle, die zu indexierenden Felder (zum Beispiel title, short, text) und einen GET-Parameter-String wie &tx_news[action]=show&tx_news[news]=###UID###. Der Crawler indexiert dann die Datensätze und entfernt gelöschte beim nächsten Lauf.
Brauche ich die Crawler-Extension?
Nicht für eine kleine Website. Ohne Crawler gelangen Seiten in den Index, wenn Besucher sie aufrufen und die Seite gecacht wird. Den Crawler brauchen Sie für eine vollständige, geplante Indexierung, für Indexing Configurations (Datensätze, externe URLs und Dateiverzeichnisse) und immer dann, wenn Sie die Frontend-Indexierung abschalten. Er läuft auf der Kommandozeile oder als Scheduler-Task.
Schlussfolgerung
Mit dem obigen TypoScript-Snippet haben Sie bereits ein flexibles, Extbase-basiertes Suchfeld, das die Möglichkeiten der indexierten Suche von TYPO3 in v13 und v14 nutzt. Wenn Sie die Best Practices für Wartung, Caching, Partials und Template-Overrides befolgen und den Crawler einplanen, können Sie eine reichhaltige und effiziente Sucherfahrung bieten.
Dieser Beitrag ist Teil 1 unserer Serie zur TYPO3-Suche. Teil 2 behandelt ke_search für die facettierte Suche, Teil 3 Apache Solr for TYPO3.
Wenn Sie weitere Fragen haben oder sich mit fortgeschrittenen Themen wie der Anpassung der Paginierung, erweiterten Suchfiltern oder zusätzlichen Indizierungsstrategien beschäftigen möchten, können Sie gerne weitere Optionen innerhalb der indexierten Suche erkunden und Ihre Erkenntnisse mit der TYPO3 community teilen. Experimentieren und eine solide Testroutine sind der Schlüssel dazu, dass Ihre Suchfunktion funktional, schnell und benutzerfreundlich bleibt.
Viel Spaß beim TYPO3 Programmieren! Wenn Sie über die Grundlagen hinausgehen möchten, können Sie sich mit erweiterten Suchfiltern, Suchvorschlägen oder sogar der Anbindung externer Datenquellen an die Indexed Search von TYPO3 beschäftigen.
Markus Neumann
Template Support ManagerMarkus lebt und liebt TYPO3-Templates. Mit seiner strukturierten Denkweise und seinem Blick fürs Detail hat er bereits hunderten Kunden dabei geholfen, über den T3Planet Shop schnellere und sauberere TYPO3-Websites zu erstellen. Wenn es ein Problem mit einem Template gibt, hat Markus es wahrscheinlich schon einmal gelöst. Bei T3Planet ist er Manager für Template-Support.
More From Author