Skip to main content
Server-side rendering is the recommended approach for most Boxpressd Sites projects. By fetching Boxpressd data on the server, your pages can include events, reviews, sessions, check-ins, location details, and other business content directly in the HTML returned to search engines, AI crawlers, and social platforms. This helps improve:
  • Search engine visibility
  • AI answer engine visibility
  • Page performance
  • Social previews
  • Accessibility
  • Reliability on slower devices

Why SSR Matters

Many Boxpressd Sites are marketing websites. That means the content should be easy for search engines and AI assistants to understand. When data is fetched only in the browser, important content may not be visible in the initial HTML. When data is fetched on the server, crawlers can see meaningful content immediately. For example, a lounge website can render:
  • Upcoming events
  • Recent reviews
  • Location details
  • Recent check-ins
  • Smoking session activity
  • Business hours
  • Contact details
directly into the page source. Use SDK server functions inside Next.js Server Components.

Configure the Provider

Even when fetching data on the server, wrap your application with the BoxpressdProvider so SDK components, hooks, and theme values are available throughout the site.

Environment Variables

Server Rendering Events

Events are ideal for server rendering because they contain timely, search-friendly content.

Server Rendering Sessions

Sessions can help cigar brands and lounges show real community activity.

Server Rendering Cigar-Specific Sessions

Cigar-specific sessions are especially useful for brand and product pages.

Handling Empty States

Not every business will have events, check-ins, or sessions available. Server-rendered pages should handle empty states gracefully.
For marketing pages, it is often better to hide empty sections rather than display empty placeholders.

Metadata

Use server-fetched data to generate stronger page metadata.

Structured Data

Server-rendered data can also be used to generate JSON-LD.
Then render it into the page:
Use server-side rendering for pages that benefit from indexable content.

Client Components Still Have a Place

Use client components for interactive experiences. Good examples include:
  • Event modals
  • Filters
  • Tabs
  • Carousels
  • Map interactions
  • Add-to-calendar buttons
  • Age verification
  • Client-side personalization
A common pattern is to fetch data on the server and pass it into a client component.

Best Practices

  • Fetch important marketing content on the server.
  • Use Promise.all when fetching independent datasets.
  • Hide empty sections on public marketing pages.
  • Use SDK components for display and SDK helpers for data.
  • Generate metadata from server-fetched content where useful.
  • Add JSON-LD for events, locations, and products when appropriate.
  • Keep client components focused on interaction.

Next Steps

Continue to:
  • Cigar Lounge Example
  • Cigar Brand Example
  • Retailer Example
  • Stogies Case Study
These examples show how server-rendered Boxpressd data can power complete real-world websites.