Almost every SEO discussion currently revolves around the same question: how do I get found by AI systems? This article turns the perspective around without playing it off against visibility. Under Article 4 of the DSM Directive (EU) 2019/790 and Section 44b of the German Copyright Act (UrhG), text and data mining on lawfully accessible works is generally permitted – unless the rightholder has reserved the use, and for content available online that reservation has to be in machine-readable form (EUR-Lex; gesetze-im-internet.de). Anyone who declares nothing effectively permits everything. Anyone who blocks every bot across the board loses answer quality and referral traffic from generative search. The real task is therefore differentiation: separate training crawlers from retrieval crawlers, place the reservation properly in three locations, and enforce it technically where robots.txt reaches its limits. This guide covers the legal framework, the technical implementation and a differentiation strategy that fits your AI visibility and your search engine optimization.
Text and data mining is allowed unless you object
Section 44b UrhG defines text and data mining as the automated analysis of single or multiple digital or digitised works in order to obtain information, in particular about patterns, trends and correlations (gesetze-im-internet.de). Paragraph 2 explicitly permits reproductions of lawfully accessible works for this purpose. Paragraph 3 is the decisive one: such uses are only permitted if the rightholder has not reserved them – and for works available online, a reservation is only effective if it is made in machine-readable form (gesetze-im-internet.de). The German provision implements Article 4 of Directive (EU) 2019/790 of 17 April 2019 (EUR-Lex).
This inverts the familiar copyright logic. Normally: use only with permission. For text and data mining: use is permitted until you object. Recital 18 of the DSM Directive clarifies that for content made publicly available online it is appropriate to reserve rights by machine-readable means – explicitly including metadata and terms and conditions of a website or a service (EUR-Lex). That is exactly where the three-level structure described below comes from. For anyone running an online shop this is not an academic question: product descriptions, guides, reviews and original product photography are usually copyright-relevant investments.
On 10 December 2025 the Hanseatic Higher Regional Court of Hamburg dismissed a photographer's appeal and confirmed the ruling of the Hamburg Regional Court of 27 September 2024 (Legal Tribune Online). A reservation phrased in natural language was not sufficient in the case decided: in the court's view a reservation is machine-readable only when it can be automatically captured, interpreted and followed. The burden of demonstrating that the reservation was machine-readable at the time of use lies with the rightholder. An appeal to the German Federal Court of Justice was admitted, so a final clarification is still pending (Legal Tribune Online).
At European level the reservation is now also anchored in regulatory law. Article 53(1)(c) of the AI Act (EU) 2024/1689 obliges providers of general-purpose AI models to put in place a copyright policy and to identify and comply with rights reservations expressed pursuant to Article 4(3) of the DSM Directive (European Commission). The Code of Practice for general-purpose AI models published on 10 July 2025 makes this concrete: signatories commit to using crawlers that read and follow rights reservations expressed via the Robots Exclusion Protocol, and to consider further appropriate machine-readable protocols (European Commission).
Without a machine-readable reservation, reading your content for text and data mining is permitted under Section 44b(2) UrhG (gesetze-im-internet.de). A reservation added after a crawl has no retroactive effect on copies already made. For shops with extensive guide sections, in-house reviews and original product photography this is a commercial issue, not a legal footnote.
Telling training crawlers, retrieval crawlers and agent fetchers apart
The umbrella term AI crawler hides the fact that very different access patterns sit behind it. Google's crawler overview distinguishes three categories: common crawlers used for products such as Google Search, which respect the robots.txt rules, special-case crawlers used by products where there is an agreement between the crawled site and the product, and user-triggered fetchers, that is, fetches initiated by an end user (Google Search Central). Mixing these levels inevitably leads to blunt decisions.
Training crawlers
Collect content to train models or refresh knowledge. They send back virtually no traffic. This is where the reservation under Section 44b(3) UrhG applies directly (gesetze-im-internet.de).
Retrieval crawlers
Fetch content to answer specific questions and usually attach source links. Blocking them means disappearing from generative answers – along with the clicks attached to them.
Agent fetchers
Retrieve individual URLs because a person asked for them. Google describes them as user-triggered fetchers (Google Search Central). They resemble a visit more than a collection run.
How cleanly this separation can work technically is shown by the Google-Extended token. According to the documentation it is a standalone product token that publishers use to manage whether crawled content may be used for training future Gemini models and for grounding in Gemini Apps and Vertex AI. Explicitly: the token does not impact a site's inclusion in Google Search nor is it used as a ranking signal (Google Search Central). You can therefore restrict AI training without touching your organic visibility – a pattern worth transferring to other providers wherever they document separate tokens.
| Access type | Purpose | Traffic returned | Sensible default |
|---|---|---|---|
| Search engine crawlers | Index for classic search | high | allow |
| Retrieval crawlers | Answers with source attribution | medium | allow, limit scope |
| Agent fetchers | Fetch on a specific user request | direct | allow |
| Training crawlers | Model training without back-link | none | reserve selectively |
| Undeclared bots | unclear | none | measure first, then decide |
Generative answers already displace clicks: roughly 60 percent of searches on traditional search engines yield no click (Bain & Company), and on result pages with an AI summary only 8 percent of users click a traditional link, compared with 15 percent without a summary (Pew Research). The remaining traffic is more valuable in return: an AI search visit is valued at 4.4 times a traditional organic visit on average (Semrush), and retail visits from AI referrals show a 27 percent lower bounce rate and 38 percent longer sessions (Adobe). Blocking retrieval crawlers along with everything else means giving exactly that up. Our article on measuring LLM visibility shows how to quantify the effect; the traffic side is covered in our Google AI Mode strategy.
Placing the reservation in three effective locations
Each of the three levels has its own weakness: robots.txt is widely adopted but copyright-agnostic. Terms of use are legally precise but hard to evaluate automatically. TDMRep is machine-readable in the narrow sense but not yet an approved standard. Only together do they form a declaration that crawlers can read and courts can weigh. Implementation belongs in the server configuration and therefore in your hosting.
Level 1: robots.txt with differentiated tokens
robots.txt is the channel that nearly every serious crawler reads. The important point is not to work with User-agent: * and Disallow: /, but to decide per product token. The following pattern leaves classic search untouched, reserves editorial content and original images against AI training, and keeps everything else open:
# 1) Leave classic search untouched
User-agent: Googlebot
Allow: /
# 2) AI training: reserve editorial content and own images
User-agent: Google-Extended
Disallow: /guides/
Disallow: /magazine/
Disallow: /reviews/
Disallow: /media/product-photos/
Allow: /
# 3) Observe unknown collectors first, do not block blindly
User-agent: *
Disallow: /cart/
Disallow: /search/
Disallow: /account/
Allow: /
Sitemap: https://www.example.com/sitemap.xmlUnder RFC 9309 the most specific match wins, not the rule written last (rfc-editor.org). Create a separate group per token and verify after every change that your category, product and sitemap paths remain reachable. A misplaced Disallow on a filter path can shift crawl budget – see our analysis of faceted navigation and filter URLs.
Level 2: terms of use as the legal anchor
Recital 18 of the DSM Directive explicitly names the terms and conditions of a website as a possible means of reserving rights (EUR-Lex). On their own they are not sufficiently machine-readable, but they carry the substantive precision that robots.txt and TDMRep cannot provide. A robust clause should cover these points:
- An explicit reservation under Section 44b(3) UrhG and Article 4(3) of Directive (EU) 2019/790
- A clear description of the content covered: text, images, video, reviews, structured data
- A delimitation of permitted use: indexing for search services and answering specific queries with source attribution remain allowed
- A pointer to the machine-readable equivalent: robots.txt and
/.well-known/tdmrep.json - A contact route for licensing enquiries naming the responsible function in the company
- A date and version, so the state at the time of a crawl remains verifiable
How heavily this channel is used is shown by a large longitudinal study: in an audit of roughly 14,000 web domains underlying common training corpora, 45 percent of the C4 corpus was restricted through terms of service (Data Provenance Initiative). At the same time the study found substantial inconsistencies between what websites declare in their terms and what their robots.txt actually signals (Data Provenance Initiative). That inconsistency is precisely what you want to avoid.
Level 3: TDMRep as the machine-readable declaration
The TDM Reservation Protocol (TDMRep) was developed as a technical answer to Article 4 of the DSM Directive and has been available as a Final Community Group Report since 10 May 2024; it is not an official W3C standard (w3.org). The model consists of just two properties: tdm-reservation as a boolean (1 = rights reserved, 0 = not reserved) and tdm-policy as a URL where contact details and licensing conditions can be found (w3.org). There are three implementation routes – a file at /.well-known/tdmrep.json, HTTP response headers and HTML metadata (w3.org).
[
{
"location": "/",
"tdm-reservation": 0
},
{
"location": "/guides/",
"tdm-reservation": 1,
"tdm-policy": "https://www.example.com/tdm-policy.json"
},
{
"location": "/media/product-photos/",
"tdm-reservation": 1,
"tdm-policy": "https://www.example.com/tdm-policy.json"
}
]# Option A: HTTP response headers (nginx, guide paths only)
location /guides/ {
add_header tdm-reservation 1 always;
add_header tdm-policy "https://www.example.com/tdm-policy.json" always;
}
<!-- Option B: HTML metadata in the head of the page -->
<meta name="tdm-reservation" content="1">
<meta name="tdm-policy" content="https://www.example.com/tdm-policy.json">TDM agents are expected to evaluate the declarations in a fixed order: first the file at /.well-known/tdmrep.json, then HTTP headers, finally HTML metadata – with later values superseding earlier ones (w3.org). Keep the three sources consistent. Contradictory statements weaken the declaration instead of strengthening it.
The limits of robots.txt: a request, not a lock
Since September 2022 the Robots Exclusion Protocol has been an IETF Proposed Standard as RFC 9309 (rfc-editor.org). The document specifies syntax, error handling and caching, extending the convention Martijn Koster introduced in 1994. It also sets technical limits, such as a parsing limit of at least 500 kibibytes per robots.txt (rfc-editor.org). If you maintain a very long file, put the most important groups near the top.
Crawlers should impose a parsing limit to protect their systems; that limit must be at least 500 kibibytes.
RFC 9309, Robots Exclusion Protocol (IETF)
Something else matters more, though: robots.txt is not access control. It is a statement by the operator about what an automatic client should do – not about what it technically can do. A URL excluded via Disallow remains retrievable over HTTP. Relying on it alone confuses a courtesy rule with a protection mechanism.
- Voluntary compliance: adherence depends on the client's behaviour; there is no technical enforcement
- Identity: the user agent is a freely chosen header and can be spoofed
- Granularity: path rules rarely map exactly onto content categories such as guide or review
- Latency: changes only take effect once the client re-fetches the file – RFC 9309 permits caching (rfc-editor.org)
- Reach: content distributed via feeds, marketplaces or partners escapes your robots.txt entirely
Analyses of the robots.txt landscape show that blocking is applied rather cautiously overall: in an analysis of roughly 140 million websites, block rates even for the best-known SEO crawlers were only 6.3 to 6.5 percent (Ahrefs). News publishers behave differently: at the end of 2023, 48 percent of the most-used news sites across ten countries blocked the crawler of a major AI provider and 24 percent blocked Google's AI token – in Germany the figure for the Google token was the highest at 60 percent (Reuters Institute). A longitudinal study of training corpora found that within a single year more than 5 percent of all tokens in C4 and roughly 28 percent of the most actively maintained sources became fully restricted (Data Provenance Initiative).
Not every proposed protocol is actually read. An analysis of 137,210 domains found that 97 percent of the llms.txt files hosted there received no requests at all in May 2026; among the few files that were fetched, most requests came from general crawlers and audit tools rather than AI systems (Ahrefs). Put your core statement where it is demonstrably read – in robots.txt, HTTP headers and /.well-known/tdmrep.json.
The reservation only bites with bot management
The legal reservation and its technical enforcement are two separate jobs. The reservation decides whether a use is permitted. Whether it actually happens is decided by your infrastructure. Four layers work, and they build on one another in the server configuration:
- Identification: user-agent rules as a first step, but consistently combined with verification via reverse DNS or the provider's published IP ranges – Google documents this verification for its own crawlers explicitly (Google Search Central)
- Rate limits: capping requests per minute per IP, subnet or autonomous system so that unknown collectors cannot overload the origin
- Firewall rule set: targeted 403 or 429 responses for verified training crawlers on reserved paths, while product pages stay open
- Decoupling: an upstream cache layer so crawler load does not hit database and application directly
The fourth point is often underestimated. Crawlers typically generate many requests on detail pages with a low cache hit rate. Our article on the HTTP cache rework in Shopware describes how to absorb that; for asynchronous background processing, see message queue and workers in production. Both reduce the likelihood that heavy bot load turns into a performance problem for real customers.
No bot management offers complete protection. User agents can be spoofed, IP ranges change, and aggressive rules typically also hit legitimate search engine crawlers or monitoring services. Test every rule in observation mode first, log the matches and only then switch to blocking. The fundamentals are covered in our overview of IT security in e-commerce.
Server log analysis: who is really crawling, and what does it cost?
Before you write a single rule you need numbers. Analytics tools will not help: crawlers do not execute JavaScript and usually do not appear there. The reliable source is your web server's access logs. Four fields per request matter: timestamp, requested URL, user agent and bytes served, complemented by status code and response time.
- Retain raw logs for at least 30 days so weekly patterns and campaign periods become visible
- Group requests by user agent and sort them into four classes: search, retrieval, training, unknown
- Spot-check claimed identities via reverse DNS and count spoofed entries separately
- Sum bytes served and response times per class to quantify the real load
- Compare referral traffic from AI surfaces to build a ratio of crawl effort to return
- Repeat quarterly and document the changes
| Metric | What it shows | Typical consequence |
|---|---|---|
| Requests per class and day | distribution across search, retrieval, training | set priorities for the rule set |
| Bytes served per class | real infrastructure cost of crawling | rate limits or more caching |
| Crawl-to-referral ratio | commercial return per access type | tighten the reservation selectively |
| Share of unverifiable bots | quality of identification | extend verification |
| Hits on reserved paths | effectiveness of the reservation | follow up with technical enforcement |
In projects we regularly see that a substantial share of bot load falls on paths that produce neither revenue nor visibility – filter combinations, sort parameters, print views (project experience). Those paths can usually be excluded without side effects and relieve the server noticeably before AI-specific rules are even discussed. Ongoing evaluation belongs in the routine operation of your hosting, not in a one-off project.
A differentiation strategy for shops: release what sells
For retailers the decision can be aligned to one simple question: does the content create demand, or is it the product itself? Product data, prices and availability create demand – this is where you want to be found, including by generative systems. Guides, reviews, application knowledge and original imagery, by contrast, are editorial work of your own that produces little return without a back-link.
| Content type | Retrieval crawlers | Training crawlers | Rationale |
|---|---|---|---|
| Product data, attributes | allow | allow | discoverability is the point |
| Prices, availability | allow | allow | perishable data, low training value |
| Category texts | allow | weigh up | SEO benefit versus own work |
| Guides, reviews | allow | reserve | high editorial effort |
| Original product photos | allow | reserve | licence value, third-party rights |
| Customer reviews | weigh up | reserve | third-party rights and data protection |
Release product data actively
Clean attributes, variants and availability in structured form are the basis for appearing in generative answers at all. Our article on structured product data for AI shows what that looks like technically.
Reserve editorial content
Guides and reviews are the part of your assortment you produced yourself. Set tdm-reservation to 1 here and add a tdm-policy URL so interested parties find a licensing route (w3.org).
Stay agent-ready
Automated purchases need reachable product and availability data. Our guide to agentic checkout describes how a shop prepares for it.
This differentiation is not a convenience compromise but a consistent application of the law: Section 44b(3) UrhG does not require a blanket reservation, only a declared one (gesetze-im-internet.de). You may draw it as narrowly or as widely as your business model requires – as long as the declaration is machine-readable and free of contradictions. That is exactly what the TDMRep model with its path-based location entries is designed for (w3.org).
Licensing instead of a total block
The reservation is not an end in itself. The TDMRep model deliberately provides a second property, tdm-policy: a URL where contact information and the conditions for obtaining permission to mine the content are available (w3.org). Blocking alone forgoes a revenue channel; blocking while opening a licensing route turns a defensive measure into an offer.
- A lean policy page describing the reserved content classes and a contact route
- A statement of which uses remain permitted without a separate agreement – for example answers with visible source attribution
- A note on whether you can offer structured feeds or interfaces as licensed access
- A named responsibility inside the company so enquiries do not get lost in a shared inbox
- Regular updates, because providers, tokens and protocols keep changing
A reservation without a licensing route is a door without a bell. If you protect content, say in the same breath under which conditions using it would be possible.
XICTRON development team
Technically the effort is manageable: a static JSON file, a header in the server configuration, a paragraph in the terms of use and a policy page. The larger part of the work sits in mapping your shop's content – that is, deciding which paths hold which content class. That mapping combines well with a technical inventory in development and architecture.
Taking back control over AI crawlers
The legal position is clearer than it is often portrayed: without a machine-readable reservation, text and data mining on lawfully accessible works is permitted (gesetze-im-internet.de; EUR-Lex). What is currently unsettled is mainly the exact form a reservation must take – the Higher Regional Court of Hamburg admitted an appeal to the Federal Court of Justice and thereby kept the question open (Legal Tribune Online). Until then the pragmatic answer is to declare the reservation in robots.txt, terms of use and TDMRep at the same time, to enforce it technically only where it matters commercially, and to measure the effect in your server logs. If you would like your crawler traffic analysed, the reservation set properly and bot control configured so your product data stays visible, talk to us – our team supports analysis, implementation and operation.
This article draws on Section 44b UrhG (text and data mining) in the official text at gesetze-im-internet.de, Directive (EU) 2019/790 (DSM Directive), Article 4 and Recital 18 at EUR-Lex, the W3C TDM Reservation Protocol (TDMRep) Final Community Group Report of 10 May 2024 (w3.org), RFC 9309 – Robots Exclusion Protocol from the IETF (rfc-editor.org) and the crawler overview and Google-Extended documentation at Google Search Central (developers.google.com). Additional citations come from the European Commission (AI Act (EU) 2024/1689, Article 53 and the Code of Practice for general-purpose AI models of 10 July 2025), Legal Tribune Online (proceedings before the Hamburg Regional and Higher Regional Court), the Reuters Institute for the Study of Journalism (news sites blocking AI crawlers, survey end of 2023), the Data Provenance Initiative (Consent in Crisis, 2024), Ahrefs (robots.txt block rates 2025, llms.txt analysis June 2026), Semrush and Adobe (value and behaviour of AI traffic, 2025), Pew Research and Bain & Company (click behaviour with AI summaries, 2025). Figures are as of July 2026 and may change; this article does not replace legal advice.
Your copyright remains in place, but the exception applies: under Section 44b(2) UrhG, reproductions of lawfully accessible works for text and data mining are permitted as long as no reservation has been declared (gesetze-im-internet.de). For works available online, a reservation is only effective in machine-readable form. In our experience the combination of robots.txt, terms of use and TDMRep is currently the most robust route.
Typically not on its own. Recital 18 of the DSM Directive does name terms and conditions as a possible means (EUR-Lex), but the Higher Regional Court of Hamburg did not consider a reservation in natural language sufficiently machine-readable in the case decided (Legal Tribune Online). An appeal to the Federal Court of Justice has been admitted. Until that is clarified, an additional machine-readable declaration is usually advisable.
According to Google's documentation, no: the Google-Extended token exclusively controls use for training and grounding generative models and, per Google, does not impact a site's inclusion in Google Search, nor is it used as a ranking signal (Google Search Central). Other providers separate this less cleanly – check the respective documentation before blocking a token.
There is no certain indicator, but three signals help: the provider's documented product token, the access pattern (broad sweeps across many URLs suggest collection, isolated single fetches suggest a user request) and the referral return. Google describes the categories common crawlers, special-case crawlers and user-triggered fetchers in its own crawler overview (Google Search Central). Spot-check claimed identities via reverse DNS.
In our experience established providers follow the file, but robots.txt is technically not access control. RFC 9309 describes it as a protocol through which operators express how their content should be accessed (rfc-editor.org). Compliance depends on the client's behaviour. For content of high commercial value, bot verification, rate limits and firewall rules are therefore commonly added.
We analyse your server logs, classify bot traffic by access type and quantify the actual load. On that basis we set the reservation in robots.txt, terms of use and TDMRep, configure bot verification, rate limits and firewall rules, and check that your product data remains reachable for search and answer systems. Details are on our search engine optimization page; for individual legal questions please consult a lawyer.