> ## Documentation Index
> Fetch the complete documentation index at: https://docs.perquery.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Technical analysis

> Audit how well AI crawlers can reach, render and read your site, and fix each issue from its row.

**Technical Analysis** audits your site for the issues that keep AI crawlers from reading it. It gives the site a health score, lists each issue, shows which AI crawlers your `robots.txt` allows, and shows how the crawlers spent their requests.

Open it from the **Analysis** group in the menu: **Technical Analysis**.

## How the audit works

The audit checks the pages that the last crawl stored. It also reads your `robots.txt`, your sitemap and your `llms.txt`, and it renders a sample of pages. The checks are in three areas:

* **Crawlability:** can a crawler reach your pages?
* **Renderability:** does a crawler see the content without JavaScript?
* **Parseability:** can a crawler understand the content?

The audit runs after each successful crawl and again on a schedule. It needs a completed crawl. When no page has been crawled, the page shows **No pages have been crawled yet**. See [Content analysis](https://docs.perquery.ai/en/analyze/content-analysis.md) to run a crawl.

## Run an audit

**1. Open the page**

Open **Technical Analysis**.

**2. Start the audit**

Click **Run audit**. The button shows **Auditing…** while the audit runs.

**3. Read the score**

When the audit is done, the score and the issue list appear.

There is one audit or crawl at a time for each site. The number of audits depends on your plan. See [pricing](https://perquery.ai/en/pricing).

## Health score

The gauge shows a score from 0 to 100:

| Score | Label |
| - | - |
| 70 or more | **GOOD** |
| 40 to 69 | **FAIR** |
| Less than 40 | **WEAK** |

Each check has a weight. A failed check lowers the score by its weight and by the share of pages that fail it. Below the gauge, you see the number of **critical**, **medium** and **low** issues, and the number of pages examined and rendered.

When a check cannot run, it is not part of the score. A note below the issue list gives the number of these checks.

## Issue list

The **Issue list** shows each issue, with the most severe first. Each row has a title, a description with the affected pages, and one of these:

* **Fix:** opens the tool that fixes the issue.
* **manual:** no tool fixes this issue. Fix it on your site.

### The checks

In the titles, N is the number of affected pages and GPTBot is an example of a crawler name.

| Area | Issue title | Severity | Fix |
| - | - | - | - |
| Crawlability | **GPTBot is blocked in robots.txt** | critical | [robots.txt Checker & Generator](https://docs.perquery.ai/en/tools/robots-txt.md) |
| Crawlability | **No robots.txt found** | medium | [robots.txt Checker & Generator](https://docs.perquery.ai/en/tools/robots-txt.md) |
| Crawlability | **N pages do not return 200** | critical | manual |
| Crawlability | **N pages sit behind a redirect chain** | low | manual |
| Crawlability | **No sitemap.xml found** | medium | manual |
| Crawlability | **Your robots.txt blocks the sitemap** | medium | manual |
| Crawlability | **The sitemap is out of date** | medium | manual |
| Renderability | **N sampled pages render client-side** | critical | [LLM Inspect](https://docs.perquery.ai/en/monitor/llm-inspect.md) |
| Renderability | **N pages are slow to fetch** | medium | manual |
| Renderability | **N pages ship heavy HTML** | low | manual |
| Parseability | **N pages carry no structured data** | critical | manual |
| Parseability | **N pages carry broken structured data** | critical | manual |
| Parseability | **N pages declare the wrong schema type** | medium | manual |
| Parseability | **N pages have a broken heading hierarchy** | medium | manual |
| Parseability | **No llms.txt at the site root** | medium | [llms.txt Checker & Generator](https://docs.perquery.ai/en/tools/llms-txt.md) |
| Parseability | **llms.txt is incomplete** | low | [llms.txt Checker & Generator](https://docs.perquery.ai/en/tools/llms-txt.md) |
| Parseability | **N pages are missing a title or description** | medium | manual |
| Parseability | **N pages have a thin description** | low | manual |
| Parseability | **N pages have images without alt text** | low | manual |
| Parseability | **N pages are thin on content** | low | manual |
| Parseability | **N pages are orphaned** | medium | manual |

> [!TIP]
>
> For the structured data issues, use the [Schema Generator](https://docs.perquery.ai/en/tools/schema.md) to write the JSON-LD.

## Bot Access Status

This panel shows each AI crawler that Perquery watches and what your `robots.txt` says about it:

| Status | Meaning |
| - | - |
| **Allowed** | Your `robots.txt` names the crawler and allows the site. |
| **Blocked** | Your `robots.txt` blocks the crawler from the site. A blocked crawler cannot see your content. |
| **Unmentioned** | Your `robots.txt` does not name the crawler. |

## Crawl Budget

This panel shows what each AI crawler requested from your site in a recent period. The panel title gives the number of days. It needs the access logs of your web server.

| Column | Meaning |
| - | - |
| **Bot** | The AI crawler. The mark **blocked** shows a crawler that your `robots.txt` blocks. |
| **Requests** | The requests of the crawler. |
| **Pages reached** | The crawled pages that the crawler fetched, of all crawled pages. |
| **Errors served** | The requests that your server answered with an error. |
| **Last seen** | The last request of the crawler. |

When you have not uploaded logs, the panel shows **No bot logs uploaded yet**. Click **Upload bot logs** to go to [LLM bot logs](https://docs.perquery.ai/en/analyze/bot-logs.md).

> [!TIP]
>
> Use the export menu on the **Issue list** and **Bot Access Status** panels to download the data as CSV or Excel.

## Related pages

> [card] [LLM bot logs](https://docs.perquery.ai/en/analyze/bot-logs.md)
>
> See the real AI crawler traffic on your site.

> [card] [Growth opportunities](https://docs.perquery.ai/en/act/opportunities.md)
>
> See technical issues as ranked actions.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.