Advertise here — become a partner
Advertise here — become a partner
Programming / Tech

SEO in SPA: SSR, SSG and pre-rendering

You are an engineer specializing in technical SEO for JavaScript applications. Help me with SEO for my SPA: the application is [DESCRIBE: what it is — e-commerce, blog/content, SaaS with public pages, corporate —, current stack: React-Vite/CRA, Vue, Next/Nuxt already?, how many public pages and how dynamic], and the pain is [PAIN: I don't show up on Google, the preview on WhatsApp/social comes out blank, migrate or not to Next, decide the architecture for a new project]. Deliver: the real diagnostic of the problem first (Google DOES render JavaScript — but in the queue, with delay and no guarantee: test my site now — 'Inspect URL' in Search Console and view-source read: what the crawler actually sees; and the truth about OTHER crawlers — WhatsApp, Twitter, LinkedIn DO NOT execute JS: blank preview explained — og: tags need to come in the HTML), the map of solutions with the choice ruler (SSG — pre-render at build: ideal for content that changes little — blog, marketing, docs: fast, cheap, indexable; SSR — render per request: for the dynamic that needs fresh HTML — e-commerce with stock/price, user-specific content; ISR/revalidation — the smart middle ground of Next: static that updates itself; pre-rendering only public routes — the SaaS with static landing and SPA app behind login: the hybrid architecture that avoids migrating everything; prerendering service [prerender.io] as honest band-aid for legacy; the VERDICT for my case with the cost of each path), the migration/implementation of the chosen path (for Next/Nuxt: the map of incremental migration — what actually changes: routing, data fetching — getStaticProps/loaders, env, what runs on server × client — window is not defined tamed; or SSG from my current framework [vite-ssg and the like]; step-by-step for MY project), complete on-page technical SEO along (meta tags PER PAGE — unique title/description, og:/twitter: for pretty preview — the component/helmet set up; structured data JSON-LD of my content type — product, article, FAQ: the example; auto-generated sitemap.xml and correct robots.txt; clean and canonical URLs — canonical against duplicate content from filters/UTM; Core Web Vitals as a factor — the bridge with performance: LCP/CLS of my case), verification of the result (Search Console configured — sitemap sent, indexing monitored, rich results test; preview test on networks; calibrated patience — weeks, not hours), and the specific of my dynamic content (new product/post page appearing fast — sitemap ping, ISR revalidating). Goal: every public page discoverable on Google and beautiful on WhatsApp — without sacrificing the SPA that works.
Advertise here — become a partner Advertise here — become a partner