NODERYX
FRAMEWORK v0.7.1

GETTING STARTED

BUILDING

PRODUCTION

DEVICES

REFERENCE

NODERYX / DOCS / PRODUCTION / 04
PRODUCTION / 04

SEO & performance

Ship server-rendered pages that search engines can understand and users can reach quickly.

01

Run production mode

Always run the public server with NODE_ENV=production. Noderyx then caches view discovery, parsed trees, static reads, hashes, and both Gzip and Brotli variants, with bounded cache sizes for small servers.

TERMINAL
NODE_ENV=production npm start
NOTE

Dynamic HTML uses low-CPU Gzip; static CSS and JavaScript use cached Brotli when the browser supports it.

02

Set the public identity

These values power titles, descriptions, canonical URLs, robots.txt, and sitemap.xml. Use the final HTTPS origin with no trailing slash.

.env
SITE_NAME="Your Brand" SITE_URL=https://www.example.com SITE_DESCRIPTION="A concise description of the website." NODE_ENV=production
03

Give every page a head

Server-rendered Noderframe HTML is readable without client JavaScript—which is the largest single SEO advantage the framework gives you. Spend the rest on unique metadata.

NODERFRAME
head meta charset="utf-8" meta name="viewport" content="width=device-width, initial-scale=1" meta name="description" content="{{description}}" link rel="canonical" href="{{canonical}}" meta property="og:title" content="{{title}}" meta property="og:description" content="{{description}}" title "{{title}} — Your Brand"
NOTE

One descriptive h1 per page, and a unique title and description per indexable route.

04

Write semantic markup

Structure carries meaning for search engines and for assistive technology at the same time.

  • Use main, nav, article, header, and footer for page regions.
  • Keep link text descriptive—Read the packages guide, not click here.
  • Give meaningful images alt text plus explicit width and height.
  • Use loading="lazy" on below-the-fold images, but never on the hero image.
  • Make sure every control works from the keyboard.
05

Core Web Vitals

The framework targets fast first paint, responsive interaction, and stable layout. The remaining work is content-shaped and belongs to the application.

LCP Keep the hero small and served from your own origin; avoid oversized media.
INP Do less work on interaction; the shipped scripts are small and deferred.
CLS Always set image dimensions and reserve space for anything injected.
NOTE

Diagnose LCP, INP, and CLS individually rather than optimising for a single score.

06

What you get for free

Performance behavior that would otherwise be a checklist of middleware.

  • Brotli or gzip compression for HTML, text, JSON, JavaScript, and XML.
  • ETags and 304 Not Modified responses.
  • Production caching for files under /public.
  • Responsive viewport metadata and Cool.css components.
  • Reduced-motion accessibility support.
  • The development reload client is never shipped to production.
07

Sitemaps and robots

Both are generated from SITE_URL. Add every new public route as you create it—a page that is not linked and not listed is a page nobody finds.

NOTE

Use hashed asset filenames before switching to year-long immutable caching; the default one-day cache avoids stale deployments.

08

Measure the real thing

Test the deployed HTTPS URL, not localhost—compression, caching, TLS, and latency only exist in production.

  • Run Lighthouse in mobile mode against the production URL.
  • Verify ownership in Search Console and watch the Core Web Vitals report.
  • Re-check after any change to hero media, fonts, or third-party scripts.