WordPress Üst Sayfaları: Hiyerarşik Sayfa Yapısına Tam Teknik Kılavuz
WordPress’te bir Üst Sayfa, hiyerarşik bir ilişkide kök düğüm görevi gören ve altında bir veya daha fazla Alt Sayfa bulunan üst düzey bir sayfadır. Bu yapı; URL slug kalıtımını, gezinme oluşturmayı, şablon seçimini ve arama motorlarının ilgili içerik kümeleri arasındaki konu otoritesini nasıl yorumladığını kontrol eder.
Bir sayfaya üst sayfa atadığınızda, WordPress ilişkiyi post_parent sütunu aracılığıyla wp_posts tablosunda depolar. Alt sayfanın kalıcı bağlantısı daha sonra üst sayfanın slug’ı eklenerek oluşturulur ve /services/web-design/ gibi iç içe geçmiş bir URL yolu üretir. Bu yalnızca görsel bir değişiklik değildir — tarama derinliğini, dahili bağlantı değeri dağılımını ve hem kullanıcıların hem de arama motoru tarayıcılarının site mimarisini çıkarmak için kullandığı içeriğin mantıksal gruplandırmasını doğrudan etkiler.
WordPress Sayfa Hiyerarşisi Arka Planda Gerçekte Nedir
WordPress sayfaları, post_type = 'page' ile özel bir gönderi türü olarak depolanır. Gönderilerin aksine, sayfalar hiyerarşik olacak şekilde tasarlanmıştır — register_post_type() içindeki hierarchical argümanı, sayfalar için varsayılan olarak true olarak ayarlanmıştır. Bu, üst sayfanın ID’sini depolayan post_parent alanını etkinleştirir.
İç içe geçme derinliği teorik olarak sınırsızdır, ancak WordPress’in get_page_hierarchy() ve wp_list_pages() fonksiyonları ağacı özyinelemeli olarak gezer; bu da yüzlerce derin iç içe geçmiş sayfaya sahip sitelerde performans yüküne yol açabilir.
İlgili temel veritabanı alanları:
post_parent — üst sayfanın tam sayı ID’sini depolar (0, üst sayfa olmadığı anlamına gelir)
post_name — URL oluşturmada kullanılan slug
menu_order — kardeş sayfalar arasındaki görüntüleme sırasını kontrol eder
Bu yapıyı anlamak, özellikle veritabanı sorgu optimizasyonunun önem taşıdığı bir VPS Hosting ortamında büyük bir siteyi yönetiyorsanız, içerik hiyerarşileri oluşturmaya başlamadan önce gereklidir.
Üst Sayfalar Ne Zaman Kullanılır: Gerçek Karar Kriterleri
Her çok sayfalı sitenin üst-alt yapısına ihtiyacı yoktur. Bunu varsayılan olarak değil, bilinçli bir şekilde kullanın.
Üst Sayfaları şu durumlarda kullanın:
Ortak bir konu kapsamını paylaşan ve gruplandırılmış gezinmeden fayda sağlayacak üç veya daha fazla sayfanız olduğunda
Arama motorlarına içerik ilişkilerini bildiren hiyerarşik URL’ler istediğinizde (örn. /services/ altında /services/seo/)
Site mimariniz, bir sütun sayfasının destekleyici sayfalar kümesine çapa görevi gördüğü merkez-ve-uç modelini takip ettiğinde
Breadcrumb gezinmesinin doğru çalışması gerektiğinde — çoğu breadcrumb eklentisi ve tema, doğru izler oluşturmak için post_parent‘a dayanır
Üst Sayfalardan şu durumlarda kaçının:
Sayfalar arasındaki ilişki gevşek veya zorlamalıysa — yapay bir hiyerarşi kafa karıştırıcı URL’ler oluşturur ve tarayıcıları yanıltır
Yalnızca iki ilgili sayfanız varsa — dahili bağlantılarla düz bir yapı daha temizdir
Sayfa hiyerarşisinden daha uygun bir organizasyon aracı olan taksonomi (kategoriler, etiketler) kullanan blog tarzı bir site oluşturuyorsanız
WordPress’te Üst Sayfa Nasıl Ayarlanır: Adım Adım
Blok Düzenleyiciyi (Gutenberg) Kullanma
Sayfalar > Yeni Ekle‘ye gidin veya düzenlemek için mevcut bir sayfayı açın.
Sağ kenar çubuğunda Sayfa sekmesini açın (Blok sekmesini değil).
Sayfa Özellikleri paneline kaydırın ve genişletin.
Üst Sayfa açılır menüsünde istenen üst sayfayı seçin. Üst sayfa gerekmiyorsa (üst sayfa yok) olarak bırakın.
İsteğe bağlı olarak, sayfanın kardeşler arasındaki konumunu kontrol etmek için Sıra alanını ayarlayın.
Yayımla veya Güncelle‘ye tıklayın.
Klasik Düzenleyiciyi Kullanma
Sayfa düzenleyicisini açın.
Sağ kenar çubuğundaki Sayfa Özellikleri meta kutusunu bulun.
Üst Sayfa açılır menüsünden üst sayfayı seçin.
Güncelle‘ye tıklayın.
Üst Sayfaları Programatik Olarak Ayarlama (WP-CLI veya PHP)
Düz bir site yapısını hiyerarşiye geçirmek gibi toplu işlemler için WP-CLI kullanın:
wp post update <child-page-id> --post_parent=<parent-page-id>
Ya da wp_update_post() kullanarak PHP’de:
wp_update_post( array(
'ID' => 456, // Child page ID
'post_parent' => 123, // Parent page ID
) );
Bu yaklaşım, yönetici arayüzünde tıklamak zorunda kalmadan onlarca sayfayı aynı anda yeniden yapılandırırken son derece değerlidir.
URL Yapısı ve SEO Etkileri
Üst sayfa ayarlamanın en somut teknik sonucu, sayfanın kalıcı bağlantısındaki değişikliktir. WordPress, URL’yi tüm ataların slug’larını birleştirerek oluşturur:
Sayfa
Slug
Oluşturulan URL
Hizmetler (Üst Sayfa)
services
/services/
SEO (Alt Sayfa)
seo
/services/seo/
Yerel SEO (Torun Sayfa)
local-seo
/services/seo/local-seo/
Hakkımızda (Üst Sayfa Yok)
about-us
/about-us/
SEO değerlendirmeleri:
Anahtar kelime içeren URL yolları, her dizin düzeyinde konu alaka düzeyini bildirir. /services/web-design/, hem kullanıcılara hem de tarayıcılara web tasarımının hizmetlerin bir alt kümesi olduğunu söyler.
Tarama derinliği iç içe geçmeyle artar. Üç veya dört seviye derinlikte gömülü sayfalar, Googlebot’tan daha az dahili bağlantı geçişi alır. Kritik sayfaları ana sayfadan iki tıklama mesafesinde tutun.
Kanonik URL tutarlılığı — bir üst sayfanın slug’ını değiştirirseniz, tüm alt sayfa URL’leri de değişir. Yönlendirmeler hemen ayarlanmazsa toplu 404 hatalarına yol açabilir. Yeniden yapılandırma sonrasında her zaman 301 yönlendirmeleri yapılandırın.
Breadcrumb şeması — Yoast SEO ve Rank Math gibi eklentiler, Google Arama’da breadcrumb zengin sonuçları üretebilecek BreadcrumbList yapılandırılmış verilerini post_parent zincirini kullanarak otomatik olarak oluşturur.
Karşılaştırma: Sayfa Hiyerarşisi vs. Kategoriler vs. Özel Taksonomiler
Yaygın bir mimari hata, taksonomi daha iyi hizmet edecekken sayfa hiyerarşisi kullanmak ya da tam tersi bir durum yaşamaktır.
Özellik
Sayfa Hiyerarşisi
Kategoriler
Özel Taksonomiler
Gönderi türü
Yalnızca Sayfalar
Gönderiler (varsayılan)
Kayıtlı herhangi bir gönderi türü
URL yapısı
Slug kalıtımı (/parent/child/)
Arşiv URL’leri (/category/name/)
Yapılandırılabilir
Breadcrumb desteği
post_parent aracılığıyla yerel
Eklentiye bağımlı
Eklentiye bağımlı
Şablon kontrolü
page-{slug}.php, page-{id}.php
category-{slug}.php
taxonomy-{taxonomy}.php
En iyi kullanım
Statik içerik kümeleri
Blog gönderisi gruplandırma
Karmaşık içerik modelleri
Hiyerarşik
Evet (sınırsız derinlik)
Evet (üst kategoriler)
İsteğe bağlı
SEO URL sinyali
Güçlü (yol iç içe geçmesi)
Orta
Yapılandırılabilir
İçeriğiniz öncelikle editoryal nitelikteyse (blog gönderileri, haber makaleleri), kategoriler ve etiketler doğru araçtır. Sayfa hiyerarşisi, statik ve yapısal içerik için özel olarak tasarlanmıştır: hizmet sayfaları, belgeler, yasal sayfalar ve benzeri evergreen içerik kümeleri.
Hiyerarşik Sayfalar için Gezinme Menülerini Özelleştirme
WordPress, gezinme menülerinde sayfa hiyerarşisini otomatik olarak yansıtmaz. Bunu manuel olarak yapılandırmanız gerekir.
İç İçe Geçmiş Menü Oluşturma
Görünüm > Menüler‘e gidin.
Üst sayfayı menüye ekleyin.
Alt sayfaları menüye ekleyin.
Her alt sayfa öğesini üst sayfasının altında biraz sağa sürükleyin — bu, menü oluşturucuda WordPress’in alt menü öğesi olarak yorumladığı görsel bir girinti oluşturur.
Menüyü Kaydet‘e tıklayın.
Oluşturulan HTML, çoğu temanın açılır gezinme olarak biçimlendirdiği sub-menu sınıfıyla iç içe geçmiş bir <ul> yapısı kullanır.
Alt Sayfaları Otomatik Olarak Listeleme
Bir üst sayfanın içeriğinde alt sayfaların listesini görüntülemek için, temanız veya bir eklenti destekliyorsa [subpages] kısa kodunu kullanın ya da bunu bir sayfa şablonuna ekleyin:
<?php
$children = wp_list_pages( array(
'child_of' => get_the_ID(),
'title_li' => '',
'echo' => 0,
) );
if ( $children ) {
echo '<ul>' . $children . '</ul>';
}
?>
Bu, alt içerikleri için gezinme dizinleri görevi gören merkez sayfalar için özellikle kullanışlıdır.
Sayfa Şablonları ve Hiyerarşik Tasarım Desenleri
WordPress’in şablon hiyerarşisi, sayfa şablonlarını şu sırayla çözer:
page-{slug}.phppage-{id}.phppage.phpsingular.phpindex.phpYerel bir parent-page.php veya child-page.php şablonu yoktur. Üst ve alt sayfalara farklı tasarımlar uygulamak için iki seçeneğiniz vardır:
Seçenek 1: page.php‘de koşullu mantık
<?php
if ( $post->post_parent ) {
// This is a child page
get_template_part( 'template-parts/child-page' );
} else {
// This is a top-level page
get_template_part( 'template-parts/parent-page' );
}
?>Seçenek 2: Özel sayfa şablonları — Template Name: başlık yorumuyla bir şablon dosyası (örn. template-hub-page.php) oluşturun, ardından Sayfa Özellikleri paneli aracılığıyla üst sayfalara atayın. Bu, page.php‘e dokunmadan tam tasarım kontrolü sağlar.
Yaygın Tuzaklar ve Bunlardan Nasıl Kaçınılır
Yeniden yapılandırma sonrası slug çakışması — Bir sayfayı üst düzeyden alt konuma taşırsanız, URL’si değişir. Eski URL’ye işaret eden harici geri bağlantılar, bir 301 yönlendirmesi ayarlamadığınız sürece 404 hatasıyla karşılaşır. Bir yönlendirme yöneticisi eklentisi kullanın veya Nginx ya da Apache yapılandırmanızda sunucu düzeyinde yönlendirmeler yapılandırın.
Döngüsel üst sayfa ataması — WordPress, arayüzde bir sayfanın kendi üst sayfası olmasını engeller, ancak programatik atamalar get_ancestors()‘ı bozan ve özel kodda sonsuz döngülere neden olan döngüsel referanslar oluşturabilir. Özel içe aktarma betiklerinde post_parent değerlerini her zaman doğrulayın.
Derin hiyerarşilerin performansı düşürmesi — get_page_hierarchy() tek bir sorgu çalıştırır ancak ağacı PHP’de işler. 500’den fazla sayfaya ve dört veya daha fazla iç içe geçme düzeyine sahip sitelerde bu yavaşlayabilir. Bunun yerine hiyerarşiyi düzleştirmeyi ve mantıksal gruplandırma için özel alanlar veya taksonomiler kullanmayı düşünün.
Menü derinliği ile sayfa derinliği uyumsuzluğu — Gezinme menüsü derinliğinizin sayfa hiyerarşisi derinliğinizi yansıtması gerekmez. Bir sayfa, URL yapısında torun sayfa olabilir ancak menüde doğrudan alt sayfa olarak görünebilir. Bunlar bağımsız yapılandırmalardır.
Kalıcı bağlantı temizleme gereksinimi — Üst sayfa atamalarını değiştirdikten sonra, her zaman Ayarlar > Kalıcı Bağlantılar‘a gidin ve yeniden yazma kuralları önbelleğini temizlemek için (hiçbir şeyi değiştirmeden) Değişiklikleri Kaydet‘e tıklayın. Bunu yapmamak, yeni yapılandırılmış URL’lerde 404 hatalarına yol açabilir.
Pratik Mimari Örnekler
Kurumsal Hizmetler Sitesi
/services/ (Parent — hub page)
/services/web-design/ (Child)
/services/web-design/branding/ (Grandchild — use sparingly)
/services/seo/ (Child)
/services/digital-marketing/ (Child)Belgeleme veya Bilgi Tabanı
/docs/ (Parent)
/docs/getting-started/ (Child)
/docs/api-reference/ (Child)
/docs/troubleshooting/ (Child)Kendi yönetilen bir sunucuda çalışan belgeleme siteleri için, cPanel’li VPS, paylaşımlı ortamların kısıtlamaları olmadan özel kalıcı bağlantı yapılarını ve önbellekleme katmanlarını yapılandırma esnekliği sağlar.
Yasal / Politika Sayfaları
/legal/ (Parent)
/legal/privacy-policy/ (Child)
/legal/terms-of-service/ (Child)
/legal/cookie-policy/ (Child)Bu yapı, yasal sayfaları düzenli tutar, alt bilgilerden bağlantı vermeyi kolaylaştırır ve tarayıcılara tutarlı bir içerik grubu oluşturduklarını bildirir.
WordPress Multisite ve Sayfa Hiyerarşisi
Bir WordPress Multisite ağında, sayfa hiyerarşileri siteye özgüdür — her alt site, X‘nin site ID’si olduğu kendi wp_X_posts tablosunu korur. Siteler arası sayfa hiyerarşisi yoktur. Performans izolasyonu için bir Dedicated Server üzerinde çok siteli bir kurulum çalıştırıyorsanız, ağ genelindeki gezinme menülerinin bireysel alt sitelerden sayfa hiyerarşilerini devralamayacağını unutmayın.
Temel Teknik Kontrol Listesi
Herhangi bir WordPress sitesinde sayfa hiyerarşisini uygulamadan veya yeniden yapılandırmadan önce aşağıdakileri doğrulayın:
- Mevcut URL’leri denetleyin — herhangi bir üst sayfa atamasını değiştirmeden önce tüm mevcut sayfa URL’lerini belgeleyin
- 301 yönlendirmeleri ayarlayın — yeniden yapılandırma sonucunda değişecek her URL için
- Kalıcı bağlantıları temizleyin — herhangi bir üst-alt değişikliğinden sonra Ayarlar > Kalıcı Bağlantılar’ı ziyaret edin ve kaydedin
- İç içe geçme derinliğini sınırlayın — iki seviye kullanım durumlarının büyük çoğunluğunu karşılar; üç seviye, tarama derinliği ve kullanıcı deneyiminin zarar görmeden önceki pratik maksimum değerdir
- Slug’ları doğrulayın — hiyerarşideki her sayfanın gereksiz kelimeler veya tekrarlayan terimler içermeyen, temiz ve anahtar kelime açısından alakalı bir slug’a sahip olduğundan emin olun
- Breadcrumb çıktısını test edin — yeniden yapılandırma sonrasında SEO eklentinizin doğru
BreadcrumbListyapılandırılmış verilerini oluşturduğunu onaylayın - Menü yapılandırmasını kontrol edin — gezinme menülerini manuel olarak güncelleyin; sayfa hiyerarşisi değiştiğinde otomatik olarak güncellenmezler
- Dahili bağlantıları gözden geçirin — URL’leri değişen sayfalara yönelik sabit kodlanmış dahili bağlantılar güncellenmelidir
- Toplu değişiklikler için WP-CLI kullanın — yedek almadan veritabanında
post_parent‘ı hiçbir zaman doğrudan düzenlemeyin - Önce hazırlık ortamında test edin — hazırlık ortamı olmadan canlı bir sitenin URL hiyerarşisini yeniden yapılandırmak yüksek riskli bir işlemdir
WordPress kurulumunuz bir VPS Hosting planında barındırılıyorsa, büyük ölçekli URL yeniden yapılandırmasını yönetirken paylaşımlı barındırmaya kıyasla önemli bir avantaj olan Nginx yeniden yazma kurallarını veya Apache .htaccess yönlendirmelerini doğrudan yapılandırmak için gereken sunucu düzeyinde erişime sahipsiniz.
Ayrıca işlemsel e-postaya (sipariş onayları, iletişim formu bildirimleri) dayanan siteler için, site yeniden yapılandırmasıyla birlikte yapılan sunucu düzeyindeki yapılandırma değişiklikleri sırasında teslim edilebilirlik sorunlarını önlemek amacıyla E-posta Hosting yapılandırmanızın web sunucunuzdan ayrı olduğundan emin olun.
SSS
WordPress’te bir sayfanın üst sayfasını değiştirmek, eski URL’den otomatik olarak yönlendirme oluşturur mu?
Hayır. WordPress, bir sayfanın üst sayfa ataması değiştiğinde ve URL’si güncellendiğinde otomatik 301 yönlendirmeleri oluşturmaz. Redirection gibi bir eklenti kullanarak veya sunucu düzeyinde yeniden yazma kuralları yapılandırarak yönlendirmeleri manuel olarak oluşturmanız gerekir. Bunu yapmazsanız eski URL’lerde 404 hatalarıyla karşılaşırsınız.
WordPress sayfaları iki seviyeden daha derin iç içe geçirilebilir mi?
Evet, WordPress veritabanı düzeyinde sınırsız iç içe geçme derinliğini destekler. Ancak çoğu SEO en iyi uygulaması ve kullanıcı deneyimi kılavuzu maksimum iki ila üç seviye önerir. Üç seviyeden derin sayfalar, tarayıcılardan daha az dahili bağlantı geçişi alır ve kullanıcıların sezgisel olarak gezinmesi daha zordur.
Sayfa hiyerarşisi WordPress SEO’yu doğrudan etkiler mi?
Evet, iki somut şekilde. Birincisi, URL yolu üst sayfa slug’larını devralarak konu ilişkilerini bildiren anahtar kelime açısından zengin, açıklayıcı URL’ler oluşturur. İkincisi, breadcrumb eklentileri post_parent zincirini kullanarak Google Arama’da breadcrumb zengin sonuçları olarak görünebilecek ve tıklama oranlarını iyileştirebilecek BreadcrumbList yapılandırılmış verilerini oluşturur.
Üst sayfayı silersem alt sayfalara ne olur?
WordPress’te bir üst sayfayı sildiğinizde, alt sayfalar silinmez — otomatik olarak üst düzey sayfalara yükseltilir (post_parent değerleri 0 olarak sıfırlanır). URL’leri buna göre değişir; bu da dahili bağlantıları bozabilir ve 404 hatalarına yol açabilir. Bir üst sayfayı silmeden önce her zaman yeniden atama yapın veya yönlendirme oluşturun.
Sayfa hiyerarşisini ve özel bir gezinme menüsünü bağımsız olarak kullanabilir miyim?
Evet ve bu yaygın bir desendir. Sayfa hiyerarşiniz URL yapısını ve breadcrumb izlerini tanımlarken, gezinme menünüz tamamen ayrı bir yapılandırmadır. Bir sayfa, URL hiyerarşisinde torun sayfa olabilir ancak menünüzde üst düzey öğe olarak görünebilir ya da menüden tamamen çıkarılabilir. İki sistemin birbirini yansıtması gerekmez.
