PHPackages                             plasticstudio/silverstripe-seo-ai - 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. plasticstudio/silverstripe-seo-ai

ActiveSilverstripe-vendormodule[Utility &amp; Helpers](/categories/utility)

plasticstudio/silverstripe-seo-ai
=================================

AI-powered SEO extension for Silverstripe CMS

2.0.1(3mo ago)63643[1 issues](https://github.com/PlasticStudio/silverstripe-seo-ai/issues)BSD-3-ClausePHP

Since Oct 10Pushed 3mo ago2 watchersCompare

[ Source](https://github.com/PlasticStudio/silverstripe-seo-ai)[ Packagist](https://packagist.org/packages/plasticstudio/silverstripe-seo-ai)[ RSS](/packages/plasticstudio-silverstripe-seo-ai/feed)WikiDiscussions main Synced today

READMEChangelog (7)Dependencies (18)Versions (9)Used By (0)

Silverstripe SEO AI Module
==========================

[](#silverstripe-seo-ai-module)

This module extends [Silverstripe SEO](https://github.com/PlasticStudio/Silverstripe-SEO) to allow users to generate SEO tags with the OpenAI API.

Requirements
------------

[](#requirements)

Silverstripe 6

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

[](#installation)

```
composer require "plasticstudio/silverstripe-seo-ai"
```

Setting Up
----------

[](#setting-up)

After installing the module, configure the API and model / temperature settings via YAML.

Any model with text input / output on [OpenAI's Platform](https://platform.openai.com/docs/models) will work, GPT-4o Mini is the default (recommended).

*app/\_config/seo-ai.yml*

```
---
Name: silverstripe-seo-ai
---
SilverStripe\Core\Injector\Injector:
  PlasticStudio\SEOAI\Extensions\SeoAICMSPageEditControllerExtension:
    properties:
      openaiKey: "`OPENAI_API_KEY`"
      model: "gpt-4o-mini"
      temperature: 0
```

Optional: Include / Exclude Specific DOM Elements
-------------------------------------------------

[](#optional-include--exclude-specific-dom-elements)

You can optionally define which DOM elements should be included or excluded when generating SEO content. By default, the module includes common content elements (p, h1–h6, li) and excludes structural elements (header, footer, nav).

This allows you to fine-tune content parsing for your custom site structure.

Example:

```
---
Name: silverstripe-seo-ai
---
SilverStripe\Core\Injector\Injector:
  PlasticStudio\SEOAI\Extensions\SeoAICMSPageEditControllerExtension:
    properties:
      openaiKey: "sk-proj-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
      model: "gpt-4o-mini"
      temperature: 0
      included_dom_selectors:
        - "p"
        - "h1"
        - "h2"
        - "h3"
        - "h4"
        - "h5"
        - "h6"
        - "li"
        - ".class_one"
        - "#ObjectTwo"
      excluded_dom_selectors:
        - "header"
        - "footer"
        - "nav"
        - "form"
        - "#ObjectOne"
        - ".class__two"
```

Usage
-----

[](#usage)

Currently this module generates tags for the fields "Meta Title" and "Meta Description".

To generate tags, navigate to the page you'd like to generate tags for and click "Generate SEO Tags" in the "Page SEO Settings" section.

[![Zoomed In Screenshot](docs/images/zoomed-in-screenshot.png)](docs/images/zoomed-in-screenshot.png)

[Zoomed Out Screenshot](docs/images/zoomed-out-screenshot.png)

Once this process has completed, publish the page as you would normally.

###  Health Score

42

—

FairBetter than 88% of packages

Maintenance78

Regular maintenance activity

Popularity22

Limited adoption so far

Community19

Small or concentrated contributor base

Maturity45

Maturing project, gaining track record

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~89 days

Recently: every ~100 days

Total

7

Last Release

96d ago

Major Versions

1.1.0 → 2.0.02026-03-11

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/4179876?v=4)[PS/digital](/maintainers/plasticstudio)[@PlasticStudio](https://github.com/PlasticStudio)

---

Top Contributors

[![oscarholt](https://avatars.githubusercontent.com/u/38869989?v=4)](https://github.com/oscarholt "oscarholt (45 commits)")[![robbieaverill](https://avatars.githubusercontent.com/u/5170590?v=4)](https://github.com/robbieaverill "robbieaverill (29 commits)")[![ebakernz](https://avatars.githubusercontent.com/u/4185091?v=4)](https://github.com/ebakernz "ebakernz (11 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (11 commits)")[![chillu](https://avatars.githubusercontent.com/u/111025?v=4)](https://github.com/chillu "chillu (5 commits)")[![GuySartorelli](https://avatars.githubusercontent.com/u/36352093?v=4)](https://github.com/GuySartorelli "GuySartorelli (3 commits)")[![camfindlay](https://avatars.githubusercontent.com/u/367847?v=4)](https://github.com/camfindlay "camfindlay (3 commits)")[![emteknetnz](https://avatars.githubusercontent.com/u/4809037?v=4)](https://github.com/emteknetnz "emteknetnz (2 commits)")[![ScopeyNZ](https://avatars.githubusercontent.com/u/3260989?v=4)](https://github.com/ScopeyNZ "ScopeyNZ (2 commits)")[![sunnysideup](https://avatars.githubusercontent.com/u/167154?v=4)](https://github.com/sunnysideup "sunnysideup (1 commits)")[![moritz-sauer-13](https://avatars.githubusercontent.com/u/43135946?v=4)](https://github.com/moritz-sauer-13 "moritz-sauer-13 (1 commits)")[![NightJar](https://avatars.githubusercontent.com/u/778003?v=4)](https://github.com/NightJar "NightJar (1 commits)")

---

Tags

silverstripecms

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/plasticstudio-silverstripe-seo-ai/health.svg)

```
[![Health](https://phpackages.com/badges/plasticstudio-silverstripe-seo-ai/health.svg)](https://phpackages.com/packages/plasticstudio-silverstripe-seo-ai)
```

###  Alternatives

[silverstripe/cms

The SilverStripe Content Management System

5253.6M1.4k](/packages/silverstripe-cms)[symbiote/silverstripe-advancedworkflow

Adds configurable workflow support to the CMS, with a GUI for creating custom workflow definitions.

46302.4k9](/packages/symbiote-silverstripe-advancedworkflow)[sunnysideup/typography

Add a typography test page to your silverstripe website / application.

124.4k4](/packages/sunnysideup-typography)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
