---
title: Citelayer® AI Readiness Scanner — Check Your AI Visibility Score — citelayer®
url: https://citelayer.ai/docs/ai-readiness-scanner/
date: 2026-03-19
---

# Citelayer® AI Readiness Scanner — Check Your AI Visibility Score

What the Scanner Does
---------------------

Good intentions don’t make you AI-visible. You might have enabled every Citelayer® protocol and still have a robots.txt rule that blocks AI crawlers, or a structured data configuration that doesn’t validate. The AI Readiness Scanner is an automated audit that checks your actual site configuration against a defined set of criteria and tells you exactly what’s working, what needs attention, and what’s broken.

The scanner runs checks in eight areas. For each check, it returns one of four statuses: **pass**, **warn**, **info**, or **fail**. Your overall AI Readiness Score is the average across all applicable checks, weighted as follows: pass = 100, warn = 70, info = 50, fail = 20. A site with everything correctly configured scores 100.

Some checks only apply if WooCommerce is active on your site. Those checks appear and contribute to your score only when relevant.

---

The Eight Checks
----------------

### 1. Schema.org Structured Data

Structured data helps AI systems understand what your content is about, who created it, and how it fits into a broader context. The Schema check verifies whether your site outputs valid Schema.org markup. Citelayer® looks for JSON-LD structured data in your page source, checks whether it parses as valid JSON, and validates that it includes recognizable Schema.org types.

A **pass** here means valid structured data is present and parseable. A **warn** typically means structured data exists but is incomplete or uses non-standard types. A **fail** means no structured data was found.

You don’t need to add structured data manually. Most SEO plugins (Yoast, Rank Math, All in One SEO) generate it automatically if properly configured.

### 2. Robots.txt

Your `robots.txt` file can either welcome or block AI crawlers. The scanner fetches your robots.txt and checks whether any rules disallow the major AI user-agents — GPTBot, ClaudeBot, PerplexityBot, and others. A `Disallow: /` rule for any of these bots means they can’t crawl your site regardless of every other setting.

A **pass** means no problematic disallow rules are found for known AI crawlers. A **warn** means some AI bots are restricted but not all. A **fail** means your robots.txt actively blocks AI crawlers across the board.

Note that robots.txt is advisory — bots are expected to follow it, but not all do. Still, if you intend to be AI-visible, you should not be blocking AI bots here.

### 3. llms.txt

The `llms.txt` file is a structured description of your site designed specifically for large language models. Think of it as a `robots.txt` for AI systems — it tells them what your site is, what’s on it, and how to navigate it most effectively.

The scanner checks whether `https://yoursite.com/llms.txt` is reachable (returns HTTP 200), and whether the content is valid and non-empty. A **pass** means the file exists, loads correctly, and contains meaningful content. A **fail** means the URL returns a 404 or the file is empty.

Citelayer®’s llms.txt protocol generates this file automatically. If the check is failing, verify that the protocol is enabled under **Citelayer® → Settings → llms.txt**.

### 4. Content-Signal Headers

Content-Signal Headers communicate your content licensing preferences to AI systems as part of every HTTP response. The scanner checks two things: whether you’ve configured your preferences in the plugin settings, and whether the `Content-Signal` header is actually being sent on your homepage.

The second check matters because a caching layer, CDN, or server configuration could theoretically strip headers before they reach the crawlers. Citelayer® uses `wp_remote_head()` to make a real request to your homepage and inspect the response headers.

A **pass** means headers are configured and confirmed in the live response. A **warn** means headers are configured but couldn’t be verified in the live response. A **fail** means the feature isn’t configured.

For more on content signal configuration, see [Citelayer® Content-Signal Headers — Control How AI Uses Your Content](https://citelayer.ai/docs/content-signal-headers/).

### 5. Product Feed *(WooCommerce only)*

The Product Feed exports your WooCommerce catalog in a structured XML format designed for AI shopping agents following the OpenAI Agentic Commerce protocol. The scanner checks whether the feed is enabled and whether the feed URL (`/product-feed.xml`) returns valid XML.

This check only appears when WooCommerce is active. A **fail** on a WooCommerce site simply means you haven’t enabled the feature — it’s not an error, just an opportunity.

See [Citelayer® Product Feed for AI Agents](https://citelayer.ai/docs/product-feed/) for setup instructions.

### 6. Product Content *(WooCommerce only)*

AI shopping agents need product descriptions to give useful recommendations. This check samples your published products and assesses whether they have adequate description content. Products with no description, or descriptions under a minimum word threshold, contribute to a lower score here.

A **warn** typically means some products have thin content. A **fail** means the majority of your catalog lacks descriptions.

### 7. Product Images *(WooCommerce only)*

Product images with descriptive alt text give AI systems visual context they can reference. This check looks for products missing featured images, and for images missing alt text attributes.

A **pass** means your product images are present and properly described. A **warn** means some images are missing or undescribed.

### 8. Product Stock Status *(WooCommerce only)*

Out-of-stock products that appear in the product feed mislead AI shopping agents — they may recommend products customers can’t actually buy. This check verifies that your stock status settings are in good shape: products are either properly marked as out-of-stock or actually have inventory.

---

Your AI Readiness Score
-----------------------

The overall score appears at the top of the scanner results as a number from 0 to 100, with a color indicator: red (below 50), yellow (50–79), and green (80 and above). Below the score, each individual check shows its status and a short explanation of what was found.

The score is calculated as the simple average of all applicable check scores. On a site without WooCommerce, only checks 1–4 contribute (maximum score: 100). On a WooCommerce site, all eight checks contribute.

---

Running the Scanner
-------------------

The scanner is available under **Citelayer® → AI Readiness Scanner**. Click **Run Scan** to start. The scanner runs checks sequentially rather than all at once — this staged approach keeps the admin interface responsive and gives you a visual progress indicator as each check completes.

Results are cached in WordPress options. Subsequent visits to the scanner page load from cache rather than re-running checks. To force a fresh scan, click **Reset &amp; Rescan**. You can also trigger a cache reset programmatically:

```
POST /wp-json/citelayer/v1/scan/reset
```

This endpoint requires `manage_options` capability and a valid WordPress nonce.

---

Scanner REST API
----------------

The scanner is fully accessible via the Citelayer® REST API:

```
GET /wp-json/citelayer/v1/scan
```

Returns the complete scan results, running all checks from scratch (or from cache if valid). To run a single check only, append the `step` parameter:

```
GET /wp-json/citelayer/v1/scan?step=robots
```

Valid `step` values correspond to the check names: `schema`, `robots`, `llms_txt`, `content_signal`, `product_feed`, `product_content`, `product_images`, `product_stock`.

Both endpoints require authentication with `manage_options` capability. They are not publicly accessible.

---

When to Run the Scanner
-----------------------

Run the scanner after initial setup to confirm everything is working. Run it again after any significant site changes: switching themes, updating your SEO plugin, migrating to a new host, adding a CDN. These events can change header behavior, robots.txt contents, and structured data output in ways that affect your AI readiness.

There’s no automated scheduling for the scanner — it runs on demand. If you want periodic monitoring, the [Bot Analytics](https://citelayer.ai/docs/bot-analytics/) dashboard gives you ongoing visibility into actual AI crawler behavior, which is a practical complement to the scanner’s configuration checks.
