design

Laravel’de SEO Dostu URL’ler Oluşturma

March 23, 2025

Merhaba arkadaşlar, bugün sizlere Laravel’de SEO dostu URL’ler oluşturma konusunu anlatacağım. SEO (Search Engine Optimization), web sitenizin arama motorlarında daha üst sıralarda çıkmasını sağlayan bir dizi teknik ve stratejidir. SEO dostu URL’ler, kullanıcıların ve arama motorlarının sitenizi daha kolay anlamasını sağlar. Laravel, bu tür URL’ler oluşturmak için birçok kolaylık sunar. Gelin, bu konuları adım adım inceleyelim.


SEO Dostu URL Nedir?

SEO dostu URL’ler, kullanıcıların ve arama motorlarının içeriği daha kolay anlamasını sağlayan URL’lerdir. Bu tür URL’ler, anahtar kelimeler içerir, kısa ve anlaşılırdır. Örneğin, https://example.com/posts/1 yerine https://example.com/posts/seo-dostu-url gibi bir URL kullanmak daha etkilidir.


Laravel’de SEO Dostu URL’ler Oluşturma

Laravel’de SEO dostu URL’ler oluşturmak için slug kullanabilirsiniz. Slug, bir metnin URL’de kullanılabilecek hale getirilmiş halidir. Örneğin, "SEO Dostu URL" başlığı, seo-dostu-url şeklinde bir slug’a dönüştürülebilir.


Slug Oluşturma

Laravel’de slug oluşturmak için Str::slug metodunu kullanabilirsiniz. Örneğin, bir blog gönderisi için slug oluşturalım:


use Illuminate\Support\Str;

$title = "SEO Dostu URL Nasıl Oluşturulur?";
$slug = Str::slug($title);

echo $slug; // seo-dostu-url-nasil-olusturulur


Bu kod, başlığı SEO dostu bir URL’ye dönüştürür.


Modelde Slug Kullanımı

Bir modelde slug kullanmak için, modelin slug alanını otomatik olarak oluşturabilirsiniz. Örneğin, bir Post modeli için:


namespace App\Models;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Str;

class Post extends Model
{
    protected $fillable = ['title', 'slug', 'content'];

    public static function boot()
    {
        parent::boot();

        static::creating(function ($post) {
            $post->slug = Str::slug($post->title);
        });
    }
}


Bu kod, bir gönderi oluşturulduğunda otomatik olarak slug oluşturur.


Route’da Slug Kullanımı

Route’larda slug kullanmak için, route tanımında slug parametresini kullanabilirsiniz. Örneğin:


Route::get('/posts/{slug}', [PostController::class, 'show']);


Bu route, https://example.com/posts/seo-dostu-url gibi bir URL’e erişim sağlar.

Controller’da Slug Kullanımı

Controller’da slug kullanarak ilgili kaydı bulabilirsiniz. Örneğin, PostController içinde:


namespace App\Http\Controllers;

use App\Models\Post;
use Illuminate\Http\Request;

class PostController extends Controller
{
    public function show($slug)
    {
        $post = Post::where('slug', $slug)->firstOrFail();
        return view('posts.show', compact('post'));
    }
}


Bu kod, slug’a göre ilgili gönderiyi bulur ve görüntüler.


Benzersiz Slug Oluşturma

Eğer aynı başlığa sahip birden fazla gönderi varsa, slug’ların benzersiz olmasını sağlamak için ek bir işlem yapabilirsiniz. Örneğin:


public static function boot()
{
    parent::boot();

    static::creating(function ($post) {
        $slug = Str::slug($post->title);
        $count = Post::where('slug', 'like', "{$slug}%")->count();
        $post->slug = $count ? "{$slug}-{$count}" : $slug;
    });
}


Bu kod, aynı başlığa sahip gönderiler için benzersiz slug’lar oluşturur (örneğin, seo-dostu-url-1seo-dostu-url-2).


Blade Template’de SEO Dostu URL’ler

Blade template’de SEO dostu URL’ler oluşturmak için route fonksiyonunu kullanabilirsiniz. Örneğin:


<a href="{{ route('posts.show', $post->slug) }}">{{ $post->title }}</a>



Bu kod, gönderi başlığını bir link olarak gösterir ve SEO dostu bir URL oluşturur.

Laravel’de SEO Dostu URL’lerin Avantajları

  • Arama Motoru Optimizasyonu: SEO dostu URL’ler, arama motorlarının sitenizi daha iyi anlamasını sağlar.
  • Kullanıcı Deneyimi: Kullanıcılar, URL’lerin içeriğini daha kolay anlar.
  • Paylaşılabilirlik: SEO dostu URL’ler, sosyal medyada ve diğer platformlarda daha kolay paylaşılır.


Laravel’de SEO dostu URL’ler oluşturmak, web sitenizin arama motorlarında daha üst sıralarda çıkmasını sağlamanın en etkili yollarından biridir. Eğer kullanıcı deneyimini iyileştirmek ve arama motoru optimizasyonu yapmak istiyorsanız, SEO dostu URL’leri mutlaka kullanmalısınız. Bir sonraki yazımda, Laravel’de Pagination ve Sıralama İşlemleri konusuna değineceğim. Görüşmek üzere!

7 + 3 =