# Prerendering FAQ ## General Information ### What is prerendering? Prerendering is the process of generating fully rendered static HTML snapshots of JavaScript-powered web pages and serving them to search engine and AI crawlers. Instead of receiving an empty HTML shell with JavaScript instructions, bots get complete, readable HTML — making your content indexable without requiring server-side rendering or code changes. Learn more: https://prerendering.info/ ### Who is behind prerendering.info? Prerendering.info is built and operated by Ostrio Systems, Inc, a registered company operating since 2015. The open-source middleware has 253+ commits, is fully TypeScript, and is licensed under BSD-3-Clause. The service has pre-rendered over 250 million pages. GitHub: https://github.com/veliovgroup/ostrio ### Is prerendering the same as cloaking? No. Google officially recommends pre-rendering for JavaScript sites. Prerendering serves the same content to bots and users — the only difference is that bots receive a pre-rendered static HTML version instead of the raw JavaScript shell. This is a legitimate, Google-endorsed SEO technique. ### How is prerendering different from SSR? Server-side rendering (SSR) generates HTML on your server for every request (both bots and users). Prerendering generates and caches HTML snapshots that are served only to bots, while human visitors get the normal client-side JavaScript app. Prerendering requires no code changes and works at the proxy/middleware level, whereas SSR requires significant application architecture changes. ### How is prerendering different from static site generation (SSG)? Static site generation (SSG) builds all pages as static HTML at build time. Prerendering generates HTML snapshots on demand when bots visit and caches them. SSG works best for sites with a known, limited number of pages. Prerendering works for sites of any size, including dynamic content, user-generated pages, and sites with millions of URLs. ## Setup & Integration ### How long does setup take? Approximately 15 minutes. Choose your integration method (NPM middleware, CloudFlare Worker, Nginx config, or Meteor package), copy-paste the snippet, set your auth token, and the service is live. ### What integration methods are available? Four integration options are available: NPM middleware for Express, Connect, and vanilla Node.js (52.7 kB, 0 dependencies); CloudFlare Worker (copy-paste, works with any stack); Nginx configuration (config-only, most efficient); and Meteor Atmosphere package (drop-in ready). ### What JavaScript frameworks are supported? Prerendering is framework-agnostic and works with React, Vue, Angular, Svelte, Next.js, Nuxt.js, Ember, Backbone, Alpine.js, Aurelia, Lit, HTMX, Laravel, WordPress, and any other JavaScript framework or CMS that renders content client-side. ### Does prerendering require changes to my application code? No. Prerendering works as a proxy layer that intercepts bot traffic before it reaches your application. Your app code, templates, components, and build process remain untouched. You can remove the integration anytime with no side effects. ### How do I verify that prerendering is active? Use the free Prerender Checker tool. When prerendering is active, every response served to a crawler includes the `x-prerender-id` header. The tool fetches your page as Googlebot and checks for this header. Prerender Checker: https://prerendering.info/seo-tools/prerender-checker ## Pricing & Plans ### How much does prerendering cost? The service has no monthly fee. Pricing is pay-per-use at $0.0015 per render. Every account includes 1,200 free renders per month. For a typical landing page with 100 pages and 2-day cache TTL, the estimated cost is approximately $2.28/month. Sign up: https://ostr.io/signup ### Is there a free tier? Yes. Every account includes 1,200 free renders per month at no cost. No credit card is required to start. ### What counts as a render? A render occurs when a bot visits a page that is not in cache (or the cache has expired). Cached responses served to subsequent bot visits of the same page do not count as additional renders. ### Can I control how often pages are re-rendered? Yes. Cache TTL is configurable from 2 hours to 31 days. Auto-recache refreshes pages automatically when the TTL expires. You can also trigger an instant purge for any URL when you need immediate updates. ## Crawlers & Compatibility ### Which crawlers does prerendering support? Prerendering supports 20+ crawler types: search engines (Google, Bing, Yandex, DuckDuckGo, Apple), AI bots (GPTBot, ChatGPT Browse, Perplexity, Gemini, Claude, Grok/xAI, DeepSeek, Copilot), social platforms (Facebook, Twitter/X, LinkedIn, Pinterest, Instagram), and messaging apps (Slack, WhatsApp, Telegram, Viber, Discord, iMessage). ### Does prerendering help with AI search visibility? Yes. Most AI crawlers (GPTBot, ClaudeBot, PerplexityBot, Grok) do not execute JavaScript and only read raw HTML. Without prerendering, your JavaScript-rendered content is invisible to these AI bots. With prerendering, they receive fully rendered HTML and can include your content in AI-generated answers. ### Does prerendering fix broken link previews? Yes. Social platforms and messaging apps (Slack, WhatsApp, Facebook, Telegram) fetch raw HTML to generate link previews. Without prerendering, they see empty pages and show blank preview cards. With prerendering, Open Graph tags and meta content are properly visible, producing rich link previews with title, description, and image. ### Can bots execute JavaScript on their own? It varies. Google (Evergreen Chromium) renders most JavaScript but with a delay. Bing renders some but less reliably. Most AI bots (GPTBot, Claude, Perplexity, Grok) do not execute JavaScript at all. Social and messaging bots do not execute JavaScript. Prerendering ensures consistent visibility across all bot types. Crawler compatibility table: https://prerendering.info/ ## SEO Tools ### What free SEO tools does prerendering.info offer? Seven free tools, all with no registration required: Prerender Checker (verify prerendering setup), Crawler Checker (see how 14+ bots view your page), View as Bot vs Prerender (compare desktop Chrome HTML with crawler HTML side-by-side), Quick SEO Audit (70+ automated checks), Core Web Vitals Checker (LCP, CLS, INP with comparison), XML Sitemap Extractor (parse and export sitemap URLs), and JSON-LD Validator (structured data validation against schema.org). ### How does the Crawler Checker work? Enter any URL and select from 14+ search engine and AI crawlers. The tool fetches the page using the exact User-Agent string of the selected bot. In Rendered mode, it executes JavaScript like Googlebot. In Raw HTML mode, it shows the server response without JavaScript execution — revealing what non-rendering bots see. Crawler Checker: https://prerendering.info/seo-tools/crawler-checker ### What does the Quick SEO Audit check? The audit runs 70+ automated checks across indexation (robots.txt, meta robots, canonical tags), meta tags (title, description, Open Graph), performance (load time, compression, caching), security (HTTPS, security headers), structured data (JSON-LD/microdata), and mobile readiness (viewport, font sizes). Results are grouped by category with pass/fail indicators. Quick SEO Audit: https://prerendering.info/seo-tools/seo-audit ### Can I use the SEO tools on competitor websites? Yes. All tools work on any publicly accessible URL. This is useful for auditing competitors, verifying client sites, or confirming prerendering across different pages and subdomains. ## Performance & Technical ### How fast are pre-rendered responses? Pre-rendered HTML snapshots are served in under 50 milliseconds from co-located CDN servers across 7 global regions. ### Does prerendering affect what human visitors see? No. Prerendering is a transparent proxy. Human visitors receive the normal JavaScript application. Only bots receive the pre-rendered static HTML snapshot. The two experiences are completely separate. ### What happens if my site content changes? The pre-rendered cache updates based on the configured TTL (2 hours to 31 days). When the TTL expires, the page is automatically re-rendered and cached. For urgent updates, you can trigger an instant purge to force immediate re-rendering. ### Is prerendering compatible with Content-Security-Policy (CSP)? Yes. Prerendering works with CSP headers. It is also compatible with AMP pages and ES6/ES7 JavaScript.