Cara Redirect Otomatis Halaman Error 404 Ke Homepage Dengan Javascript

Cara Redirect Otomatis Halaman Error 404 Ke Homepage Dengan Javascript
Sebenarnya postingan seperti ini sudah banyak di Google, namun ada sahabat Kompi yang kesulitan menerapkannya karena script-nya tidak jalan di beberapa template, khususnya template yang menggunakan conditional tag untuk halaman error 404.

Untuk demonya silahkan coba halaman error Kompi Ajaib ini https://www.kompiajaib.com/404, namun untuk blog Kompi Ajaib ini hanya untuk perangkat desktop saja, untuk mobile AMP saya belum menemukan caranya yang valid AMP.

Jika ingin mencobanya, silahkan copy kode javascript berikut ini dan simpan di atas kode </body> atau &lt;!--</body>--&gt; &lt;/body&gt;

1. Untuk blog non AMP


<b:if cond='data:blog.pageType in {&quot;error_page&quot;}'>

<script>

setTimeout(function () {

window.location.replace("<data:blog.homepageUrl/>");

    }, 8000); //akan memanggil fungsi setelah 8 detik.

</script>

</b:if>

Kode di atas akan meredirect otomatis halaman error 404 ke homepage setelah 8 detik, sehingga pengunjung masih bisa membaca pesan di halaman error 404, Anda bisa mengatur/mengganti angka 8000 untuk mengatur waktu tunggu. 1 detik = 1000.

Jika ingin langsung redirect, gunakan kode berikut.


<b:if cond='data:blog.pageType in {&quot;error_page&quot;}'>

<script>

setTimeout(function () {

window.location.replace("<data:blog.homepageUrl/>");

    });

</script>

</b:if>

Atau


<b:if cond='data:blog.pageType in {&quot;error_page&quot;}'>

<script>

window.location.replace("<data:blog.homepageUrl/>");

</script>

</b:if>

2. Untuk blog yang menggunakan URL mobile ?m=1 sebagai AMP, gunakan kode berikut yang hanya akan berlaku pada URL desktop.


<b:if cond='data:blog.pageType in {&quot;error_page&quot;} and data:blog.isMobileRequest == &quot;false&quot;'>

<script>

setTimeout(function () {

window.location.replace("<data:blog.homepageUrl/>");

    }, 8000); //akan memanggil fungsi setelah 8 detik.

</script>

</b:if>

Atau


<b:if cond='data:blog.pageType in {&quot;error_page&quot;} and data:blog.isMobileRequest == &quot;false&quot;'>

<script>

setTimeout(function () {

window.location.replace("<data:blog.homepageUrl/>");

    });

</script>

</b:if>

3. Ini juga bisa digunakan di Wordpress, silahkan simpan kode ini di bagian 404.php di paling bawah.


<script>

setTimeout(function () {

window.location.replace("<?php echo home_url('/'); ?>");

    }, 8000); //akan memanggil fungsi setelah 8 detik.

</script>

Atau


<script>

setTimeout(function () {

window.location.replace("<?php echo home_url('/'); ?>");

    });

</script>

Semoga bermanfaat....