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 seoya 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.
PhpMyAdmine 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/