How we discovered that three redirect constant files were shipping 316KB of dead weight to every browser, and why moving them to server middleware with a database fallback cut our JavaScript bundle by a third.
We were burning full Vue Router navigation cycles just to fix slug URLs on product pages. Replacing router.replace() with history.replaceState() eliminated wasted re-renders, fixed broken SEO meta tags, and cut client-side canonicalization to a single DOM-free call.
We added Arabic and Portuguese to our Nuxt i18n setup but blocked them from production. The problem? Sitemaps, hreflang tags, and crawlers didn't get the memo — generating thousands of wasted URLs, doubling API calls, and burning through serverless invocations.
A drop-in NuxtLink wrapper that automatically adds rel="nofollow" to links with query parameters, preventing PageRank leakage on filtered and parameterized URLs.
Simple changes to fix Largest Contentful Paint and Cumulative Layout Shift in Nuxt 3. Preconnect hints, image dimensions, and the hidden performance killers.
How a 10-line configuration silently blocked thousands of product pages from Google indexing, and the surprising nuxtjs/sitemap behavior that caused it.