WordPress Eklentisiz Seo

Bir çoğumuz sitemiz için WordPress’in Seo eklentilerinden faydalanırız. All In One Seo, Yoast Worpdress Seo gibi eklentiler bunların en başında gelmektedir hemde. Ancak artık bu durumu eklentisiz çözebiliriz. Hemde temamıza ekleyeceğimiz bir kaç kod ile.

Bu Kod Ne İşe Yarar

  • Açıklama: Giriş yaptıysanız özel bir açıklama girilir, eğer giriş yapmadıysanız da içeriğinizin ilk 155 kelimesini açıklama olarak çeker.
  • Başlık: Varsa özel başlık kullanılır, yoksa orjinal yazı başlığınız kullanılır.
  • Anahtar Kelimeler: Yazınıza eklediğiniz etiketler otomatik olarak “keywords” olarak eklenir. Bunun dışında eklentilerde yaptığımız gibi anahtar kelimeler de ekleyebiliriz. Bunlar sayfamızda gözükmez ancak, kaynakta görüntülenir.
  • Robots: Robotların sayfalarınızı indexlemesini veya indexlememesini, linkleri takip etmesini veya etmemesini ayarlayabilirsiniz. index/follow – noindex/follow yöntemi kısacası

SEO-wordpress

Nasıl Kullanacağım?

Öncelikle yapacağınız işlemlerden önce temanızın functions.php ve header.php dosyalarını yedekleyiniz. Normalde böyle bir şeye pek ihtiyaç olmayabilir de kimi insanlar direk kopyala yapıştır yaptığı için nereye ne eklediğini sonra bulamıyor veya kodları silerken onları bir kenara almıyor.

Neyse, temanızın functions.php dosyasını açın ve aşağıdaki kodları ekleyin. 4. satırdaki anahtar kelimeleri değiştirmeyi unutmayın ancak. Buradaki anahtar kelimeleriniz şu anda tüm sayfalarda çıkması için ayarlanmıştır.

/*  Worpdress Eklentisiz Seo
/* ------------------------------------ */
// ibocan.net  http://www.ibocan.net/wordpress-eklentisiz-seo
function basit_wp_seo() {
    global $page, $paged, $post;
    $default_keywords = 'ibrahim, yılmaz, wordpress, php, eklenti, tema, tarihçi, ibocan.net, ibocan, istanbul, wordpress eklentileri, wordpress kodları'; // değiştirmeyi unutma
    $output = '';
    $default_title = 'İbrahim Yılmaz Kişisel Web Sayfası';
    $default_desc = 'Tarihçi ve blog yazarı İbrahim Yılmaz\'ın hayata dair görüşleri';
    
    // Açıklama
    $seo_desc = get_post_meta($post->ID, 'aciklama', true);
    $description = get_bloginfo('description', 'display');
    $kategori = category_description();
    $pagedata = get_post($post->ID);
    if (is_singular()) {
        if (!empty($seo_desc)) {
            $content = $seo_desc;
        }   
        else if (!empty($pagedata)) {
            $content = apply_filters('the_excerpt_rss', $pagedata->post_content);
            $content = substr(trim(strip_tags($content)), 0, 155);
            $content = preg_replace('#\n#', ' ', $content);
            $content = preg_replace('#\s{2,}#', ' ', $content);
            $content = trim($content);
        }
    } 
    else if (is_category()) {
            if(!empty($kategori)) {
            $content = $kategori;
        }   
        else  {
            $content = $default_desc;
        }
    }
    else if (is_page()) {
            if(!empty($seo_desc)) {
            $content = $seo_desc;
        }   
        else  {
            $content = $default_desc;
        }
    }
    else {
        $content = $description;
    }
    if (is_home() || is_front_page()) $content = $default_desc;
    $output .= '<meta name="description" content="' . esc_attr($content) . '">' . "\n";

    // Anahtar Kelimeler
    $keys = get_post_meta($post->ID, 'etiket', true);
    $cats = get_the_category();
    $tags = get_the_tags();
    if (empty($keys)) {
        if (!empty($cats)) foreach($cats as $cat) $keys .= $cat->name . ', ';
        if (!empty($tags)) foreach($tags as $tag) $keys .= $tag->name . ', ';
    }
    if (is_home() || is_front_page()) $keys = $default_keywords;
    $output .= "\t\t" . '<meta name="keywords" content="' . esc_attr($keys) . '">' . "\n";

    // Robots
    if (is_archive() || is_author()) {
        $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
        if ($paged > 1) {
            $output .=  "\t\t" . '<meta name="robots" content="noindex,follow">' . "\n";
        } else {
            $output .=  "\t\t" . '<meta name="robots" content="index,follow">' . "\n";
        }
    } else if (is_home() || is_singular()) {
        $output .=  "\t\t" . '<meta name="robots" content="index,follow">' . "\n";
    } else {
        $output .= "\t\t" . '<meta name="robots" content="noindex,follow">' . "\n";
    }

    // Başlık
    $title_custom = get_post_meta($post->ID, 'baslik', true);
    $url = ltrim(esc_url($_SERVER['REQUEST_URI']), '/');
//  $name = get_bloginfo('name', 'display');
    $title = trim(wp_title('', false));
    $cat = single_cat_title('', false);
    $tag = single_tag_title('', false);
    $search = get_search_query();

    if (!empty($title_custom)) $title = $title_custom;
    if ($paged >= 2 || $page >= 2) $page_number = ' | ' . sprintf('Page %s', max($paged, $page));
    else $page_number = '';

    if (is_home() || is_front_page()) $seo_title = $default_title;
    elseif (is_singular())            $seo_title = $title/* . ' | ' . $name*/;
    elseif (is_tag())                 $seo_title = 'Etiket Arşivi: ' . $tag . ' | ' . $name;
    elseif (is_category())            $seo_title = 'Kategori Arşivi: ' . $cat . ' | ' . $name;
    elseif (is_archive())             $seo_title = 'Arşiv: ' . $title . ' | ' . $name;
    elseif (is_search())              $seo_title = 'Arama: ' . $search . ' | ' . $name;
    elseif (is_404())                 $seo_title = '404 - Bulunamadı: ' . $url . ' | ' . $name;
    else                              $seo_title = $name . ' | ' . $description;

    $output .= "\t\t" . '<title>' . esc_attr($seo_title . $page_number) . '</title>' . "\n";

    return $output;
}

Daha sonra header.php yi açıp <head> etiketinin altına aşağıdaki kodu ekleyin.

<?php echo basit_wp_seo(); ?>

Buraya kadar yapılan işlemler neticesinde sitemizde özel alan desteğiyle Seo için gerekli olan şeyleri oluşturduk. Artık herhangi bir içerik eklerken özel başlık, açıklama veya anahtar kelime eklemek için yapmanız gereken şey Özel Alan eklemesi yapmak.

Başlık için: ibo_seo_baslik
Açıklama için: ibo_seo_aciklama
Anahtar Kelime için: ibo_seo_etiket

Özel alanlarını kullanmanız yeterli olacaktır.

Neden Bunu Kullanmalıyım?

  1. Eklenti kullanılmadığı için sitenize ekstra bir yük yapmamaktadır.
  2. Kullanımı basittir, diğer eklentiler ile yaptığınızın aynısını yapabilmektesiniz.

Eklenti Kullanıyordum Nasıl Veri Kaybetmeden Bu İşi Yaparım?

Yazımın başında dediğim gibi bir çok Worpdress kullanıcısı eklenti kullanmaktadır. Bende bunların içerisinde Yoast Worpdress Seo eklentisini kullanıyorum. Bunun içinde veri kaybetmeden nasıl eklentisiz seo’ya geçiş yapabileceğimizi anlatacağım. Burası biraz daha bilmeyenler için zor gelebilir.

Bunun için veritabanı üzerinde çalışmalar yapacağız. Bu yüzden yapılacak çalışma öncesi veri tabanınızın yedeğini mutlaka alınız.

PhpMyAdmin’e girin be aşağıdaki sorguları sırası ile çalıştırın. Bu Örnek Yoast WordPress Seo içindir.


UPDATE `wp_postmeta` SET `meta_key` = 'ibo_seo_etiket' WHERE `meta_key` = '_yoast_wpseo_metakeywords'
UPDATE `wp_postmeta` SET `meta_key` = 'ibo_seo_baslik' WHERE `meta_key` = '_yoast_wpseo_title'
UPDATE `wp_postmeta` SET `meta_key` = 'ibo_seo_aciklama' WHERE `meta_key` = '_yoast_wpseo_metadesc'

Test edilmiş onaylanmıştır. Herkese kolay gelsin.

12 Yorum

Yorum Yaz:

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir