.. _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. .. _introduction-bot-detection: 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 :ref:`how-it-works-bot-detection`.