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

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

yohns/seo-manager
=================

Building the SEO meta, twitter, opengraph, and schema for your webpage

0.8.0(10mo ago)011MITPHP

Since Jul 2Pushed 9mo agoCompare

[ Source](https://github.com/Yohn/SEO-Manager)[ Packagist](https://packagist.org/packages/yohns/seo-manager)[ RSS](/packages/yohns-seo-manager/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (2)Versions (2)Used By (0)

Yohns\\SEO
==========

[](#yohnsseo)

```
composer require yohns/seo-manager

```

Generate favicons:
------------------

[](#generate-favicons)

### Usage:

[](#usage)

```
php ex-favicon-generator.php
```

### Example:

[](#example)

```
php ex-favicon-generator.php logo.png
```

This will create so many favicons and the manifest file for your website.

> Further testing would be nice, but this is within working order to get you started.

Documentation
-------------

[](#documentation)

- [SEOManager Class](Docs/SEOManager.md) - Main orchestrator class
- [Favicons Class](Docs/Favicons.md) - Favicon tags management
- [MetaTags Class](Docs/MetaTags.md) - HTML meta tags management
- [OpenGraph Class](Docs/OpenGraph.md) - Open Graph protocol
- [TwitterCards Class](Docs/TwitterCards.md) - Twitter Card tags
- [SchemaMarkup Class](Docs/SchemaMarkup.md) - Schema.org structured data
- [Configuration](Docs/Configuration.md) - Setting up defaults
- [Examples](Docs/Examples.md) - Common usage patterns

Main Components:
----------------

[](#main-components)

### 1. **SEOManager** (Main Class)

[](#1-seomanager-main-class)

- Central orchestrator for all SEO components
- Supports configuration via your Config class
- Provides unified access to all SEO features
- Can render all tags at once or individually

### 2. **MetaTags** Class

[](#2-metatags-class)

- Handles standard HTML meta tags
- Built-in validation for title length (60 chars) and description (155-160 chars)
- Supports keywords with normalization (lowercase, deduplication)
- Manages canonical URLs, robots, viewport, favicon

### 3. **OpenGraph** Class

[](#3-opengraph-class)

- Full Open Graph protocol support
- Validates required tags (title, type, url, image)
- Supports all standard OG types
- Special handlers for articles, videos, audio

### 4. **TwitterCards** Class

[](#4-twittercards-class)

- Supports all Twitter Card types (summary, summary\_large\_image, app, player)
- Automatic username normalization (adds @ if missing)
- Character limit enforcement (70 for title, 200 for description)
- Type-specific validation

### 5. **SchemaMarkup** Class

[](#5-schemamarkup-class)

- Comprehensive Schema.org support
- Helper methods for all common types:
    - Organization, Person, Product, Article
    - Event, Recipe, Review, Video
    - Book, Course, LocalBusiness, FAQPage
    - SoftwareApplication, and more
- Generic schema builder for custom types
- JSON-LD output format

Key Features:
-------------

[](#key-features)

1. **Validation** - Each component validates its tags according to best practices
2. **Configuration Support** - Works with your Config class for defaults
3. **Fluent Interface** - Chainable methods for easy use
4. **Flexible Output** - Can render as HTML strings or return as arrays
5. **Character Limits** - Automatic truncation with ellipsis for length-limited fields
6. **Best Practices** - Follows all SEO guidelines from your documentation

Usage Pattern:
--------------

[](#usage-pattern)

```
$seo = new SEOManager($config);
$seo->setCommon([...])  // Set common properties across all components
    ->meta()->setTitle('...')
    ->openGraph()->setType('article')
    ->twitter()->setCard('summary_large_image');

echo $seo->render();  // Output all tags
```

The system is fully OOP, uses PHP 8.2+ features, and follows all the SEO best practices outlined in your documentation files.

TO-DO
-----

[](#to-do)

- `Yohns\CoreConfig` to be used statically `Config::*()`
- Test everything

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance56

Moderate activity, may be stable

Popularity5

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity26

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

Unknown

Total

1

Last Release

312d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/5c53f441885ec90d8d6e547f4c9023da12f10229c3848059e19b6aba9be1859a?d=identicon)[Yohn](/maintainers/Yohn)

---

Top Contributors

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

### Embed Badge

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

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

###  Alternatives

[components/mathjs

Math.js is an extensive math library for JavaScript and Node.js. It features a flexible expression parser with support for symbolic computation, comes with a large set of built-in functions and constants, and offers an integrated solution to work with different data types like numbers, big numbers, complex numbers, fractions, units, and matrices.

15.0k3.8k](/packages/components-mathjs)[aura/payload-interface

An interface package for Domain Payload implementations.

13392.7k4](/packages/aura-payload-interface)[njxqlus/filament-lightbox

Lightbox entry for Filament

2054.6k](/packages/njxqlus-filament-lightbox)

PHPackages © 2026

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