---
title: "Introduction"
manual: "SOLR_SHIELD"
version: "main"
permalink: "https://docs.typo3.org/permalink/maikschneider/solr-shield:introduction@main"
source: "Introduction/Index.rst"
rendered: "2026-10-23T16:05:16+00:00"
---

# Introduction {#introduction}

Every facet, page and sort order of an EXT:solr search page is a distinct URL
such as `/search?tx_solr[q]=foo&tx_solr[filter][0]=type:pages&tx_solr[page]=2`.
Crawlers follow these links and, worse, generate new combinations on their
own. Each combination misses the page cache and costs a Solr query, so a
single bot can keep both TYPO3 and Solr busy.

Solr Shield takes the `tx_solr` parameters out of the public surface:

-   Links generated by EXT:solr and by `typolink()` carry one opaque `_ss`
    parameter instead of `tx_solr[…]`.
-   Search forms are rewritten so their fields are no longer named
    `tx_solr[…]`, and they get a hidden `_ss` field.
-   Requests that carry `tx_solr` parameters without a valid `_ss` are
    rejected, and so are requests to the suggest endpoint.

All of this happens on the server and needs neither JavaScript nor changes to
your Solr templates.

## Bot detection {#introduction-bot-detection}

An optional second layer rejects headless and scripted clients. A small
script records how the visitor interacts with the page and sends a summary
with every search, which the server scores. See
[Bot detection](https://docs.typo3.org/permalink/maikschneider/solr-shield:how-it-works-bot-detection@main).
