> For the complete documentation index, see [llms.txt](https://docs.hubyte.de/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.hubyte.de/seo-ultimate/english-documentation/seo-analysis.md).

# SEO analysis

Evaluates the SEO state of your shop and presents the results in clear cards with key figures and linked detail lists.

Open via: **Marketing → SEO Ultimate → SEO analysis**

## Starting an analysis

* Use the **“Analyze now”** button (top right) to start a new evaluation.
* The analysis runs **asynchronously in the background** (Shopware message queue). Results update automatically once the run has finished.
* The **most recently finished** evaluation is always shown, including a timestamp.

> **Requirement:** A running **message consumer / worker** on the server (usually already set up on production systems). Without a worker the triggered analysis is not processed. Alternatively it runs automatically once a day via the [scheduled task](#automation).

## Language

In Shopware, metadata and image alt texts are **translatable**. The analysis therefore evaluates **each storefront language** (from the sales channel domains) separately.

* If there is more than one language, a **language selector** appears at the top.
* By default the language with the most maintained metadata is preselected.

## Metadata overview (products & categories)

A separate card each for **products** and **categories** with key figures:

* **Total**, **meta title empty**, **meta description empty**, **title too long**, **description too long**.
* “Too long” means anything above the thresholds defined in the [configuration](#configuration) (default: **60** characters title, **160** characters description).

Below that, two lists:

* **Issues** – entries with empty or overly long metadata.
* **Existing metadata (character count)** – overview of already maintained entries to review the character count. The length is color-coded: **green** = within the valid range, **red** = empty or above the threshold.

Every name is **linked directly** and opens the product or category in the admin. The lists are **paginated** like the Shopware standard (items per page selectable via dropdown).

## Images

* **Media without alt attribute** – images without a maintained alt text. If an image is used by a product, the row is **linked directly to the product**.
* **Images without src attribute** – `<img>` tags in the rendered storefront HTML without a `src` (e.g. pure lazy-load images with `data-src`). Includes a link to the affected page.

## HTTP errors (sitemap crawl)

The analysis fetches the **sitemap URLs** of all active sales channel domains and checks the HTTP status codes:

* **404 errors** (page not found)
* **500 errors** (server errors)
* **Unreachable** (timeout / connection error)

All hits are listed with their URL. The number of crawled URLs is limited via the [configuration](#configuration).

## Performance

Useful performance values are derived from the same crawl (no external API required):

* **Avg. load time**, **median load time**, **slowest page** (server response time)
* **Avg. page size** (transfer size)
* List of the **slowest pages** with load time and size.

## Showing cards on the admin dashboard

Each card has a **“Show on admin dashboard”** switch in the top right. When enabled, that card (as a compact key-figure summary) appears directly on the **Shopware start dashboard** – with a link to the full SEO analysis.

> The setting applies **shop-wide** (not per user).

## Configuration

Under **Settings → Plugins → SEO Ultimate**:

* **Meta Title Characters** / **Meta Description Characters** – thresholds for the character counters (green/red).
* **Max. crawled URLs per analysis** – upper limit of sitemap URLs fetched during the crawl (default **300**). Higher values increase coverage but take longer.

## Automation

The analysis also runs **automatically once a day** via Shopware’s scheduled task system (`hueb_seo.analysis`).

Trigger manually (for admins/developers):

```bash
bin/console scheduled-task:run-single hueb_seo.analysis
```

Registration (in case the task is missing after an update):

```bash
bin/console scheduled-task:register
```

## Notes

* **PageSpeed:** An integration with Google PageSpeed Insights is currently **not** included; the performance values come from the built-in crawl.
* **Scope:** The detail lists are capped per evaluation; the key figures (totals) are complete.
* **Sitemap:** The crawl requires a reachable `sitemap.xml` per domain (Shopware generates it automatically; Shopware serves the partial sitemaps gzip-compressed, which the analysis handles).
