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

ActiveLibrary

sabuj073/laravel-seo
====================

Laravel SEO package for per-page meta tags, Open Graph and Twitter Card

00PHP

Since Mar 10Pushed 2mo agoCompare

[ Source](https://github.com/sabuj073/laravel-seo)[ Packagist](https://packagist.org/packages/sabuj073/laravel-seo)[ RSS](/packages/sabuj073-laravel-seo/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Laravel SEO
===========

[](#laravel-seo)

Per-page SEO meta tags for Laravel: title, description, image, canonical, Open Graph and Twitter Card.

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

[](#installation)

```
composer require sabuj073/laravel-seo
```

```
php artisan vendor:publish --tag=seo-config
# optional views
php artisan vendor:publish --tag=seo-views
```

Configuration
-------------

[](#configuration)

In `.env`:

```
SEO_DEFAULT_TITLE="My Site"
SEO_DEFAULT_DESCRIPTION="Default meta description"
SEO_DEFAULT_IMAGE="https://yoursite.com/og-default.jpg"
SEO_TITLE_SEPARATOR=" | "

```

Usage
-----

[](#usage)

**In controllers or middleware**, set SEO for the current page:

```
use Sabuj073\Seo\Seo;

public function show(Post $post, Seo $seo)
{
    $seo->title($post->title)
        ->description(Str::limit($post->excerpt, 160))
        ->image($post->featured_image_url)
        ->canonical(route('posts.show', $post))
        ->keywords($post->tags->pluck('name')->toArray())
        ->ogType('article');
    return view('posts.show', compact('post'));
}
```

**In your main layout** (e.g. `resources/views/layouts/app.blade.php`), inside ``:

```
{!! app(\Sabuj073\Seo\Seo::class)->render() !!}
```

Or register a facade in `config/app.php`:

```
'aliases' => [
    'Seo' => \Sabuj073\Seo\SeoFacade::class,
],
```

Then in layout:

```
{!! Seo::render() !!}
```

**Chaining:**

```
Seo::title('Contact')
    ->description('Get in touch with us')
    ->canonical(route('contact'));
```

Default title is appended with `SEO_TITLE_SEPARATOR` and `SEO_DEFAULT_TITLE` when you set a page title.

###  Health Score

19

—

LowBetter than 10% of packages

Maintenance58

Moderate activity, may be stable

Popularity0

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity11

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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/2efefd0d96dbe26a45d6f83e670878ce6bf6f5add6bf75b32f7ac092b70a4910?d=identicon)[sabuj073](/maintainers/sabuj073)

---

Top Contributors

[![sabuj073](https://avatars.githubusercontent.com/u/41548986?v=4)](https://github.com/sabuj073 "sabuj073 (1 commits)")

### Embed Badge

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

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

PHPackages © 2026

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