Вы можете попробовать импортировать базу данных Robots из robotstxt.org и использовать ее для фильтрации запросов от этих User-Agent. Может не сильно отличаться от User-agents.org, но, по крайней мере, список robotstxt.org представлен владельцем (предположительно).
Этот сайт также ссылается на botsvsbrowsers.com , хотя я не сразу вижу загружаемую версию их данных.
Кроме того, вы сказали
Я не хочу проверять каждого реферера на наличие тысяч ссылок.
, что достаточно справедливо, но если производительность во время выполнения является проблемой, просто «регистрируйте» каждый запрос и отфильтруйте их как пост-процесс (пакет за одну ночь или как часть запросов отчетности).
Этот момент меня тоже немного смущает
желательно все еще работать, если у кого-то отключен JavaScript.
вы пишете свой журнал на стороне сервера как часть каждой страницы, которую вы обслуживаете? В этом случае javascript не должен иметь никакого значения (хотя очевидно, что те, у кого отключен javascript, не будут получать отчеты через Google Analytics).
p.s. упомянув robotstxt.org, стоит помнить, что роботы с хорошим поведением будут запрашивать /robots.txt
от корня вашего сайта. Возможно, вы могли бы использовать эти знания в своих интересах - регистрируя / уведомляя вас о возможных роботах-агентах пользователя, которых вы, возможно, захотите исключить (хотя я бы не стал автоматически исключать этот UA в случае, если обычный веб-пользователь вводит данные /robots.txt в их браузер, который может заставить ваш код игнорировать реальных людей). Я не думаю, что это приведет к чрезмерным затратам на техническое обслуживание со временем ...