Pretty Pagination Querystring
?6801a15e_page=2?page=2?6801a15e_page=2&?8801e222_page=8?25401a12f_page=12A Hack
<script>
(() => {
const REAL_PARAM = '6801a15e_page'; // <-- your Webflow param
const FRIENDLY = 'page';
const url = new URL(location.href);
const s = url.searchParams;
// Friendly -> real (reload once so Webflow serves correct page)
if (s.has(FRIENDLY) && !s.has(REAL_PARAM)) {
const v = s.get(FRIENDLY);
if (/^\d+$/.test(v) && +v >= 1) {
s.set(REAL_PARAM, v);
s.delete(FRIENDLY);
location.replace(url.toString());
return;
}
}
// Real -> friendly (address bar only; no reload)
if (s.has(REAL_PARAM) && !s.has(FRIENDLY)) {
const v = s.get(REAL_PARAM);
if (/^\d+$/.test(v)) {
const friendly = new URL(url);
friendly.searchParams.set(FRIENDLY, v);
friendly.searchParams.delete(REAL_PARAM);
history.replaceState(null, '', friendly.toString());
}
}
// Optional: make links using ?page=N go straight to the real param (no extra round-trip)
addEventListener('click', (e) => {
const a = e.target && e.target.closest && e.target.closest('a[href]');
if (!a) return;
const u = new URL(a.href, location.origin);
if (u.pathname === location.pathname && u.searchParams.has(FRIENDLY) && !u.searchParams.has(REAL_PARAM)) {
const v = u.searchParams.get(FRIENDLY);
if (/^\d+$/.test(v) && +v >= 1) {
u.searchParams.set(REAL_PARAM, v);
u.searchParams.delete(FRIENDLY);
e.preventDefault();
location.href = u.toString();
}
}
}, { capture: true });
})();
</script>
Last updated