Pengguna Blogger mungkin sudah tidak asing lagi dengan parameter ?m=1 yang selalu muncul di ujung URL saat diakses melalui HP. Blogger menggunakan parameter ini sebagai penanda untuk memuat versi mobile dari sebuah template blog.
Namun, di era web design modern yang sudah sepenuhnya responsif seperti sekarang ini, keberadaan embel-embel ?m=1 ini seringkali dirasa cukup mengganggu.
Selain membuat URL terlihat kurang rapi saat dibagikan ke media sosial, parameter ini juga kerap memunculkan tanda tanya dari sisi optimasi SEO.
Untuk itu, di sini saya akan memberikan cara paling bersih dan aman untuk menghilangkan atau menghapus parameter ini selamanya.
Mengapa Parameter ?m=1 di Blog Sebaiknya Dihilangkan?
Mungkin sebagian blogger menganggap hal ini sebagai hal yang tidak perlu dipermasalahkan, namun sebenarnya ada beberapa manfaat yang bisa kamu dapatkan ketika parameter ?m=1 pada url blog kamu dihilangkan.
1. Tampilan Lebih Bersih dan Profesional (UX)
Banyak yang menganggap bahwa blogger itu kurang profesional karena tampilannya yang masih belum bisa bersaing dengan CMS lain.
Dan identitas Blogger yang paling terlihat secara visual adalah URLnya. yaitu adanya tahun dan bulan pada url, dan ?m=1 di akhir urlnya saat di akses menggunakan HP.
Bayangkan jika kamu membagikan link artikel yang panjang dengan kode ?m=1 dibelakangnya. Secara visual, URL murni tanpa parameter tambahan terlihat jauh lebih profesional, bersih, dan meyakinkan untuk di-klik oleh pengunjung.
Untuk itu, menghapus parameter ?m=1 pada url blog adalah solusi yang tepat.
2. Mengatasi Masalah "Halaman dengan Pengalihan" di GSC
Nah yang paling penting dari menghilangkan parameter ?m=1 ini adalah mampu mengatasi masalah halaman dengan pengalihan di Google Search Console.
Mengapa error "Halaman dengan Pengalihan" muncul di GSC? berikut ini alurnya.
- Saat Google mengirimkan Googlebot Smartphone untuk merayapi (crawl) sebuah artikel, server Blogger mendeteksi bahwa tamu yang datang menggunakan "perangkat mobile".
- Secara otomatis, server Blogger akan melakukan Redirect 302 (Pengalihan Sementara) dari URL murni atau bersih ke URL yang berakhiran ?m=1.
- Karena URL yang diminta dan URL yang akhirnya dimuat berbeda, Google Search Console mencatat kejadian ini dan memberikan peringatan "Halaman dengan Pengalihan". Ini membuat proses indeks menjadi kurang optimal, karena Google harus merayapi dua URL untuk satu konten yang sama.
Itulah penyebab munculnya peringatan "Halaman dengan Pengalihan" di GSC dan membuat dashboard GSC dipenuhi dengan peringatan gagal index karena pengalihan.
Dengan menghilangkan paramerter ?m=1, Blogger tidak perlu lagi melakukan pengalihan karena URL yang diminta dan dimuat adalah URL yang sama tanpa parameter.
Metode Apa yang Digunakan untuk Menghilangkan Parameter ?m=1 di Blogger?
Mungkin sudah banyak tutorial serupa yang sering kamu temukan di internet dengang memanfaatkan JavaScript yang disisipkan ke dalam template. Sayangnya, sebagian besar trik lama ini memiliki kelemahan yang cukup fatal.
Seringkali, script tersebut memang berhasil menghilangkan ?m=1 di HP, namun justru memunculkan parameter baru, yaitu ?m=0, saat pengunjung membuka blog dari Desktop. Hal ini justru merusak konsistensi URL murni yang selama ini sudah terindeks dengan baik di mesin pencari.
Selain itu, manipulasi URL menggunakan JavaScript (history state) di sisi client (browser) kadang membuat halaman berkedip (flicker) saat di-muat ulang atau merusak fungsi tombol back pada browser.
Nah, alih-alih memanipulasi URL setelah halaman dimuat di browser pengunjung, solusi paling ampuh adalah dengan mencegat dan mengarahkan URL tersebut sebelum sampai ke browser.
Untuk itu kita akan menggunakan teknologi serverless modern yaitu Cloudflare Workers untuk menghapus parameter ?m=1 secara mulus dari sisi server langsung.
Kenapa harus menggunakan metode Cloudflare Workers?
- URL benar-benar bersih, karena pengunjung mobile tidak akan melihat parameter ?m=1, dan pengunjung desktop juga tetap menikmati URL murni tanpa parameter ?m=0. Konsistensi link tetap terjaga.
- Karena dieksekusi di level jaringan sebelum masuk ke browser, tidak ada proses loading tambahan atau layar yang berkedip.
- Menghilangkan parameter ini secara visual di URL tidak akan menipu Google Analytics. Sistem tetap bisa membaca User-Agent pengunjung dengan akurat, sehingga data trafik mobile vs desktop kamu tidak akan berantakan, dan data analitik tetap akurat.
Lalu, bagaimana cara menerapkan metode ini pada blogger? Mari kita bahas langkah demi langkahnya di bawah ini.
Cara Menghilangkan ?m=1 dengan Cloudflare Workers di Blogger
Saya anggap kamu sudah memiliki akun Cloudflare dan sudah menautkan atau menghubungkan Domain kamu dengan Cloudflare.
Jika belum, kamu bisa membaca panduan Cara Menghubungkan Domain Blogger dengan Cloudflare pada artikel yang sudah saya terbitkan beberapa waktu lalu.
Agar script ini bisa berjalan, domain Blogger kamu wajib sudah terhubung ke Cloudflare dan status DNS proxy-nya harus aktif ditandai dengan ikon awan berwarna oranye.
Login Ke Cloudflare dan Buat Worker
Silahkan akses Cloudflare dan login menggunakan akun yang sudah dibuat sebelumnya.
Dan pada menu di sebelah kiri, silahkan pilih Compute » Worker & Pages.
Selanjutnya, klik tombol Create Application dan pilih Start with Hello World!.
Pada bagian Worker Name, silahkan masukkan nama worker kamu, misalnya hapus-m1 seperti pada contoh gambar, kemudian klik tombol Deploy.
Sampai di sini, proses pembuatan Worker sudah berhasil.
Pasang Script Penghilang Parameter ?m=1
Setelah berhasil membuat Worker, kamu harus memasukkan script penghilang parameter ?m=1 ke dalam Worker yang telah kamu buat tadi.
Caranya klik tombol Edit Code di sudut kanan atas, kemudian hapus semua kode bawaan yang ada di editor, lalu pastekan kode script di bawah ini.
const MOBILE_REGEX = /(?:phone|windows\s+phone|ipod|blackberry|(?:android|bb\d+|meego|silk|googlebot) .+? mobile|palm|windows\s+ce|opera\ mini|avantgo|mobilesafari|docomo|KAIOS)/i;
const TABLET_REGEX = /(?:ipad|playbook|(?:android|bb\d+|meego|silk)(?! .+? mobile))/i;
const isMobileDevice = (request) => {
const secChUaMobile = request.headers.get("Sec-CH-UA-Mobile");
if (secChUaMobile === "?1") return true;
if (secChUaMobile === "?0") return false;
const userAgent = request.headers.get("User-Agent") || "";
if (MOBILE_REGEX.test(userAgent) || TABLET_REGEX.test(userAgent)) {
return true;
}
return false;
};
export default {
async fetch(request) {
const url = new URL(request.url);
if (url.searchParams.has("m")) {
url.searchParams.delete("m");
return Response.redirect(url.toString(), 301);
}
const isMobile = isMobileDevice(request);
const proxiedUrl = new URL(request.url);
if (isMobile) {
proxiedUrl.searchParams.set("m", "1");
}
const proxiedRequest = new Request(proxiedUrl, {
method: request.method,
body: request.method !== "GET" && request.method !== "HEAD" ? request.body : null,
headers: request.headers,
redirect: "manual"
});
const proxiedResponse = await fetch(proxiedRequest);
if ([301, 302, 307, 308].includes(proxiedResponse.status)) {
const location = proxiedResponse.headers.get("Location");
if (location) {
const redirectUrl = new URL(location);
if (redirectUrl.searchParams.has("m")) {
redirectUrl.searchParams.delete("m");
}
return Response.redirect(redirectUrl.toString(), proxiedResponse.status);
}
}
return new Response(proxiedResponse.body, proxiedResponse);
}
};
Lalu klik tombol Deploy di pojok kanan atas untuk menyimpan pengaturan.
Menerapkan Worker ke Domain Blog
Setelah Worker dibuat, kamu harus memberi tahu Cloudflare kapan script tersebut harus dijalankan.
Kembali ke dashboard utama Cloudflare dan klik Nama Domain situs Blogger kamu di menu Domains » Overview.
Pada menu yang berada di sebelah kiri, gulir ke bawah dan klik Workers Routes kemudian pada halaman Workers Routes klik tombol Add Route yang berada di sudut kanan atas.
Selanjutnya pada bagian Route, silahkan masukkan domain kamu seperti format ini https://www.domainkamu.com/*. Dan pada bagian Worker, silahkan pilih Worker yang telah dibuat tadi yaitu hapus-m1 kemudian klik tombol Save.
Pada bagian Route, format URL di atas akan menjalankan Worker hanya pada domain utama yaitu https://www.domainkamu.com/. Jika ingin menjalankan di semua sub-domain, tinggal ganti saja format URLnya menjadi seperti ini *.domainkamu.com/*.
Setelah tersimpan, hasilnya nanti akan tampak seperti ini.
Sampai disini, proses penerapan Worker pada domain Blog sudah selesai. Sekarang kamu bisa melakukan pengujian dengan mengakses Blogmu menggunakan Smartphone dan lihat hasilnya.
Kesimpulan
Mengandalkan Javascript yang diimplementasikan langsung di dalam template untuk menyembunyikan parameter ?m=1 seringkali menimbulkan masalah baru, seperti bug URL ?m=0 di versi desktop, hingga merusak fungsi back pada browser.
Dengan menggunakan teknologi Edge Network dari Cloudflare Workers, kita menyelesaikan masalah ini langsung dari sisi server tanpa mengorbankan kecepatan pemuatan halaman atau merusak konsistensi URL di mata mesin pencari.
