Mohamed Gado

Writing

Notes by Mohamed Gado, a senior software engineer, on Next.js, technical SEO and CSS: real bugs from shipped sites, what caused them and the fix.

  1. 10 Nov 2026 · 6 min read

    Why a CSS rotate with will-change: transform makes images and text blurry

    My screenshots looked pixelated though the files were sharp. A 0.9deg rotate under will-change: transform was the cause. The CSS before and after.

  2. 10 Nov 2026 · 7 min read

    Discovered – currently not indexed in Search Console: what it means and what fixed it

    50 of my pages sat in Discovered – currently not indexed. Here is what the status means, why Google skipped them, and the fixes that worked.

  3. 10 Nov 2026 · 4 min read

    Next.js metadata openGraph not inherited: why my subpages lost og:site_name

    Next.js merges metadata shallowly, so a page that sets openGraph drops the layout's og:site_name, og:locale and twitter handles. How I found it and fixed it.

  4. 10 Nov 2026 · 4 min read

    Next.js soft 404: why notFound() returned 200 behind loading.tsx

    Unknown slugs on my Next.js App Router site returned HTTP 200 with index and noindex tags. loading.tsx was the cause, dynamicParams = false the fix.

  5. 10 Nov 2026 · 5 min read

    React error #418: fixing a matchMedia hydration mismatch with useSyncExternalStore

    Minified React error #418 on every page load came from reading window.matchMedia in a useState initializer. useSyncExternalStore fixed it.