Web Infrastructure & Strategy

Pyramid Talent
Website Ownership
Approach

Full technical strategy covering rendering pipeline, caching, CI/CD, security, SEO, GEO, and cost optimisation.

Tech Stack

FrontendNext.js 16 · TypeScript · Tailwind CSS v4
CMSHeadless WordPress · ACF · CPT · WP GraphQL
AnimationsGSAP 3 + ScrollTrigger · CSS custom properties
3D / CanvasThree.js 0.184 · React Three Fiber (hero only)
DeploymentGithub Actions · AWS EC2 · Nginx · PM2
InfrastructureAWS (EC2 · S3 · CloudFront · SES · ALB) · Cloudflare
Database/CacheRedis → WordPress DB — near-zero repeated API calls
MonitoringNetData · AWS CloudWatch · CF Analytics · GA4 · GSC

Rendering Strategy

Each page type gets the optimal rendering mode. Zero unnecessary compute — only what changes gets rebuilt.

Page TypeStrategyImplementationReason
About, Services, LegalSSG✓ Static exportNever changes — CDN forever
Blog, Case Studies, Job ListingsISR✓ revalidate: 3600Auto-rebuild on schedule
Search results, filtersSSR✓ Server ComponentsDynamic per request
Personalised / user contentCSR✓ dynamic({ssr:false})Client-side after hydration

The Pages Rebuild Problem — Solved

Problem

Pushing one content change shouldn't trigger a full rebuild of all pages. That's hours of compute and massive cost.

Solution — On-Demand ISR + Webhook Revalidation
  • WordPress fires a webhook on every content save
  • Next.js receives it and calls res.revalidate('/specific-page-slug')
  • Only that page rebuilds in seconds
  • Rest of the site untouched
  • Goes live immediately, no full build required
CI/CD Flow
  1. 01Push to GitHub
  2. 02GitHub Actions / Jenkins: build + lint + tests
  3. 03Auto-deploy to Preview Server (AWS EC2 / VPS)
  4. 04Marketing team reviews and approves on preview
  5. 05Manual promote to Production server
  6. 06WordPress webhook triggers ISR revalidation for changed pages only
  7. 07Cloudflare cache purged for those specific URLs only

Caching Strategy — 3 Layers

01
Cloudflare Edge Cache

Static assets, images, rarely-changing pages served from 300+ global locations. Zero origin hits for cached content.

02
Next.js ISR Cache

Page HTML cached at the server layer. Stale-while-revalidate pattern keeps pages fast while rebuilding in background.

03
Redis Object Cache

Sits in front of WordPress DB. Repeated headless CMS API calls served from memory, not database queries.

Infrastructure & Scalability

  • Cloudflare at the front — CDN, WAF, DDoS protection, rate limiting, bot filtering
  • AWS Load Balancer — distributes traffic across EC2 instances, handles spikes without linear cost
  • Auto Scaling Groups — scale up on demand, scale down off-peak. Cost proportional to actual traffic.
  • AWS S3 + CloudFront — all media (images, videos, docs) from CDN, not origin
  • OCI for origin compute — significantly cheaper than AWS EC2 for base compute layer

Security

🛡Cloudflare WAF

Blocks OWASP Top 10 attacks at edge before reaching origin

🔒SSL/TLS Full Strict

Enforced end-to-end, Cloudflare Full Strict mode + HSTS headers

👥RBAC

WordPress admin roles scoped tightly, dev/staging/prod separated

🔍Vulnerability Audits

Scheduled audits, plugin/theme/core kept updated

🔑Environment Secrets

All API keys and tokens in .env — never committed to Git

🧪Staging Isolation

Staging on separate subdomain, password-protected, not indexed

Headless CMS for Marketing Team

  • WordPress as headless CMS — marketing team already knows it, no retraining
  • ACF — structured content fields for every content type
  • CPT — for Jobs, Case Studies, Resources, Industries, Testimonials
  • REST API / WP GraphQL — Next.js fetches at build time (SSG/ISR) or request time (SSR)
  • Live preview — marketing can preview unpublished changes before going live
  • Media via S3 — WordPress uploads offloaded to S3, served via CloudFront CDN

SEO Strategy

  • Technical SEO: Schema markup (Organization, JobPosting, Article, BreadcrumbList), XML sitemaps with lastmod, canonical tags, hreflang for US market
  • Core Web Vitals: LCP < 2.5s, CLS < 0.1, INP < 200ms — monitored via GSC and PageSpeed Insights
  • pSEO: Dynamic page generation for industry × service × location at scale using CPT + ACF
  • Metadata: Next.js Metadata API for dynamic title, description, OG tags per page
  • Internal linking: Automated cross-links between related industries, services, resources
  • Lighthouse target: 90+ across all core pages

GEO — Generative Engine Optimisation

Optimising for AI answer engines (ChatGPT, Perplexity, Gemini, Claude) alongside traditional search:

  • Semantic HTML — clean, well-structured markup that LLMs can parse accurately
  • Schema markup — structured data makes content machine-readable for Google and LLMs
  • llms.txt — emerging standard (like robots.txt for LLMs) — tells AI crawlers what content is available
  • Fast TTFB (<200ms) — AI crawlers time out on slow servers
  • Authoritative content structure — clear headings, factual statements, cited proof points
  • sitemap.xml with lastmod — helps AI crawlers prioritise fresh content

AIO — AI Overview Optimisation

For Google's AI Overviews (SGE):

  • Answer-first content structure — lead with direct answer, then expand
  • FAQ Schema — structured Q&A increases AI Overview inclusion likelihood
  • E-E-A-T signals — Experience, Expertise, Authoritativeness, Trustworthiness on every page
  • Clear entity definitions — each page defines who Pyramid Talent is, what it does, for whom

Performance

  • next/image — automatic WebP conversion, lazy loading, correct sizing
  • Font optimisationnext/font for zero layout shift, preloaded critical fonts
  • Bundle splitting — dynamic imports for heavy components (Three.js, carousels)
  • Prefetching — Next.js <Link> prefetches on hover, instant navigation
  • No render-blocking resources — all non-critical JS deferred
  • Image CDN via CloudFront — global delivery, compressed at edge

Accessibility

  • Semantic HTML throughout — <nav>, <main>, <section>, <article>, <button>
  • Single <h1> per page, logical heading hierarchy
  • All images have descriptive alt text
  • Keyboard-accessible interactions — all CTAs, carousels, modals operable without mouse
  • Colour contrast — WCAG 2.1 AA minimum (4.5:1 for body text)
  • Focus indicators visible on all interactive elements
  • Respects prefers-reduced-motion

Cost Optimisation

  • Static pages on CDN = near-zero compute cost per request
  • ISR means only changed pages consume compute — not the full 100k+ site
  • OCI for origin server — cheaper compute than AWS for base layer
  • S3 + CloudFront for all media — removes load from application servers
  • Redis caching — reduces DB queries, lowers compute requirements
  • Auto-scaling groups — no idle cost during off-peak hours

Monitoring & Incident Response

  • NetData — continuous uptime monitoring across all properties
  • AWS CloudWatch — server metrics, error rate alerts, traffic anomaly detection
  • Cloudflare Analytics — edge-level traffic insights, bot detection, WAF trigger logs
  • GA4 + GSC — user behaviour, organic performance, indexing health
  • SEMrush — keyword rankings, backlink monitoring, competitor tracking
  • On-call response — clear escalation path, rollback via Vercel one-click

Summary

Speed

Pages load from CDN in milliseconds globally

Scale

Handles traffic spikes without linear cost increase

Security

Threats blocked at the edge before reaching the application

Flexibility

Marketing owns content, dev team owns code — neither blocks the other

SEO + GEO + AIO

Optimised for traditional search, AI answer engines, and Google AI Overviews

Cost Efficiency

Compute scales with actual usage, not theoretical peak