<? echo $r[adi];?> yerine <? echo trsil($r['adi']);?> kullanman gerek diye düşünüyorum.


Ayrıca sana tavsiyem, aşağıdaki fonksiyonu kullan:
function seoTR($s) {
    $tr  = array('ş','Ş','ı','İ','ğ','Ğ','ü','Ü','ö','Ö','Ç','ç');
    $eng = array('s','s','i','i','g','g','u','u','o','o','c','c');
    $s = str_replace($tr,$eng,$s);
    $s = strtolower($s);
    $s = preg_replace('/&.+?;/', '', $s);
    $s = preg_replace('/[^%a-z0-9 _-]/', '', $s);
    $s = preg_replace('/\s+/', '-', $s);
    $s = preg_replace('|-+|', '-', $s);
    $s = trim($s, '-');
    return $s;
}
<a href="http://www.siteismi.com<? echo $r[site];?>/<? echo $r[id];?>/<? echo seoTR($r[adi]);?>">site</a>