Ana içeriğe geç

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.