PHPackages                             in2code/sitescore - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. in2code/sitescore

ActiveTypo3-cms-extension[Utility &amp; Helpers](/categories/utility)

in2code/sitescore
=================

AI-driven content quality dashboard providing SEO, GEO and accessibility scores directly in the TYPO3 page module

2.0.1(3mo ago)2341[1 issues](https://github.com/in2code-de/sitescore/issues)GPL-2.0-or-laterPHPPHP &gt;=8.2.0

Since Dec 30Pushed 3mo agoCompare

[ Source](https://github.com/in2code-de/sitescore)[ Packagist](https://packagist.org/packages/in2code/sitescore)[ Docs](https://github.com/in2code-de/sitescore)[ GitHub Sponsors](https://github.com/orgs/in2code-de/sponsoring)[ Fund](https://www.in2code.de/supportopensource)[ RSS](/packages/in2code-sitescore/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (21)Versions (5)Used By (0)

Sitescore - AI-powered SEO/GEO and Content Quality Dashboard for TYPO3
======================================================================

[](#sitescore---ai-powered-seogeo-and-content-quality-dashboard-for-typo3)

Table of Contents
-----------------

[](#table-of-contents)

- [Introduction](#introduction)
- [Screenshots](#screenshots)
- [Google Gemini API](#google-gemini-api)
- [Installation](#installation)
- [Usage](#usage)
    - [In the Page Module](#in-the-page-module)
    - [CLI Commands](#cli-commands)
- [Custom LLM Integration](#custom-llm-integration-like-chatgpt-claude-copilot-mistral-etc)
- [Changelog](#changelog)
- [Contribution with DDEV](#contribution-with-ddev)

Introduction
------------

[](#introduction)

Sitescore provides an at-a-glance SEO/GEO and content quality dashboard directly in the TYPO3 page module. It displays key metrics as visual score gauges inspired by Google Pagespeed, helping editors identify and fix content issues without leaving the backend.

The extension analyzes pages using AI (Google Gemini by default) and provides scores for 5 categories:

- **GEO &amp; SEO**: Generative Engine Optimization and Search Engine Optimization
- **Performance**: Page structure, image optimization, CSS/JS inclusion
- **Semantics**: HTML5 semantics, heading hierarchy, ARIA labels
- **Keyword Optimization**: Keyword usage based on `pages.tx_sitescore_keyword` field
- **Accessibility**: WCAG compliance, keyboard navigation, screen reader support

Each analysis includes actionable suggestions to improve your content quality and SEO rankings.

Screenshots
-----------

[](#screenshots)

[![Sitescore in Page Module](Documentation/Images/screenshot-pagemodule-short.png)](Documentation/Images/screenshot-pagemodule-short.png)

*Sitescore dashboard integrated in TYPO3 page module*

[![Sitescore Dark Mode](Documentation/Images/screenshot-pagemodule-list-darkmode.png)](Documentation/Images/screenshot-pagemodule-list-darkmode.png)

*Analysis results with suggestions (dark mode)*

[![Sitescore TYPO3 Dashboard](Documentation/Images/screenshot-dashboard.png)](Documentation/Images/screenshot-dashboard.png)

*Add sitescore wizards to your dashboard*

Google Gemini API
-----------------

[](#google-gemini-api)

- To use the extension, you need a **Google Gemini API** key. You can register for one at .
- Alternatively, you can implement your own LLM provider (see [Custom LLM Integration](#custom-llm-integration-like-chatgpt-claude-copilot-mistral-etc) below).

Installation
------------

[](#installation)

### With composer

[](#with-composer)

```
composer req in2code/sitescore

```

### Main configuration

[](#main-configuration)

After installation, configure the extension in Extension Manager or via environment variables:

TitleDefault valueDescriptionapiKey-Google Gemini API key. You can leave this empty and use the `GOOGLE_API_KEY` environment variable instead (recommended for CI/CD pipelines)**Recommended:** Use environment variables instead of saving the API key in Extension Manager:

```
GOOGLE_API_KEY=your_api_key_from_google

```

Usage
-----

[](#usage)

### In the Page Module

[](#in-the-page-module)

1. Navigate to the **Page** module in TYPO3 backend
2. Select a page in the page tree
3. You'll see the **Sitescore Analysis** section at the top
4. Click **"Analyze Page"** to perform a new analysis
5. View the scores and suggestions by expanding the results

### CLI Commands

[](#cli-commands)

#### Analyze a single page or page tree

[](#analyze-a-single-page-or-page-tree)

Analyzes pages automatically with a scheduler command

```
# Analyze single page
./vendor/bin/typo3 sitescore:analyzePage 123

# Analyze page tree recursively (page + all subpages with 99 recursion level)
./vendor/bin/typo3 sitescore:analyzePage 123 99

```

#### Clear all analysis data

[](#clear-all-analysis-data)

This removes all stored analysis results from the database. Useful for fresh starts or testing.

```
# Truncate all analysis records!
./vendor/bin/typo3 sitescore:truncateAnalysis

```

Custom LLM Integration (like ChatGPT, Claude, Copilot, Mistral, etc...)
-----------------------------------------------------------------------

[](#custom-llm-integration-like-chatgpt-claude-copilot-mistral-etc)

Sitescore uses a factory pattern to allow custom LLM providers. By default, it uses Google Gemini, but you can easily integrate other AI services (OpenAI, Claude, local models, etc.).

### Implementing a Custom LLM Repository

[](#implementing-a-custom-llm-repository)

1. Create a custom repository class implementing `LlmRepositoryInterface` - see example for Mistral AI::

```
