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

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

pyncil/seo
==========

Ultimate SEO creation for Laravel 5

v0.0.5(9y ago)6241[2 issues](https://github.com/Pyncil/SEO/issues)MITPHPPHP &gt;=5.5.9

Since Jul 8Pushed 8y ago2 watchersCompare

[ Source](https://github.com/Pyncil/SEO)[ Packagist](https://packagist.org/packages/pyncil/seo)[ Docs](https://github.com/Pyncil/SEO)[ RSS](/packages/pyncil-seo/feed)WikiDiscussions master Synced today

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

Pyncil SEO for Laravel 5
========================

[](#pyncil-seo-for-laravel-5)

[![Build Status](https://camo.githubusercontent.com/6855f251ceec031cde6d22d2573ecde4bb5e29abaffef0c193673b484cd7d112/68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f50796e63696c2f53454f2e7376673f7374796c653d666c61742d737175617265)](https://travis-ci.org/Pyncil/SEO)[![Quality Score](https://camo.githubusercontent.com/8ce74a4ce1b453cd376bd969ad7a06e0f7be3ef6b3c7662b869fe04d6b112c0c/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f672f50796e63696c2f53454f2e7376673f7374796c653d666c61742d737175617265)](https://scrutinizer-ci.com/g/Pyncil/SEO)[![Latest Stable Version](https://camo.githubusercontent.com/a6af2302faf206e98ff2e369d66f0642ca10bb8a7e2c781ca2741c743cdba4b4/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f70796e63696c2f73656f2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/pyncil/seo)[![Total Downloads](https://camo.githubusercontent.com/46312f601103290ccf33f401de21ce80ecddd7296bfa1fab83fbb709d3a68cf4/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f70796e63696c2f73656f2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/pyncil/seo)[![License](https://camo.githubusercontent.com/f3a1ac4acce8cd188c936126a1cf344223e2c4d2d30c2740d3dba919b3714210/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f70796e63696c2f73656f2e7376673f7374796c653d666c61742d737175617265)](./LICENSE)

Pyncil SEO is the ultimate SEO generator for Laravel 5

Install
-------

[](#install)

Via Composer

```
$ composer require pyncil/seo
```

\###Update the Laravel Framework

Add the following provider to `config/app.php`

```
'providers' => [
    Pyncil\SEO\Providers\SEOServiceProvider::class
]
```

Usage
-----

[](#usage)

When creating a new view in your controller, you can set the SEO data:

```
public function showArticle(Request $request, $id)
{
    $article = Article::find($id);

    SEO::setTitle($article->title)
        ->setDescription($article->description)
        ->setCanonical()
        ->setNext(url('article/' . ($id + 1)))
        ->setPrev(url('article/' . ($id - 1)))
        ->setRobots();

    return view('article.show')->with('article', $article);
}
```

*Note*: Don't forget to add `use SEO;` to include the class.

Then, in your view, you can either get all of the tags:

```

        {!! SEO::get() !!}

        {!! SEO::get(false) !!}

```

Or get each tag by hand:

```

        {!! SEO::getTitle() !!}
        {!! SEO::getDescription() !!}
        {!! SEO::getCanonical() !!}

```

See the [available functions](#functions) for a list of available getters and setters.

Functions
---------

[](#functions)

#### Setters:

[](#setters)

FunctionDescription`setTitle($title)`**Required:** Sets the page title.`setSubtitle($subtitle)`Optional subtitle, separated by the separator.`setTitleSeparator($separator)`Separates title and subtitle - defaults to `' &#8211; '``setDescription($description)`**Required:** Sets the page description.`setKeywords($keywords)`Sets the keywords - overrides existing keywords.`addKeyword($keyword)`Add a keyword to existing keyword list.`addKeywords($keywords)`Add list of keywords to existing list. (takes array or comma delimeted string)`removeKeyword($keyword)`Remove a keyword from the existing list.`setCanonical($url = URL::current())`Sets canonical URL. If no parameter is set, defaults to `URL::current()``setRobots($robots = 'index,follow')`Sets the robots. If no parameter is set, defaults to `'index,follow'``setViewport($viewport = 'width=device-width, initial-scale=1')`Sets the viewport for mobile sites. If no parameter is set, defaults to `'width=device-width, initial-scale=1'``setPrev($url)`Sets the previous URL, used for pagination and sequential articles.`setNext($url)`Sets the next URL, used for pagination and sequential articles.`addMeta($meta, $content = null, $name = 'name')`Add custom meta tag. See [Custom Tags](#custom-tags) for details.`removeMeta($meta)`Remove custom tag by name.#### Getters:

[](#getters)

All of the following functions return html.

FunctionDescription`get($minify = true)`Gets all set SEO tags. Set $minify to false to recieve HTML on multiple lines.`getTitle()`Gets the page title.`getDescription()`Gets the page description.`getKeywords()`Gets the keywords.`getCanonical()`Gets the canonical URL.`getRobots()`Gets the robots.`getViewport()`Gets the viewport. If no parameter is set, defaults to `'width=device-width, initial-scale=1'``getPrev()`Gets the previous URL, used for pagination and sequential articles.`getNext()`Gets the next URL, used for pagination and sequential articles.`getMeta()`Gets all of the custom tags.Custom Tags
-----------

[](#custom-tags)

Adding custom tags is a cinch! Simply declare the name and content like so:

FunctionOutput`SEO::addMeta('author', 'Billy Bob')````SEO::addMeta('refresh', 300, 'http-equiv')````SEO::addMeta('UTF-8', null, 'charset')````SEO::addMeta(['author' => 'Billy', 'copyright' => 'PotatoFace'])`` `Favicons
--------

[](#favicons)

Many different browsers, computers, and operating systems like to retrieve a page's favicon in their own, creative ways. Stupid, I know. But, nevertheless, we must dance like the monkeys we are. So instead of creating 50 different favicons and link tags, just head on over to the [Real Favicon Generator](http://realfavicongenerator.net/) and download all of your new favicons.

Then, put them all in the folder of your choice.

*DO NOT RENAME FILES*

Once you do that, you can declare that you want favicons by calling:

```
SEO::favicons()->set('folder/containing/icons');
```

*Note*: the url you pass must be relative to the `public` directory.

then we can get your link tags dynamically like this:

```

    {!! SEO::favicons()->get() !!}

```

And that's it!

The generator will only generate tags corresponding with existing files. If you don't want the tag, don't include the file. *Note*: other items CAN exist in the icons folder. It is reccommended to put the icons in the `/public` directory.

#### Advanced Setup

[](#advanced-setup)

Let's say you want to customize the icon sizes on Android or iPhone. Or maybe the tile color in Windows 8 or 10. The following functions allow you to make those custom changes:

These sizes each take an array variable. Each string in the array must be in format "144x144" and corresponds with a file by that size.

FuncionDescription`setSizes($sizes)`Sets general `'favicon-'` sizes`setAppleSizes($sizes)`Sizes for `'apple-touch-'` icons`setAndroidSizes($sizes)`Sizes for `'android-chrome-'` iconsTo set custom colors, use `setColors($colors)`. It takes an array of colors in this format:

```
$colors = [
    'safari_pinned' => '#000000',
    'ms_tile' => '#000000',
    'theme' => '#000000'
];
```

those three color names are the only colors you may set. Colors must be in hex and none of them are required.

Credits
-------

[](#credits)

- [Jake Mitchell](https://github.com/Pyncil)
- [All Contributors](../../contributors)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](./LICENSE) for more information.

###  Health Score

24

—

LowBetter than 35% of packages

Maintenance13

Infrequent updates — may be unmaintained

Popularity13

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 75% 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

5

Last Release

3542d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/69ab0166ec6dcc163c9e355abc094c51ee66362dc3a8bc94c4c611553b699ac6?d=identicon)[MeestorHok](/maintainers/MeestorHok)

---

Top Contributors

[![jakemitchellxyz](https://avatars.githubusercontent.com/u/13812224?v=4)](https://github.com/jakemitchellxyz "jakemitchellxyz (6 commits)")[![glmdev](https://avatars.githubusercontent.com/u/18516622?v=4)](https://github.com/glmdev "glmdev (2 commits)")

---

Tags

laraveltwitterSitemapseometatags5opengraphpyncil

###  Code Quality

TestsPHPUnit

### Embed Badge

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

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

###  Alternatives

[artesaos/seotools

SEO Tools for Laravel and Lumen

3.3k5.0M54](/packages/artesaos-seotools)[arcanedev/seo-helper

SEO Helper is a framework agnostic package that provides tools &amp; helpers for SEO (Laravel supported).

333465.7k3](/packages/arcanedev-seo-helper)[butschster/meta-tags

The most powerful and extendable tools for managing SEO Meta Tags in your Laravel project

628713.4k2](/packages/butschster-meta-tags)[fomvasss/laravel-meta-tags

A package to manage SEO (meta-tags, xml-fields, etc.)

3028.7k](/packages/fomvasss-laravel-meta-tags)[elegantly/laravel-seo

An Elegant &amp; flexible SEO tag builder for Laravel

122.8k](/packages/elegantly-laravel-seo)[elaniin/findable

An SEO add-on for Statamic.

131.4k](/packages/elaniin-findable)

PHPackages © 2026

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