Как проверить скорость сайта для зарегистрированных пользователей

Как измерить скорость сайта для зарегистрированных пользователей? Такие инструменты, как pingdom, скорость страницы Google и т. Д., Проверяют скорость посетителей сайта. причина, по которой я спрашиваю это

Мой сайт быстр для гостей, потому что у меня есть кэширование страниц. Для зарегистрированных пользователей у меня нет кэшированных страниц и, следовательно, это очень медленно. Конечным результатом является то, что мои самые лояльные посетители (вошедшие в систему пользователи) получают медленный сайт. Если я могу точно измерить это, я могу двигаться к исправлению. Ценю помощь.

1 ответ

Я справился с этим, создав тестового пользователя в системе (давайте назовем логин my_test_user), а затем добавил действие хук на init проверить URL для токена, и если токен найден, он регистрируется как тестовый пользователь перед запуском остальной части страницы. В качестве токена вы можете использовать все, что захотите, если он длинный и достаточно случайный, но это хороший генератор. Имейте в виду, что вы должны использовать это через SSL (но опять же, как и ваши логины с паролем).

С точки зрения безопасности я бы рекомендовал жестко кодировать тестового пользователя либо в коде, либо в качестве константы в wp-config.php, Если это когда-либо скомпрометировано, вы не хотите, чтобы хакер мог войти в систему как любой пользователь, и у вашего тестового пользователя должны быть ограниченные разрешения. Возможно, даже рассмотреть другой токен / ключ, чтобы включить / отключить функциональность на основе wp_option значение и включается только при тестировании.

После добавления в ваш functions.php Вы можете использовать любой URL в ваших инструментах с ?login_token=YOUR_LOGIN_TOKEN рассматривать это как my_test_user,

function auto_login() {
    $login_token = isset( $_GET['login_token'] )? $_GET['login_token'] : false;
    // get a UUID from http://www.uuidgenerator.net/
    if ( $login_token == 'ac88dc0e-72a8-4a22-abc0-fb5b5396c0ac' ){
        // The test user we want to log in
        $user_login = 'my_test_user';
        // Get the user info
        $user = get_user_by( 'login', $user_login );

        // Log the test user in automatically
        wp_set_current_user( $user->ID, $user_login );
        wp_set_auth_cookie( $user->ID );
        do_action( 'wp_login', $user_login );
    }
}
// Set with a priority of 1 so that it runs ASAP
add_action( 'init', 'auto_login', 1 );
Другие вопросы по тегам