GitHub Pages kullanarak ücretsiz statik site yayınlayın; depo, index.html, özel alan adı, HTTPS ve yayın sorunlarını doğru adımlarla pratik biçimde çözün.
Hazırladığınız HTML, CSS ve JavaScript dosyaları bilgisayarınızda düzgün çalıştığı hâlde internete nasıl aktaracağınızı bilmiyorsanız, sorun çoğu zaman koddan değil yayınlama adımından kaynaklanır. GitHub Pages, ayrı bir sunucu paketi satın almadan kişisel sayfa, portföy, proje tanıtımı veya dokümantasyon sitesi yayımlamak için kullanılabilir.
GitHub Pages ile çalışırken depo adı, yayın kaynağı ve ana giriş dosyasının konumu doğru seçilmelidir. Özellikle index.html dosyasının yanlış klasöre eklenmesi, yayın kaynağının seçilmemesi veya proje adresinin hatalı yazılması sitenin açılmamasına yol açabilir. Aşağıdaki adımlar bu noktaları kontrollü biçimde ilerletmenizi sağlar.
Statik yapınızı ileride ödeme kabul edecek biçimde genişletmeyi düşünüyorsanız, istemci tarafında hazırlanan sayfanın tek başına yeterli olmayacağını bilmelisiniz. Bu aşamada Statik Sitenize Ödeme Ağ Geçidi ve Ödeme Sayfasını Entegre Etme içeriği, haricî servislerle güvenli ödeme akışının nasıl kurulabileceğini anlamanıza yardımcı olur.

GitHub Pages Nedir ve Nasıl Çalışır?
GitHub Pages, bir GitHub deposundaki HTML, CSS ve JavaScript dosyalarını yayımlayarak internetten erişilebilen statik bir site oluşturur. Kullanıcı sitesi için depo adı kullanıcıadi.github.io biçiminde hazırlanır; proje siteleri ise kullanıcıadi.github.io/depo-adi adresi üzerinden açılır. Sunucu taraflı PHP, Python veya veritabanı işlemleri doğrudan çalışmaz.
GitHub Pages iki temel site türü sunar. Kullanıcı veya kuruluş sitesi hesap başına bir kez oluşturulur ve özel adlandırılmış bir depoya ihtiyaç duyar. Proje sitesi ise mevcut bir deponun içinden yayımlanabilir. GitHub Free kullanılıyorsa kaynak deponun herkese açık olması gerekir. Ücretli planlarda özel depolardan yayın mümkün olsa da ortaya çıkan site internet üzerinde herkese açıktır.
Depo Nasıl Hazırlanır?
GitHub hesabınıza giriş yaptıktan sonra New repository alanını açın. Kullanıcı sitesi oluşturacaksanız depo adını kullanıcı adınızla tamamen eşleşecek şekilde kullanıcıadi.github.io olarak belirleyin. Büyük ve küçük harf farkı bırakmamak, adres uyuşmazlıklarını önler.
Depoyu oluşturduktan sonra kök dizine index.html ekleyin. GitHub Pages, başlangıç dosyası olarak index.html, index.md veya README.md kullanabilir; ancak doğrudan hazırlanmış bir web tasarımında index.html en açık tercihtir. CSS, JavaScript ve görsel dosyalarının yolları da depo yapısıyla birebir uyuşmalıdır.
Dosyaları tarayıcı üzerinden Add file ve Upload files alanlarıyla yükleyebilir ya da Git kullanabilirsiniz:
git clone git@github.com:kullaniciadi/kullaniciadi.github.io.git
cd kullaniciadi.github.io
git add .
git commit -m 'Site dosyalari eklendi'
git push
Yayın Kaynağı Nereden Seçilir?
Deponuzda Settings, ardından Pages bölümünü açın. Build and deployment altında Source seçeneğini Deploy from a branch olarak ayarlayın. Ardından genellikle main dalını ve /(root) klasörünü seçip Save alanına basın. Kaynak dosyaları docs klasöründeyse yayın klasörü olarak /docs seçilmelidir.
Jekyll dışındaki bir statik site üreticisi kullanıyorsanız GitHub Actions ile özel bir derleme akışı kurabilirsiniz. Derlenmiş dosyaları doğrudan yayımlıyorsanız kök dizine boş bir .nojekyll dosyası eklemek, GitHub’ın varsayılan Jekyll işlemesini devre dışı bırakır.

Site Neden 404 Hatası Verir?
Yayın sonrası site hemen görünmeyebilir. GitHub, değişikliklerin yayımlanmasının 10 dakikaya kadar sürebileceğini belirtiyor. Süre dolmasına rağmen 404 hatası devam ediyorsa depo adını, seçilen dalı, yayın klasörünü ve giriş dosyasının konumunu yeniden kontrol edin. Proje sitesi kullanıyorsanız adresin sonuna depo adını eklemeyi unutmayın.
Editör olarak yaptığım denemelerde en sık karşılaştığım ayrıntı, Pages ekranında main dalı seçilmiş olsa bile klasör alanının yanlışlıkla /docs olarak kalmasıydı. GitHub arayüzündeki menü yerleşimi hesap türüne veya ekran genişliğine göre değişebilir; ancak 2026 itibarıyla yayın ayarları Settings > Pages > Build and deployment yolunda bulunuyor.
Özel Alan Adı ve HTTPS Ayarları
Kendi alan adınızı kullanmak için Settings > Pages içindeki Custom domain alanına adresinizi yazıp Save seçeneğini kullanın. Kök alan adı için DNS sağlayıcısında GitHub Pages IP adreslerine yönlenen A kayıtları, alt alan adı için ise kullanıcıadi.github.io hedefli CNAME kaydı oluşturulur. DNS yayılımı 24 saate kadar sürebilir. Alan adı doğrulandıktan sonra Enforce HTTPS seçeneği etkinleştirilebilir.
GitHub Pages; portföy, açık kaynak proje sayfası ve teknik dokümantasyon için pratiktir. Buna karşılık sunucu taraflı işlem, hassas veri toplama veya doğrudan ticari işlem gerektiren projelerde uygun bir altyapı değildir. GitHub ayrıca Pages hizmetinin çevrim içi işletme, e-ticaret veya SaaS barındırmak amacıyla ücretsiz hosting gibi kullanılmasına izin vermediğini açıkça belirtir.

Kurulum sırasında depo, DNS veya bilgisayar tarafında teknik bir sorun yaşanırsa 11858, 2011 yılından bu yana Türkiye genelinde 7/24 destek sunan uzman kadrosuyla yardımcı olur. Bilgisayar, modem, akıllı TV ve sosyal medya sorunlarında TeamViewer ile AnyDesk gibi lisanslı araçlar üzerinden güvenli uzaktan bağlantı sağlanır. Dakika bazlı şeffaf ücretlendirme kullanan hat, yüzde 95 memnuniyet oranı ve 500.000’den fazla başarılı işlem deneyimine sahiptir.
Sitenizi yalnızca bilgi sunan bir yapıdan çıkarıp ziyaretçi etkileşimine açmak istediğinizde, yorum sistemi haricî bir hizmet üzerinden eklenebilir. Statik Sitenize Yorum Bölümü Ekleme içeriği, sunucu taraflı altyapı kurmadan yorum alanı oluştururken dikkat edilmesi gereken bağlantı ve yükleme adımlarını ele alır.
GitHub Pages, küçük bir statik site oluşturma sürecini erişilebilir hâle getirir; fakat sağlıklı bir yayın için dosya yapısını, adres türünü ve projenin sınırlarını baştan doğru belirlemek gerekir. Siz kurulum sırasında hangi adımda sorun yaşadınız? Deneyiminizi yorumlarda paylaşarak benzer hatalarla karşılaşanlara yol gösterebilirsiniz.