15%

Tüm Hosting Hizmetlerinde %15 indirim

Becerilerini test et ve herhangi bir hosting planında İndirim kazan

Kodu kullanın:

Skills
Başlayın
22.10.2024

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}.php
  • page-{id}.php
  • page.php
  • singular.php
  • index.php
  • Yerel 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üşürmesiget_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 BreadcrumbList yapı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.

15%

Tüm Hosting Hizmetlerinde %15 indirim

Becerilerini test et ve herhangi bir hosting planında İndirim kazan

Kodu kullanın:

Skills
Başlayın