Войти по www.site.ru/sitemap.xml – будет с www, войти с site.ru/sitemap.xml – будет без www. Если кэшируется, запоминается, как вошли первый раз. Чтобы не было проблем, надо в .htaccess прописать вариант без www. Но с Яндексом проблема может быть в другом – он может считать сайт с www главным, и чтобы переубедить его, потребуется время и дополнительные усилия.
А вообще site_url определяется по $_SERVER[’HTTP_HOST’], если сервер неверно формирует эту переменную, возможны ошибки.
Спасибо, будем разбираться.