Guides → Build a restaurant site on SGEN in 30 minutes

Build a restaurant site on SGEN in 30 minutes

A hand-held tutorial from sign-up to a working restaurant site — menu page, hours, reservation form, location map, photo gallery, and SEO basics

This tutorial takes you from a fresh SGEN account to a working restaurant site with a menu, hours of operation, a reservation form, a location map, a photo gallery, and the SEO basics that get the site found in local search. Read top to bottom. Each step uses sample data, every decision is pre-made on the first pass, and you can swap your real menu and photos in once the shape works.

What you'll have at the end: a published *.sgen.com preview site with a Home page, a Menu page organized into sections (Starters, Mains, Desserts, Drinks), an Hours block, a Reservations form, an embedded location map, a Photo Gallery page, and the structured-data meta tags that show up in Google's "knowledge panel" for local restaurants.

What is this for?

Reach for this tutorial when you want to see what a restaurant site looks like on SGEN before committing real menu items, photos, and reservation routing to it. The tutorial is built around the smallest shape that still feels like a working restaurant site — one menu organized into sections, a current-week hours block, a reservation form that captures party-size and date, a map, and a six-image gallery. Online ordering, gift cards, and a private-events landing page are later additions; this one is the foundation.

The thirty-minute target is honest. A first-time user lands between twenty-eight and thirty-three minutes; a returning operator lands closer to twenty. If you go over thirty-five minutes, the most common cause is writing menu descriptions in the SGEN editor instead of pasting from a prepared list — bring the menu in a text file before you start, and the build moves fast.

This is a tutorial in the strict sense — it teaches by doing, with sample data, and the example you build evolves into your real site once the shape is right.

Good use cases

Reach for this tutorial when:

  • You run an independent restaurant and want a site you can update without paying a developer for every menu change.
  • You're a small chain (two to five locations) wanting a per-location site without per-location lock-in.
  • You're an agency building sites for restaurant clients and want to scope an SGEN build before quoting.
  • You're a restaurant opening soon and need a working "we're open at" page to point your social and PR at while the full build is in flight.
  • You're a pop-up or supper-club operator who needs a credible web presence without the cost of a custom build.

What NOT to use this for

This tutorial is not the place to:

  • Wire a third-party reservations system like OpenTable, Resy, or Tock. Those use embeds — covered in a separate doc. The tutorial uses SGEN's built-in reservation form.
  • Set up online ordering for delivery or pickup. Online ordering uses the Ecommerce module and is a separate engagement.
  • Build a per-location franchise structure. Multi-location uses SG-Dashboard with separate site records — a separate tutorial.
  • Handle alcohol-licensing or age-gate compliance. That depends on your jurisdiction and is not covered here.

How this connects to other features

The tutorial touches several SGEN surfaces.

  • SG-Dashboard — where the site is created.
  • SG-Admin — where pages, the menu, the reservation form, and settings live.
  • SG-Builder — the visual composer used for the hero and the gallery.
  • SG-Core — Media library for menu photos and gallery shots; Menu Builder for navigation.
  • Pages — the Menu page, Reservations page, About, and Contact all live here.
  • Forms module — the reservation form's capture, validation, and email-delivery layer.
  • SEO settings — the LocalBusiness schema, sitemap, and Open Graph that get the site indexed for local search.

Before you start

You need:

  1. An SGEN account. If you don't have one, run the 5-minute quickstart first.
  2. About thirty minutes of focused time.
  3. A current browser (Chrome, Edge, Firefox, or Safari).
  4. Helpful but optional: a text file with your menu items pre-written. Saves five to ten minutes of typing in the editor.
You do not need:
  • A custom domain.
  • A professional logo (the starter template's default works).
  • A reservations system account.
  • An online ordering account.
  • A credit card.

Where to find it

StepURLWhat lives here
1 (template)https://dashboard.sgen.comNew SiteTemplate picker, naming, preview subdomain
2-7 (build)https://.sgen.com/sg-adminPages, Menu Builder, Media, Settings
8 (view)https://.sgen.comThe live public site

Steps

Eight steps. Each names a target time and a success signal. If a step takes longer than the target, accept the sample data and move on — the second pass is where polish happens.

1. Pick the Restaurant Starter template (≤ 2 minutes)

Sign in to SG-Dashboard. Click Create Site. SGEN shows a grid of starter templates. Pick Restaurant Starter — it ships with a Home page, a Menu page, a Reservations page, an About page, a Photo Gallery, a Contact page, and a footer wired with hours, address, and social links.

Name the site ("Cafe Lumière Demo" or whatever fits). Accept the suggested preview subdomain. Click Create Site. SGEN provisions in three to five seconds and redirects you into the admin.

What you'll see at the end of step 1: SG-Admin loaded for the new site, every starter page in Draft status, and the Restaurant Starter's pre-populated sample data visible in each page.

2. Customize the Home hero and footer hours (≤ 4 minutes)

Click Pages → Home. The page opens in SG-Builder. The hero shows a full-width food photo with the restaurant name overlaid. Replace the headline with your restaurant's name and the subhead with a one-line description ("Neighborhood Italian, since 2019" or "Modern bistro in [city]").

Scroll to the Hours block below the hero. The Restaurant Starter pre-populates Monday-Sunday hours; edit each row to match your actual hours. Use the format "11:00 AM - 10:00 PM" or "Closed" — the block accepts both.

Scroll to the footer. The footer holds your address, phone, email, and social links. Fill these in once and they appear on every page.

Click Publish at the top-right.

What you'll see at the end of step 2: the Home page is Published, showing the customized hero, the populated hours block, and the footer with your contact info.

3. Build the Menu page (≤ 8 minutes)

Open Pages → Menu. The Restaurant Starter ships a menu structured into four sections: Starters, Mains, Desserts, and Drinks. Each section holds menu items; each item has a name, a one-line description, a price, and optional dietary tags.

For each section, edit the sample items. The Menu Builder accepts inline editing — click the item name to edit, click the description to edit, click the price to edit. You can add new items with the + Add Item button at the bottom of each section, and you can drag items between sections.

Dietary tags (Vegetarian, Vegan, Gluten-Free, Spicy) appear as small icons next to each item. Click the tag slot to toggle a tag on or off.

For the first pass, aim for three to five items per section. You can add more later. If you have your menu in a text file, copy-paste each item's name and description into the corresponding slot — fastest path.

What you'll see at the end of step 3: the Menu page shows four sections with three to five items each, prices formatted consistently, dietary tags applied where relevant. The page is Published.

4. Wire the Reservations form (≤ 4 minutes)

Open Pages → Reservations. The Restaurant Starter ships a reservation form with the standard fields: name, email, phone, party size, date, time, and a "Special requests" textarea.

Click the form, then Settings. Confirm:

  • Recipient email — set to a real inbox that someone checks (e.g., reservations@yourrestaurant.com or your front-of-house lead's email).
  • Date field range — set the minimum to "today" and the maximum to "60 days from today" so visitors can't book a reservation six months out.
  • Available time slots — the Starter pre-populates time slots in 30-minute increments from your opening to closing time. Confirm they match your actual seating windows.
  • Party size range — set the minimum to 1 and the maximum to a number that matches your largest table (commonly 8).
Save. Submit a test from the live page (after step 8) to confirm the email lands in the recipient inbox.

What you'll see at the end of step 4: the Reservations page shows the form with your configured fields. The form's settings panel shows the recipient inbox, date range, and time slots.

5. Add the location map and contact info (≤ 3 minutes)

Open Pages → Contact. The Restaurant Starter ships with a contact block that holds your address, phone, email, and a map embed.

Set the address to your real restaurant address. The Map Block uses the SGEN Maps module (or a static fallback on starter plans) — paste the address into the address field and the map auto-centers on the location. Drop a pin if needed.

Confirm the phone number is clickable on mobile — SGEN auto-wraps phone numbers in tel: links if they're formatted as standard numbers ("+1 555-123-4567" or "(555) 123-4567").

Publish.

What you'll see at the end of step 5: the Contact page shows the map centered on your address, the clickable phone number, the email, and the social links pulled from the site-wide footer settings.

6. Populate the Photo Gallery (≤ 4 minutes)

Open Pages → Gallery. The Restaurant Starter ships a gallery page with six placeholder images in a responsive grid. Click each placeholder, then Replace to swap in your own photos — or upload a batch via Modules → Media and drag the new uploads into the gallery slots.

The gallery accepts up to twenty-four images in the default grid before pagination kicks in. For the first pass, six to eight images is enough — the dish, the interior, the bar, the staff, the front, and a hero shot. Sharp light, no clutter, real plates.

If you don't have professional photos yet, the sample shots in the template are usable placeholders for a soft launch. Mark the gallery as Hidden from main navigation in the page settings if you want to keep it off the menu until you have real photos.

Publish.

What you'll see at the end of step 6: the Gallery page shows your photos in a responsive grid. Tapping a photo opens it in a lightbox with prev/next navigation.

7. Set the SEO basics including LocalBusiness schema (≤ 3 minutes)

Open Settings → SEO. Fill in:

  • Site title: "[Restaurant Name] — [Cuisine] restaurant in [neighborhood]" (concise, keyword-friendly).
  • Meta description: one sentence, 150 characters or less, describing the restaurant.
  • Open Graph image: upload a 1200x630 hero shot — this is what shows when your URL is shared on social.
Then open Settings → Structured Data and enable LocalBusiness schema. SGEN auto-generates the JSON-LD from your contact info, hours, and address. The schema is what enables Google's "knowledge panel" — the box that shows your restaurant's hours, phone, and rating in a search result.

Confirm the schema is correct by clicking Preview in the Structured Data panel. You should see your name, address, phone, hours, and price range. If any field is empty, return to the source page (Home for hours, Contact for address) and fill it in.

Finally, confirm the sitemap is enabled (Settings → SEO → Sitemap) and reachable at https://.sgen.com/sitemap.xml.

What you'll see at the end of step 7: the SEO settings show your title, description, and OG image. The LocalBusiness schema preview shows your real address, hours, and phone. The sitemap is reachable.

8. Publish everything and view the live site (≤ 2 minutes)

Walk through the Pages list. Confirm every page shows the green Published badge:

  • Home — Published
  • Menu — Published
  • Reservations — Published
  • About — Published (the Starter ships a default About; customize later)
  • Gallery — Published
  • Contact — Published
Click View Site in the top-right. SGEN opens the preview URL in a new tab.

Walk through the live site. Confirm:

  • The Home hero displays correctly on mobile.
  • The hours block matches what you set in step 2.
  • The menu sections all render with prices, descriptions, and dietary tags.
  • The reservation form submits — fill it out with your own email and confirm the message arrives.
  • The map centers on your address.
  • The gallery loads, and the lightbox works.

What you'll see at the end of step 8: a fully working restaurant site at https://.sgen.com, ready for a soft launch. Total elapsed time from step 1: about thirty minutes.


What success looks like

You finish with these artifacts:

  • A published *.sgen.com restaurant site.
  • A Home page with custom hero, populated hours, and the right footer info.
  • A Menu page with four sections, three to five items each, dietary tags applied.
  • A Reservations form that delivers to a real inbox.
  • A Contact page with an embedded map and clickable phone link.
  • A six-to-eight image Photo Gallery in a responsive lightbox grid.
  • LocalBusiness structured data live, the sitemap reachable, and the OG image set.
A fuller success check:
  • Loading the Home page on a phone shows the hero, the navigation, and the hours block at correct mobile widths.
  • The Menu page is scrollable on mobile with section-anchor links at the top.
  • Submitting the Reservations form delivers a real message with all fields populated.
  • The Google "Test for Rich Results" tool (or any standard structured-data validator) reports valid LocalBusiness schema when you paste the live URL into it.
  • The site's preview URL, pasted into a social media post, shows the OG image and meta description you configured.

What to do if it does not work

Symptom: the reservation form submits but no email arrives.

Confirm the Recipient email field is set (Reservations → Form → Settings). Confirm the recipient inbox accepts mail from noreply@sgen.com. Submit a test from the live page, then check Modules → Forms → Submissions — the entry is there even if email failed. Forward the submission manually until the inbox setting is corrected.

Symptom: the map shows a generic placeholder instead of the restaurant location.

The Maps module is plan-gated on starter tiers. The static placeholder is the fallback. Either upgrade the plan, or accept the static map (which still includes a "Get directions" link). Both options ship and look credible.

Symptom: the LocalBusiness schema preview shows missing fields.

Each schema field maps to a source page. Address pulls from Contact. Hours pull from Home (the Hours block). Phone pulls from the site-wide footer settings. If a field is empty in the preview, return to the source page and fill it in. Save, then re-open the Structured Data preview.

Symptom: a menu item's price renders weirdly (no currency symbol, wrong decimals).

The price field accepts plain numbers and the Menu Builder formats per the site's locale setting. Confirm Settings → Locale → Currency is set correctly. If your prices include cents ("12.50"), use the dot decimal; if they're whole dollars ("12"), no decimal needed.

Symptom: dietary tags don't show on a menu item.

Tags are per-item, not per-section. Click the item, then click the tag icons in the inline editor to toggle them on or off. Save the section. Refresh the live page (hard-reload if the tags don't appear).


Sample data used in this tutorial

The Restaurant Starter ships with sample data ready to go.

Menu — Starters (sample)

ItemDescriptionPriceTags
House breadWood-fired, served with cultured butter$6Vegetarian
Beet saladRoasted beets, goat cheese, candied walnut$12Vegetarian, GF
Mushroom toastSautéed mushrooms on grilled sourdough$11Vegetarian
Menu — Mains (sample)
ItemDescriptionPriceTags
Pan-roasted chickenHalf chicken, herbs, jus$28GF
Pasta of the dayHand-rolled, see your server$22
Vegetable plateSeasonal vegetables, grains$19Vegan, GF
Hours (sample)
DayHours
MondayClosed
Tuesday-Thursday5:00 PM - 9:30 PM
Friday-Saturday5:00 PM - 10:30 PM
Sunday11:00 AM - 2:00 PM (Brunch)
Reservation form fields

Name, email, phone, party size (1-8), date (today through +60 days), time (slots in 30-min increments), special requests (optional).

Gallery (sample)

Six placeholder images: dining room, bar, hero dish, exterior, kitchen action, plated dessert.


Variations

Once the basic shape works, these variations cover most of what a restaurant needs.

  • Add OpenTable, Resy, or Tock embeds. Replace the SGEN Reservations form with the reservations-system embed (each provider gives an iframe snippet). Drop it into the Reservations page.
  • Add a Wine List page. Duplicate the Menu page template, rename to "Wine List," and structure into Reds, Whites, Sparkling, and By-the-Glass sections.
  • Add a Private Events page. A landing page with a contact form for buyouts and large parties. The Private Events form should route to a different inbox than the standard reservations form.
  • Add a multi-location structure. For two-to-five locations, use SG-Dashboard to create a parent site (chain-wide) and child sites (per location). The chain-wide site holds the brand pages; each child holds its own hours and menu.
  • Add a press / mentions page. The Posts surface as a "Press" category. Each post is a press mention with a date, a publication name, and a quote.
  • Add an email-capture for newsletters. The Forms module supports a simple email-only capture; drop it in the footer of the Home page and wire it to a Mailchimp / Klaviyo / ConvertKit integration (or collect in SGEN's submissions log).
  • Add seasonal menus. Create new Menu page variants (Spring Menu, Summer Menu) and use the Schedule field to swap which menu is visible based on the date.

Common pitfalls

Three things go wrong most often on a first restaurant site. Each has a one-step fix.

Pitfall 1 — writing menu copy in the SGEN editor instead of pasting from a prepared list.

Writing in the editor adds friction. Open a text file before you start, list every menu item with name, description, and price in three columns. Copy-paste row by row. Build time drops from forty minutes to ten.

Pitfall 2 — uploading low-resolution gallery photos.

The gallery template displays at 1600x1200 in the lightbox. Photos smaller than that scale up and look soft. Upload at 2000x1500 or larger; SGEN serves the appropriately-sized version per device. If you only have phone photos, that's fine — modern phone cameras shoot well above 2000x1500 by default.

Pitfall 3 — forgetting to fill the LocalBusiness schema fields.

LocalBusiness schema is what gets your restaurant into Google's knowledge panel. If any field is empty (address, hours, phone), the schema is incomplete and the panel may not appear. Always run the Structured Data preview in step 7 — it tells you exactly which fields are missing.

Pitfall 4 — setting the reservation form's date range too narrow.

The default range is today through +60 days. Some restaurants want shorter (today through +14 days) for high-demand seating; some want longer (today through +90 days) for special-occasion bookings. Set it to match how far in advance your front-of-house accepts reservations.


Related reading

On this page