• 02-11-2013, 15:06:53
    #1
    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ı

    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, 'ibo_seo_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, 'ibo_seo_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, 'ibo_seo_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?
    • Eklenti kullanılmadığı için sitenize ekstra bir yük yapmamaktadır.
    • 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 ve 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, kolay gelsin.

    Kaynak: http://ibocan.net/wordpress-eklentisiz-seo/
  • 07-10-2014, 20:18:36
    #2
    Yeni bir site için eklentilerden kaçınıyorum seo ayarlarını sizin kodlar ile yaptım fakat Konu başlıklarına id numarasını da eklemek istiyorum . Şöyle olur diye düşündüm olmadı ! Nasıl yapabiliriz ?

    elseif (is_singular()) $seo_title = $title . ' | ' . $name . $postid;

    eDaunTLess adlı üyeden alıntı: mesajı görüntüle
    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ı

    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.

    // ibocan.net Worpdress Eklentisiz Seo http://www.ibocan.net/wordpress-eklentisiz-seo
    function basit_wp_seo() {
     global $page, $paged, $post;
     $default_keywords = 'ibrahim, yılmaz, wordpress, php, eklenti, tema, bunları değiştir'; // değiştirmeyi unutma
     $output = '';
     
     // Açıklama
     $seo_desc = get_post_meta($post->ID, 'ibo_seo_aciklama', true);
     $description = get_bloginfo('description', 'display');
     $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 {
     $content = $description;
     }
     $output .= '<meta name="description" content="' . esc_attr($content) . '">' . "\n";
     
    // Anahtar Kelimeler
     $keys = get_post_meta($post->ID, 'ibo_seo_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 . ', ';
     $keys .= $default_keywords;
     }
     $output .= "\t\t" . '<meta name="keywords" content="' . esc_attr($keys) . '">' . "\n";
     
    // Robots
     if (is_category() || is_tag()) {
     $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, 'ibo_seo_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 = $name . ' | ' . $description;
     elseif (is_singular()) $seo_title = $title . ' | ' . $name;
     elseif (is_tag()) $seo_title = 'Etiket Arşivi: ' . $tag . ' | ' . $name;
     elseif (is_category()) $seo_title = 'Kategori Archive: ' . $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?
    • Eklenti kullanılmadığı için sitenize ekstra bir yük yapmamaktadır.
    • 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 ve 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, kolay gelsin.

    Kaynak: http://ibocan.net/wordpress-eklentisiz-seo/
  • 08-10-2014, 22:37:57
    #3
    Kategoriler için ayrı ayrı description verebilirsek güzel olur..
  • 09-10-2014, 10:34:56
    #4
    residents2000 adlı üyeden alıntı: mesajı görüntüle
    Kategoriler için ayrı ayrı description verebilirsek güzel olur..
    Kodları güncelledim. Sizin kullandığınız temaya göre bir kaç değişiklik daha yapılabilmesi söz konusu olabilir.

    Temada belirtilen bazı fonksiyonlar çakışabilir. Ona göre yazarsanız, uygun bir anımda yardımcı olmaya çabalarım.
  • 10-10-2014, 14:53:31
    #5
    Kodları değiştirdim ama istediğim olmadı .

    Url yi bu şekilde ayarladım site.com/84-yagmur-dus-basligi/

    Title da şu şekilde olsun istiyorum : yağmur duş başlığı site #84


    Kategori düzenleme de en altta yer alan açıklama kısımına ekleyeceğim yazıyı description olarak gösterebilir miyiz ?

    eDaunTLess adlı üyeden alıntı: mesajı görüntüle
    Kodları güncelledim. Sizin kullandığınız temaya göre bir kaç değişiklik daha yapılabilmesi söz konusu olabilir.

    Temada belirtilen bazı fonksiyonlar çakışabilir. Ona göre yazarsanız, uygun bir anımda yardımcı olmaya çabalarım.
  • 10-10-2014, 14:57:23
    #6
    Merhaba Ellerinize sağlık.