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:
- Jekyll’in varsayılan dosya yapısının URL’lere nasıl yansıdığını öğreneceksiniz.
_config.ymldosyası ile tüm site genelinde URL desenini değiştireceksiniz.- Liquid şablon sistemiyle
post_urletiketi kullanarak dinamik bağlantılar kuracaksınız. - 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,
_postsklasö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.
🧱 2. Site Genelinde Kalıcı Bağlantı (Permalink) Ayarlama
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_urletiketi, 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,
_siteiç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.