Platform documentation
Step-by-step guide to Markup Studio — from your first account to a published website with pages, theme, navbar, footer, templates, and AI tools.
Overview
Markup Studio is a visual website builder. You create a website (project), add pages, design each page in the page editor, and configure site-wide theme, navbar, and footer. Your live site is served on your custom domain when configured.
Everything you design is stored as structured data (not hand-written HTML files). You edit in the dashboard and visitors see the published version on your domain.
Steps
- Create an account → Sign in → Dashboard
- Create website → Add pages → Open page editor
- Configure theme, navbar, footer, and SEO
- Save pages → Preview → Publish on your domain
Create an account
Go to Sign Up from the homepage or `/signup`. Fill in first name, last name, email, and password (6–16 characters). Confirm the password in the second field.
Steps
- Open `/signup`
- Enter your details and matching passwords
- Submit — on success you are redirected to Sign In after a short message
- If the email is already registered, you will see an error toast
Tips
- Use a strong password you do not reuse elsewhere.
- The form includes a hidden honeypot field for bots — leave it empty.
Sign in & sign out
Use Sign In at `/signin` with your email and password. After login you are taken to the Dashboard (`/dashboard`).
Steps
- Open `/signin`
- Enter email and password → Sign In
- From the navbar, use Dashboard anytime while logged in
- Use Logout in the navbar to end your session
Tips
- If the session expires while you work, save-related actions show “Session expired” — sign in again.
Forgot & reset password
If you forgot your password, use Forgot password on the sign-in page (`/forgot-password`). Enter your email to receive a reset link.
Steps
- Submit your account email on the forgot-password form
- Open the link in the email (reset URL with token)
- Set a new password on `/reset-password`
- Sign in with the new password
Dashboard
The dashboard (`/dashboard`) shows all your websites. At the top you get summary tiles (sites, new messages, visits in the last 30 days) and a Needs your attention list that flags sites with new messages, an ending trial, a missing domain, near-full storage or a reached streaming cap.
Each site card shows the name, domain, subscription status and a 30-day pulse (visits and messages), plus the main actions: Edit pages, Inbox (with a badge for new messages), Settings and Visit.
Steps
- Click Create Website to start a new project
- Use the filters to show all sites or only the ones that need attention
- Click an item in Needs your attention to jump to that site's card
- Open Settings on a card to reach site info, theme, navbar, footer, SEO and blog through tabs
- Turn Daily summary email on or off from the dashboard (see Daily summary email below)
- Follow DNS settings on the dashboard when connecting a custom domain
Create a website
Creating a website registers your project in Markup Studio. You can set a display name, optional custom domain, and favicon (.ico only).
Steps
- Dashboard → Create Website (`/dashboard/website/create-website`)
- Enter website name (required)
- Optionally add custom domain and favicon file
- Submit — you return to the dashboard; open Pages for that site to add content
Tips
- If automatic domain connection fails, the site may still be created — you can retry from website settings later.
- Storage limit applies to all page content and uploads for that website.
Update website info
Change name, domain, or favicon from Update website (`/dashboard/website/update-website?uuid=…`). Open it with Settings on your site card.
All site settings pages share the same tabs at the top: Site info, Theme, Navbar, Footer, SEO & tracking and Blog, so you can move between them without going back to the dashboard.
Steps
- Open Settings on the site card
- Edit fields and save
- Use the tabs to switch to another settings page
Manage pages
Each website has one or more pages (home, about, contact, etc.). Open Manage website pages from the site row (`/dashboard/website/page?uuid=…`).
Steps
- View all pages for the site
- Create page — set title, SEO fields, homepage flag, and optional template
- Update page — edit title and meta fields without opening the visual editor
- Open Build / editor for visual design
- Delete or duplicate pages when available
Create a page
When creating a page you choose metadata and optionally a ready-made template. Templates pre-fill the editor with sections you can still change completely.
Steps
- Pages list → Create page (`/dashboard/website/page/create-page?uuid=…`)
- Enter title, meta description/keywords if needed
- Mark homepage only for one page per site (the main URL `/`)
- Under Start from a template, pick a layout or Blank
- Submit — you are sent to the page editor for that page
Tips
- Only active templates appear for regular users.
- Homepage conflicts show an error if another homepage already exists.
Page editor (build-page)
The visual editor (`/dashboard/website/page/build-page?uuid=…&pageId=…`) is where you design the page. The canvas shows your content; the left sidebar has Blocks, AI, Style, and Layout tabs.
The top toolbar has device preview (mobile/tablet/desktop), Theme link, Templates, Save, and Preview.
Steps
- Back — return to the pages list
- Devices — switch breakpoint; styles are per device
- Theme — open site-wide color and font settings
- Templates — replace page content with another template or blank (confirm required)
- Save — store your page design and fonts
- Preview — open authenticated preview in a new tab (`/preview/{pageId}`)
Tips
- The site navbar and footer are not drawn on the canvas — configure them separately; see them in Preview or on the live domain.
- Always Save after large changes. Template apply saves automatically.
Blocks tab — add content
Drag elements from Blocks onto the canvas or into sections. Use Ready to use for full sections (hero, about, services, FAQ, contact form, gallery, slider, reviews, team, etc.).
Steps
- Expand categories in the Blocks panel
- Drag a block or section into the drop zone
- Click an element to select it; use toolbars for special types
- Double-click icons and images/videos to open pickers
- Double-click gallery / slider / grid / reviews for dedicated toolbars
Tips
- Contact forms need a receiver email saved in form settings.
- Review cards should use the review-stars element, not typed star characters.
Style & Layout tabs
Style — typography, colors, spacing, borders, shadows, display/flex/grid, animations (Animate.css), and scroll animations (AOS) for the selected element.
Layout — sortable tree of all elements; reorder or select nested items.
Steps
- Select an element on the canvas or in the Layout tree
- Style tab: edit properties; changes apply to the current device breakpoint
- Use hover toggle when editing hover pseudo-styles
- Layout tab: drag rows to reorder sections
Tips
- Flex-child options in Other appear only when the parent uses flex display.
- Clear scroll animation name to reset related AOS fields together.
Page templates
Templates are pre-built page layouts maintained by the platform. You can use them when creating a page or later via Templates in the editor toolbar.
Steps
- On create: pick a card or Blank → create page → editor opens with that content
- In editor: Templates → choose layout → Apply → confirm (replaces current design)
- Choose Blank to clear the page to an empty canvas
Tips
- Applying a template cannot be undone except by applying another template or manual editing.
- A template's fonts are written to your site's Design theme, so they apply to the whole site. Colors always come from the theme.
AI Page Composer
The AI tab generates page sections from your business brief using ready-made presets only (no raw HTML from the AI). You can generate a full page or regenerate one section.
Steps
- Open the AI tab in the page editor
- Full page: fill business name, offer, audience, style, goal, highlights, language; optional colors and “include contact”
- Run generate → review plan → confirm to replace canvas content
- One section: pick a section from the dropdown, add a short prompt, regenerate
Tips
- After you generate a page or section, stock photos are added automatically where the layout needs them (hero, about, services, gallery, slider, team, and similar blocks).
- If generation fails or times out, wait a moment and try again with a shorter brief.
- AI output is destructive — confirm dialogs warn before replace.
- You can still edit every block afterward in Blocks, Style, and Layout like any other content.
Site theme (colors & fonts)
Design theme (`/dashboard/website/design-theme?uuid=…`) is the single place for your site's colors and fonts. Every page, ready-made section, navbar and footer reads from it, so changing one color updates the whole site.
Each color picker has a short hint explaining where that color is used (buttons, text, backgrounds, cards, borders).
Steps
- Open Settings on the site card → Theme tab
- Adjust the color pickers and the primary/secondary font
- Save — the theme applies to the editor, preview and live site
- In the editor toolbar, Theme opens the same settings
Tips
- Fonts are set only in the Design theme — there is no per-page font override.
- Pick a primary color with enough contrast against the background; text on buttons is chosen automatically for readability.
Navbar settings
The navigation bar is site-wide, not part of page content. Configure it at `/dashboard/website/navbar-settings?uuid=…`.
Steps
- Enable/disable navbar
- Upload logo (image file, not SVG) and set its height in pixels
- Position on the page: scrolls away, sticks to the top, or transparent over the hero
- Desktop layout: link placement, bar height, boxed or full width, and the bottom edge
- Call-to-action button: one highlighted link such as "Book now"
- Choose layout: drawer left or drawer right on mobile
- Hide pages from nav or add custom links (paths like `/about` or anchors `#section-id`)
- Theme colors for navbar background/text or custom hex values
- Save — verify on Preview or live site
Tips
- A Blog link appears automatically when you have at least one published blog post.
- Navbar does not appear inside the build-page canvas by design.
- Transparent over the hero only suits a page whose first section is a dark image or colour. It applies to the home page only unless you turn that off, blog pages always keep a solid bar, and the transparent link colour is set under Colors.
- In transparent mode the first section shows through the bar. Give it top padding of at least the bar height, or its heading will sit underneath the links.
- The preview at the bottom of the page is the real navbar component, so what you see there is what visitors get.
SEO & tracking
Settings → SEO & tracking (`/dashboard/website/seo-settings?uuid=…`) controls search indexing, Google Search Console verification and optional marketing trackers. Per-page title and meta description are set on each page's create/update forms.
Trackers (Google Analytics 4, Google Tag Manager, Meta Pixel, TikTok Pixel) load only after the visitor accepts the cookie banner. Without any tracker ID, no banner is shown.
Steps
- Set Allow search engines to index on or off
- Search Console: paste the verification code from Google (the `content` value of the HTML tag) and save, then click Verify in Search Console
- Optionally add your GA4 (`G-…`), GTM (`GTM-…`), Meta Pixel or TikTok Pixel ID
- Choose the visitor language — used for the cookie banner, the note under forms and the privacy page
- Privacy policy: enter your business name and a contact email. Your site then gets an automatic privacy page at `/privacy`, written from your real settings. Already have your own policy? Paste its link instead
- Save — on the live domain, `/sitemap.xml` and `/robots.txt` are generated automatically
Tips
- Visitors can reopen their cookie choice via Cookie settings in the footer.
- If you use trackers, mention them in a privacy policy page on your site.
- Sitemap requires a configured custom domain. Preview URLs stay noindex and are not listed.
Google Business Profile
A free Google Business Profile puts your business on Google Maps and in the box next to Google search results. For local businesses it often brings more customers than the website itself.
Open Settings → Google Business for a 12-step checklist. Google requires you to sign in and verify there, so you do the steps on Google — the guide gives you every value to paste (business name, website link, phone, a description draft) and saves your progress.
Steps
- Search Google Maps first — claim an existing listing instead of making a duplicate
- Create or claim the profile with a business Google account
- Use your real business name and the most specific category
- Paste the website link from the guide: it ends in `?utm_source=google_business`, so those visits show as Google Business Profile in Statistics
- Verify (usually a short video), then add hours, description and photos
- Ask your first customers for reviews and post an update every month
Tips
- Don't add keywords or city names to the business name — Google can suspend the profile for that.
Blog
Blog posts are separate from page builder content. Manage them at `/dashboard/website/blog?uuid=…`.
Steps
- Create post — title, slug, excerpt, body, cover image, template (classic or split), publish flag
- Edit or delete posts from the list
- Published posts appear at `https://your-domain.com/blog` on the live site
- Preview posts at `/preview/blog?uuid=…` while logged in
Tips
- Slug `blog` is reserved — do not use it for a regular page slug.
Images & videos
Each website has an image library and video library from the site row. In the editor, double-click images or videos to choose from your library or set a URL.
Steps
- Open the image or video manager from the site row → upload files
- In the page editor, double-click an image or video block to update it
- Use video settings in the popup for playback options (controls, poster, and source)
Tips
- Storage meter on the dashboard includes your page designs and uploaded media.
- User images are not SVG for security reasons.
Forms on the published site
Contact forms you add in the editor work on your live site, including platform subdomains. Visitors see a success or error message, and the message is emailed to the receiver email set on the form — or to your account email if none is set.
The receiver email is never shown in the public page. Every message is also saved in your site's Inbox.
Under every form, visitors see a short note with a link to your privacy policy (set it up under Settings → SEO & tracking). The footer links to it too.
Steps
- Add a contact form section or form elements in the editor
- Optionally set a receiver email in the form settings, then save the page
- After publishing, visitors submit — messages arrive by email and in the Inbox
Tips
- Test forms on the live site. Preview mode does not send real submissions.
Inbox (form messages)
The Inbox keeps every form message from your site in one place, so nothing is lost in email. Open it with Inbox on the site card; the badge shows how many messages are new.
Messages are stored encrypted and are deleted automatically after the retention period you choose.
Steps
- Open a message to read it; see which page and traffic source it came from
- Set a status: New, Contacted, Customer or Closed
- Export messages to CSV (opens in Excel)
- Choose how long to keep messages: 3, 6, 12 or 24 months
- Delete a single message or all messages when needed
Tips
- Keep messages only as long as you need them — this helps you meet privacy rules such as the GDPR.
- Building sites for clients? Their visitors' messages belong to them. Agree with each client whether you may keep their messages; if not, switch off Save messages in this Inbox for that site — messages are then only emailed to the form's receiver and the site's privacy page says so automatically.
- For a client's site, put the client's business name and contact email under Settings → SEO & tracking → Privacy policy, so the privacy page names them as responsible.
Statistics
Every site has built-in Statistics: visits, page views, top pages and traffic sources for the last 7, 30 or 90 days. It works without cookies and stores only aggregated counts, so no cookie banner is needed for it and it does not slow your site down.
Steps
- Click the 30-day visits line on the site card to open Statistics
- Switch the range between 7, 30 and 90 days
- Check Sources to see where visitors came from (Google, Instagram, Facebook, WhatsApp, direct…)
Tips
- Add `?utm_source=instagram` (or another name) to links you share, so those visits are labeled correctly.
- Bots are filtered out; preview visits are not counted.
- Monthly report: at the bottom of Statistics. On the 1st of every month you get an email with last month's visits, messages, sources and top pages, in the language you choose (English, Nederlands or Arabic). Add your client's email to send them their own copy (their replies go to you). Use Send me last month's report now to see it.
Daily summary email
Once a day you receive a short email listing new messages from the last 24 hours and anything that needs your attention across your sites. If there is nothing new, no email is sent.
Steps
- Use the Daily summary email switch on the dashboard to turn it on or off
Live website & domain
Visitors open your site on the custom domain you configured. Pages are resolved by path; homepage is the page marked as homepage.
Steps
- Add custom domain in website settings
- Point DNS as shown in dashboard DNS settings
- Publish content by saving pages — no separate “publish” button for pages
- Subscribe/renew via billing actions on the site row when required
Tips
- Suspended sites return an error on the public URL until subscription is restored.
Storage & subscription
Each website has a storage quota (MB). Saving large pages or many media files increases usage. Subscription status and renewal appear on the dashboard site row.
Steps
- Watch the storage bar on the site row
- If save fails with storage error, delete unused media or pages
- Use Subscribe when the trial or period is ending
- Click Payment & invoices on the site card to change your card, download invoices or update billing details — this opens Stripe's secure page
- If a payment fails, the card shows Update payment: replace the card there to keep the site online
Tips
- Card details are handled by Stripe only; Markup Studio never sees or stores them.