No Sesiones Laravel para Bots

Tengo problemas con un gran proyecto de Laravel y el almacenamiento de Redis. Almacenamos nuestras sesiones en Redis. Ya tenemos 28 GB de RAM allí. Sin embargo, todavía funciona relativamente rápido hasta el límite, porque tenemos muchos éxitos (más de 250,000 por día) de los robots de los motores de búsqueda.

¿Hay alguna forma elegante de deshabilitar por completo las sesiones para bots? Ya he implementado mi propio middleware de sesión, que se ve así:

<?php

namespace App\Http\Middleware;

use App\Custom\System\Visitor;

class StartSession extends \Illuminate\Session\Middleware\StartSession
{
    protected function getSessionLifetimeInSeconds()
    {
        if(Visitor::isBot()) {
            return 1;
        }

        return ($this->manager->getSessionConfig()['lifetime'] ?? null) * 60;
    }

    protected function sessionIsPersistent(array $config = null)
    {
        if(Visitor::isBot()) {
            return false;
        }

        $config = $config ?: $this->manager->getSessionConfig();

        return ! in_array($config['driver'], [null, 'array']);
    }
}

Esta es mi función para detectar bots:

public static function isBot()
    {
        $exceptUserAgents = [
            'Googlebot',
            'Bingbot',
            'Yahoo! Slurp',
            'DuckDuckBot',
            'Baiduspider',
            'YandexBot',
            'Sogou',
            'facebot',
            'ia_archiver',
        ];

        if(!request()->header('User-Agent') || !str_contains(request()->header('User-Agent'), $exceptUserAgents)) {
            return false;
        }

        return true;
    }

Desafortunadamente, esto no parece funcionar. ¿Alguien tiene un consejo o experiencia aquí? ¡Muchas gracias

Respuestas a la pregunta(2)

Su respuesta a la pregunta