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

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

milankyncl/nette-seo
====================

Nette SEO module for building SEO optimized website.

v1.1.2(6y ago)156GPL-3.0-or-laterPHP

Since Aug 8Pushed 6y ago1 watchersCompare

[ Source](https://github.com/milankyncl/nette-seo)[ Packagist](https://packagist.org/packages/milankyncl/nette-seo)[ RSS](/packages/milankyncl-nette-seo/feed)WikiDiscussions master Synced 1w ago

READMEChangelog (2)DependenciesVersions (3)Used By (0)

Nette-framework SEO extension
=============================

[](#nette-framework-seo-extension)

Nette-framework SEO extension is a simple module to build head meta tags for website in simple steps.

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

[](#installation)

```
composer require milankyncl/nette-seo
```

Usage
-----

[](#usage)

1. Register extension in your `config.neon` file.

    ```
    extensions:
        # ...
        seo: MilanKyncl\Nette\SEO\DI\SEOExtension
    ```
2. Set your preferences.

    ```
    seo:
        site_name: "Super cool website!" # Your website Name
        description: "Description for your website" # Website default description
        image:
            url: "//www.example.cz/super-cool-image.png" # Preview image URL
            width: 1260 # Image width
            height: 630 # Image height
        # Or just:
        # image: "//www.example.cz/super-cool-image.png"
        separator: '-' # Title separator
        customTags: # Your custom tags, will show before title tag
            copyright: 'Company 2018' # Copyright eg.
            author: 'Name ' # Author eg.
    ```
3. Inject SEOResolver factory and MetaTags component in your BasePresenter.

    ```
    // With @inject annotation:

    /** @var \MilanKyncl\Nette\SEO\SEOResolver @inject */
    public $seo;

    /** @var \MilanKyncl\Nette\SEO\Components\MetaTags @inject */
    public $metaTagsComponent;

    // Or in constructor:

    public function __construct(\MilanKyncl\Nette\SEO\SEOResolver $seo, \MilanKyncl\Nette\SEO\Components\MetaTags $metaTagsComponent) {

       $this->seo = $seo;
       $this->metaTagsComponent = $metaTagsComponent;

    }
    ```
4. Create Seo Meta tags component (in BasePresenter) and in your action set title, description, or custom meta tags for your head. Use methods from [documentation](#documentation)

    ```
    // HomepagePresenter eg.

    public function indexAction() {

       $this->seo->setTitle('Homepage'); // The title will look like: Homepage - Super cool website! ({$title} {$separator} {$site_name})

    }

    // Base Presenter

    public function createComponentSeoMetaTags() {

       // You can use some methods to change default options from documentation here
       // before returning the component
       // $this->seo–>setTitle($title)
       // $this->seo–>setDescription($description)
       // $this->seo–>setImage($url, $width, $height)

       // Use this right before returning the component
       $this->metaTagsComponent->setResolver($this->seo);

       return $this->metaTagsComponent;

    }
    ```
5. Place control macro in your .latte file.

    ```

               {*
                * Will genereate all custom meta tags,
                * then title and finally seo tags
                *}
               {control seoMetaTags}

               {* Your head content *}

    ```

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

[](#documentation)

### Configuration

[](#configuration)

**site\_name**

Name of your site, will be showed in `` tag after/before page title and separator. Will set `og:title`, `twitter:title`, `og:site_name` meta properies.

```
default: null
options: string

```

**description**

Description of your page, will set in `description`, `og:description`, `twitter:description` meta properties.

```
default: null
options: string

```

**type**

Type of your object/content. More info about the property at [ogp.me#types](http://ogp.me/#types).

```
default: 'website'
options: string

```

**image**

Preview image of your website. Will set `og:image`, `twitter:image`. You can specify only Url of image, or specify `url`, `width` and `height` parameters.

```
default: null
options: string|object

```

**separator**

Separator in your `` element.

```
default: '-'
options: string

```

**customTags**

Custom meta tags. Key of array item will appear `name` attribute and its value will appear in `content` attribute.

```
default: []
options: Array

```

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity10

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity63

Established project with proven stability

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

Total

2

Last Release

2298d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/12c13d1a6855e6983b960756e50fbecbcdef16a229e2f38e3e611a94cfb4bfaf?d=identicon)[milankyncl](/maintainers/milankyncl)

---

Top Contributors

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

---

Tags

nettenette-extensionnette-frameworkphpseoseotools

### Embed Badge

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

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

###  Alternatives

[onmotion/yii2-widget-apexcharts

Yii2 charts widget - wrapper for the ApexCharts.js

1957.6k1](/packages/onmotion-yii2-widget-apexcharts)

PHPackages © 2026

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