Active Record hierarchical SEO categories and tags for Yii2 framework

1.0.0 2020-01-25 05:53 UTC

This package is auto-updated.

Last update: 2024-05-25 15:08:37 UTC


Русская версия

Table of contents


This extension gives you a variation of categories module, in which the opportunity to create any your own Active Record category models was given.

We suggest that when creating pages at frontend to display associated content of the category (or tag) we would need to manage SEO information of such category page.

Respectively we add next fields to our SEO category Active Record model:

  • name to name category
  • title for content of <title> tag
  • meta_description for value of content attribute of <meta name="description"> tag
  • meta_keywords for value of content attribute of <meta name="keywords"> tag
  • meta_other to inserting any other html meta tags you may need
  • slug serves as a "slug", or tail, in the page address

With all this in module's settings you may choose not to use meta_other
or slug fields and they will not appear in the web form of creating/editing SEO category


Installing through composer:

The preferred way to install this extension is through composer.:

Either run

composer require --prefer-dist mgrechanik/yii2-seo-categories

or add

"mgrechanik/yii2-seo-categories" : "~1.0.0"

to the require section of your composer.json


This extension comes with two migrations:

  • the first creates SEO categories table with all indexes needed
  • the second creates unique index for slug field

You can run both of them:

php yii migrate --migrationPath=@vendor/mgrechanik/yii2-seo-categories/src/console/migrations

, or when you do not use slug field run only the first migration:

php yii migrate 1 --migrationPath=@vendor/mgrechanik/yii2-seo-categories/src/console/migrations

Setting the module up

As was mentioned in the basic categories module, this module follows the approach of universal module, and since it gives you only backend pages when you set it up into your application specify the next mode :

    'modules' => [
        'seocategory' => [
            'class' => 'mgrechanik\yii2seocategory\Module',
            'mode' => 'backend',
            // Other module settings
        // ...

Done. When you access /seocategory page you will see all your SEO categories in a form of tree.

Module settings

Setting up the module into application, along with all properties of the base categories module, we can use it's next properties:

$useMetaOtherField = false

      - Whether to use other meta tags field

$useSlugField = true

      - Whether to use slug field. It is supposed to be unique


      - When we use previous field in this property we set up regular expression of expected symbols

$showTitleColumnAtIndexPage = true

      - Whether to display title field in the categories list grid

$showSlugColumnAtIndexPage = false

      - Whether to display slug field in the categories list grid