Как проверить скорость сайта для зарегистрированных пользователей
Как измерить скорость сайта для зарегистрированных пользователей? Такие инструменты, как 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 );