your root folder
home/ your landing page
  • hero.jpg pins the featured image
  • ...other images shown in "Featured"
categories/ your public portfolio
  • portraits/ → yoursite.com/portraits
    • hero.jpg pins this page's hero
    • ...images shown in a gallery
    • Daytime/ → /portraits/Daytime
    • Indoors/ → /portraits/Indoors
  • weddings/ → yoursite.com/weddings
    • Smith-Wedding/ → /weddings/Smith-Wedding
      • password optional · gates the ZIP download
      • ...images
clients/ private galleries
  • password lists every gallery's code
  • Smith-Wedding/ 🔒 code required
  • Jones-Session/ 🔒 code required

Getting your site live

Launching takes minutes, not weeks. We've built our own tooling that generates everything your site needs to securely connect to your Drive automatically, so there's no software to install and nothing technical for you to configure. The only step on your end is the one below.

One-time setup reminder: your root folder needs to be shared with Mirage's service account email (given to you when your site was set up) with Viewer access. Sharing that one folder shares everything inside it automatically.

home/: your landing page

Images placed directly inside home show up on your front page. Name one hero.jpg (or cover...) to pin it as the big photo. Everything else appears in a "Featured" grid below. Keep this folder flat; subfolders here are ignored.

categories/: your public portfolio

Every folder inside categories becomes its own page: categories/weddings → /weddings. A category can hold images directly, subfolders for individual sessions, or both, one level deep. If it has both, subfolders show up as a "Browse" section above the category's own "Gallery." The same hero/cover naming works here too.

Want a "Download Gallery" button? Add a Google Doc named password inside a gallery folder, containing just the access code as plain text. Browsing stays free and public either way. The code only gates the ZIP download, never the photos themselves.

clients/: private galleries for individual clients

Each folder inside clients is a private gallery, invisible until a visitor enters the right code, and excluded from search engines automatically. One shared Google Doc named password, placed directly inside clients itself, lists every gallery's code as JSON:

{
  "smith2026": "Smith-Wedding",
  "jonesfamily": "Jones-Session"
}

The value on the right must exactly match the gallery folder's name. Clients enter their code on your homepage, or directly on their gallery's page. Once unlocked, access lasts 60 days, and a ZIP download button appears automatically.

Tips & Tricks

  • Reuse a photo without duplicating it. Right-click any image or folder in Drive → "Add shortcut to Drive," then place the shortcut anywhere else inside your root folder. Mirage treats it exactly like the real thing. Rename the shortcut itself to hero/cover if you want a reused photo to be a page's hero.
  • Control the order photos appear in. Galleries sort by filename, naturally (2.jpg before 10.jpg). Prefix filenames with numbers, like 01-ceremony.jpg and 02-first-dance.jpg, to control the order.
  • Public downloads only work one level deep. The "Download Gallery" button only appears on a subcategory page. Put images in a subfolder, not directly in the category, to enable it.
  • Non-image files are ignored, harmlessly. PDFs, other Google Docs, random files: anything that isn't an image, folder, or a password doc just won't show up. It won't break anything.
  • Watch out for "smart quotes." Google Docs auto-curls straight quotes as you type, which can break the client password doc's JSON. Mirage corrects this automatically, but if client logins ever break all at once, mismatched quotes in that doc are the first thing to check.

Troubleshooting

If you see this Here's why
Whole site shows "Gallery not configured yet" Root folder isn't shared with the service account email, or the folder name doesn't match exactly.
A category/gallery page says "not found" The folder name doesn't match the Drive folder name. Case and spelling both matter.
A new photo isn't showing up yet Public pages refresh automatically about once an hour. Give it a little time.
Client login says "incorrect code" Check the code against the clients/password doc, and make sure the gallery name matches the folder name exactly.

See it running on a real Drive folder.

We'll walk you through setting yours up.