Verified AgentReady.md certificate
Issued sig: 005130f512750297 Verify →

Analyzed URL

https://www.ted4parts.com

Measured 2 days ago

Analyze another URL

AI-Ready Score

Fair

out of 100

Token Savings

HTML tokens 378.704
Markdown tokens 725
Savings 100%

Score Breakdown

Accessibility 68/100
AI Discoverability 70/100
Structured Data 100/100
Semantic HTML 46/100
Content Efficiency 40/100

Emerging protocols

0 of 6 detected

Well-known endpoints AI agents look for. Detected here means an agent can discover and connect to your service automatically.

  • 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

Doesn't stay fixed by itself. Monitoring isn't built yet — join the list and we'll tell you when it is.

You're on the list! We'll notify you when it launches.

What we measured Page size: 1153KB

Your page is larger than recommended. Large pages are slower to process and more expensive for AI agents.

How to implement

Optimize page size by minifying HTML, deferring non-critical scripts, and removing unused CSS.

Paste into a coding agent to make the fix

What we measured No Markdown for Agents support detected

Your site doesn't support Markdown for Agents. This Cloudflare standard lets AI agents request content in markdown format, reducing token usage by ~80%.

How to implement

Implement one or more: (1) Respond to Accept: text/markdown with markdown content. (2) Serve .md URLs (e.g., /page.md). (3) Add <link rel="alternate" type="text/markdown"> tags. (4) Add Link HTTP headers for markdown discovery.

Paste into a coding agent to make the fix

What we measured no <h1>, 3 heading level skip(s)

Your heading structure has issues (skipped levels or multiple h1 tags). A clean hierarchy helps AI agents understand content organization.

How to implement

Ensure you have exactly one <h1> per page, and headings follow sequential order: h1 > h2 > h3. Don't skip levels (e.g., h1 directly to h3).

Paste into a coding agent to make the fix

What we measured Content ratio: 0.1% (1097 content chars / 1181121 HTML bytes)

Your page has a low ratio of actual content to total HTML. Much of the page weight is markup, scripts, or styles rather than content.

How to implement

Move CSS to external stylesheets, remove inline styles, minimize JavaScript, and ensure the HTML focuses on content structure.

Paste into a coding agent to make the fix

What we measured 14 semantic elements, 452 divs (ratio: 3%)

Your page relies heavily on <div> elements. Semantic elements like <section>, <nav>, <header>, <footer>, and <aside> provide meaningful structure for AI agents.

How to implement

Replace generic <div> containers with appropriate semantic elements. Use <section> for thematic groups, <nav> for navigation, <header>/<footer> for page/section headers and footers.

Paste into a coding agent to make the fix

What we measured No Content-Signal found (robots.txt or HTTP headers)

No Content-Signal directives found. These tell AI agents how they may use your content (search indexing, AI input, training data). The recommended location is robots.txt.

How to implement

Add Content-Signal to your robots.txt: User-agent: *\nContent-Signal: search=yes, ai-input=yes, ai-train=no. You can also add it as an HTTP header on markdown responses.

Paste into a coding agent to make the fix

What we measured HTML size: 1153KB

Your HTML page is heavier than recommended. Large pages take longer for AI agents to process and cost more tokens.

How to implement

Reduce HTML size by removing unused code, minifying HTML, and lazy-loading non-critical content.

Paste into a coding agent to make the fix

What we measured Avg div depth: 15.3, max: 27

Your page has deeply nested <div> elements. Deep nesting adds noise and makes content extraction harder for AI agents.

How to implement

Simplify your HTML structure by removing unnecessary wrapper divs. Use CSS Grid or Flexbox for layout instead of nested container divs.

Paste into a coding agent to make the fix

What we measured 128/1031 elements with inline styles (12.4%)

Many elements have inline style attributes. These add noise for AI agents extracting content.

How to implement

Move all inline styles to CSS classes in your stylesheet. Use utility CSS frameworks like Tailwind if you need many unique styles.

Paste into a coding agent to make the fix

What we measured 32/43 images with meaningful alt text (7 decorative, not counted)

Some images lack descriptive alt text. Good alt text helps AI agents understand image content and context.

How to implement

Add descriptive alt attributes to all images. Describe what the image shows, not just 'image' or 'photo'. For decorative images, use alt="" (empty).

Paste into a coding agent to make the fix
Markdown tokens: 725
## DRIVING CHANGE

To educate and empower people to commit to sustainable goals, making things better for the next generation

[

![1_An-Post-posting-vans-dublin-ireland-stock-generic.webp](https://static.wixstatic.com/media/e244d4_99fb1bcd55914f049dacf2d51dff4491~mv2.webp/v1/fill/w_146,h_97,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/1_An-Post-posting-vans-dublin-ireland-stock-generic.webp)

](https://ted4parts.salvagemarket.co.uk/Search?auction%5b%5d=&bucketDetails=&bucketId=&damageCategory%5b%5d=&distance%5b%5d=&editorPickSearch=0&freeSubscriptionOnly=false&fuelType%5b%5d=&latitude=0&longitude=0&make%5b%5d=&model%5b%5d=&orderBy=1&pageNumber=0&pageSize=20&quickSearch=0&searchText=&seller%5b%5d=35f87f90-699c-4e53-b6ff-f25a1eb98c59&startDrive%5b%5d=&transmissionType%5b%5d=&year%5b%5d=)

![Car-Tracing (1).png](https://static.wixstatic.com/media/e244d4_c9a03a58665943ca92bf46fba5baca69~mv2.png/v1/fill/w_49,h_18,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/Car-Tracing%20(1).png)

[

![TFP013.jpg](https://static.wixstatic.com/media/e244d4_0d36686d95b9439ab779f352d0f00070~mv2.jpg/v1/fill/w_147,h_98,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/TFP013.jpg)

](https://parts.ted4parts.com/stock)

###### Welcome, here's a little snapshot about us...

###### Long-term Partnerships with all major Insurance companies.

Built over many years of trust and alliance, Ted Brennan group through initially the Approved bodyshop have excellent relationships with claims management managers of all leading
insurance companies in Ireland.

###### Strategic locations providing access to KEY MARKETS.

Nestled 1 mile from the border to Northern Ireland / UK, Provides ease of access to both markets, and European trade benefits from HQ in Ireland.

###### The total net CO2e savings for 2022: 38,477.35 kgCO2e

Ted4parts enabled the above carbon emissions savings for the Garda contract, through the provision of 551 used vehicle
parts of varying make and model through 2022.

## ​

​

## Follow us on Instagram

Ted4Parts is the online parts division of the Ted Brennan Motors Group, an organisation with a proud history in the Irish Motor Industry dating back 49 years.

###### Our mission is to supply recycled auto parts of the highest quality.
Home | Ted4Parts | Quality Auto Parts & Accessories for Every Vehicle | Car Repair Parts Supplier

top of page

[24 Hour Accident Recovery](tel:+353868139638)

Menu

![EVOLVE_LOGO_Light+Tagline.png](https://static.wixstatic.com/media/e244d4_31d532074428474ca4a94d337aed3782~mv2.png/v1/fill/w_49,h_17,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/EVOLVE_LOGO_Light%2BTagline.png)

New name, same trusted service. Ted4Parts is now Evolve - bid on salvage, find green parts and more at

[Evolveauto.ie](http://evolveauto.ie/)

[

![](https://static.wixstatic.com/media/6e6166_78d425e0dfe94ec08416109f14b0a822~mv2.png/v1/crop/x_0,y_21,w_235,h_60/fill/w_59,h_15,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/logo%20(1).png)

](https://www.ted4parts.com/)

[Help](https://www.ted4parts.com/contact-us)

Menu

![](https://static.wixstatic.com/media/e244d4_4045b166efbd48119f4c345dbd0db11df000.jpg/v1/fill/w_160,h_90,al_c,q_80,usm_0.66_1.00_0.01,blur_3,enc_avif,quality_auto/e244d4_4045b166efbd48119f4c345dbd0db11df000.jpg)

## DRIVING CHANGE

To educate and empower people to commit to sustainable goals, making things better for the next generation

[

![1_An-Post-posting-vans-dublin-ireland-stock-generic.webp](https://static.wixstatic.com/media/e244d4_99fb1bcd55914f049dacf2d51dff4491~mv2.webp/v1/fill/w_146,h_97,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/1_An-Post-posting-vans-dublin-ireland-stock-generic.webp)

](https://ted4parts.salvagemarket.co.uk/Search?auction%5b%5d=&bucketDetails=&bucketId=&damageCategory%5b%5d=&distance%5b%5d=&editorPickSearch=0&freeSubscriptionOnly=false&fuelType%5b%5d=&latitude=0&longitude=0&make%5b%5d=&model%5b%5d=&orderBy=1&pageNumber=0&pageSize=20&quickSearch=0&searchText=&seller%5b%5d=35f87f90-699c-4e53-b6ff-f25a1eb98c59&startDrive%5b%5d=&transmissionType%5b%5d=&year%5b%5d=)

#### [NATIONAL SALVAGE MANAGEMENT](https://ted4parts.salvagemarket.co.uk/Search?auction%5b%5d=&bucketDetails=&bucketId=&damageCategory%5b%5d=&distance%5b%5d=&editorPickSearch=0&freeSubscriptionOnly=false&fuelType%5b%5d=&latitude=0&longitude=0&make%5b%5d=&model%5b%5d=&orderBy=1&pageNumber=0&pageSize=20&quickSearch=0&searchText=&seller%5b%5d=35f87f90-699c-4e53-b6ff-f25a1eb98c59&startDrive%5b%5d=&transmissionType%5b%5d=&year%5b%5d=)

[More Info](https://ted4parts.salvagemarket.co.uk/Search?auction%5b%5d=&bucketDetails=&bucketId=&damageCategory%5b%5d=&distance%5b%5d=&editorPickSearch=0&freeSubscriptionOnly=false&fuelType%5b%5d=&latitude=0&longitude=0&make%5b%5d=&model%5b%5d=&orderBy=1&pageNumber=0&pageSize=20&quickSearch=0&searchText=&seller%5b%5d=35f87f90-699c-4e53-b6ff-f25a1eb98c59&startDrive%5b%5d=&transmissionType%5b%5d=&year%5b%5d=)

![](https://static.wixstatic.com/media/e244d4_7350e569caf2415b8974363697b97dc1f000.jpg/v1/fill/w_135,h_90,al_c,q_80,usm_0.66_1.00_0.01,blur_3,enc_avif,quality_auto/e244d4_7350e569caf2415b8974363697b97dc1f000.jpg)

#### [OUR STORY](https://www.ted4parts.com/about-us)

[Learn More](https://www.ted4parts.com/about-us)

![Car-Tracing (1).png](https://static.wixstatic.com/media/e244d4_c9a03a58665943ca92bf46fba5baca69~mv2.png/v1/fill/w_49,h_18,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/Car-Tracing%20(1).png)

[

![CSS-RGB-L (1).png](https://static.wixstatic.com/media/e244d4_428f80aef5d74b73be37d8a04b0b4233~mv2.png/v1/fill/w_77,h_54,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/CSS-RGB-L%20(1).png)

](https://www.ted4parts.com/body-shop)

[

![CSS_Banner_image_gxanw5 (1).png](https://static.wixstatic.com/media/e244d4_acd29b70213142599dc5874a3d266237~mv2.png/v1/fill/w_120,h_22,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/CSS_Banner_image_gxanw5%20(1).png)

](https://www.ted4parts.com/body-shop)

#### [HAD A CRASH?](https://www.ted4parts.com/body-shop)

[

![TFP013.jpg](https://static.wixstatic.com/media/e244d4_0d36686d95b9439ab779f352d0f00070~mv2.jpg/v1/fill/w_147,h_98,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/TFP013.jpg)

](https://parts.ted4parts.com/stock)

#### [BUY GREEN PARTS](https://parts.ted4parts.com/stock)

[View Stock](https://parts.ted4parts.com/stock)

###### Welcome, here's a little snapshot about us...

###### Long-term Partnerships with all major Insurance companies.

Built over many years of trust and alliance, Ted Brennan group through initially the Approved bodyshop have excellent relationships with claims management managers of all leading
insurance companies in Ireland.

###### Strategic locations providing access to KEY MARKETS.

Nestled 1 mile from the border to Northern Ireland / UK, Provides ease of access to both markets, and European trade benefits from HQ in Ireland.

###### The total net CO2e savings for 2022: 38,477.35 kgCO2e

Ted4parts enabled the above carbon emissions savings for the Garda contract, through the provision of 551 used vehicle
parts of varying make and model through 2022.

![Image by Geranimo](https://static.wixstatic.com/media/nsplsh_a77d2ef8f3ad4f79a303c93fd08d7b1d~mv2.jpg/v1/fill/w_120,h_90,al_c,q_80,usm_0.66_1.00_0.01,blur_3,enc_avif,quality_auto/nsplsh_a77d2ef8f3ad4f79a303c93fd08d7b1d~mv2.jpg)

## ​

​

![Discover a world where style meets sunsets, and every moment in between is an artful expression #LifeGallery #EclecticLiving](https://static.parastorage.com/services/instagram-blocks-app/1.462.0/assets/templates/New-IG-Studio/01.webp)![Discover a world where style meets sunsets, and every moment in between is an artful expression #LifeGallery #EclecticLiving](https://static.parastorage.com/services/instagram-blocks-app/1.462.0/assets/templates/New-IG-Studio/01.webp)

![Discover a world where style meets sunsets, and every moment in between is an artful expression #LifeGallery #EclecticLiving](https://static.parastorage.com/services/instagram-blocks-app/1.462.0/assets/templates/New-IG-Studio/02.webp)![Discover a world where style meets sunsets, and every moment in between is an artful expression #LifeGallery #EclecticLiving](https://static.parastorage.com/services/instagram-blocks-app/1.462.0/assets/templates/New-IG-Studio/02.webp)

![Discover a world where style meets sunsets, and every moment in between is an artful expression #LifeGallery #EclecticLiving](https://static.parastorage.com/services/instagram-blocks-app/1.462.0/assets/templates/New-IG-Studio/video_thumb01.webp)![Discover a world where style meets sunsets, and every moment in between is an artful expression #LifeGallery #EclecticLiving](https://static.parastorage.com/services/instagram-blocks-app/1.462.0/assets/templates/New-IG-Studio/video_thumb01.webp)

![Discover a world where style meets sunsets, and every moment in between is an artful expression #LifeGallery #EclecticLiving](https://static.parastorage.com/services/instagram-blocks-app/1.462.0/assets/templates/New-IG-Studio/03.webp)![Discover a world where style meets sunsets, and every moment in between is an artful expression #LifeGallery #EclecticLiving](https://static.parastorage.com/services/instagram-blocks-app/1.462.0/assets/templates/New-IG-Studio/03.webp)

![Discover a world where style meets sunsets, and every moment in between is an artful expression #LifeGallery #EclecticLiving](https://static.parastorage.com/services/instagram-blocks-app/1.462.0/assets/templates/New-IG-Studio/04.webp)![Discover a world where style meets sunsets, and every moment in between is an artful expression #LifeGallery #EclecticLiving](https://static.parastorage.com/services/instagram-blocks-app/1.462.0/assets/templates/New-IG-Studio/04.webp)

![Discover a world where style meets sunsets, and every moment in between is an artful expression #LifeGallery #EclecticLiving](https://static.parastorage.com/services/instagram-blocks-app/1.462.0/assets/templates/New-IG-Studio/05.webp)![Discover a world where style meets sunsets, and every moment in between is an artful expression #LifeGallery #EclecticLiving](https://static.parastorage.com/services/instagram-blocks-app/1.462.0/assets/templates/New-IG-Studio/05.webp)

![Discover a world where style meets sunsets, and every moment in between is an artful expression #LifeGallery #EclecticLiving](https://static.parastorage.com/services/instagram-blocks-app/1.462.0/assets/templates/New-IG-Studio/06.webp)![Discover a world where style meets sunsets, and every moment in between is an artful expression #LifeGallery #EclecticLiving](https://static.parastorage.com/services/instagram-blocks-app/1.462.0/assets/templates/New-IG-Studio/06.webp)

![Discover a world where style meets sunsets, and every moment in between is an artful expression #LifeGallery #EclecticLiving](https://static.parastorage.com/services/instagram-blocks-app/1.462.0/assets/templates/New-IG-Studio/video_thumb02.webp)![Discover a world where style meets sunsets, and every moment in between is an artful expression #LifeGallery #EclecticLiving](https://static.parastorage.com/services/instagram-blocks-app/1.462.0/assets/templates/New-IG-Studio/video_thumb02.webp)

![Discover a world where style meets sunsets, and every moment in between is an artful expression #LifeGallery #EclecticLiving](https://static.parastorage.com/services/instagram-blocks-app/1.462.0/assets/templates/New-IG-Studio/07.webp)![Discover a world where style meets sunsets, and every moment in between is an artful expression #LifeGallery #EclecticLiving](https://static.parastorage.com/services/instagram-blocks-app/1.462.0/assets/templates/New-IG-Studio/07.webp)

![Discover a world where style meets sunsets, and every moment in between is an artful expression #LifeGallery #EclecticLiving](https://static.parastorage.com/services/instagram-blocks-app/1.462.0/assets/templates/New-IG-Studio/08.webp)![Discover a world where style meets sunsets, and every moment in between is an artful expression #LifeGallery #EclecticLiving](https://static.parastorage.com/services/instagram-blocks-app/1.462.0/assets/templates/New-IG-Studio/08.webp)

![Discover a world where style meets sunsets, and every moment in between is an artful expression #LifeGallery #EclecticLiving](https://static.parastorage.com/services/instagram-blocks-app/1.462.0/assets/templates/New-IG-Studio/09.webp)![Discover a world where style meets sunsets, and every moment in between is an artful expression #LifeGallery #EclecticLiving](https://static.parastorage.com/services/instagram-blocks-app/1.462.0/assets/templates/New-IG-Studio/09.webp)

![Discover a world where style meets sunsets, and every moment in between is an artful expression #LifeGallery #EclecticLiving](https://static.parastorage.com/services/instagram-blocks-app/1.462.0/assets/templates/New-IG-Studio/10.webp)![Discover a world where style meets sunsets, and every moment in between is an artful expression #LifeGallery #EclecticLiving](https://static.parastorage.com/services/instagram-blocks-app/1.462.0/assets/templates/New-IG-Studio/10.webp)

![Discover a world where style meets sunsets, and every moment in between is an artful expression #LifeGallery #EclecticLiving](https://static.parastorage.com/services/instagram-blocks-app/1.462.0/assets/templates/New-IG-Studio/11.webp)![Discover a world where style meets sunsets, and every moment in between is an artful expression #LifeGallery #EclecticLiving](https://static.parastorage.com/services/instagram-blocks-app/1.462.0/assets/templates/New-IG-Studio/11.webp)

![Discover a world where style meets sunsets, and every moment in between is an artful expression #LifeGallery #EclecticLiving](https://static.parastorage.com/services/instagram-blocks-app/1.462.0/assets/templates/New-IG-Studio/12.webp)![Discover a world where style meets sunsets, and every moment in between is an artful expression #LifeGallery #EclecticLiving](https://static.parastorage.com/services/instagram-blocks-app/1.462.0/assets/templates/New-IG-Studio/12.webp)

## Follow us on Instagram

Load More

![](https://static.wixstatic.com/media/e244d4_8dca4673894140758264b3e68b950b7ef000.jpg/v1/fill/w_160,h_90,al_c,q_80,usm_0.66_1.00_0.01,blur_3,enc_avif,quality_auto/e244d4_8dca4673894140758264b3e68b950b7ef000.jpg)

[Learn More](https://www.ted4parts.com/about-us)

Ted4Parts is the online parts division of the Ted Brennan Motors Group, an organisation with a proud history in the Irish Motor Industry dating back 49 years.

###### Our mission is to supply recycled auto parts of the highest quality.

bottom of page

Upload this file as /index.md on your server so AI agents can access a clean version of your page. You can also configure Accept: text/markdown content negotiation to serve it automatically.

Our recommendation

Download llms.txt
# Ted4parts

> Discover top-quality auto parts and accessories at Ted4Parts. From engines to electronics, we provide the best selection for every vehicle. Fast shipping and unbeatable prices! We are Ireland's largest Car repair parts supplier.

## Main
- [Home | Ted4Parts | Quality Auto Parts & Accessories for Every Vehicle | Car Repair Parts Supplier](https://www.ted4parts.com): Discover top-quality auto parts and accessories at Ted4Parts. From engines to electronics, we provide the best selectio…
- [About Us](https://www.ted4parts.com/about-us)
- [Our Team](https://www.ted4parts.com/team)
- [Had a Crash?](https://www.ted4parts.com/body-shop)
- [Anti Bribery Policy](https://www.ted4parts.com/_files/ugd/e244d4_5d930c47aa6d40389d2190a05849158f.pdf)
- [Home](https://www.ted4parts.com/)
- [Latest Stock](https://www.ted4parts.com/latest-stock)
- [Scrap My Car](https://www.ted4parts.com/scrap-my-car)
- [Social Value](https://www.ted4parts.com/social-value)
- [Gallery](https://www.ted4parts.com/gallery)
- [Careers](https://www.ted4parts.com/careers)

## Blog
- [Resource Centre](https://www.ted4parts.com/blog)

## Legal
- [Terms  & Conditions](https://www.ted4parts.com/terms-and-conditions)
- [Privacy Policy](https://www.ted4parts.com/terms-and-conditions-1)
- [Environment](https://www.ted4parts.com/terms-and-conditions-1-1)

## Support
- [Help](https://www.ted4parts.com/contact-us)

Full llms.txt requires domain-wide analysis (coming soon)

Upload this file to https://www.ted4parts.com/llms.txt at the root of your domain. AI agents like ChatGPT, Claude, and Perplexity check this file to understand your site structure.

This site already has a llms.txt file.

Valid format
# Ted4parts
> Ted4Parts is the online division of the Ted Brennan Motors Group, a company with a 49-year history in the Irish motor industry, specializing in supplying new and recycled auto parts. The site operates as a registered authorized treatment facility for end-of-life vehicles, emphasizing environmental sustainability and achieving significant CO2e savings. It highlights strategic locations for access to UK and European markets, strong partnerships with insurance companies, and its social value initiatives like Ted's Academy for training and rehabilitation.

## Homepage link
- [home](https://www.ted4parts.com/)

## AI Agent Access

This site is powered by Wix and supports the Model Context Protocol (MCP)
for agentic AI access. AI agents can connect directly to retrieve live,
up-to-date site content - no scraping required.

- [**Site MCP Endpoint**](https://www.ted4parts.com/_api/mcp)
- [**Wix MCP Docs**](https://dev.wix.com/docs/develop-websites/articles/get-started/about-the-wix-site-mcp)

## Available MCP Tools

### GetBusinessDetails
Retrieves business and site details such as timezone, email, phone, and address.
- No parameters required.

### SearchInSite
Searches the site for information.
- **searchTerm** - The term to search for in the site.

### SearchSiteApiDocs
Retrieves the API documentation for the Wix business solutions installed on
this site, and informs the AI client how to use the APIs. Use this tool for
querying products and services (instead of SearchInSite).
- **searchTerm** - The term to search for in the site API documentation.

### GenerateVisitorToken
Creates a new visitor session and obtains a visitor access token for the site.
Must be called before making any CallWixSiteAPI request if no visitor token
is already available in context.
- No parameters required.

### CallWixSiteAPI
Calls API methods on the site to perform actions on a visitor's behalf,
such as querying site data, booking an appointment, or starting a purchase.
- **visitorToken** - Visitor access token. Use GenerateVisitorToken first if not available.
- **url** - Absolute URL of the API method to call (e.g. https://www.wixapis.com/...). Retrieve using SearchSiteApiDocs.
- **method** -  HTTP method to use for the API call.
- **body** -  Request body as a valid JSON string.

### ReadFullDocsArticle
Fetches a complete article from the Wix developer documentation portal.
- **articleUrl** -  URL of an article in the Wix developer documentation portal.

### ReadFullDocsMethodSchema
Fetches the full schema for a Wix API method. Should be called before
calling the actual method via CallWixSiteAPI.
- **articleUrl** - URL of the reference article for the Wix API method.

## What Visitors Can Do via AI + MCP

- Get business details (contact info, location, hours)
- Discover products and services on offer
- Book services and make reservations
- Start a purchase and be directed to the site to complete checkout
- Ask questions and get relevant answers without having to browse the site

## Notes

- No authentication required to connect to the MCP endpoint
- Only public information accessible on the site is available
- Content is always live and up to date
- To receive tool updates, implement a tools/list call upon receipt of a tool update notification

Accessibility

Content available without JavaScript (100/100)

Content available without JavaScript

Content appears early in HTML (50/100)

Main content starts at 54% of HTML

Reasonable page size (0/100)

Page size: 1153KB

AI Discoverability

Robots.txt allows AI bots (100/100)

All major AI search bots allowed

Markdown for Agents support (0/100)
✗ Accept: text/markdown ✗ .md URL ✗ <link> tag ✗ Link header
Has sitemap.xml (100/100)

Sitemap found

Has robots.txt file (100/100)

robots.txt exists

Has llms.txt file (100/100)

llms.txt exists and is valid

Has Content-Signal (robots.txt or HTTP headers) (0/100)
✓ robots.txt ✓ HTTP header ✗ Policy

Structured Data

Has Schema.org / JSON-LD (100/100)

JSON-LD found: WebSite, LocalBusiness, WebSite

Has Open Graph tags (100/100)

All OG tags present

Has meta description (100/100)

Meta description: 228 chars

Has canonical URL (100/100)

Canonical URL present

Has lang attribute (100/100)

lang="en"

Semantic HTML

Proper heading hierarchy (25/100)

no <h1>, 3 heading level skip(s)

Uses article or main element (100/100)

Has <main>

Uses semantic HTML elements (10/100)

14 semantic elements, 452 divs (ratio: 3%)

Meaningful image alt texts (74/100)

32/43 images with meaningful alt text (7 decorative, not counted)

Low div nesting depth (0/100)

Avg div depth: 15.3, max: 27

Content Efficiency

Good token reduction ratio (100/100)

100% token reduction (HTML→Markdown)

Good content-to-noise ratio (0/100)

Content ratio: 0.1% (1097 content chars / 1181121 HTML bytes)

Reasonable page weight (0/100)

HTML size: 1153KB

Minimal inline styles (0/100)

128/1031 elements with inline styles (12.4%)

{
  "url": "https://www.ted4parts.com",
  "timestamp": 1792237813918,
  "fetch": {
    "mode": "simple",
    "timeMs": 73,
    "htmlSizeBytes": 1181121,
    "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": "Home | Ted4Parts | Quality Auto Parts & Accessories for Every Vehicle | Car Repair Parts Supplier",
    "excerpt": "Discover top-quality auto parts and accessories at Ted4Parts. From engines to electronics, we provide the best selection for every vehicle. Fast shipping and unbeatable prices! We are Ireland's largest Car repair parts supplier.",
    "byline": null,
    "siteName": "Ted4parts",
    "lang": "en",
    "contentLength": 1097,
    "metadata": {
      "description": "Discover top-quality auto parts and accessories at Ted4Parts. From engines to electronics, we provide the best selection for every vehicle. Fast shipping and unbeatable prices! We are Ireland's largest Car repair parts supplier.",
      "ogTitle": "Home | Ted4Parts | Quality Auto Parts & Accessories for Every Vehicle | Car Repair Parts Supplier",
      "ogDescription": "Discover top-quality auto parts and accessories at Ted4Parts. From engines to electronics, we provide the best selection for every vehicle. Fast shipping and unbeatable prices! We are Ireland's largest Car repair parts supplier.",
      "ogImage": "https://static.wixstatic.com/media/e244d4_7fc7f915b43a4d268f0cf8a868a47e1b%7Emv2.jpg/v1/fit/w_2500,h_1330,al_c/e244d4_7fc7f915b43a4d268f0cf8a868a47e1b%7Emv2.jpg",
      "ogType": "website",
      "canonical": "https://www.ted4parts.com",
      "lang": "en",
      "schemas": [
        {
          "@context": "https://schema.org/",
          "@type": "WebSite",
          "url": "https://www.ted4parts.com/",
          "potentialAction": {
            "@type": "SearchAction",
            "target": {
              "@type": "EntryPoint",
              "urlTemplate": "https://www.ted4parts.com/search?q={search_term}"
            },
            "query-input": "required name=search_term"
          }
        },
        {
          "@context": "https://schema.org/",
          "@type": "LocalBusiness",
          "name": "Ted4parts",
          "url": "https://www.ted4parts.com",
          "image": "https://static.wixstatic.com/media/6e6166_78d425e0dfe94ec08416109f14b0a822~mv2.png",
          "address": {
            "@type": "PostalAddress",
            "addressCountry": "IE",
            "addressRegion": "MN",
            "postalCode": "A75 NX63"
          },
          "telephone": "(042) 974 9477"
        },
        {
          "@context": "https://schema.org/",
          "@type": "WebSite",
          "name": "Ted4parts",
          "url": "https://www.ted4parts.com"
        }
      ],
      "robotsMeta": null,
      "author": null,
      "generator": "Wix.com Website Builder",
      "markdownAlternateHref": null
    }
  },
  "markdown": "## DRIVING CHANGE\n\nTo educate and empower people to commit to sustainable goals, making things better for the next generation\n\n[\n\n![1_An-Post-posting-vans-dublin-ireland-stock-generic.webp](https://static.wixstatic.com/media/e244d4_99fb1bcd55914f049dacf2d51dff4491~mv2.webp/v1/fill/w_146,h_97,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/1_An-Post-posting-vans-dublin-ireland-stock-generic.webp)\n\n](https://ted4parts.salvagemarket.co.uk/Search?auction%5b%5d=&bucketDetails=&bucketId=&damageCategory%5b%5d=&distance%5b%5d=&editorPickSearch=0&freeSubscriptionOnly=false&fuelType%5b%5d=&latitude=0&longitude=0&make%5b%5d=&model%5b%5d=&orderBy=1&pageNumber=0&pageSize=20&quickSearch=0&searchText=&seller%5b%5d=35f87f90-699c-4e53-b6ff-f25a1eb98c59&startDrive%5b%5d=&transmissionType%5b%5d=&year%5b%5d=)\n\n![Car-Tracing (1).png](https://static.wixstatic.com/media/e244d4_c9a03a58665943ca92bf46fba5baca69~mv2.png/v1/fill/w_49,h_18,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/Car-Tracing%20(1).png)\n\n[\n\n![TFP013.jpg](https://static.wixstatic.com/media/e244d4_0d36686d95b9439ab779f352d0f00070~mv2.jpg/v1/fill/w_147,h_98,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/TFP013.jpg)\n\n](https://parts.ted4parts.com/stock)\n\n###### Welcome, here's a little snapshot about us...\n\n###### Long-term Partnerships with all major Insurance companies.\n\nBuilt over many years of trust and alliance, Ted Brennan group through initially the Approved bodyshop have excellent relationships with claims management managers of all leading\ninsurance companies in Ireland.\n\n###### Strategic locations providing access to KEY MARKETS.\n\nNestled 1 mile from the border to Northern Ireland / UK, Provides ease of access to both markets, and European trade benefits from HQ in Ireland.\n\n###### The total net CO2e savings for 2022: 38,477.35 kgCO2e\n\nTed4parts enabled the above carbon emissions savings for the Garda contract, through the provision of 551 used vehicle\nparts of varying make and model through 2022.\n\n## ​\n\n​\n\n## Follow us on Instagram\n\nTed4Parts is the online parts division of the Ted Brennan Motors Group, an organisation with a proud history in the Irish Motor Industry dating back 49 years.\n\n###### Our mission is to supply recycled auto parts of the highest quality.\n",
  "fullPageMarkdown": "Home | Ted4Parts | Quality Auto Parts & Accessories for Every Vehicle | Car Repair Parts Supplier\n\ntop of page\n\n[24 Hour Accident Recovery](tel:+353868139638)\n\nMenu\n\n![EVOLVE_LOGO_Light+Tagline.png](https://static.wixstatic.com/media/e244d4_31d532074428474ca4a94d337aed3782~mv2.png/v1/fill/w_49,h_17,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/EVOLVE_LOGO_Light%2BTagline.png)\n\nNew name, same trusted service. Ted4Parts is now Evolve - bid on salvage, find green parts and more at\n\n[Evolveauto.ie](http://evolveauto.ie/)\n\n[\n\n![](https://static.wixstatic.com/media/6e6166_78d425e0dfe94ec08416109f14b0a822~mv2.png/v1/crop/x_0,y_21,w_235,h_60/fill/w_59,h_15,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/logo%20(1).png)\n\n](https://www.ted4parts.com/)\n\n[Help](https://www.ted4parts.com/contact-us)\n\nMenu\n\n![](https://static.wixstatic.com/media/e244d4_4045b166efbd48119f4c345dbd0db11df000.jpg/v1/fill/w_160,h_90,al_c,q_80,usm_0.66_1.00_0.01,blur_3,enc_avif,quality_auto/e244d4_4045b166efbd48119f4c345dbd0db11df000.jpg)\n\n## DRIVING CHANGE\n\nTo educate and empower people to commit to sustainable goals, making things better for the next generation\n\n[\n\n![1_An-Post-posting-vans-dublin-ireland-stock-generic.webp](https://static.wixstatic.com/media/e244d4_99fb1bcd55914f049dacf2d51dff4491~mv2.webp/v1/fill/w_146,h_97,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/1_An-Post-posting-vans-dublin-ireland-stock-generic.webp)\n\n](https://ted4parts.salvagemarket.co.uk/Search?auction%5b%5d=&bucketDetails=&bucketId=&damageCategory%5b%5d=&distance%5b%5d=&editorPickSearch=0&freeSubscriptionOnly=false&fuelType%5b%5d=&latitude=0&longitude=0&make%5b%5d=&model%5b%5d=&orderBy=1&pageNumber=0&pageSize=20&quickSearch=0&searchText=&seller%5b%5d=35f87f90-699c-4e53-b6ff-f25a1eb98c59&startDrive%5b%5d=&transmissionType%5b%5d=&year%5b%5d=)\n\n#### [NATIONAL SALVAGE MANAGEMENT](https://ted4parts.salvagemarket.co.uk/Search?auction%5b%5d=&bucketDetails=&bucketId=&damageCategory%5b%5d=&distance%5b%5d=&editorPickSearch=0&freeSubscriptionOnly=false&fuelType%5b%5d=&latitude=0&longitude=0&make%5b%5d=&model%5b%5d=&orderBy=1&pageNumber=0&pageSize=20&quickSearch=0&searchText=&seller%5b%5d=35f87f90-699c-4e53-b6ff-f25a1eb98c59&startDrive%5b%5d=&transmissionType%5b%5d=&year%5b%5d=)\n\n[More Info](https://ted4parts.salvagemarket.co.uk/Search?auction%5b%5d=&bucketDetails=&bucketId=&damageCategory%5b%5d=&distance%5b%5d=&editorPickSearch=0&freeSubscriptionOnly=false&fuelType%5b%5d=&latitude=0&longitude=0&make%5b%5d=&model%5b%5d=&orderBy=1&pageNumber=0&pageSize=20&quickSearch=0&searchText=&seller%5b%5d=35f87f90-699c-4e53-b6ff-f25a1eb98c59&startDrive%5b%5d=&transmissionType%5b%5d=&year%5b%5d=)\n\n![](https://static.wixstatic.com/media/e244d4_7350e569caf2415b8974363697b97dc1f000.jpg/v1/fill/w_135,h_90,al_c,q_80,usm_0.66_1.00_0.01,blur_3,enc_avif,quality_auto/e244d4_7350e569caf2415b8974363697b97dc1f000.jpg)\n\n#### [OUR STORY](https://www.ted4parts.com/about-us)\n\n[Learn More](https://www.ted4parts.com/about-us)\n\n![Car-Tracing (1).png](https://static.wixstatic.com/media/e244d4_c9a03a58665943ca92bf46fba5baca69~mv2.png/v1/fill/w_49,h_18,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/Car-Tracing%20(1).png)\n\n[\n\n![CSS-RGB-L (1).png](https://static.wixstatic.com/media/e244d4_428f80aef5d74b73be37d8a04b0b4233~mv2.png/v1/fill/w_77,h_54,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/CSS-RGB-L%20(1).png)\n\n](https://www.ted4parts.com/body-shop)\n\n[\n\n![CSS_Banner_image_gxanw5 (1).png](https://static.wixstatic.com/media/e244d4_acd29b70213142599dc5874a3d266237~mv2.png/v1/fill/w_120,h_22,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/CSS_Banner_image_gxanw5%20(1).png)\n\n](https://www.ted4parts.com/body-shop)\n\n#### [HAD A CRASH?](https://www.ted4parts.com/body-shop)\n\n[\n\n![TFP013.jpg](https://static.wixstatic.com/media/e244d4_0d36686d95b9439ab779f352d0f00070~mv2.jpg/v1/fill/w_147,h_98,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/TFP013.jpg)\n\n](https://parts.ted4parts.com/stock)\n\n#### [BUY GREEN PARTS](https://parts.ted4parts.com/stock)\n\n[View Stock](https://parts.ted4parts.com/stock)\n\n###### Welcome, here's a little snapshot about us...\n\n###### Long-term Partnerships with all major Insurance companies.\n\nBuilt over many years of trust and alliance, Ted Brennan group through initially the Approved bodyshop have excellent relationships with claims management managers of all leading\ninsurance companies in Ireland.\n\n###### Strategic locations providing access to KEY MARKETS.\n\nNestled 1 mile from the border to Northern Ireland / UK, Provides ease of access to both markets, and European trade benefits from HQ in Ireland.\n\n###### The total net CO2e savings for 2022: 38,477.35 kgCO2e\n\nTed4parts enabled the above carbon emissions savings for the Garda contract, through the provision of 551 used vehicle\nparts of varying make and model through 2022.\n\n![Image by Geranimo](https://static.wixstatic.com/media/nsplsh_a77d2ef8f3ad4f79a303c93fd08d7b1d~mv2.jpg/v1/fill/w_120,h_90,al_c,q_80,usm_0.66_1.00_0.01,blur_3,enc_avif,quality_auto/nsplsh_a77d2ef8f3ad4f79a303c93fd08d7b1d~mv2.jpg)\n\n## ​\n\n​\n\n![Discover a world where style meets sunsets, and every moment in between is an artful expression #LifeGallery #EclecticLiving](https://static.parastorage.com/services/instagram-blocks-app/1.462.0/assets/templates/New-IG-Studio/01.webp)![Discover a world where style meets sunsets, and every moment in between is an artful expression #LifeGallery #EclecticLiving](https://static.parastorage.com/services/instagram-blocks-app/1.462.0/assets/templates/New-IG-Studio/01.webp)\n\n![Discover a world where style meets sunsets, and every moment in between is an artful expression #LifeGallery #EclecticLiving](https://static.parastorage.com/services/instagram-blocks-app/1.462.0/assets/templates/New-IG-Studio/02.webp)![Discover a world where style meets sunsets, and every moment in between is an artful expression #LifeGallery #EclecticLiving](https://static.parastorage.com/services/instagram-blocks-app/1.462.0/assets/templates/New-IG-Studio/02.webp)\n\n![Discover a world where style meets sunsets, and every moment in between is an artful expression #LifeGallery #EclecticLiving](https://static.parastorage.com/services/instagram-blocks-app/1.462.0/assets/templates/New-IG-Studio/video_thumb01.webp)![Discover a world where style meets sunsets, and every moment in between is an artful expression #LifeGallery #EclecticLiving](https://static.parastorage.com/services/instagram-blocks-app/1.462.0/assets/templates/New-IG-Studio/video_thumb01.webp)\n\n![Discover a world where style meets sunsets, and every moment in between is an artful expression #LifeGallery #EclecticLiving](https://static.parastorage.com/services/instagram-blocks-app/1.462.0/assets/templates/New-IG-Studio/03.webp)![Discover a world where style meets sunsets, and every moment in between is an artful expression #LifeGallery #EclecticLiving](https://static.parastorage.com/services/instagram-blocks-app/1.462.0/assets/templates/New-IG-Studio/03.webp)\n\n![Discover a world where style meets sunsets, and every moment in between is an artful expression #LifeGallery #EclecticLiving](https://static.parastorage.com/services/instagram-blocks-app/1.462.0/assets/templates/New-IG-Studio/04.webp)![Discover a world where style meets sunsets, and every moment in between is an artful expression #LifeGallery #EclecticLiving](https://static.parastorage.com/services/instagram-blocks-app/1.462.0/assets/templates/New-IG-Studio/04.webp)\n\n![Discover a world where style meets sunsets, and every moment in between is an artful expression #LifeGallery #EclecticLiving](https://static.parastorage.com/services/instagram-blocks-app/1.462.0/assets/templates/New-IG-Studio/05.webp)![Discover a world where style meets sunsets, and every moment in between is an artful expression #LifeGallery #EclecticLiving](https://static.parastorage.com/services/instagram-blocks-app/1.462.0/assets/templates/New-IG-Studio/05.webp)\n\n![Discover a world where style meets sunsets, and every moment in between is an artful expression #LifeGallery #EclecticLiving](https://static.parastorage.com/services/instagram-blocks-app/1.462.0/assets/templates/New-IG-Studio/06.webp)![Discover a world where style meets sunsets, and every moment in between is an artful expression #LifeGallery #EclecticLiving](https://static.parastorage.com/services/instagram-blocks-app/1.462.0/assets/templates/New-IG-Studio/06.webp)\n\n![Discover a world where style meets sunsets, and every moment in between is an artful expression #LifeGallery #EclecticLiving](https://static.parastorage.com/services/instagram-blocks-app/1.462.0/assets/templates/New-IG-Studio/video_thumb02.webp)![Discover a world where style meets sunsets, and every moment in between is an artful expression #LifeGallery #EclecticLiving](https://static.parastorage.com/services/instagram-blocks-app/1.462.0/assets/templates/New-IG-Studio/video_thumb02.webp)\n\n![Discover a world where style meets sunsets, and every moment in between is an artful expression #LifeGallery #EclecticLiving](https://static.parastorage.com/services/instagram-blocks-app/1.462.0/assets/templates/New-IG-Studio/07.webp)![Discover a world where style meets sunsets, and every moment in between is an artful expression #LifeGallery #EclecticLiving](https://static.parastorage.com/services/instagram-blocks-app/1.462.0/assets/templates/New-IG-Studio/07.webp)\n\n![Discover a world where style meets sunsets, and every moment in between is an artful expression #LifeGallery #EclecticLiving](https://static.parastorage.com/services/instagram-blocks-app/1.462.0/assets/templates/New-IG-Studio/08.webp)![Discover a world where style meets sunsets, and every moment in between is an artful expression #LifeGallery #EclecticLiving](https://static.parastorage.com/services/instagram-blocks-app/1.462.0/assets/templates/New-IG-Studio/08.webp)\n\n![Discover a world where style meets sunsets, and every moment in between is an artful expression #LifeGallery #EclecticLiving](https://static.parastorage.com/services/instagram-blocks-app/1.462.0/assets/templates/New-IG-Studio/09.webp)![Discover a world where style meets sunsets, and every moment in between is an artful expression #LifeGallery #EclecticLiving](https://static.parastorage.com/services/instagram-blocks-app/1.462.0/assets/templates/New-IG-Studio/09.webp)\n\n![Discover a world where style meets sunsets, and every moment in between is an artful expression #LifeGallery #EclecticLiving](https://static.parastorage.com/services/instagram-blocks-app/1.462.0/assets/templates/New-IG-Studio/10.webp)![Discover a world where style meets sunsets, and every moment in between is an artful expression #LifeGallery #EclecticLiving](https://static.parastorage.com/services/instagram-blocks-app/1.462.0/assets/templates/New-IG-Studio/10.webp)\n\n![Discover a world where style meets sunsets, and every moment in between is an artful expression #LifeGallery #EclecticLiving](https://static.parastorage.com/services/instagram-blocks-app/1.462.0/assets/templates/New-IG-Studio/11.webp)![Discover a world where style meets sunsets, and every moment in between is an artful expression #LifeGallery #EclecticLiving](https://static.parastorage.com/services/instagram-blocks-app/1.462.0/assets/templates/New-IG-Studio/11.webp)\n\n![Discover a world where style meets sunsets, and every moment in between is an artful expression #LifeGallery #EclecticLiving](https://static.parastorage.com/services/instagram-blocks-app/1.462.0/assets/templates/New-IG-Studio/12.webp)![Discover a world where style meets sunsets, and every moment in between is an artful expression #LifeGallery #EclecticLiving](https://static.parastorage.com/services/instagram-blocks-app/1.462.0/assets/templates/New-IG-Studio/12.webp)\n\n## Follow us on Instagram\n\nLoad More\n\n![](https://static.wixstatic.com/media/e244d4_8dca4673894140758264b3e68b950b7ef000.jpg/v1/fill/w_160,h_90,al_c,q_80,usm_0.66_1.00_0.01,blur_3,enc_avif,quality_auto/e244d4_8dca4673894140758264b3e68b950b7ef000.jpg)\n\n[Learn More](https://www.ted4parts.com/about-us)\n\nTed4Parts is the online parts division of the Ted Brennan Motors Group, an organisation with a proud history in the Irish Motor Industry dating back 49 years.\n\n###### Our mission is to supply recycled auto parts of the highest quality.\n\nbottom of page\n",
  "markdownStats": {
    "images": 3,
    "links": 2,
    "tables": 0,
    "codeBlocks": 0,
    "headings": 8
  },
  "tokens": {
    "htmlTokens": 378704,
    "markdownTokens": 725,
    "reduction": 377979,
    "reductionPercent": 100
  },
  "score": {
    "score": 69,
    "grade": "C",
    "rubricVersion": 3,
    "dimensions": {
      "accessibility": {
        "score": 68,
        "weight": 30,
        "grade": "C",
        "checks": {
          "content_without_js": {
            "score": 100,
            "weight": 55,
            "evidence": "proven",
            "details": "Content available without JavaScript"
          },
          "fast_content_position": {
            "score": 50,
            "weight": 25,
            "evidence": "plausible",
            "details": "Main content starts at 54% of HTML"
          },
          "reasonable_page_size": {
            "score": 0,
            "weight": 20,
            "evidence": "plausible",
            "details": "Page size: 1153KB"
          }
        }
      },
      "aiDiscoverability": {
        "score": 70,
        "weight": 25,
        "grade": "C",
        "checks": {
          "robots_allows_ai_bots": {
            "score": 100,
            "weight": 35,
            "evidence": "proven",
            "details": "All major AI search bots allowed"
          },
          "supports_markdown_negotiation": {
            "score": 0,
            "weight": 20,
            "evidence": "plausible",
            "details": "No Markdown for Agents support detected"
          },
          "has_sitemap": {
            "score": 100,
            "weight": 15,
            "evidence": "plausible",
            "details": "Sitemap found"
          },
          "has_robots_txt": {
            "score": 100,
            "weight": 10,
            "evidence": "plausible",
            "details": "robots.txt exists"
          },
          "has_llms_txt": {
            "score": 100,
            "weight": 10,
            "evidence": "speculative",
            "details": "llms.txt exists and is valid"
          },
          "has_content_signals": {
            "score": 0,
            "weight": 10,
            "evidence": "speculative",
            "details": "No Content-Signal found (robots.txt or HTTP headers)",
            "mechanisms": {
              "robotsTxt": false,
              "httpHeader": false,
              "policy": false
            }
          }
        }
      },
      "structuredData": {
        "score": 100,
        "weight": 20,
        "grade": "A",
        "checks": {
          "has_schema_org": {
            "score": 100,
            "weight": 35,
            "evidence": "proven",
            "details": "JSON-LD found: WebSite, LocalBusiness, WebSite"
          },
          "has_open_graph": {
            "score": 100,
            "weight": 20,
            "evidence": "plausible",
            "details": "All OG tags present"
          },
          "has_meta_description": {
            "score": 100,
            "weight": 20,
            "evidence": "plausible",
            "details": "Meta description: 228 chars"
          },
          "has_canonical_url": {
            "score": 100,
            "weight": 15,
            "evidence": "plausible",
            "details": "Canonical URL present"
          },
          "has_lang_attribute": {
            "score": 100,
            "weight": 10,
            "evidence": "plausible",
            "details": "lang=\"en\""
          }
        }
      },
      "semanticHtml": {
        "score": 46,
        "weight": 15,
        "grade": "D",
        "checks": {
          "proper_heading_hierarchy": {
            "score": 25,
            "weight": 30,
            "evidence": "plausible",
            "details": "no <h1>, 3 heading level skip(s)"
          },
          "uses_article_or_main": {
            "score": 100,
            "weight": 25,
            "evidence": "plausible",
            "details": "Has <main>"
          },
          "semantic_elements": {
            "score": 10,
            "weight": 20,
            "evidence": "plausible",
            "details": "14 semantic elements, 452 divs (ratio: 3%)"
          },
          "meaningful_alt_texts": {
            "score": 74,
            "weight": 15,
            "evidence": "plausible",
            "details": "32/43 images with meaningful alt text (7 decorative, not counted)"
          },
          "low_div_nesting": {
            "score": 0,
            "weight": 10,
            "evidence": "speculative",
            "details": "Avg div depth: 15.3, max: 27"
          }
        }
      },
      "contentEfficiency": {
        "score": 40,
        "weight": 10,
        "grade": "D",
        "checks": {
          "token_reduction_ratio": {
            "score": 100,
            "weight": 40,
            "evidence": "speculative",
            "details": "100% token reduction (HTML→Markdown)"
          },
          "content_to_noise_ratio": {
            "score": 0,
            "weight": 30,
            "evidence": "speculative",
            "details": "Content ratio: 0.1% (1097 content chars / 1181121 HTML bytes)"
          },
          "reasonable_page_weight": {
            "score": 0,
            "weight": 20,
            "evidence": "speculative",
            "details": "HTML size: 1153KB"
          },
          "minimal_inline_styles": {
            "score": 0,
            "weight": 10,
            "evidence": "speculative",
            "details": "128/1031 elements with inline styles (12.4%)"
          }
        }
      }
    }
  },
  "recommendations": [
    {
      "id": "reduce_page_size",
      "priority": "critical",
      "category": "accessibility",
      "titleKey": "rec.reduce_page_size.title",
      "descriptionKey": "rec.reduce_page_size.description",
      "howToKey": "rec.reduce_page_size.howto",
      "howToStepKeys": null,
      "effort": "moderate",
      "estimatedImpact": 6,
      "maxImpact": 6,
      "evidence": "plausible",
      "checkScore": 0,
      "checkDetails": "Page size: 1153KB"
    },
    {
      "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",
      "howToStepKeys": null,
      "effort": "significant",
      "estimatedImpact": 5,
      "maxImpact": 5,
      "evidence": "plausible",
      "checkScore": 0,
      "checkDetails": "No Markdown for Agents support detected"
    },
    {
      "id": "fix_heading_hierarchy",
      "priority": "high",
      "category": "semanticHtml",
      "titleKey": "rec.fix_heading_hierarchy.title",
      "descriptionKey": "rec.fix_heading_hierarchy.description",
      "howToKey": "rec.fix_heading_hierarchy.howto",
      "howToStepKeys": null,
      "effort": "quick-win",
      "estimatedImpact": 3.4,
      "maxImpact": 4.5,
      "evidence": "plausible",
      "checkScore": 25,
      "checkDetails": "no <h1>, 3 heading level skip(s)"
    },
    {
      "id": "improve_content_ratio",
      "priority": "high",
      "category": "contentEfficiency",
      "titleKey": "rec.improve_content_ratio.title",
      "descriptionKey": "rec.improve_content_ratio.description",
      "howToKey": "rec.improve_content_ratio.howto",
      "howToStepKeys": null,
      "effort": "moderate",
      "estimatedImpact": 3,
      "maxImpact": 3,
      "evidence": "speculative",
      "checkScore": 0,
      "checkDetails": "Content ratio: 0.1% (1097 content chars / 1181121 HTML bytes)"
    },
    {
      "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",
      "howToStepKeys": null,
      "effort": "moderate",
      "estimatedImpact": 2.7,
      "maxImpact": 3,
      "evidence": "plausible",
      "checkScore": 10,
      "checkDetails": "14 semantic elements, 452 divs (ratio: 3%)"
    },
    {
      "id": "add_content_signals",
      "priority": "high",
      "category": "aiDiscoverability",
      "titleKey": "rec.add_content_signals.title",
      "descriptionKey": "rec.add_content_signals.description",
      "howToKey": "rec.add_content_signals.howto",
      "howToStepKeys": null,
      "effort": "quick-win",
      "estimatedImpact": 2.5,
      "maxImpact": 2.5,
      "evidence": "speculative",
      "checkScore": 0,
      "checkDetails": "No Content-Signal found (robots.txt or HTTP headers)"
    },
    {
      "id": "reduce_page_weight",
      "priority": "medium",
      "category": "contentEfficiency",
      "titleKey": "rec.reduce_page_weight.title",
      "descriptionKey": "rec.reduce_page_weight.description",
      "howToKey": "rec.reduce_page_weight.howto",
      "howToStepKeys": null,
      "effort": "significant",
      "estimatedImpact": 2,
      "maxImpact": 2,
      "evidence": "speculative",
      "checkScore": 0,
      "checkDetails": "HTML size: 1153KB"
    },
    {
      "id": "reduce_div_nesting",
      "priority": "medium",
      "category": "semanticHtml",
      "titleKey": "rec.reduce_div_nesting.title",
      "descriptionKey": "rec.reduce_div_nesting.description",
      "howToKey": "rec.reduce_div_nesting.howto",
      "howToStepKeys": null,
      "effort": "significant",
      "estimatedImpact": 1.5,
      "maxImpact": 1.5,
      "evidence": "speculative",
      "checkScore": 0,
      "checkDetails": "Avg div depth: 15.3, max: 27"
    },
    {
      "id": "remove_inline_styles",
      "priority": "medium",
      "category": "contentEfficiency",
      "titleKey": "rec.remove_inline_styles.title",
      "descriptionKey": "rec.remove_inline_styles.description",
      "howToKey": "rec.remove_inline_styles.howto",
      "howToStepKeys": null,
      "effort": "moderate",
      "estimatedImpact": 1,
      "maxImpact": 1,
      "evidence": "speculative",
      "checkScore": 0,
      "checkDetails": "128/1031 elements with inline styles (12.4%)"
    },
    {
      "id": "improve_alt_texts",
      "priority": "low",
      "category": "semanticHtml",
      "titleKey": "rec.improve_alt_texts.title",
      "descriptionKey": "rec.improve_alt_texts.description",
      "howToKey": "rec.improve_alt_texts.howto",
      "howToStepKeys": null,
      "effort": "moderate",
      "estimatedImpact": 0.6,
      "maxImpact": 2.3,
      "evidence": "plausible",
      "checkScore": 74,
      "checkDetails": "32/43 images with meaningful alt text (7 decorative, not counted)"
    }
  ],
  "llmsTxtPreview": "# Ted4parts\n\n> Discover top-quality auto parts and accessories at Ted4Parts. From engines to electronics, we provide the best selection for every vehicle. Fast shipping and unbeatable prices! We are Ireland's largest Car repair parts supplier.\n\n## Main\n- [Home | Ted4Parts | Quality Auto Parts & Accessories for Every Vehicle | Car Repair Parts Supplier](https://www.ted4parts.com): Discover top-quality auto parts and accessories at Ted4Parts. From engines to electronics, we provide the best selectio…\n- [About Us](https://www.ted4parts.com/about-us)\n- [Our Team](https://www.ted4parts.com/team)\n- [Had a Crash?](https://www.ted4parts.com/body-shop)\n- [Anti Bribery Policy](https://www.ted4parts.com/_files/ugd/e244d4_5d930c47aa6d40389d2190a05849158f.pdf)\n- [Home](https://www.ted4parts.com/)\n- [Latest Stock](https://www.ted4parts.com/latest-stock)\n- [Scrap My Car](https://www.ted4parts.com/scrap-my-car)\n- [Social Value](https://www.ted4parts.com/social-value)\n- [Gallery](https://www.ted4parts.com/gallery)\n- [Careers](https://www.ted4parts.com/careers)\n\n## Blog\n- [Resource Centre](https://www.ted4parts.com/blog)\n\n## Legal\n- [Terms  & Conditions](https://www.ted4parts.com/terms-and-conditions)\n- [Privacy Policy](https://www.ted4parts.com/terms-and-conditions-1)\n- [Environment](https://www.ted4parts.com/terms-and-conditions-1-1)\n\n## Support\n- [Help](https://www.ted4parts.com/contact-us)\n\n",
  "llmsTxtExisting": "# Ted4parts\n> Ted4Parts is the online division of the Ted Brennan Motors Group, a company with a 49-year history in the Irish motor industry, specializing in supplying new and recycled auto parts. The site operates as a registered authorized treatment facility for end-of-life vehicles, emphasizing environmental sustainability and achieving significant CO2e savings. It highlights strategic locations for access to UK and European markets, strong partnerships with insurance companies, and its social value initiatives like Ted's Academy for training and rehabilitation.\n\n## Homepage link\n- [home](https://www.ted4parts.com/)\n\n## AI Agent Access\n\nThis site is powered by Wix and supports the Model Context Protocol (MCP)\nfor agentic AI access. AI agents can connect directly to retrieve live,\nup-to-date site content - no scraping required.\n\n- [**Site MCP Endpoint**](https://www.ted4parts.com/_api/mcp)\n- [**Wix MCP Docs**](https://dev.wix.com/docs/develop-websites/articles/get-started/about-the-wix-site-mcp)\n\n## Available MCP Tools\n\n### GetBusinessDetails\nRetrieves business and site details such as timezone, email, phone, and address.\n- No parameters required.\n\n### SearchInSite\nSearches the site for information.\n- **searchTerm** - The term to search for in the site.\n\n### SearchSiteApiDocs\nRetrieves the API documentation for the Wix business solutions installed on\nthis site, and informs the AI client how to use the APIs. Use this tool for\nquerying products and services (instead of SearchInSite).\n- **searchTerm** - The term to search for in the site API documentation.\n\n### GenerateVisitorToken\nCreates a new visitor session and obtains a visitor access token for the site.\nMust be called before making any CallWixSiteAPI request if no visitor token\nis already available in context.\n- No parameters required.\n\n### CallWixSiteAPI\nCalls API methods on the site to perform actions on a visitor's behalf,\nsuch as querying site data, booking an appointment, or starting a purchase.\n- **visitorToken** - Visitor access token. Use GenerateVisitorToken first if not available.\n- **url** - Absolute URL of the API method to call (e.g. https://www.wixapis.com/...). Retrieve using SearchSiteApiDocs.\n- **method** -  HTTP method to use for the API call.\n- **body** -  Request body as a valid JSON string.\n\n### ReadFullDocsArticle\nFetches a complete article from the Wix developer documentation portal.\n- **articleUrl** -  URL of an article in the Wix developer documentation portal.\n\n### ReadFullDocsMethodSchema\nFetches the full schema for a Wix API method. Should be called before\ncalling the actual method via CallWixSiteAPI.\n- **articleUrl** - URL of the reference article for the Wix API method.\n\n## What Visitors Can Do via AI + MCP\n\n- Get business details (contact info, location, hours)\n- Discover products and services on offer\n- Book services and make reservations\n- Start a purchase and be directed to the site to complete checkout\n- Ask questions and get relevant answers without having to browse the site\n\n## Notes\n\n- No authentication required to connect to the MCP endpoint\n- Only public information accessible on the site is available\n- Content is always live and up to date\n- To receive tool updates, implement a tools/list call upon receipt of a tool update notification",
  "emergingProtocols": {
    "oauthProtectedResource": {
      "exists": false,
      "url": "https://www.ted4parts.com/.well-known/oauth-protected-resource"
    },
    "oauthDiscovery": {
      "exists": false,
      "url": "https://www.ted4parts.com/.well-known/oauth-authorization-server"
    },
    "mcpServerCard": {
      "exists": false,
      "url": "https://www.ted4parts.com/.well-known/mcp/server-card.json",
      "draft": true
    },
    "a2aAgentCard": {
      "exists": false,
      "url": "https://www.ted4parts.com/.well-known/agent-card.json"
    },
    "apiCatalog": {
      "exists": false,
      "url": "https://www.ted4parts.com/.well-known/api-catalog"
    },
    "agentSkills": {
      "exists": false,
      "url": "https://www.ted4parts.com/.well-known/agent-skills/index.json",
      "draft": true
    },
    "count": 0,
    "total": 6
  },
  "botAccess": {
    "probed": true,
    "bot": "OAI-SearchBot",
    "controlStatus": 200,
    "botStatus": 200,
    "discriminates": false,
    "refusedAsBot": false,
    "edge": null,
    "verifiable": false,
    "detail": "This origin answers OAI-SearchBot exactly as it answers any other client (200). No edge-level filtering of AI crawlers observed."
  },
  "snippets": [
    {
      "id": "fix_heading_hierarchy",
      "title": "Fix heading hierarchy",
      "description": "Your page has no <h1>. Every page needs exactly one <h1> as the main heading. Add it inside your <main> or <article>.",
      "language": "html",
      "code": "<h1>Home | Ted4Parts | Quality Auto Parts & Accessories for Every Vehicle | Car Repair Parts Supplier</h1>",
      "filename": "<main> or <article>"
    },
    {
      "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\">"
        }
      ]
    }
  ]
}

Use our API to get this programmatically (coming soon)

This JSON is for internal use — unlike the Markdown and llms.txt files, it's not meant to be uploaded to your site. Save it as a baseline to track your score over time, share it with your dev team, or integrate it into your CI/CD pipeline.

Want a second opinion?

Cloudflare runs a free scanner too, and it asks a different question. It scores what your site publishes for agents to call — MCP server cards, Agent Skills, API catalogs, DNS records. We score whether an agent can reach, read and understand your content. A site can do well on one and poorly on the other, so expect two different numbers: they are answers to two different questions, and both are worth knowing.

Scan www.ted4parts.com with Cloudflare

Embed your badge

Add this badge to your site. It updates automatically as your AI-readiness score changes.

AgentReady.md score for www.ted4parts.com
Script Recommended
<script src="https://agentready.md/badge.js" data-id="cc84f66c-db13-4bb9-a9e6-f63c559db3d1" data-domain="www.ted4parts.com"></script>
Markdown
[![AgentReady.md score for www.ted4parts.com](https://agentready.md/badge/www.ted4parts.com.svg)](https://agentready.md/r/ted4parts.com)

Coming soon: Full Domain Analysis

Crawl your entire domain, generate llms.txt, and monitor your AI-readiness score over time. Join the waitlist to be notified.

You're on the list! We'll notify you when it launches.