PHPackages                             jpunanua/yii2-seotools - 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. jpunanua/yii2-seotools

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

jpunanua/yii2-seotools
======================

Component and module to manage unique seo title, description, keywords and unique text associated with a page

174.2k↑92.9%6[3 issues](https://github.com/jpunanua/yii2-seotools/issues)PHP

Since Apr 9Pushed 11y ago4 watchersCompare

[ Source](https://github.com/jpunanua/yii2-seotools)[ Packagist](https://packagist.org/packages/jpunanua/yii2-seotools)[ RSS](/packages/jpunanua-yii2-seotools/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Tool to manage particular SEO Metas and text for especial pages
===============================================================

[](#tool-to-manage-particular-seo-metas-and-text-for-especial-pages)

If you need set unique seo title, description associated with a page this is your extension, you can also add a html text using a wysiwis tool to add bold and links and improve your SEO in page with a unique content.

Set this fields using a module to manage all this functionality.

Use internally a md5 hash to made a unique id with (Host + Path) to identify pages and yii cache system and tag dependency to improve speed

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

[](#installation)

The preferred way to install this extension is through [composer](http://getcomposer.org/download/).

Either run

```
php composer.phar require --prefer-dist jpunanua/yii2-seotools "*"

```

or add

```
"jpunanua/yii2-seotools": "*"

```

to the require section of your `composer.json` file.

\###Migration

Run the following command in Terminal for database migration:

Linux/Unix:

```
yii migrate/up --migrationPath=@vendor/jpunanua/yii2-seotools/migrations

```

Windows:

```
yii.bat migrate/up --migrationPath=@vendor/jpunanua/yii2-seotools/migrations

```

\###Config

A simple exmple of turning on seotool component.

```
'components' => [
        'seotools' => [
            'class' => 'jpunanua\seotools\Component',
        ],
    ],
```

Turning on the seotools Module:

Simple example:

```
    'modules' => [
        'seotools' => [
            'class' => 'jpunanua\seotools\Module',
            'roles' => ['@'], // For setting access levels to the seotools interface.
        ]
    ],
```

Usage
-----

[](#usage)

Once the extension is installed, simply use it in your code by :

```
 // @param bool $setCanonical true, try to create a canonical url and og url, action needs to have params
 // @param bool $checkDb try to get from DB params, true: try to get info from DB if it doesn't find save a new field
 // associated to current host + '/' + path, false: it just set the params give in the call. The db params has priority
 // over the call function params. It does a merge
$setCanonical = false;
$checkDb = true;
Yii::$app->seotools->setMeta(['title' => \Yii::t('title','A good title for this page')], $setCanonical, $checkDb);
```

You can invalidate the cache save records calling

```
\yii\caching\TagDependency::invalidate(Yii::$app->cache, jpunanua\seotools\Component::CACHE_TAG);
```

\###URLs

URLs for the seotools manage module:

```
/seotools/manage
/seotools/manage/create
```

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance16

Infrequent updates — may be unmaintained

Popularity34

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/0fa4921de48d015e5db19595c5b32afcc09bac794e6445eff7c91d40169686ae?d=identicon)[jpunanua](/maintainers/jpunanua)

---

Top Contributors

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

### Embed Badge

![Health badge](/badges/jpunanua-yii2-seotools/health.svg)

```
[![Health](https://phpackages.com/badges/jpunanua-yii2-seotools/health.svg)](https://phpackages.com/packages/jpunanua-yii2-seotools)
```

PHPackages © 2026

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