WordPress Çift Başlık Kontrolü Kodu

WordPress Çift Başlık Kontrolü Kodu

1 Puan2 Puan3 Puan4 Puan5 Puan
Loading...
WordPress Cift Baslik Kontrolu Kodu 01

✅ WordPress Çift Başlık Kontrolü (Duplicate Title Checker) – SEO Uyumlu Kod ve Kullanımı

WordPress içerik üreticileri için aynı başlıkla yazı girilmesini engelleyen, SEO’ya katkı sağlayan mükemmel bir çözüm! Bu makalede, yazı başlıklarınızın benzersizliğini otomatik olarak kontrol eden bir sistem kurmanızı sağlayacak WordPress kodunu detaylıca anlatıyoruz. Kodları functions.php dosyasına eklemeden önce mutlaka functions.php dosyasının yedeğini alın.

İlginizi çekebilir 👉 WordPress Softindir Mini Tool Eklentisi


🔍 Neden Çift Başlık Kontrolü Önemlidir?

  • SEO açısından benzersizlik kritiktir. Aynı veya çok benzer başlıklar arama motorlarında rekabete neden olabilir ve sayfalarınızın sıralamasını düşürebilir.
  • Kullanıcı deneyimini artırır. Ziyaretçiler benzer içeriklere rastlarsa sitede gezinme süresi azalabilir.
  • Editöryal hataları önler. Özellikle birden fazla editörün içerik girdiği sitelerde aynı başlığın tekrar yazılmasını engellemek faydalıdır.

WordPress Cift Baslik Kontrolu Kodu 3

⚙️ Bu Kod Ne İşe Yarar?

Bu kod, yeni bir yazı eklerken ya da mevcut bir yazıyı düzenlerken başlığın ilk iki kelimesine göre veritabanında arama yapar. Eğer bu iki kelimeyle başlayan bir içerik zaten varsa, kullanıcıya uyarı verir ve mevcut yazının bağlantısını gösterir.

Örnek:

Başlık: WordPress SEO Ayarları
Uyarı: ⚠️ Aynı başlığa sahip bir içerik mevcut: WordPress SEO İpuçları


🧩 Kodun Özellikleri

  • AJAX destekli ve hızlı çalışır.
  • Sadece post-new.php ve post.php sayfalarında çalışır (yeni yazı ekleme ve düzenleme).
  • Yayınlanmış (publish) yazılar arasında kontrol yapar.
  • Uyarılar kullanıcı dostu şekilde gösterilir.
  • Performansı optimize etmek için yalnızca ilk iki kelime kontrol edilir.

WordPress Cift Baslik Kontrolu Kodu 1

💻 Kodun Kullanımı

1. functions.php Dosyasına Ekleyin

Aşağıdaki kodları tema veya child tema functions.php dosyanıza yapıştırın:

//* ÇİFT BAŞLIK KONTROLÜ BAŞLANGIÇ
function check_duplicate_title_ajax() {
    if (!isset($_POST['post_title'])) {
        wp_send_json_error(['message' => 'Başlık alınamadı.']);
        wp_die();
    }

    global $wpdb;
    $post_title = sanitize_text_field($_POST['post_title']);
    $words = explode(' ', $post_title);
    
    if (count($words) < 2) {
        wp_send_json_success(['exists' => false]);
        wp_die();
    }

    $first_two_words = strtolower($words[0] . ' ' . $words[1]);

    $query = $wpdb->prepare("
        SELECT ID, post_title 
        FROM $wpdb->posts 
        WHERE post_status = 'publish' 
        AND post_type = 'post' 
        AND post_title LIKE %s
        LIMIT 1
    ", $first_two_words . '%');

    $result = $wpdb->get_row($query);

    if ($result) {
        wp_send_json_success([
            'exists' => true,
            'post_id' => $result->ID,
            'post_title' => $result->post_title,
            'post_url' => get_permalink($result->ID)
        ]);
    } else {
        wp_send_json_success(['exists' => false]);
    }

    wp_die();
}

add_action('wp_ajax_check_duplicate_title', 'check_duplicate_title_ajax');
add_action('wp_ajax_nopriv_check_duplicate_title', 'check_duplicate_title_ajax');

function add_duplicate_title_checker_script() {
    global $pagenow;
    
    if ($pagenow !== 'post-new.php' && $pagenow !== 'post.php') return;

    ?>
    <script>
        jQuery(document).ready(function($) {
            function checkDuplicateTitle() {
                var title = $('#title').val().trim();
                if (title.length < 2) return;

                $.ajax({
                    type: 'POST',
                    url: ajaxurl,
                    data: {
                        action: 'check_duplicate_title',
                        post_title: title
                    },
                    success: function(response) {
                        if (response.success && response.data.exists) {
                            if ($('#duplicate-warning').length === 0) {
                                $('#titlewrap').after(
                                    '<div id="duplicate-warning" style="color: red; font-weight: bold; padding: 10px; background: #ffe6e6; border-left: 5px solid red; margin-top: 10px;">' +
                                    '⚠️ Aynı başlığa sahip bir makale mevcut: ' +
                                    '<a href="' + response.data.post_url + '" target="_blank" style="color: blue; text-decoration: underline;">' +
                                    response.data.post_title + '</a></div>'
                                );
                            }
                        } else {
                            $('#duplicate-warning').remove();
                        }
                    }
                });
            }

            $('#title').on('input', function() {
                clearTimeout($(this).data('timer'));
                $(this).data('timer', setTimeout(checkDuplicateTitle, 500));
            });
        });
    </script>
    <?php
}

add_action('admin_footer', 'add_duplicate_title_checker_script');
//* ÇİFT BAŞLIK KONTROLÜ BİTİŞ

WordPress Cift Baslik Kontrolu Kodu 2

✅ Faydaları

  • SEO açısından mükemmel bir önlem sağlar.
  • Zaman kazandırır: Editörlerin manüel kontrol yapmasına gerek kalmaz.
  • Kullanıcı dostudur: Uyarılar sade ve anlaşılır şekilde sunulur.
  • Performans dostudur: Sadece ilk iki kelimeyle arama yapılır, sistem yavaşlamaz.

🔧 Geliştirilebilir Yönler

İstersen bu sistemi daha da özelleştirebilirsin:

  • Başlığın ilk 3 veya 4 kelimesini kontrol etme
  • Farklı yazı türlerinde (örneğin product, page) de çalıştırma
  • Sadece belirli kategorilerde kontrol yapma
  • Geriye birden fazla benzer yazıyı listeleme

📌 Sonuç

Eğer WordPress sitenizde içerik kalitesini artırmak, SEO açısından sorun yaratacak başlık tekrarlarının önüne geçmek istiyorsanız, bu kod tam size göre. Hem kolay uygulanabilir hem de son derece işlevsel.

📥 Yukarıdaki kodları sitenize ekleyerek hemen kullanmaya başlayabilirsiniz!


💡 Daha fazla WordPress ipucu ve faydalı kod için bizi takip etmeye devam edin.

WordPress Çift Başlık Kontrolü Kodu YAPILAN YORUMLAR
Yorum Yapılınca Bildirim Al
Bildir
guest

0 Yorum
Inline Feedbacks
View all comments
0
Size yardımcı olmak isteriz, lütfen yorum yapın.x