Certificat AgentReady.md vérifié
Émis le sig: 7027bc7a3da7a433 Vérifier →

URL analysée

https://ziehertechnic.de

Mesuré il y a 2 semaines

Analyser une autre URL

Score AI-Ready

Insuffisant

sur 100

Économie de tokens

Tokens HTML 118.293
Tokens Markdown 819
Économie 99%

Détail du score

HTML sémantique 39/100
Efficacité du contenu 63/100
Visibilité IA 25/100
Données structurées 18/100
Accessibilité 72/100

Protocoles émergents

0 sur 6 détectés

Endpoints well-known recherchés par les agents IA. Détecté signifie qu’un agent peut découvrir et se connecter automatiquement à votre service.

  • OAuth Protected Resource RFC 9728
    /.well-known/oauth-protected-resource
  • OAuth Discovery RFC 8414
    /.well-known/oauth-authorization-server
  • MCP Server Card SEP-1649 draft
    /.well-known/mcp/server-card.json
  • A2A Agent Card A2A v1.0
    /.well-known/agent-card.json
  • API Catalog RFC 9727
    /.well-known/api-catalog
  • Agent Skills index Discovery RFC v0.2.0 draft
    /.well-known/agent-skills/index.json

Cela ne reste pas en place. La surveillance n'existe pas encore : inscrivez-vous, on vous préviendra.

Vous êtes sur la liste ! Nous vous préviendrons lors du lancement.

Ce que nous avons mesuré No llms.txt found

Votre site n’a pas de fichier llms.txt. C’est le standard émergent pour aider les AI agents à comprendre la structure de votre site.

Comment implémenter

Créez un fichier /llms.txt en suivant la spécification de llmstxt.org. Incluez une description du site et des liens vers vos pages principales.

Collez-le dans un agent de code pour appliquer le correctif

Ce que nous avons mesuré Content ratio: 0.4% (1079 content chars / 289612 HTML bytes)

Votre page a un faible ratio de contenu réel par rapport au HTML total. Une grande partie du poids de la page est du balisage, des scripts ou des styles plutôt que du contenu.

Comment implémenter

Déplacez le CSS vers des feuilles de style externes, supprimez les styles en ligne, minimisez le JavaScript et assurez-vous que le HTML se concentre sur la structure du contenu.

Collez-le dans un agent de code pour appliquer le correctif

Ce que nous avons mesuré No Markdown for Agents support detected

Votre site ne supporte pas Markdown for Agents. Ce standard Cloudflare permet aux agents IA de demander du contenu en format markdown, réduisant l'utilisation de tokens de ~80%.

Comment implémenter

Implémentez un ou plusieurs : (1) Répondre à Accept: text/markdown avec du contenu markdown. (2) Servir des URLs .md (ex : /page.md). (3) Ajouter des balises <link rel="alternate" type="text/markdown">. (4) Ajouter des en-têtes HTTP Link pour la découverte markdown.

Collez-le dans un agent de code pour appliquer le correctif

Ce que nous avons mesuré No sitemap found

Aucun sitemap trouvé. Un sitemap aide les AI agents à découvrir toutes les pages de votre site.

Comment implémenter

Créez un /sitemap.xml listant toutes vos pages publiques. La plupart des CMS peuvent le générer automatiquement.

Collez-le dans un agent de code pour appliquer le correctif

Ce que nous avons mesuré No Content-Signal found (robots.txt or HTTP headers)

Aucune directive Content-Signal trouvée. Celles-ci indiquent aux agents IA comment ils peuvent utiliser votre contenu (indexation, entrée IA, données d'entraînement). L'emplacement recommandé est robots.txt.

Comment implémenter

Ajoutez Content-Signal à votre robots.txt : User-agent: *\nContent-Signal: search=yes, ai-input=yes, ai-train=no. Vous pouvez aussi l'ajouter comme en-tête HTTP sur les réponses markdown.

Collez-le dans un agent de code pour appliquer le correctif

Ce que nous avons mesuré Avg div depth: 17.6, max: 32

Votre page a des éléments <div> profondément imbriqués. L’imbrication excessive ajoute du bruit et rend l’extraction de contenu plus difficile pour les AI agents.

Comment implémenter

Simplifiez la structure HTML en supprimant les divs enveloppants inutiles. Utilisez CSS Grid ou Flexbox pour la mise en page au lieu de divs conteneurs imbriqués.

Collez-le dans un agent de code pour appliquer le correctif

Ce que nous avons mesuré No JSON-LD / Schema.org found

Aucune donnée structurée Schema.org trouvée. JSON-LD aide les AI agents à extraire des informations factuelles et structurées de vos pages.

Comment implémenter

Ajoutez un bloc <script type="application/ld+json"> avec du balisage Schema.org. Utilisez les types appropriés : Article pour les billets de blog, Product pour les produits, Organization pour la page de votre entreprise.

Collez-le dans un agent de code pour appliquer le correctif

Ce que nous avons mesuré 7 semantic elements, 745 divs (ratio: 1%)

Votre page repose fortement sur les éléments <div>. Les éléments sémantiques comme <section>, <nav>, <header>, <footer> et <aside> fournissent une structure significative pour les AI agents.

Comment implémenter

Remplacez les conteneurs <div> génériques par les éléments sémantiques appropriés. Utilisez <section> pour les groupes thématiques, <nav> pour la navigation, <header>/<footer> pour les en-têtes et pieds de page ou de section.

Collez-le dans un agent de code pour appliquer le correctif

Ce que nous avons mesuré 1/3 OG tags present

Balises Open Graph manquantes ou incomplètes. Les balises OG aident les AI agents (et les plateformes sociales) à comprendre le titre, la description et l’image de votre page.

Comment implémenter

Ajoutez les balises meta og:title, og:description et og:image dans le <head> de votre page.

Collez-le dans un agent de code pour appliquer le correctif

Ce que nous avons mesuré No meta description

Aucune meta description trouvée. Cette balise fournit un résumé concis de la page pour les AI agents et les moteurs de recherche.

Comment implémenter

Ajoutez une balise <meta name="description" content="..."> avec une description de 150 à 160 caractères sur le contenu de la page.

Collez-le dans un agent de code pour appliquer le correctif
Tokens Markdown: 819
![](https://ziehertechnic.de/images/slider_startseite/slide_02.jpg)

slide\_02.jpg

![](https://ziehertechnic.de/images/slider_startseite/Slider_Text_schwarz.png)

![Image](https://ziehertechnic.de/images/icons/icons_zieher.svg)

[![Image](https://ziehertechnic.de/images/projekte/museum-weishaupt/weishaupt_intro.jpg)](https://ziehertechnic.de/kunsthalle-weishaupt)

[![Image](https://ziehertechnic.de/images/projekte/aussegnungshalle-ulm/aus-04.jpg)](https://ziehertechnic.de/aussegnungshalle-ulm)

[![Image](https://ziehertechnic.de/images/projekte/haus-bei-muenchen-wwa-architekten/haus_bei_muenchen_wwa_architekten_1.jpg)](https://ziehertechnic.de/wohnhaus-muenchen)

[![Image](https://ziehertechnic.de/images/projekte/neubau-hauptsitz-donau-iller-bank-ehingen/neubau_hauptsitz_donau-iller_bank_ehingen_2.jpg)](https://ziehertechnic.de/bankhaus-ehingen)

[![Image](https://ziehertechnic.de/images/projekte/weisshaupt-frankfurt/weisshaupt-frankfurt_06.jpg)](https://ziehertechnic.de/firmengebaeude-frankfurt)

[![Image](https://ziehertechnic.de/images/projekte/uniklinik-michelsberg/seidel_architekten_muco01.jpeg)](https://ziehertechnic.de/uniklinik-ulm-casino-muko)

[![Image](https://ziehertechnic.de/images/projekte/feuerwehr-illertissen/fw-illertissen_006_01.jpg)](https://ziehertechnic.de/feuerwehr-illertissen)

[![Image](https://ziehertechnic.de/images/2025/07/29/fanuc-01_0342-ubersicht.jpg)](https://ziehertechnic.de/firmengebaeude-neuhausen)

![Image](https://ziehertechnic.de/images/profil/profil_03.jpg)

seit der gründung des büros im jahre 1969 durch herrn zieher senior wurden in über 55 jahren mehr als 1.000 projekte zur zufriedenheit der auftraggeber abgewickelt. im jahr 1997 ist herr zieher junior der geschäftsführung beigetreten. nach dem ausscheiden des firmengründers im jahr 2013 wurde das büro von seinem sohn weitergeführt.

zur langfristigen aufstellung des ingenieurbüros wurde im jahr 2019 die geschäftsführung um herrn wolfgang thomas erweitert.
genauso wie mit unseren mitarbeitern streben wir eine langfristige verbindung mit unseren auftraggebern an, basierend auf vertrauen und leistung. unsere verpflichtung gegenüber dem auftraggeber ist eine termin- und kostengerechte planung, ausführung und abrechnung unserer gewerke.

### Information

zieher technic ingenieurbüro
beratende ingenieure partg mbb
mähringer weg 68
89075 ulm

fon 0731 95460-0
fax 0731 95460-60
mail [[email protected]](mailto:[email protected])
01 | home

[![zieher technic ulm](https://ziehertechnic.de/images/logo/zieher_Logo_web%20vector.svg)](https://ziehertechnic.de/)

![](https://ziehertechnic.de/images/slider_startseite/slide_02.jpg)

![](https://ziehertechnic.de/images/slider_startseite/slide_03.jpg)

![](https://ziehertechnic.de/images/slider_startseite/weishaupt_neubau_rechenzentrum_5.jpg)

![](https://ziehertechnic.de/images/slider_startseite/seidel-architekten-237.jpg)

slide\_02.jpg

![](https://ziehertechnic.de/images/slider_startseite/Slider_Text_schwarz.png)

slide\_02.jpg

![](https://ziehertechnic.de/images/slider_startseite/Slider_Text_schwarz.png)

slide\_02.jpg

![](https://ziehertechnic.de/images/slider_startseite/Slider_Text_schwarz.png)

slide\_02.jpg

![](https://ziehertechnic.de/images/slider_startseite/Slider_Text_schwarz.png)

## 02

## leistungen

## wir betreuen unsere kunden von den grundsatzüberlegungen zur technischen gebäudeausrüstung über planung und ausführung bis zur mängelfreien übergabe des projekts. dabei steht bei uns immer der kunde mit seinen Ansprüchen an die technische Ausrüstung im Mittelpunkt.

[beratung](https://ziehertechnic.de/leistungen/beratung)     

[planung](https://ziehertechnic.de/leistungen/planung)     

[bauleitung](https://ziehertechnic.de/leistungen/bauleitung)     

### sanitärtechnik

### heizungstechnik

### raumlufttechnik

### kältetechnik

### kraft-wärme-kopplung

### solaranlagen

### gebäudeautomation

### medizin- / labortechnik

### förderanlagen

### geothermie

### badewassertechnik

### entwässerung

### elektrotechnik

![Image](https://ziehertechnic.de/images/icons/icons_zieher.svg)

### photovoltaikanlagen

## 03

## projekte

## die folgenden projekte zeigen eine auswahl aus über 900 projekten, die seit der gründung des büros bearbeitet wurden. vom einfamilienhaus bis zu ganzen industriebetrieben und krankenhäusern decken wir den gesamten bereich der technischen gebäudeausrüstung ab:

[### Kunsthalle Ulm](https://ziehertechnic.de/kunsthalle-weishaupt)

[![Image](https://ziehertechnic.de/images/projekte/museum-weishaupt/weishaupt_intro.jpg)](https://ziehertechnic.de/kunsthalle-weishaupt)

[Projekt anzeigen](https://ziehertechnic.de/kunsthalle-weishaupt)     

[### Aussegnungshalle Ulm](https://ziehertechnic.de/aussegnungshalle-ulm)

[![Image](https://ziehertechnic.de/images/projekte/aussegnungshalle-ulm/aus-04.jpg)](https://ziehertechnic.de/aussegnungshalle-ulm)

[Projekt anzeigen](https://ziehertechnic.de/aussegnungshalle-ulm)     

[### Wohnhaus München](https://ziehertechnic.de/wohnhaus-muenchen)

[![Image](https://ziehertechnic.de/images/projekte/haus-bei-muenchen-wwa-architekten/haus_bei_muenchen_wwa_architekten_1.jpg)](https://ziehertechnic.de/wohnhaus-muenchen)

[Projekt anzeigen](https://ziehertechnic.de/wohnhaus-muenchen)     

[### Bankgebäude Ehingen](https://ziehertechnic.de/bankhaus-ehingen)

[![Image](https://ziehertechnic.de/images/projekte/neubau-hauptsitz-donau-iller-bank-ehingen/neubau_hauptsitz_donau-iller_bank_ehingen_2.jpg)](https://ziehertechnic.de/bankhaus-ehingen)

[Projekt anzeigen](https://ziehertechnic.de/bankhaus-ehingen)     

[### Firmengebäude Frankfurt](https://ziehertechnic.de/firmengebaeude-frankfurt)

[![Image](https://ziehertechnic.de/images/projekte/weisshaupt-frankfurt/weisshaupt-frankfurt_06.jpg)](https://ziehertechnic.de/firmengebaeude-frankfurt)

[Projekt anzeigen](https://ziehertechnic.de/firmengebaeude-frankfurt)     

[### universitätsklinikum ulm](https://ziehertechnic.de/uniklinik-ulm-casino-muko)

[![Image](https://ziehertechnic.de/images/projekte/uniklinik-michelsberg/seidel_architekten_muco01.jpeg)](https://ziehertechnic.de/uniklinik-ulm-casino-muko)

[Projekt anzeigen](https://ziehertechnic.de/uniklinik-ulm-casino-muko)     

[### feuerwehr illertissen](https://ziehertechnic.de/feuerwehr-illertissen)

[![Image](https://ziehertechnic.de/images/projekte/feuerwehr-illertissen/fw-illertissen_006_01.jpg)](https://ziehertechnic.de/feuerwehr-illertissen)

[Projekt anzeigen](https://ziehertechnic.de/feuerwehr-illertissen)     

[### firmengebäude neuhausen a.d.f.](https://ziehertechnic.de/firmengebaeude-neuhausen)

[![Image](https://ziehertechnic.de/images/2025/07/29/fanuc-01_0342-ubersicht.jpg)](https://ziehertechnic.de/firmengebaeude-neuhausen)

[Projekt anzeigen](https://ziehertechnic.de/firmengebaeude-neuhausen)     

[Alle Projekte anzeigen](https://ziehertechnic.de/projektuebersicht)

## 04

## profil

![Image](https://ziehertechnic.de/images/profil/profil_03.jpg)

seit der gründung des büros im jahre 1969 durch herrn zieher senior wurden in über 55 jahren mehr als 1.000 projekte zur zufriedenheit der auftraggeber abgewickelt. im jahr 1997 ist herr zieher junior der geschäftsführung beigetreten. nach dem ausscheiden des firmengründers im jahr 2013 wurde das büro von seinem sohn weitergeführt.

zur langfristigen aufstellung des ingenieurbüros wurde im jahr 2019 die geschäftsführung um herrn wolfgang thomas erweitert.
genauso wie mit unseren mitarbeitern streben wir eine langfristige verbindung mit unseren auftraggebern an, basierend auf vertrauen und leistung. unsere verpflichtung gegenüber dem auftraggeber ist eine termin- und kostengerechte planung, ausführung und abrechnung unserer gewerke.

[geschäftsleitung](https://ziehertechnic.de/profil)     

[mitarbeiter](https://ziehertechnic.de/profil)     

### Information

zieher technic ingenieurbüro
beratende ingenieure partg mbb
mähringer weg 68
89075 ulm

fon 0731 95460-0
fax 0731 95460-60
mail [[email protected]](mailto:[email protected])

### Servicemenü

-   [Kontakt](https://ziehertechnic.de/kontakt)
-   [Impressum](https://ziehertechnic.de/impressum)
-   [Datenschutz](https://ziehertechnic.de/datenschutz)
-   [Profil](https://ziehertechnic.de/profil)
-   [Karriere](https://ziehertechnic.de/karriere)
-   [Aktuelles](https://ziehertechnic.de/aktuelles)

[

](https://ziehertechnic.de/#)

-   [01 | home](https://ziehertechnic.de/)
-   [02 | leistungen](https://ziehertechnic.de/#leistungen)
    -   [beratung](https://ziehertechnic.de/leistungen/beratung)
    -   [planung](https://ziehertechnic.de/leistungen/planung)
    -   [bauleitung](https://ziehertechnic.de/leistungen/bauleitung)
-   [03 | projekte](https://ziehertechnic.de/#projekte)
    -   [kunsthalle ulm](https://ziehertechnic.de/kunsthalle-weishaupt)
    -   [aussegnungshalle ulm](https://ziehertechnic.de/aussegnungshalle-ulm)
    -   [wohnhaus münchen](https://ziehertechnic.de/wohnhaus-muenchen)
    -   [bankgebäude ehingen](https://ziehertechnic.de/bankhaus-ehingen)
    -   [firmengebäude frankfurt](https://ziehertechnic.de/firmengebaeude-frankfurt)
    -   [universitätsklinikum ulm](https://ziehertechnic.de/uniklinik-ulm-casino-muko)
    -   [feuerwehr illertissen](https://ziehertechnic.de/feuerwehr-illertissen)
    -   [firmengebäude neuhausen a.d.f.](https://ziehertechnic.de/firmengebaeude-neuhausen)
-   [04 | profil](https://ziehertechnic.de/profil)
-   [05 | karriere](https://ziehertechnic.de/karriere)
-   [06 | aktuelles](https://ziehertechnic.de/aktuelles)

[](https://ziehertechnic.de/#)

Téléversez ce fichier sous /index.md sur votre serveur pour que les AI agents puissent accéder à une version propre de votre page. Vous pouvez également configurer la négociation de contenu Accept: text/markdown pour le servir automatiquement.

llms.txt généré pour cette page individuelle

Télécharger llms.txt
# zieher technic ulm

> slide_02.jpg

## Main
- [01 | home](https://ziehertechnic.de): slide_02.jpg
- [01 | home](https://ziehertechnic.de/)
- [beratung](https://ziehertechnic.de/leistungen/beratung)
- [planung](https://ziehertechnic.de/leistungen/planung)
- [bauleitung](https://ziehertechnic.de/leistungen/bauleitung)
- [kunsthalle ulm](https://ziehertechnic.de/kunsthalle-weishaupt)
- [aussegnungshalle ulm](https://ziehertechnic.de/aussegnungshalle-ulm)
- [wohnhaus münchen](https://ziehertechnic.de/wohnhaus-muenchen)
- [bankgebäude ehingen](https://ziehertechnic.de/bankhaus-ehingen)

Le llms.txt complet nécessite une analyse de tout le domaine (bientôt disponible)

Téléversez ce fichier vers https://ziehertechnic.de/llms.txt à la racine de votre domaine. Les AI agents comme ChatGPT, Claude et Perplexity consultent ce fichier pour comprendre la structure de votre site.

HTML sémantique

Utilise les éléments article ou main (100/100)

Has <main>

Hiérarchie de titres correcte (70/100)

no <h1>

Utilise des éléments HTML sémantiques (3/100)

7 semantic elements, 745 divs (ratio: 1%)

Textes alternatifs descriptifs pour les images (5/100)

1/19 images with meaningful alt text

Faible profondeur d’imbrication des divs (0/100)

Avg div depth: 17.6, max: 32

Efficacité du contenu

Bon ratio de réduction de tokens (100/100)

99% token reduction (HTML→Markdown)

Bon ratio contenu/bruit (0/100)

Content ratio: 0.4% (1079 content chars / 289612 HTML bytes)

Styles en ligne minimaux (100/100)

6/1063 elements with inline styles (0.6%)

Poids de page raisonnable (50/100)

HTML size: 283KB

Visibilité IA

Possède un fichier llms.txt (0/100)

No llms.txt found

Possède un fichier robots.txt (100/100)

robots.txt exists

robots.txt autorise les bots IA (100/100)

All major AI bots allowed

Possède un sitemap.xml (0/100)

No sitemap found

Support Markdown for Agents (0/100)
&#10007; Accept: text/markdown &#10007; .md URL &#10007; <link> tag &#10007; Link header
A Content-Signal (robots.txt ou en-têtes HTTP) (0/100)
&#10003; robots.txt &#10003; HTTP header &#10007; Policy

Données structurées

Possède Schema.org / JSON-LD (0/100)

No JSON-LD / Schema.org found

Possède des balises Open Graph (33/100)

1/3 OG tags present

Possède une meta description (0/100)

No meta description

Possède une URL canonique (0/100)

No canonical URL

Possède un attribut lang (100/100)

lang="de-de"

Accessibilité

Contenu disponible sans JavaScript (100/100)

Content available without JavaScript

Taille de page raisonnable (80/100)

Page size: 283KB

Le contenu apparaît tôt dans le HTML (25/100)

Main content starts at 74% of HTML

{
  "url": "https://ziehertechnic.de",
  "timestamp": 1783247725998,
  "fetch": {
    "mode": "simple",
    "timeMs": 1689,
    "htmlSizeBytes": 289612,
    "supportsMarkdown": false,
    "markdownAgents": {
      "contentNegotiation": false,
      "mdUrl": {
        "found": false,
        "url": null
      },
      "linkTag": {
        "found": false,
        "url": null
      },
      "linkHeader": {
        "found": false,
        "url": null
      },
      "responseHeaders": {
        "contentSignal": null,
        "xMarkdownTokens": null,
        "vary": null
      },
      "frontmatter": {
        "present": false,
        "fields": [],
        "level": "none"
      },
      "level": "none"
    },
    "statusCode": 200
  },
  "extraction": {
    "title": "01 | home",
    "excerpt": "slide_02.jpg",
    "byline": "Florian Schmid",
    "siteName": "zieher technic ulm",
    "lang": "de-de",
    "contentLength": 1079,
    "metadata": {
      "description": null,
      "ogTitle": "01 | home",
      "ogDescription": null,
      "ogImage": null,
      "ogType": "website",
      "canonical": null,
      "lang": "de-de",
      "schemas": [],
      "robotsMeta": "index, follow",
      "author": null,
      "generator": "Helix Ultimate - The Most Popular Joomla! Template Framework.",
      "markdownAlternateHref": null
    }
  },
  "markdown": "![](https://ziehertechnic.de/images/slider_startseite/slide_02.jpg)\n\nslide\\_02.jpg\n\n![](https://ziehertechnic.de/images/slider_startseite/Slider_Text_schwarz.png)\n\n![Image](https://ziehertechnic.de/images/icons/icons_zieher.svg)\n\n[![Image](https://ziehertechnic.de/images/projekte/museum-weishaupt/weishaupt_intro.jpg)](https://ziehertechnic.de/kunsthalle-weishaupt)\n\n[![Image](https://ziehertechnic.de/images/projekte/aussegnungshalle-ulm/aus-04.jpg)](https://ziehertechnic.de/aussegnungshalle-ulm)\n\n[![Image](https://ziehertechnic.de/images/projekte/haus-bei-muenchen-wwa-architekten/haus_bei_muenchen_wwa_architekten_1.jpg)](https://ziehertechnic.de/wohnhaus-muenchen)\n\n[![Image](https://ziehertechnic.de/images/projekte/neubau-hauptsitz-donau-iller-bank-ehingen/neubau_hauptsitz_donau-iller_bank_ehingen_2.jpg)](https://ziehertechnic.de/bankhaus-ehingen)\n\n[![Image](https://ziehertechnic.de/images/projekte/weisshaupt-frankfurt/weisshaupt-frankfurt_06.jpg)](https://ziehertechnic.de/firmengebaeude-frankfurt)\n\n[![Image](https://ziehertechnic.de/images/projekte/uniklinik-michelsberg/seidel_architekten_muco01.jpeg)](https://ziehertechnic.de/uniklinik-ulm-casino-muko)\n\n[![Image](https://ziehertechnic.de/images/projekte/feuerwehr-illertissen/fw-illertissen_006_01.jpg)](https://ziehertechnic.de/feuerwehr-illertissen)\n\n[![Image](https://ziehertechnic.de/images/2025/07/29/fanuc-01_0342-ubersicht.jpg)](https://ziehertechnic.de/firmengebaeude-neuhausen)\n\n![Image](https://ziehertechnic.de/images/profil/profil_03.jpg)\n\nseit der gründung des büros im jahre 1969 durch herrn zieher senior wurden in über 55 jahren mehr als 1.000 projekte zur zufriedenheit der auftraggeber abgewickelt. im jahr 1997 ist herr zieher junior der geschäftsführung beigetreten. nach dem ausscheiden des firmengründers im jahr 2013 wurde das büro von seinem sohn weitergeführt.\n\nzur langfristigen aufstellung des ingenieurbüros wurde im jahr 2019 die geschäftsführung um herrn wolfgang thomas erweitert.\ngenauso wie mit unseren mitarbeitern streben wir eine langfristige verbindung mit unseren auftraggebern an, basierend auf vertrauen und leistung. unsere verpflichtung gegenüber dem auftraggeber ist eine termin- und kostengerechte planung, ausführung und abrechnung unserer gewerke.\n\n### Information\n\nzieher technic ingenieurbüro\nberatende ingenieure partg mbb\nmähringer weg 68\n89075 ulm\n\nfon 0731 95460-0\nfax 0731 95460-60\nmail [[email protected]](mailto:[email protected])\n",
  "fullPageMarkdown": "01 | home\n\n[![zieher technic ulm](https://ziehertechnic.de/images/logo/zieher_Logo_web%20vector.svg)](https://ziehertechnic.de/)\n\n![](https://ziehertechnic.de/images/slider_startseite/slide_02.jpg)\n\n![](https://ziehertechnic.de/images/slider_startseite/slide_03.jpg)\n\n![](https://ziehertechnic.de/images/slider_startseite/weishaupt_neubau_rechenzentrum_5.jpg)\n\n![](https://ziehertechnic.de/images/slider_startseite/seidel-architekten-237.jpg)\n\nslide\\_02.jpg\n\n![](https://ziehertechnic.de/images/slider_startseite/Slider_Text_schwarz.png)\n\nslide\\_02.jpg\n\n![](https://ziehertechnic.de/images/slider_startseite/Slider_Text_schwarz.png)\n\nslide\\_02.jpg\n\n![](https://ziehertechnic.de/images/slider_startseite/Slider_Text_schwarz.png)\n\nslide\\_02.jpg\n\n![](https://ziehertechnic.de/images/slider_startseite/Slider_Text_schwarz.png)\n\n## 02\n\n## leistungen\n\n## wir betreuen unsere kunden von den grundsatzüberlegungen zur technischen gebäudeausrüstung über planung und ausführung bis zur mängelfreien übergabe des projekts. dabei steht bei uns immer der kunde mit seinen Ansprüchen an die technische Ausrüstung im Mittelpunkt.\n\n[beratung](https://ziehertechnic.de/leistungen/beratung)     \n\n[planung](https://ziehertechnic.de/leistungen/planung)     \n\n[bauleitung](https://ziehertechnic.de/leistungen/bauleitung)     \n\n### sanitärtechnik\n\n### heizungstechnik\n\n### raumlufttechnik\n\n### kältetechnik\n\n### kraft-wärme-kopplung\n\n### solaranlagen\n\n### gebäudeautomation\n\n### medizin- / labortechnik\n\n### förderanlagen\n\n### geothermie\n\n### badewassertechnik\n\n### entwässerung\n\n### elektrotechnik\n\n![Image](https://ziehertechnic.de/images/icons/icons_zieher.svg)\n\n### photovoltaikanlagen\n\n## 03\n\n## projekte\n\n## die folgenden projekte zeigen eine auswahl aus über 900 projekten, die seit der gründung des büros bearbeitet wurden. vom einfamilienhaus bis zu ganzen industriebetrieben und krankenhäusern decken wir den gesamten bereich der technischen gebäudeausrüstung ab:\n\n[### Kunsthalle Ulm](https://ziehertechnic.de/kunsthalle-weishaupt)\n\n[![Image](https://ziehertechnic.de/images/projekte/museum-weishaupt/weishaupt_intro.jpg)](https://ziehertechnic.de/kunsthalle-weishaupt)\n\n[Projekt anzeigen](https://ziehertechnic.de/kunsthalle-weishaupt)     \n\n[### Aussegnungshalle Ulm](https://ziehertechnic.de/aussegnungshalle-ulm)\n\n[![Image](https://ziehertechnic.de/images/projekte/aussegnungshalle-ulm/aus-04.jpg)](https://ziehertechnic.de/aussegnungshalle-ulm)\n\n[Projekt anzeigen](https://ziehertechnic.de/aussegnungshalle-ulm)     \n\n[### Wohnhaus München](https://ziehertechnic.de/wohnhaus-muenchen)\n\n[![Image](https://ziehertechnic.de/images/projekte/haus-bei-muenchen-wwa-architekten/haus_bei_muenchen_wwa_architekten_1.jpg)](https://ziehertechnic.de/wohnhaus-muenchen)\n\n[Projekt anzeigen](https://ziehertechnic.de/wohnhaus-muenchen)     \n\n[### Bankgebäude Ehingen](https://ziehertechnic.de/bankhaus-ehingen)\n\n[![Image](https://ziehertechnic.de/images/projekte/neubau-hauptsitz-donau-iller-bank-ehingen/neubau_hauptsitz_donau-iller_bank_ehingen_2.jpg)](https://ziehertechnic.de/bankhaus-ehingen)\n\n[Projekt anzeigen](https://ziehertechnic.de/bankhaus-ehingen)     \n\n[### Firmengebäude Frankfurt](https://ziehertechnic.de/firmengebaeude-frankfurt)\n\n[![Image](https://ziehertechnic.de/images/projekte/weisshaupt-frankfurt/weisshaupt-frankfurt_06.jpg)](https://ziehertechnic.de/firmengebaeude-frankfurt)\n\n[Projekt anzeigen](https://ziehertechnic.de/firmengebaeude-frankfurt)     \n\n[### universitätsklinikum ulm](https://ziehertechnic.de/uniklinik-ulm-casino-muko)\n\n[![Image](https://ziehertechnic.de/images/projekte/uniklinik-michelsberg/seidel_architekten_muco01.jpeg)](https://ziehertechnic.de/uniklinik-ulm-casino-muko)\n\n[Projekt anzeigen](https://ziehertechnic.de/uniklinik-ulm-casino-muko)     \n\n[### feuerwehr illertissen](https://ziehertechnic.de/feuerwehr-illertissen)\n\n[![Image](https://ziehertechnic.de/images/projekte/feuerwehr-illertissen/fw-illertissen_006_01.jpg)](https://ziehertechnic.de/feuerwehr-illertissen)\n\n[Projekt anzeigen](https://ziehertechnic.de/feuerwehr-illertissen)     \n\n[### firmengebäude neuhausen a.d.f.](https://ziehertechnic.de/firmengebaeude-neuhausen)\n\n[![Image](https://ziehertechnic.de/images/2025/07/29/fanuc-01_0342-ubersicht.jpg)](https://ziehertechnic.de/firmengebaeude-neuhausen)\n\n[Projekt anzeigen](https://ziehertechnic.de/firmengebaeude-neuhausen)     \n\n[Alle Projekte anzeigen](https://ziehertechnic.de/projektuebersicht)\n\n## 04\n\n## profil\n\n![Image](https://ziehertechnic.de/images/profil/profil_03.jpg)\n\nseit der gründung des büros im jahre 1969 durch herrn zieher senior wurden in über 55 jahren mehr als 1.000 projekte zur zufriedenheit der auftraggeber abgewickelt. im jahr 1997 ist herr zieher junior der geschäftsführung beigetreten. nach dem ausscheiden des firmengründers im jahr 2013 wurde das büro von seinem sohn weitergeführt.\n\nzur langfristigen aufstellung des ingenieurbüros wurde im jahr 2019 die geschäftsführung um herrn wolfgang thomas erweitert.\ngenauso wie mit unseren mitarbeitern streben wir eine langfristige verbindung mit unseren auftraggebern an, basierend auf vertrauen und leistung. unsere verpflichtung gegenüber dem auftraggeber ist eine termin- und kostengerechte planung, ausführung und abrechnung unserer gewerke.\n\n[geschäftsleitung](https://ziehertechnic.de/profil)     \n\n[mitarbeiter](https://ziehertechnic.de/profil)     \n\n### Information\n\nzieher technic ingenieurbüro\nberatende ingenieure partg mbb\nmähringer weg 68\n89075 ulm\n\nfon 0731 95460-0\nfax 0731 95460-60\nmail [[email protected]](mailto:[email protected])\n\n### Servicemenü\n\n-   [Kontakt](https://ziehertechnic.de/kontakt)\n-   [Impressum](https://ziehertechnic.de/impressum)\n-   [Datenschutz](https://ziehertechnic.de/datenschutz)\n-   [Profil](https://ziehertechnic.de/profil)\n-   [Karriere](https://ziehertechnic.de/karriere)\n-   [Aktuelles](https://ziehertechnic.de/aktuelles)\n\n[\n\n](https://ziehertechnic.de/#)\n\n-   [01 | home](https://ziehertechnic.de/)\n-   [02 | leistungen](https://ziehertechnic.de/#leistungen)\n    -   [beratung](https://ziehertechnic.de/leistungen/beratung)\n    -   [planung](https://ziehertechnic.de/leistungen/planung)\n    -   [bauleitung](https://ziehertechnic.de/leistungen/bauleitung)\n-   [03 | projekte](https://ziehertechnic.de/#projekte)\n    -   [kunsthalle ulm](https://ziehertechnic.de/kunsthalle-weishaupt)\n    -   [aussegnungshalle ulm](https://ziehertechnic.de/aussegnungshalle-ulm)\n    -   [wohnhaus münchen](https://ziehertechnic.de/wohnhaus-muenchen)\n    -   [bankgebäude ehingen](https://ziehertechnic.de/bankhaus-ehingen)\n    -   [firmengebäude frankfurt](https://ziehertechnic.de/firmengebaeude-frankfurt)\n    -   [universitätsklinikum ulm](https://ziehertechnic.de/uniklinik-ulm-casino-muko)\n    -   [feuerwehr illertissen](https://ziehertechnic.de/feuerwehr-illertissen)\n    -   [firmengebäude neuhausen a.d.f.](https://ziehertechnic.de/firmengebaeude-neuhausen)\n-   [04 | profil](https://ziehertechnic.de/profil)\n-   [05 | karriere](https://ziehertechnic.de/karriere)\n-   [06 | aktuelles](https://ziehertechnic.de/aktuelles)\n\n[](https://ziehertechnic.de/#)\n",
  "markdownStats": {
    "images": 12,
    "links": 9,
    "tables": 0,
    "codeBlocks": 0,
    "headings": 1
  },
  "tokens": {
    "htmlTokens": 118293,
    "markdownTokens": 819,
    "reduction": 117474,
    "reductionPercent": 99
  },
  "score": {
    "score": 43,
    "grade": "D",
    "dimensions": {
      "semanticHtml": {
        "score": 39,
        "weight": 20,
        "grade": "F",
        "checks": {
          "uses_article_or_main": {
            "score": 100,
            "weight": 20,
            "details": "Has <main>"
          },
          "proper_heading_hierarchy": {
            "score": 70,
            "weight": 25,
            "details": "no <h1>"
          },
          "semantic_elements": {
            "score": 3,
            "weight": 20,
            "details": "7 semantic elements, 745 divs (ratio: 1%)"
          },
          "meaningful_alt_texts": {
            "score": 5,
            "weight": 15,
            "details": "1/19 images with meaningful alt text"
          },
          "low_div_nesting": {
            "score": 0,
            "weight": 20,
            "details": "Avg div depth: 17.6, max: 32"
          }
        }
      },
      "contentEfficiency": {
        "score": 63,
        "weight": 25,
        "grade": "C",
        "checks": {
          "token_reduction_ratio": {
            "score": 100,
            "weight": 40,
            "details": "99% token reduction (HTML→Markdown)"
          },
          "content_to_noise_ratio": {
            "score": 0,
            "weight": 30,
            "details": "Content ratio: 0.4% (1079 content chars / 289612 HTML bytes)"
          },
          "minimal_inline_styles": {
            "score": 100,
            "weight": 15,
            "details": "6/1063 elements with inline styles (0.6%)"
          },
          "reasonable_page_weight": {
            "score": 50,
            "weight": 15,
            "details": "HTML size: 283KB"
          }
        }
      },
      "aiDiscoverability": {
        "score": 25,
        "weight": 25,
        "grade": "F",
        "checks": {
          "has_llms_txt": {
            "score": 0,
            "weight": 20,
            "details": "No llms.txt found"
          },
          "has_robots_txt": {
            "score": 100,
            "weight": 10,
            "details": "robots.txt exists"
          },
          "robots_allows_ai_bots": {
            "score": 100,
            "weight": 15,
            "details": "All major AI bots allowed"
          },
          "has_sitemap": {
            "score": 0,
            "weight": 10,
            "details": "No sitemap found"
          },
          "supports_markdown_negotiation": {
            "score": 0,
            "weight": 25,
            "details": "No Markdown for Agents support detected"
          },
          "has_content_signals": {
            "score": 0,
            "weight": 20,
            "details": "No Content-Signal found (robots.txt or HTTP headers)"
          }
        }
      },
      "structuredData": {
        "score": 18,
        "weight": 15,
        "grade": "F",
        "checks": {
          "has_schema_org": {
            "score": 0,
            "weight": 30,
            "details": "No JSON-LD / Schema.org found"
          },
          "has_open_graph": {
            "score": 33,
            "weight": 25,
            "details": "1/3 OG tags present"
          },
          "has_meta_description": {
            "score": 0,
            "weight": 20,
            "details": "No meta description"
          },
          "has_canonical_url": {
            "score": 0,
            "weight": 15,
            "details": "No canonical URL"
          },
          "has_lang_attribute": {
            "score": 100,
            "weight": 10,
            "details": "lang=\"de-de\""
          }
        }
      },
      "accessibility": {
        "score": 72,
        "weight": 15,
        "grade": "C",
        "checks": {
          "content_without_js": {
            "score": 100,
            "weight": 40,
            "details": "Content available without JavaScript"
          },
          "reasonable_page_size": {
            "score": 80,
            "weight": 30,
            "details": "Page size: 283KB"
          },
          "fast_content_position": {
            "score": 25,
            "weight": 30,
            "details": "Main content starts at 74% of HTML"
          }
        }
      }
    }
  },
  "recommendations": [
    {
      "id": "add_llms_txt",
      "priority": "critical",
      "category": "aiDiscoverability",
      "titleKey": "rec.add_llms_txt.title",
      "descriptionKey": "rec.add_llms_txt.description",
      "howToKey": "rec.add_llms_txt.howto",
      "effort": "quick-win",
      "estimatedImpact": 10,
      "checkScore": 0,
      "checkDetails": "No llms.txt found"
    },
    {
      "id": "improve_content_ratio",
      "priority": "critical",
      "category": "contentEfficiency",
      "titleKey": "rec.improve_content_ratio.title",
      "descriptionKey": "rec.improve_content_ratio.description",
      "howToKey": "rec.improve_content_ratio.howto",
      "effort": "moderate",
      "estimatedImpact": 6,
      "checkScore": 0,
      "checkDetails": "Content ratio: 0.4% (1079 content chars / 289612 HTML bytes)"
    },
    {
      "id": "add_markdown_negotiation",
      "priority": "critical",
      "category": "aiDiscoverability",
      "titleKey": "rec.add_markdown_negotiation.title",
      "descriptionKey": "rec.add_markdown_negotiation.description",
      "howToKey": "rec.add_markdown_negotiation.howto",
      "effort": "significant",
      "estimatedImpact": 6,
      "checkScore": 0,
      "checkDetails": "No Markdown for Agents support detected"
    },
    {
      "id": "add_sitemap",
      "priority": "critical",
      "category": "aiDiscoverability",
      "titleKey": "rec.add_sitemap.title",
      "descriptionKey": "rec.add_sitemap.description",
      "howToKey": "rec.add_sitemap.howto",
      "effort": "quick-win",
      "estimatedImpact": 5,
      "checkScore": 0,
      "checkDetails": "No sitemap found"
    },
    {
      "id": "add_content_signals",
      "priority": "critical",
      "category": "aiDiscoverability",
      "titleKey": "rec.add_content_signals.title",
      "descriptionKey": "rec.add_content_signals.description",
      "howToKey": "rec.add_content_signals.howto",
      "effort": "quick-win",
      "estimatedImpact": 5,
      "checkScore": 0,
      "checkDetails": "No Content-Signal found (robots.txt or HTTP headers)"
    },
    {
      "id": "reduce_div_nesting",
      "priority": "critical",
      "category": "semanticHtml",
      "titleKey": "rec.reduce_div_nesting.title",
      "descriptionKey": "rec.reduce_div_nesting.description",
      "howToKey": "rec.reduce_div_nesting.howto",
      "effort": "significant",
      "estimatedImpact": 4,
      "checkScore": 0,
      "checkDetails": "Avg div depth: 17.6, max: 32"
    },
    {
      "id": "add_schema_org",
      "priority": "high",
      "category": "structuredData",
      "titleKey": "rec.add_schema_org.title",
      "descriptionKey": "rec.add_schema_org.description",
      "howToKey": "rec.add_schema_org.howto",
      "effort": "moderate",
      "estimatedImpact": 6,
      "checkScore": 0,
      "checkDetails": "No JSON-LD / Schema.org found"
    },
    {
      "id": "add_semantic_elements",
      "priority": "high",
      "category": "semanticHtml",
      "titleKey": "rec.add_semantic_elements.title",
      "descriptionKey": "rec.add_semantic_elements.description",
      "howToKey": "rec.add_semantic_elements.howto",
      "effort": "moderate",
      "estimatedImpact": 5,
      "checkScore": 3,
      "checkDetails": "7 semantic elements, 745 divs (ratio: 1%)"
    },
    {
      "id": "add_open_graph",
      "priority": "high",
      "category": "structuredData",
      "titleKey": "rec.add_open_graph.title",
      "descriptionKey": "rec.add_open_graph.description",
      "howToKey": "rec.add_open_graph.howto",
      "effort": "quick-win",
      "estimatedImpact": 4,
      "checkScore": 33,
      "checkDetails": "1/3 OG tags present"
    },
    {
      "id": "add_meta_description",
      "priority": "high",
      "category": "structuredData",
      "titleKey": "rec.add_meta_description.title",
      "descriptionKey": "rec.add_meta_description.description",
      "howToKey": "rec.add_meta_description.howto",
      "effort": "quick-win",
      "estimatedImpact": 4,
      "checkScore": 0,
      "checkDetails": "No meta description"
    }
  ],
  "llmsTxtPreview": "# zieher technic ulm\n\n> slide_02.jpg\n\n## Main\n- [01 | home](https://ziehertechnic.de): slide_02.jpg\n- [01 | home](https://ziehertechnic.de/)\n- [beratung](https://ziehertechnic.de/leistungen/beratung)\n- [planung](https://ziehertechnic.de/leistungen/planung)\n- [bauleitung](https://ziehertechnic.de/leistungen/bauleitung)\n- [kunsthalle ulm](https://ziehertechnic.de/kunsthalle-weishaupt)\n- [aussegnungshalle ulm](https://ziehertechnic.de/aussegnungshalle-ulm)\n- [wohnhaus münchen](https://ziehertechnic.de/wohnhaus-muenchen)\n- [bankgebäude ehingen](https://ziehertechnic.de/bankhaus-ehingen)\n\n",
  "llmsTxtExisting": null,
  "emergingProtocols": {
    "oauthDiscovery": {
      "exists": false,
      "url": "https://ziehertechnic.de/.well-known/oauth-authorization-server"
    },
    "mcpServerCard": {
      "exists": false,
      "url": "https://ziehertechnic.de/.well-known/mcp.json"
    },
    "a2aAgentCard": {
      "exists": false,
      "url": "https://ziehertechnic.de/.well-known/agent.json"
    },
    "count": 0
  },
  "snippets": [
    {
      "id": "add_llms_txt",
      "title": "Create /llms.txt",
      "description": "Upload this file to your web root. It tells AI agents what your site is about and which pages matter.",
      "language": "markdown",
      "code": "# zieher technic ulm\n\n> slide_02.jpg\n\n## Main\n- [01 | home](https://ziehertechnic.de): slide_02.jpg\n- [01 | home](https://ziehertechnic.de/)\n- [beratung](https://ziehertechnic.de/leistungen/beratung)\n- [planung](https://ziehertechnic.de/leistungen/planung)\n- [bauleitung](https://ziehertechnic.de/leistungen/bauleitung)\n- [kunsthalle ulm](https://ziehertechnic.de/kunsthalle-weishaupt)\n- [aussegnungshalle ulm](https://ziehertechnic.de/aussegnungshalle-ulm)\n- [wohnhaus münchen](https://ziehertechnic.de/wohnhaus-muenchen)\n- [bankgebäude ehingen](https://ziehertechnic.de/bankhaus-ehingen)\n\n",
      "filename": "/llms.txt"
    },
    {
      "id": "add_open_graph",
      "title": "Add missing Open Graph tags",
      "description": "Open Graph tags control how your page looks when shared on social media and how AI platforms preview your URL in answers.",
      "language": "html",
      "code": "<meta property=\"og:description\" content=\"Page description.\">\n<meta property=\"og:image\" content=\"https://yoursite.com/og-image.jpg\">\n<meta property=\"og:url\" content=\"https://ziehertechnic.de\">\n<meta property=\"og:type\" content=\"website\">",
      "filename": "<head>",
      "stacks": [
        {
          "id": "html",
          "label": "HTML <head>",
          "language": "html",
          "filename": "<head>",
          "code": "<meta property=\"og:description\" content=\"Page description.\">\n<meta property=\"og:image\" content=\"https://yoursite.com/og-image.jpg\">\n<meta property=\"og:url\" content=\"https://ziehertechnic.de\">\n<meta property=\"og:type\" content=\"website\">"
        },
        {
          "id": "wordpress",
          "label": "WordPress",
          "language": "php",
          "filename": "functions.php",
          "code": "<?php\n// Quick Open Graph tags without a plugin (skip if Yoast / Rank Math is active)\nadd_action('wp_head', function () {\n    if (!is_singular()) return;\n    $post = get_queried_object();\n    $title = get_the_title($post);\n    $desc  = get_the_excerpt($post) ?: wp_trim_words(strip_tags($post->post_content), 30);\n    $image = get_the_post_thumbnail_url($post, 'large') ?: 'https://yoursite.com/og-image.jpg';\n    $url   = get_permalink($post);\n    printf('<meta property=\"og:title\" content=\"%s\">' . \"\\n\", esc_attr($title));\n    printf('<meta property=\"og:description\" content=\"%s\">' . \"\\n\", esc_attr($desc));\n    printf('<meta property=\"og:image\" content=\"%s\">' . \"\\n\", esc_url($image));\n    printf('<meta property=\"og:url\" content=\"%s\">' . \"\\n\", esc_url($url));\n    echo '<meta property=\"og:type\" content=\"article\">' . \"\\n\";\n}, 5);"
        },
        {
          "id": "nextjs",
          "label": "Next.js",
          "language": "typescript",
          "filename": "app/page.tsx",
          "code": "// Next.js App Router — Metadata API\nimport type { Metadata } from 'next';\n\nexport const metadata: Metadata = {\n  title: \"01 | home\",\n  description: \"Page description.\",\n  openGraph: {\n    title: \"01 | home\",\n    description: \"Page description.\",\n    url: \"https://ziehertechnic.de\",\n    images: [\"https://yoursite.com/og-image.jpg\"],\n    type: 'website',\n  },\n};"
        }
      ]
    },
    {
      "id": "add_meta_description",
      "title": "Add meta description",
      "description": "A good meta description (50-160 characters) helps AI agents understand your page quickly.",
      "language": "html",
      "code": "<meta name=\"description\" content=\"slide_02.jpg\">",
      "filename": "<head>"
    },
    {
      "id": "add_schema_org",
      "title": "Add Schema.org JSON-LD",
      "description": "Structured data helps AI agents understand the type, author, and purpose of your content.",
      "language": "html",
      "code": "<script type=\"application/ld+json\">\n{\n  \"@context\": \"https://schema.org\",\n  \"@type\": \"WebPage\",\n  \"name\": \"01 | home\",\n  \"description\": \"Page description.\",\n  \"url\": \"https://ziehertechnic.de\",\n  \"inLanguage\": \"de-de\",\n  \"isPartOf\": {\n    \"@type\": \"WebSite\",\n    \"name\": \"zieher technic ulm\"\n  },\n  \"author\": {\n    \"@type\": \"Person\",\n    \"name\": \"Florian Schmid\"\n  }\n}\n</script>",
      "filename": "<head>"
    },
    {
      "id": "add_sitemap",
      "title": "Create /sitemap.xml",
      "description": "A sitemap helps AI agents discover all your pages. Most CMS platforms generate one automatically.",
      "language": "xml",
      "code": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">\n  <url>\n    <loc>https://ziehertechnic.de</loc>\n    <lastmod>2026-07-05</lastmod>\n  </url>\n</urlset>",
      "filename": "/sitemap.xml"
    },
    {
      "id": "add_content_signals",
      "title": "Add Content-Signal directives",
      "description": "Content-Signal tells AI agents how they may use your content. The canonical location is robots.txt, but you can also expose it as an HTTP header from any stack.",
      "language": "txt",
      "code": "User-agent: *\nContent-Signal: search=yes, ai-input=yes, ai-train=no",
      "filename": "/robots.txt",
      "stacks": [
        {
          "id": "robots",
          "label": "robots.txt",
          "language": "txt",
          "filename": "/robots.txt",
          "code": "User-agent: *\nContent-Signal: search=yes, ai-input=yes, ai-train=no"
        },
        {
          "id": "nginx",
          "label": "Nginx",
          "language": "nginx",
          "filename": "server block",
          "code": "# Inside your server { } block:\nadd_header Content-Signal \"search=yes, ai-input=yes, ai-train=no\" always;"
        },
        {
          "id": "apache",
          "label": "Apache",
          "language": "apache",
          "filename": ".htaccess",
          "code": "# In .htaccess (or VirtualHost):\nHeader set Content-Signal \"search=yes, ai-input=yes, ai-train=no\""
        },
        {
          "id": "wordpress",
          "label": "WordPress",
          "language": "php",
          "filename": "functions.php",
          "code": "<?php\n// In your theme's functions.php or a small mu-plugin\nadd_action('send_headers', function () {\n    header('Content-Signal: search=yes, ai-input=yes, ai-train=no');\n});\n\n// Optional: also append the directive to the dynamic robots.txt\nadd_filter('robots_txt', function ($output) {\n    return $output . \"\\nContent-Signal: search=yes, ai-input=yes, ai-train=no\\n\";\n}, 10, 1);"
        },
        {
          "id": "nextjs",
          "label": "Next.js",
          "language": "typescript",
          "filename": "middleware.ts",
          "code": "// middleware.ts (Next.js 13+ App Router or Pages Router)\nimport { NextResponse } from 'next/server';\nexport function middleware() {\n  const res = NextResponse.next();\n  res.headers.set(\n    'Content-Signal',\n    'search=yes, ai-input=yes, ai-train=no'\n  );\n  return res;\n}\nexport const config = { matcher: '/:path*' };"
        },
        {
          "id": "cloudflare",
          "label": "Cloudflare Workers",
          "language": "javascript",
          "filename": "worker.js",
          "code": "// Cloudflare Worker that proxies your origin and adds the header\nexport default {\n  async fetch(request, env, ctx) {\n    const res = await fetch(request);\n    const newRes = new Response(res.body, res);\n    newRes.headers.set(\n      'Content-Signal',\n      'search=yes, ai-input=yes, ai-train=no'\n    );\n    return newRes;\n  },\n};"
        },
        {
          "id": "express",
          "label": "Express / Fastify",
          "language": "javascript",
          "filename": "server.js",
          "code": "// Express\napp.use((req, res, next) => {\n  res.setHeader('Content-Signal', 'search=yes, ai-input=yes, ai-train=no');\n  next();\n});\n\n// Fastify\nfastify.addHook('onSend', (request, reply, payload, done) => {\n  reply.header('Content-Signal', 'search=yes, ai-input=yes, ai-train=no');\n  done();\n});"
        }
      ]
    },
    {
      "id": "add_markdown_negotiation",
      "title": "Support Markdown for Agents",
      "description": "Let AI agents request a clean Markdown version of any page via content negotiation, .md alternate URLs, link tags or Link headers.",
      "language": "html",
      "code": "<!-- Mechanism 3: link tag advertising the .md alternate -->\n<link rel=\"alternate\" type=\"text/markdown\" href=\"/page.md\">",
      "filename": "<head>",
      "stacks": [
        {
          "id": "html",
          "label": "HTML <head>",
          "language": "html",
          "filename": "<head>",
          "code": "<!-- Mechanism 3: link tag advertising the .md alternate -->\n<link rel=\"alternate\" type=\"text/markdown\" href=\"/page.md\">"
        },
        {
          "id": "express",
          "label": "Express",
          "language": "javascript",
          "filename": "server.js",
          "code": "// Mechanisms 1 + 4: content negotiation + Link header\napp.get('/page', (req, res) => {\n  res.setHeader('Vary', 'Accept');\n  res.setHeader('Link', '</page.md>; rel=\"alternate\"; type=\"text/markdown\"');\n  if ((req.headers.accept || '').includes('text/markdown')) {\n    res.type('text/markdown; charset=utf-8');\n    return res.send(renderMarkdown('page'));\n  }\n  res.render('page');\n});"
        },
        {
          "id": "fastify",
          "label": "Fastify",
          "language": "javascript",
          "filename": "server.js",
          "code": "// Mechanisms 1 + 4: content negotiation + Link header\nfastify.get('/page', async (req, reply) => {\n  reply.header('Vary', 'Accept');\n  reply.header('Link', '</page.md>; rel=\"alternate\"; type=\"text/markdown\"');\n  if ((req.headers.accept || '').includes('text/markdown')) {\n    return reply.type('text/markdown; charset=utf-8').send(renderMarkdown('page'));\n  }\n  return reply.view('/page.ejs');\n});"
        },
        {
          "id": "nextjs",
          "label": "Next.js",
          "language": "typescript",
          "filename": "app/page/route.ts",
          "code": "// Next.js App Router — Route Handler returning Markdown\nimport { NextRequest } from 'next/server';\nimport { renderMarkdown } from '@/lib/md';\nexport async function GET(req: NextRequest) {\n  const accept = req.headers.get('accept') || '';\n  if (accept.includes('text/markdown')) {\n    return new Response(await renderMarkdown('page'), {\n      headers: {\n        'Content-Type': 'text/markdown; charset=utf-8',\n        'Vary': 'Accept',\n      },\n    });\n  }\n  // Fall through to the page component\n  return new Response(null, { status: 404 });\n}"
        },
        {
          "id": "wordpress",
          "label": "WordPress",
          "language": "php",
          "filename": "functions.php",
          "code": "<?php\n// Mechanism 1: respond to Accept: text/markdown on the same URL\nadd_action('template_redirect', function () {\n    if (!is_singular()) return;\n    $accept = $_SERVER['HTTP_ACCEPT'] ?? '';\n    if (strpos($accept, 'text/markdown') === false) return;\n    header('Content-Type: text/markdown; charset=utf-8');\n    header('Vary: Accept');\n    $post = get_queried_object();\n    echo \"# \" . get_the_title($post) . \"\\n\\n\";\n    echo wp_strip_all_tags(apply_filters('the_content', $post->post_content));\n    exit;\n});"
        },
        {
          "id": "static",
          "label": "Hugo / Jekyll / Astro",
          "language": "txt",
          "filename": "static/page.md",
          "code": "# Mechanism 2: serve .md alongside .html\n# Hugo: place page.md in /static/ — built unchanged\n# Jekyll: drop page.md in /assets/ — copied as-is\n# Astro: src/pages/page.md.ts that exports a GET returning markdown\n\n# Then advertise with mechanism 3 in <head>:\n#   <link rel=\"alternate\" type=\"text/markdown\" href=\"/page.md\">"
        }
      ]
    }
  ]
}

Utilisez notre API pour obtenir ceci de manière programmatique (bientôt disponible)

Ce JSON est à usage interne — contrairement au Markdown et au llms.txt, il n’est pas destiné à être téléversé sur votre site. Conservez-le comme référence pour suivre l’évolution de votre score, partagez-le avec votre équipe de développement ou intégrez-le dans votre pipeline CI/CD.

Partagez vos résultats

Ou demandez à une IA de vous aider à l'améliorer

Envie d'un deuxième avis ?

Cloudflare propose aussi un scanner gratuit, et il pose une question différente. Il note ce que votre site publie pour que les agents l'appellent : MCP server cards, Agent Skills, catalogues d'API, enregistrements DNS. Nous notons si un agent peut atteindre votre contenu, le lire et le comprendre. Un site peut réussir l'un et échouer l'autre : attendez-vous à deux chiffres différents, ce sont les réponses à deux questions différentes, et les deux méritent d'être connues.

Analyser ziehertechnic.de avec Cloudflare

Intégrez votre badge

Ajoutez ce badge à votre site. Il se met à jour automatiquement lorsque votre score de préparation à l’IA change.

AgentReady.md score for ziehertechnic.de
Script Recommandé
<script src="https://agentready.md/badge.js" data-id="76794cc4-bf33-4cb2-a8c8-c20642806fba" data-domain="ziehertechnic.de"></script>
Markdown
[![AgentReady.md score for ziehertechnic.de](https://agentready.md/badge/ziehertechnic.de.svg)](https://agentready.md/fr/r/76794cc4-bf33-4cb2-a8c8-c20642806fba)

Bientôt : Analyse de domaine complet

Explorez l’ensemble de votre domaine, générez un llms.txt et surveillez votre score de préparation IA dans le temps. Rejoignez la liste d’attente pour être informé.

Vous êtes sur la liste ! Nous vous préviendrons lors du lancement.