Setting up a photography portfolio with the Aperture theme
A complete guide to configuring the Aperture theme for a photography portfolio — cover images, gallery grid, lightbox, categories, and your first portfolio post.
The Aperture theme transforms VeloCMS into a high-impact photography portfolio. The homepage becomes a full-bleed image grid, individual post pages open in a lightbox-style layout, and every image is served via Cloudflare's CDN with automatic WebP/AVIF conversion for fast loading worldwide. This guide walks you through the complete setup.
Step 1 — Activate the Aperture theme
Go to Admin > Themes and click Activate next to Aperture. Your blog immediately switches to the full-bleed grid layout. Existing posts appear with their featured image as the grid thumbnail — if a post has no featured image, a placeholder renders instead. Set a featured image on all portfolio posts for the best result.
Step 2 — Configure your portfolio categories
Portfolio work is organized by project type, not chronology. Go to Admin > Posts > Categories and rename or add categories to match your practice: Wedding, Portrait, Commercial, Landscape, Editorial. The Aperture theme renders category filter pills on the homepage listing — visitors can filter the grid by category without a page reload.
Keep your categories to 4–6 maximum. Too many categories fragment your portfolio into thin sections that do not demonstrate depth in any area.
Step 3 — Create your first portfolio post
Go to Admin > Posts > New Post. The post title becomes the project name displayed in the grid and lightbox header — make it descriptive: 'Emma and James — Wedding at Brockwell Lido' rather than 'Wedding 047'. Set the category to match your work type. In the Settings panel, upload a high-resolution featured image (minimum 1800px wide) — this is the full-bleed image that fills the post page.
Step 4 — Build the gallery inside the post
In the post body, use the slash command /gallery to insert a gallery block. Upload between 4 and 24 images — the block renders them in an auto-masonry grid. Click any image in the gallery block to open the full-screen lightbox. The lightbox supports keyboard navigation (← →), touch swipe on mobile, and downloads on right-click if you want to offer client downloads.
- Recommended image width: 2400px minimum for retina displays
- Accepted formats: JPEG, PNG, WebP (AVIF auto-generated at delivery)
- Maximum 24 images per gallery block — split large shoots across multiple blocks for better layout
- Add alt text to every image: it improves accessibility and image search ranking
Step 5 — Write the project context
Below the gallery block, add 150–300 words of project context using the editor. Cover: the brief and location, your creative approach, any interesting technical detail, and a one-line about the client (with their permission). This context is what Google indexes — a gallery-only post has no textual SEO value.
Step 6 — Configure the About and Contact pages
Clients hiring photographers want to know who you are. Go to Admin > Pages and edit the About page — add a professional headshot, a 200-word bio, your specialisation, and the geographic area you serve. The Contact page should have a booking enquiry form. Use the Form plugin (Admin > Plugins > Form Builder) to create a simple name, email, event type, and date form that sends enquiries to your email.
Step 7 — Set social metadata for sharing
Each portfolio post generates an Open Graph image from its featured image — this is the preview thumbnail that appears when you share the post URL on Instagram DMs, Twitter, WhatsApp, or email. To preview your OG image, paste any post URL into cards-dev.twitter.com/validator. The Aperture theme also emits ImageObject JSON-LD on portfolio posts, making your images eligible for Google Image rich results.
Custom domain for a professional portfolio
A portfolio hosted on your own domain (e.g. janephotography.com) signals professionalism to prospective clients. Go to Admin > Settings > Custom Domain to connect your domain. Add a CNAME record pointing to your VeloCMS subdomain at your DNS provider — full instructions are in the Custom Domains help section. SSL is provisioned automatically via Cloudflare — no certificate management required on your end.