Eğer sadece post/yazılar indexlenmesin, geri kalan herşey indexlensin istiyorsan şunu yapman yeterli. Bir önceki kod'u ufak bir şekilde değiştirmek kâfi.
<?php
if(is_single()){
echo '<meta name="robots" content="noindex,nofollow">';
}
else{
echo '<meta name="robots" content="index,follow">';
}
?>Parantez içersinde bir şey yazmana gerek yok. Bu yukarıdaki kod'un Türkçe meal'i şudur ; "Eğer yazı ise noindex bas, değil ise (geri kalan herşey. Yani sayfa, tag, search, kategori vb.) index bas"
Bu yukarıdaki kodu, header.php dosyasında meta tag'lardaki "robots" kısmı yerine yazıyorsun ve kayıt ediyorsun.
Bunu test etmesi de zor değil. Bir tane sayfa aç ve kaynak kodu görüntüle de, bak bakalım index mi noindex mi yapmış. Sonra bir tane yazı aç ve kaynağını görüntüle. index mi noindex mi görüntüle. Aynı şekilde kategori, search, tag vs de aynı yöntem ile küçük bir test ile görmüş olursun.
Daha dün uyguladım. Ben ise senin istediğinin tam tersin uyguladım. Yalnızca sayfa ve yazılarda index alsın, geri kalan tüm sayfa tiplerinde noindex alsın. Test ettim ve düzgün çalışıyor. Yine de sen bilirsin