Очень много критериев у Яндекса, точное количество никто нигде не озвучивает, только предположительно -- и среди предположений встречала разброс от 100 до 800 критериев.
Основные - это поведенческие факторы, тесно связанные с качеством контента. Чем дольше пользователь серфит сайт, переходит на другие страницы, заполняет формы, в общем, взаимодействует, тем выше сайт оценивает Яндекс.
Пользователя удерживают контент и юзабилити - и то, и другое должно быть качественным, а юзабилити еще и понятным, таким френдли по отношению к любому пользователю вне зависимости от уровня компьютерной грамотности.
Так же важны обновления сайта - Яндекс не любит статичные ресурсы, где контент не обновляется вовсе или обновляется очень редко.
Важен и размер бизнеса, который стоит за сайтом. Например, есть информация что лучше ранжируются сайты компаний, имеющих филиальную сеть и подключенный многоканальный номер 8-800.
И много-много-много всего еще.