Во-первых, если вы хотите перенаправить, используйте window.location.href = "example.com", а во-вторых, вы показываете пользователю, что страница будет перенаправлена через 5 секунд, но вы устанавливаете время только в 1 секунду, а третье не вызывает функция в setTimeout только передает функцию как обратный вызов к ней. И, пожалуйста, напишите весь этот код как обратный вызов recaptcha, чтобы его можно было вызывать при проверке recaptcha с сервера.
<script src="https://www.google.com/recaptcha/api.js" async defer></script>
<script type="text/javascript">
if (grecaptcha.getResponse() == "success") {
function Redirect() {
window.location.href = "example.com"; // Correct here
}
document.write("You will be redirected to a new page in 5 seconds ");
setTimeout(Redirect,5000); // Correct here
}
else alert("You can't proceed!");
</script>
<body>
<div data-type="image" class="g-recaptcha" data-sitekey="public site key"></div>
</body>