PHPackages                             pubvana/seo - 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. pubvana/seo

ActiveFlightphp-plugin[Utility &amp; Helpers](/categories/utility)

pubvana/seo
===========

SEO package for Pubvana — meta tags, structured data, sitemaps, Open Graph, AI/GEO optimization

0.1.2(1mo ago)02MITPHPPHP ^8.1

Since May 6Pushed 1mo agoCompare

[ Source](https://github.com/Pubvana-CMS/seo)[ Packagist](https://packagist.org/packages/pubvana/seo)[ RSS](/packages/pubvana-seo/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (3)Dependencies (5)Versions (4)Used By (0)

Pubvana SEO
===========

[](#pubvana-seo)

**I noticed folks downloading some of these packages. I'm super grateful, Thank You! I would like to let folks know until this notice disappears I'm doing a lot of breaking changes without worrying about them. Once versions are up around 0.5.x things should settle down.**

Full SEO package for Pubvana — meta tags, structured data, sitemaps, Open Graph, AI/GEO optimization.

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

[](#requirements)

- PHP 8.1+
- `enlivenapp/flight-school` ^0.3
- `enlivenapp/flight-settings` ^0.2
- `enlivenapp/flight-shield` ^0.2
- `enlivenapp/migrations` ^0.2
- `flightphp/active-record` ^0.7

Features
--------

[](#features)

### Meta Tags &amp; Head Output

[](#meta-tags--head-output)

- Per-content meta title and description with fallback chain
- Configurable title templates with tokens (`{title} {sep} {site_name}`)
- Character counters (title 50–60, description 120–160)
- Self-referencing canonical URLs with per-content override
- Per-content robots directives (noindex, nofollow)
- hreflang stub (defaults to `en`, ready for i18n)

### Structured Data (JSON-LD)

[](#structured-data-json-ld)

- **WebSite** schema on homepage with SearchAction
- **Organization** schema with logo and social sameAs
- **BlogPosting** schema on posts with author, dates, publisher
- **WebPage** schema on static pages
- **BreadcrumbList** schema on all pages

### Open Graph &amp; Twitter Cards

[](#open-graph--twitter-cards)

- Full OG tag set: title, description, image, url, type, site\_name, locale
- Twitter Card support (summary\_large\_image default)
- Per-content overrides for all social fields
- Fallback to featured image then site default OG image

### XML Sitemap

[](#xml-sitemap)

- Auto-generated at `/sitemap.xml`
- Only `` (Google ignores changefreq/priority)
- Includes pages, posts, categories, tags
- Excludes noindex content automatically

### AI/GEO Optimization

[](#aigeo-optimization)

- **llms.txt** at `/llms.txt` — curated content map for AI crawlers (llmstxt.org spec)
- **AI crawler management** — per-bot allow/block toggles in admin
- Separate treatment for training bots (block by default) vs retrieval/citation bots (allow by default)
- Known bots: GPTBot, ChatGPT-User, Google-Extended, ClaudeBot, Claude-SearchBot, CCBot, PerplexityBot, Bytespider, Applebot-Extended, FacebookBot

### robots.txt

[](#robotstxt)

- Served at `/robots.txt`
- Editable custom body from admin
- AI crawler directives appended automatically
- Sitemap URL always appended

### Content Analysis &amp; SEO Scoring

[](#content-analysis--seo-scoring)

- Up to 5 focus keywords per content item
- 15-point analysis: title/description length and keyword presence, content length, keyword density, first paragraph, headings, internal links, URL slug, images/alt text, readability
- Score 0–100 with pass/warning/fail for each check
- Live JS widget in admin edit forms
- SERP preview with real-time updates

### Admin

[](#admin)

- Dedicated SEO nav item under Settings
- Dashboard cards: SEO coverage % and average score
- Per-content SEO panel for page/post edit forms
- Search engine verification codes (Google, Bing)
- Organization identity for schema output

Services
--------

[](#services)

ServiceAccessPurposeSeoService`$app->seo()`Meta tags, head output, context, meta CRUDSchemaService`$app->seoSchema()`JSON-LD structured data generationSitemapService`$app->seoSitemap()`XML sitemap generationRobotsTxtService`$app->seoRobots()`robots.txt generation with AI bot managementLlmsTxtService`$app->seoLlmsTxt()`llms.txt generationContentAnalysisService`$app->seoAnalysis()`Content scoring and SEO checksPublic Routes
-------------

[](#public-routes)

RoutePurpose`/sitemap.xml`XML sitemap`/robots.txt`robots.txt with AI crawler directives`/llms.txt`AI content discovery fileAdmin Routes
------------

[](#admin-routes)

RoutePurpose`GET /admin/seo`Settings page`POST /admin/seo`Save settings`POST /admin/seo/meta`Save per-content SEO meta (AJAX)`GET /admin/seo/analyze`Run content analysis (AJAX)Integration
-----------

[](#integration)

The SEO package owns all SEO-related fields for content items. The `seo_meta` table stores per-content data using a polymorphic `content_type` + `content_id` pattern.

Controllers should call `$app->seo()->setContext(...)` before rendering to provide the SEO service with current page data. The service then assembles all meta tags, schema, and OG tags for head injection.

License
-------

[](#license)

MIT

###  Health Score

35

—

LowBetter than 77% of packages

Maintenance93

Actively maintained with recent releases

Popularity3

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity34

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

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 ~0 days

Total

3

Last Release

34d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/3036663?v=4)[Mike W](/maintainers/enlivenapp)[@enlivenapp](https://github.com/enlivenapp)

---

Top Contributors

[![enlivenapp](https://avatars.githubusercontent.com/u/3036663?v=4)](https://github.com/enlivenapp "enlivenapp (4 commits)")

### Embed Badge

![Health badge](/badges/pubvana-seo/health.svg)

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

PHPackages © 2026

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