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

ActiveLibrary

nixie/seo
=========

A comprehensive Laravel SEO package for managing meta tags, Open Graph, Twitter Cards, and structured data

1.0.3(7mo ago)03MITPHPPHP ^8.0|^8.1|^8.2

Since Oct 18Pushed 7mo agoCompare

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

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

🧠 Nixie SEO for Laravel
=======================

[](#-nixie-seo-for-laravel)

Paket SEO lengkap untuk Laravel — kelola **Meta Tags**, **Open Graph**, **Twitter Cards**, dan **Structured Data** dengan mudah dan otomatis.

---

📌 Fitur
-------

[](#-fitur)

- Meta Title, Description, Keywords
- Canonical URL
- Open Graph (Facebook, LinkedIn)
- Twitter Cards
- Polymorphic relationship → bisa dipasang di model apapun
- Auto Meta Injection di Blade
- Artisan commands (coming soon)

---

🚀 Instalasi
-----------

[](#-instalasi)

```
composer require nixie-seo/seo
```

### Publikasikan aset

[](#publikasikan-aset)

```
php artisan vendor:publish --provider="Nixie\Seo\SeoServiceProvider" --tag=seo-migrations
php artisan vendor:publish --provider="Nixie\Seo\SeoServiceProvider" --tag=seo-views
php artisan migrate
```

---

⚙️ Konfigurasi
--------------

[](#️-konfigurasi)

Tambahkan relasi `morphOne` di model yang ingin memiliki metadata SEO.

```
use Nixie\Seo\Models\SeoMeta;

class Post extends Model
{
    public function seoMeta()
    {
        return $this->morphOne(SeoMeta::class, 'seoable');
    }
}
```

---

📝 Penggunaan di Controller
--------------------------

[](#-penggunaan-di-controller)

### Menyimpan SEO Meta saat membuat model

[](#menyimpan-seo-meta-saat-membuat-model)

```
use Nixie\Seo\Models\SeoMeta;

public function store(Request $request)
{
    $post = Post::create($request->all());

    $post->seoMeta()->create([
        'meta_title' => $request->meta_title,
        'meta_description' => $request->meta_description,
        'meta_keywords' => $request->meta_keywords,
        'canonical_url' => $request->canonical_url,
    ]);
}
```

### Update SEO Meta

[](#update-seo-meta)

```
$post->seoMeta()->updateOrCreate(
    ['seoable_id' => $post->id, 'seoable_type' => Post::class],
    [
        'meta_title' => $request->meta_title,
        'meta_description' => $request->meta_description,
        'meta_keywords' => $request->meta_keywords,
    ]
);
```

---

🧩 Blade Form (opsional)
-----------------------

[](#-blade-form-opsional)

Gunakan partial form yang disediakan paket:

```
@include('seo::form', ['seo' => $model->seoMeta])
```

Form ini menampilkan input:

- Meta Title
- Meta Description
- Meta Keywords
- Canonical URL

---

🌐 Auto Meta Injection di Layout
-------------------------------

[](#-auto-meta-injection-di-layout)

Di layout utama (`layouts/app.blade.php`):

```
{!! seo()->for($model) !!}
```

Hasilnya otomatis generate semua meta tag, termasuk Open Graph &amp; Twitter Card:

```
Judul Post

```

---

📂 Contoh Penggunaan Lengkap
---------------------------

[](#-contoh-penggunaan-lengkap)

### Controller

[](#controller)

```
$post = Post::find(1);

// Update SEO
$post->seoMeta()->updateOrCreate([], [
    'meta_title' => 'Judul SEO',
    'meta_description' => 'Deskripsi SEO',
    'meta_keywords' => 'seo, laravel, package',
    'canonical_url' => url()->current(),
]);
```

### Blade

[](#blade)

```

    {!! seo()->for($post) !!}

    {{ $post->title }}

```

---

🧰 Perintah Artisan (Coming Soon)
--------------------------------

[](#-perintah-artisan-coming-soon)

- `php artisan seo:generate` → generate meta otomatis untuk semua model
- `php artisan seo:clean` → hapus meta yang tidak terpakai

---

🔧 Konfigurasi Tambahan
----------------------

[](#-konfigurasi-tambahan)

Buat file `config/seo.php` (jika ingin override default):

```
return [
    'default_title' => env('APP_NAME', 'Laravel'),
    'default_description' => 'Deskripsi default website',
    'default_keywords' => 'laravel, seo, package',
    'default_image' => '/images/default-og.png',
];
```

---

📄 Lisensi
---------

[](#-lisensi)

Lisensi [MIT](LICENSE)

---

**Dikembangkan oleh Nixie Team**
📧

###  Health Score

33

—

LowBetter than 75% of packages

Maintenance65

Regular maintenance activity

Popularity3

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity50

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.

###  Release Activity

Cadence

Every ~0 days

Total

3

Last Release

212d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/b6aede53be9a97022e4bdc03188b32085fc2b1deff8b60a1e53a0a4b7d54048f?d=identicon)[Ryuushu](/maintainers/Ryuushu)

---

Top Contributors

[![Ryuushu](https://avatars.githubusercontent.com/u/68980936?v=4)](https://github.com/Ryuushu "Ryuushu (9 commits)")

---

Tags

laravelschemaseoopen-graphmeta-tagstwitter cards

### Embed Badge

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

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

###  Alternatives

[laravel/cashier

Laravel Cashier provides an expressive, fluent interface to Stripe's subscription billing services.

2.5k25.9M107](/packages/laravel-cashier)[laravel/pulse

Laravel Pulse is a real-time application performance monitoring tool and dashboard for your Laravel application.

1.7k12.1M99](/packages/laravel-pulse)[roots/acorn

Framework for Roots WordPress projects built with Laravel components.

9682.1M97](/packages/roots-acorn)[psalm/plugin-laravel

Psalm plugin for Laravel

3274.9M308](/packages/psalm-plugin-laravel)[laravel/cashier-paddle

Cashier Paddle provides an expressive, fluent interface to Paddle's subscription billing services.

264778.4k3](/packages/laravel-cashier-paddle)[api-platform/laravel

API Platform support for Laravel

59126.4k6](/packages/api-platform-laravel)

PHPackages © 2026

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