Skip to main content

Jekyll'de URL ve Bağlantı Yönetimi (Nihai Rehber) 🌐


💡 Bu Rehberde Ne Öğreneceksiniz

Jekyll, veritabanı olmadan hızlı ve güvenli statik siteler oluşturur. Bu rehberde, sitenizin URL yapısını nasıl düzenleyeceğinizi, kırılmayan iç bağlantılar oluşturmayı ve bunları hazırlık ortamında test etmeyi öğreneceksiniz. Ayrıca, _config.yml dosyasıyla permalink desenlerini optimize ederek SEO uyumluluğunu artıracaksınız.


🧠 Teknik Özet

Bu rehberde:

  1. Jekyll’in varsayılan dosya yapısının URL’lere nasıl yansıdığını öğreneceksiniz.
  2. _config.yml dosyası ile tüm site genelinde URL desenini değiştireceksiniz.
  3. Liquid şablon sistemiyle post_url etiketi kullanarak dinamik bağlantılar kuracaksınız.
  4. Nginx kullanarak staging ortamında bağlantıları test edeceksiniz.

⚙️ 1. Varsayılan URL Yapısını Anlamak

Jekyll, _site klasöründeki dizin yapısını doğrudan URL’ye yansıtır. Yani dosya yolu, sitenizin URL’siyle birebir aynıdır.

Örnek:

/posts/2025/11/04/ilk-yazi.html

Bu URL, _posts klasöründeki tarihli bir dosyayı temsil eder.

Sayfalar (ör. contact.md) kök dizindeyse /contact.html olur. Bu yapıyı anlamak, permalink düzenlemesinde ilk adımdır.


Tüm sitenin URL düzenini değiştirmek için _config.yml dosyasına aşağıdaki satırı ekleyin:

permalink: /:categories/:title/

Bu ayar tarih bilgilerini kaldırır, kategori ve başlığı içeren sade URL’ler oluşturur.

Değişiklikleri uygulamak için sunucuyu yeniden başlatın:

CTRL+C
jekyll serve --host=192.168.1.100

Jekyll değişiklikleri sadece yeniden başlatıldığında uygular.


🔗 3. İçerikte Güvenilir Bağlantılar Oluşturma

Sabit (hardcoded) bağlantılar, URL yapısını değiştirdiğinizde kırılır. Bunun yerine Jekyll’in Liquid şablon sistemini kullanarak post_url etiketini tercih edin.

Yeni bir gönderi oluşturun:

nano ~/www/_posts/2025-11-04-link-testi.md

İçeriği şu şekilde yazın:

---
layout: post
date: 2025-11-04 10:00
title: Link Testi
---

Bağlantı testleri:

* [Mutlak Link](http://192.168.1.100:4000/hakkinda/)
* [Kök-Bağıl Link](/jekyll/update/hos-geldiniz/)
* [Jekyll post_url Linki]({% post_url 2025-11-04-link-testi %})

post_url etiketi, yazının yolunu otomatik bulur ve kırılmaz bir bağlantı oluşturur.


🧪 4. Hazırlık Sunucusunda (Staging) Test Etme

Canlıya geçmeden önce siteyi Nginx üzerinde test edin.

Nginx kurun:

sudo apt update
sudo apt install nginx

HTTP trafiğini açın:

sudo ufw allow http

Statik site dosyalarını Nginx kök dizinine kopyalayın:

sudo rsync -av ~/www/_site/ /var/www/html/

Bu komut, _site içeriğini Nginx'in servis ettiği dizine taşır.

Tarayıcıdan http://192.168.1.100 adresine gidin ve bağlantıları test edin.

  • Mutlak link: Port farkı varsa bozulur.
  • Kök-bağıl link: URL yapısı değişirse bozulabilir.
  • post_url link: Her ortamda çalışır.

Test sonrası temizlik:

sudo systemctl stop nginx
sudo ufw delete allow http

Gereksiz açık portları kapatarak güvenliği koruyun.


❓ Sıkça Sorulan Sorular (SSS)

1. Permalink nedir ve neden önemlidir?

Permalink, bir sayfanın kalıcı URL’idir. SEO için istikrarlı ve okunabilir URL’ler önemlidir.

2. post_url etiketi sayfalarda çalışır mı?

Şu anda sadece gönderilerde (posts) çalışır. Sayfalar için kök-bağıl link kullanabilirsiniz.

3. Jekyll’de URL değişince eski linkler ne olur?

Sabit linkler kırılır, ama post_url etiketiyle oluşturulanlar çalışmaya devam eder.

4. Otomatik link kontrolü nasıl yapılır?

html-proofer aracıyla sitenizdeki tüm linkleri otomatik test edebilirsiniz.

5. Değişiklik yaptıktan sonra neden jekyll serve’ü yeniden başlatmalıyım?

Çünkü Jekyll, _config.yml değişikliklerini yalnızca yeniden başlatıldığında yükler.


🎯 Sonuç

Artık Jekyll sitenizde URL yapılarını ve bağlantı yönetimini tamamen kontrol edebiliyorsunuz. Permalink desenleriyle SEO performansınızı yükseltebilir, post_url ile kırılmaz bağlantılar oluşturabilirsiniz. 💡 Statik sitelerinizi Rabisu Bulut üzerinde barındırarak güvenli, hızlı ve kesintisiz yayınlayabilirsiniz.