PHPackages                             ceniver/laravel-blog - 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. [API Development](/categories/api)
4. /
5. ceniver/laravel-blog

ActiveLibrary[API Development](/categories/api)

ceniver/laravel-blog
====================

API-driven multi-language blog package for Laravel with full SEO support

v1.2.0(3mo ago)022↓90%MITPHPPHP ^8.2

Since Mar 24Pushed 3mo agoCompare

[ Source](https://github.com/enesdemircan/laravel-blog)[ Packagist](https://packagist.org/packages/ceniver/laravel-blog)[ RSS](/packages/ceniver-laravel-blog/feed)WikiDiscussions master Synced 3w ago

READMEChangelogDependencies (5)Versions (15)Used By (0)

Ceniver Laravel Blog
====================

[](#ceniver-laravel-blog)

API-driven multi-language blog package for Laravel with full SEO support.

Master Panel (BlogPanel) uzerinden makale, kategori ve SEO yonetimi yapilir. Bu paket, slave (alt) sitelere kurulur ve master panelden gelen verileri otomatik olarak isler.

Kurulum
-------

[](#kurulum)

```
composer require ceniver/laravel-blog
```

```
php artisan blog:install
```

Wizard sizden su bilgileri isteyecektir:

- **Master Panel URL** - BlogPanel adresiniz (ornek: `https://panel.example.com`)
- **API Key** - Master panelden alinan API anahtari
- **Varsayilan dil** - Site dili (ornek: `tr`, `en`)

Kurulum otomatik olarak:

- `.env` dosyasini gunceller
- Config dosyasini yayinlar
- Migration'lari calistirir
- Storage link olusturur

Manuel Kurulum
--------------

[](#manuel-kurulum)

```
# Config yayinla
php artisan vendor:publish --tag=blog-config

# .env'ye ekle
BLOG_MASTER_URL=https://panel.example.com
BLOG_MASTER_API_KEY=your-api-key-here
BLOG_DEFAULT_LOCALE=tr

# Migration
php artisan migrate
```

---

HeadBuilder - Otomatik SEO Head Olusturucu
------------------------------------------

[](#headbuilder---otomatik-seo-head-olusturucu)

Blog sayfalari (liste, kategori, makale) otomatik olarak SEO meta tag'lari olusturur. Ancak **kendi ozel sayfalariniz** (ana sayfa, hakkimizda, iletisim vb.) icin de ayni sistemi kullanabilirsiniz.

### Nasil Calisir?

[](#nasil-calisir)

1. **Master Panel** uzerinden her sayfa tipi icin SEO sablonlari tanimlanir
2. `HeadBuilder` servisi bu sablonlari okur ve degiskenleri doldurur
3. Sonuc olarak `` icine yazilacak HTML uretir (title, meta, OG, Twitter, Schema.org, GA4 vb.)

### Sayfa Tiplerini Tanimlama

[](#sayfa-tiplerini-tanimlama)

`config/blog.php` dosyasinda `pages` dizisine yeni sayfa tipleri ekleyin:

```
'pages' => [
    // Paket ile gelen varsayilanlar
    [
        'page_type' => 'homepage',
        'name'      => 'Ana Sayfa',
        'variables' => ['{site_name}', '{locale}'],
    ],
    [
        'page_type' => 'blog_index',
        'name'      => 'Blog Listesi',
        'variables' => ['{site_name}', '{locale}'],
    ],
    [
        'page_type' => 'blog_category',
        'name'      => 'Kategori Sayfasi',
        'variables' => ['{site_name}', '{category}', '{locale}'],
    ],
    [
        'page_type' => 'blog_article',
        'name'      => 'Makale Detay',
        'variables' => ['{site_name}', '{title}', '{excerpt}', '{locale}'],
    ],

    // Kendi ozel sayfalariniz
    [
        'page_type' => 'about',
        'name'      => 'Hakkimizda',
        'variables' => ['{site_name}', '{locale}'],
    ],
    [
        'page_type' => 'contact',
        'name'      => 'Iletisim',
        'variables' => ['{site_name}', '{locale}'],
    ],
    [
        'page_type' => 'product_detail',
        'name'      => 'Urun Detay',
        'variables' => ['{site_name}', '{product_name}', '{price}', '{locale}'],
    ],
],
```

Bu sayfa tipleri master panelde gorunur ve her biri icin ayri SEO sablonu tanimlanabilir.

> **Not:** `page_type` benzersiz bir anahtar olmalidir. `variables` dizisindeki degiskenler, master paneldeki sablon alanlarinda `{site_name}`, `{product_name}`gibi yer tutucu olarak kullanilir.

---

### Controller'da Kullanim

[](#controllerda-kullanim)

`HeadBuilder` singleton olarak kayitlidir. Dependency injection ile kullanabilirsiniz:

```
