txt files
You can now add plain .txt file routes via settings. This makes it possible to validate services like adsense. Access via: Settings -> General -> Text files
A
Number field filter - automatic min/max for better filter UX
-
Number filters can now update their minimum and maximum values automatically from listing data
-
Automatic ranges stay up to date when listings are added, edited, imported, unpublished, or deleted.
-
Empty and invalid values are ignored.
Other admin fixes:
- Address coordinates are now clearly shown as read-only when automatic mode is enabled.
Import/export now works with collecitons
- Collection fields are now included in the 'supported values' export - which is linked from the 'import' modal.
- Item exports now include collection assignments.
- Item imports can assign collections using collection slugs, names, or IDs.
Collections
Directories often have a second thing behind the listings - the company that employs, the venue that hosts, the organiser that runs. Collections give that thing a page of its own.
You name them: Companies, Venues, Organisers, Brands. Each type gets its own URL prefix and its own index page, and listings join a collection through a membership.
PagesEvery collection gets a public page with a logo, banner, introduction, body content and its listings. Each type also gets an index listing every published collection. Both are in your sitemap, and each collection carries its own SEO fields.
LayoutsCollection pages are built in the block editor under Blocks -> Collection page. One layout serves every collection of every type, so you set it up once. Start from one of two pre-defined editable layouts or make your own from scratch:
-
Two columns - body content beside a details panel
-
Stacked - one column, details on a line under the introduction
-
Blank - start fresh
Seven blocks are available: title, introduction, body, meta table, meta row, member listings, and a collection index you can drop on any page.
Detail fieldsEach type defines its own detail rows - Founded, Team size, Membership - and every collection fills them in. Renaming a label keeps the values attached to it. These are limited to plain text for now.
JoiningAssign listings from the admin, or let people pick a collection when they submit a listing. Types can be open, need approval, or be invite-only. Approvals go to you, the collection owner, or either. A type can allow one collection per listing or several, and a collection can be exclusive.
Search and filtersMembership behaves like a custom field: it shows on cards and detail pages, and appears as a filter on your search. Filters run on the collection, not its name, so renaming one keeps saved filters working.
Owner pagesHand a collection to someone with a site account and they manage it from the front end at My Pages. You choose what they can do: edit details, edit content, manage members, add their own listings. They get emailed when a listing joins.
API and MCPTwelve REST endpoints and twelve MCP tools cover types, collections and members, including bulk creation and mass assignment.
PlansGrowth includes collections with one type and up to three collections. Pro adds multiple types, approvals, and owner-managed members.
Minor SEO improvements to categories and pages
Both categories and pages can now define a canonical URL and schema.
Two more templates, three new blocks
The two templates listed as "coming soon" in the last update are both live. There are also three new blocks you can drop onto any site, and a run of smaller improvements to cards, layout and navigation.
Local businessesFor places with an address: shops, trades, restaurants, salons, garages.
-
Two ways in. Your homepage offers Browse by location above Browse by category, so visitors can start from their part of town or from what they're actually after. Every listing's address matches the area it's filed under.
-
Cards show the rating, the area and the price bracket at a glance.
-
One question shapes the whole template. With a map, your homepage opens on a searchable map of every listing and each listing page gets its own. Without one, the directory is browsed by category and searched from a list, and needs no setup at all. A map needs two Google API keys, which we only ask for if you say yes.
-
Reviews are switched on and pre-populated, so ratings and averages work from day one.
-
A blog with three sample articles, since local directories live on organic search.
For a membership organisation publishing who belongs to it: an association, trade body, network or institute.
-
It knows whether your members are people or organisations. A directory of freelancers needs an hourly rate; a directory of universities needs student numbers. We read which from your description and build the fields to match, right down to the sample photos, which are headshots for people and logo tiles for organisations.
-
Joining is set up for you. Submitting a listing is applying for membership here, so submissions are switched on, the form is relabelled throughout, and the button appears in your header, on your homepage and on every member's page. Applications are reviewed before anything is published.
-
The pages a membership body actually needs: a member benefits page arguing the case, an insights section in the shape of a blog with three worked articles, and an about page, alongside the usual privacy and terms.
-
A homepage that leads with the membership. How many members you have, the searchable roll, then your specialisms, with the invitation to join closing the page rather than opening it.
-
Profile cards for each member, with their photo, headline, specialisms and the figures that matter for your field.
Available on any directory's homepage or custom pages, not just the new templates.
-
CTA hero. One prominent button, pointing at a link, your contact form or your submission form, over a stacked row of your listings' photos and a live count of them. An optional row of logos sits beneath, scrolling gently when there are more than fit. Good anywhere the homepage's job is to get one thing clicked.
-
Bento grid. Two feature panels across the top, then one, two or three beneath, depending on how many you add. Each takes a label, a title, some text and an image. The layout follows the panel count, so there's nothing to configure.
-
Testimonials. A quote boxed out on its own, with the person's photo, name and role, and their company logo above it. Add more than one and it rotates through them with dots underneath. Clicking a dot stops it moving so you can read at your own pace.
-
Location can be a stat. Profile cards can show where a listing is as one of their stats, printing just the town rather than the full address.
-
Number fields carry their units. Give a number field a prefix or suffix, like "$", "%" or "yrs", and it shows wherever the value does: cards, tables and filters. New directories get sensible ones suggested for you, in the currency of the place you're covering.
-
Captions that read with the number. A stat's caption now completes the value rather than repeating it, so "$65" is captioned "per hour" rather than "Hourly rate".
These aren't template-only. They apply to directories you've already built.
-
Everything reads properly on a phone. Long breadcrumb trails collapse to a tappable "…" instead of wrapping onto three lines, meta rows stack into one column, and detail tables put each value on the line below its label.
-
Footer menus no longer wrap. Past three links, the rest fold into a "More" menu. Your buttons stay where they are.
-
Headings can close the gap below them. Set a heading's spacing to "tight" where it introduces the block underneath and it stays with it, however much room you've set between blocks generally.
-
A "website" button for action panels, linking straight to the listing's own site. Previously an action panel could dial a phone field or open a map, but couldn't reach the listing's own link without a separate block beneath it.
-
Callout blocks have been restyled.
-
Saving card settings could drop your location stat. Location wasn't offered in the stat dropdown, so saving the page silently cleared it. It's now in the list and stays put.
-
Phone numbers turning up as a headline stat. A phone number could be picked as one of a card's two figures, which is long and redundant beside the call button sitting next to it. Cards now choose a genuine figure instead.
A template sets your starting arrangement, not a fixed design. Every field, block, page and setting a template creates can be changed, moved or deleted afterwards, same as anything you'd build by hand.
Wizard update - starts with templates
What's new: directory templates
Building a directory now optionally starts with a template - rather than jumping straight into asking for a description.
Two templates are live today, with more on the way. The picker shows what's coming, so you can see where this is heading.
Events (Live) - Conferences, workshops, meet-ups
SaaS & tools(Live) - Apps, tools, plugins
**Local businesses (**Coming soon) - Shops, trades, restaurants
**Members (**Coming soon) - member directories, agencies, freelancers etc
More templates are planned beyond these four. If there's a kind of directory you'd like us to build one for, tell us - the list is driven by what people are actually launching.
Not building one of these? Nothing has been taken away. You can still choose a layout type (search-led, category-led or map) and have your fields generated from your description as before, or start from scratch if you'd rather set everything up yourself or drive it through MCP/the API.
EventsOrganised around when and where something happens.
-
Fields: start and end date, location and a booking link, plus event type, venue, price, free entry and organiser
-
Cards show the date, dates range, location and a booking button
-
Homepage lists events soonest first, with a what / when / where search panel and filters led by category, date and location
-
Event pages open with a date-and-location meta row, and carry a Register Interest form - separate from your general contact enquiries, so per-event interest doesn't get mixed in
-
Sidebar with Book Now, Add to calendar (filled in from your dates) and Share
Organised around how a product is priced and how people rate it.
-
Fields: pricing model, ratings and free tier, plus starting price, free trial, API access and lifetime deal.
-
Cards use the compact row, so products can be scanned and compared in bulk
-
Homepage opens straight onto category tiles then a filterable list sorted best-rated first, with two styled sponsored slots ready to sell or delete
-
Product pages lead with pricing and free-tier at a glance, then a fuller "At a glance" spec table, a reviews section with rating distribution and a submission form, and a sidebar with contents, rating summary and a Visit site button
-
Reviews are switched on and pre-populated - every sample listing arrives with one or two reviews, so the ratings, averages and distribution bars all work from day one rather than looking broken until someone writes the first one
-
Two worked "X vs Y" comparison pages, linked from a Comparisons dropdown in your header and footer. Around 550 words each, with a feature comparison table and FAQs - the format these pages need, ready to rewrite with your own products
A template sets your starting arrangement, not a fixed design. Listable sites are built from blocks and settings, so every field, block, page and setting a template creates can be changed, moved or deleted afterwards - same as anything you'd build by hand, just quicker.
Improvements for every siteThese aren't template-only. They apply to directories you've already built.
-
Ratings in detail tables now show as stars, a score and a review count. Previously a rating field in a details table printed its raw data into the page.
-
Borderless detail tables alternate row backgrounds instead of using hairline rules, so rows stay readable without the card around them.
-
Header and footer dropdowns are wider, so longer menu labels no longer wrap.
Tons of changes - some general, some aimed at better supporting event directories
-
New Button custom field type - add a link to a listing and it renders as a proper button, not a raw URL
-
Set your own label, pick primary or secondary styling, and choose whether it opens in a new tab
-
Buttons stretch full width and centre themselves, with the field name hidden so they look like buttons rather than data rows
-
Secondary buttons now highlight on hover, on both light and dark card themes
-
Turn on Include time for any date field. Existing date fields are unaffected - it’s off unless you enable it
-
Once times are on, you pick the event’s timezone (it suggests your own to start with, and the picker is searchable)
-
The time you enter is the time everyone sees. A 7pm event in Vancouver shows as 7pm to a visitor in Tokyo - no conversion, no confusion
-
The timezone is shown in brackets next to the time so visitors know which clock it refers to
Heads up: for a short period, times were being dropped when a listing was re-saved. If you edited a listing with a time on it recently, it’s worth checking the time is still there.
Event card-
Cards without an image now use a patterned block instead, so rows in a grid stay lined up
-
The date chip sits in the top-right corner
-
Choose which of your fields feed the card: location, start date, end date, and up to two buttons
-
One button spans the full card; two split it evenly
-
A warning appears if you pick the event card without having a location or date field set up
-
Status pills now include Happening now, and countdowns read naturally - “In 3 days” before, “2 hours left” during
When your project uses the event card, the listing’s own page picks up two of its cues:
-
The day/month chip now sits in the corner of the main image, same as on the card
-
The status pill (“Upcoming”, “Happening today”, “Happening now”, “Ended”) sits above the listing title, with the same countdown beside it
-
Both appear only when the event card is selected, since that’s where the date fields are chosen. Any other card type leaves the page untouched
-
Single day:
Wed, 7 Aug 2026with10:00 – 20:00 (BST)on the line below -
Multi-day with times:
14–17 Oct 2026withStarts 10:00 · Ends 18:00 (BST)- labelled so it can’t be mistaken for daily opening hours -
Multi-day without times:
Thu, 6 Aug – Sun, 9 Aug 2026 -
Date ranges follow the visitor’s own regional format, so US visitors see US ordering and everyone else sees theirs
-
The Main + Sidebar layout block can now be used on the listing detail page, not just the homepage
-
Its two columns offer listing blocks: gallery, body, custom fields, reviews, videos, details table, maps, forms and more
-
The narrow column offers the same blocks as the real listing sidebar - tags, custom fields, CTA, last updated, review summary, promo card -plus both map blocks
-
Blocks that have a compact sidebar style automatically use it when placed in the narrow column
-
The listing title and introduction used to be fixed at the top of every listing page. They’re now blocks you can move, remove, or place inside a Main + Sidebar layout
-
Listing Title renders the page heading, at Extra large (the current look) or Large. The claim badge still sits beside it, and if your project uses the event card the status pill and countdown sit above it
-
Listing Introduction renders the listing’s intro text, with a choice of Large (the current look) or Standard size
-
Your existing listing pages are unchanged - both blocks have been added to the top of every project’s listing page automatically, in the order they used to appear
-
New projects get them added the same way
-
The claim CTA bar now sits at the very top of the listing page, above the title
-
Restricted listings still show their title, so a members-only page isn’t a heading-less notice
Worth knowing: if you delete the Listing Title block, listing pages will have no heading at all - including for search engines. Keep one on the page unless you’re deliberately replacing it.
New block: Meta Row-
A single row of small, muted facts with icons, designed to sit just below the listing title
-
Pick up to 4 fields; each renders as an icon plus a short value, nothing else
-
Address, date, phone, link and review fields get a fitting icon automatically
-
Other field types (text, number, dropdown, tickbox) can be used too, but only once you’ve given the field its own icon - without one there’d be nothing to show
-
Your own icon always wins over the automatic one, and is recoloured to match the row so it doesn’t stand out against the built-in icons
-
Values stay short: addresses collapse to “City, Country”, reviews to “4.5 (12)”. Empty fields are skipped
-
Addresses are tidied to title case on the way out, so “LONDON, UK” and “london, uk” both read “London, UK” - country and state codes keep their capitals
-
Phone and link values are clickable
-
Date ranges: pick two date fields and tick “Pair two dates as a range” to show them as one entry with a single date-range icon. The end date stops showing separately
-
Times always sit as their own entry with a clock icon, so dates and times scan separately: “📅 23–25 Jul 2026” then “🕐 09:30–17:00 (BST)”. Applies to single dates as well as pairs
-
Dates collapse as far as they can - “23–25 Jul 2026” within a month, “23 Jul 2026” on a single day
-
Ranges follow the visitor’s regional date format, same as the event card
-
Divider lines above and below draws a hairline rule top and bottom, with a little space inside them
-
Space above this block - leave it on Normal, or pick Tight to tuck the row up close to the block above. Tight is what you want when the row sits directly under the listing title
A single card of calls to action for the listing being viewed - the sort of thing that usually sits at the top of a listing sidebar. Available in the listing sidebar, and in the narrow column of a Main + Sidebar block on the listing page.
The lead line (optional)
-
A short line of text above the buttons - “From £12 · under-12s free”, “Members only”, whatever suits. Up to 160 characters
-
It’s plain text, the same on every listing, at the same size as the rest of the panel
Button rows
-
Add up to 5 rows, each holding 1, 2 or 3 buttons. A row’s buttons split it evenly - one fills the width, two go half and half, three go thirds
-
The editor shows each row as the row of buttons it will become. Press + inside a row to add a button, and click any button to open its settings underneath. A row you leave empty simply doesn’t render
-
Drag rows by the handle to reorder them
-
Each button is Primary (filled, taller) or Secondary (outlined), so you can have one hero action with smaller ones beneath
-
Every button can have its own label. Leave it blank and a sensible default fills in — “Call”, “Directions”, “Share”, “Add”, “Enquire” — and for a field button, the field’s own button label, or failing that its name. The editor spells out which one you’ll get
Button types
-
Link or Button field on the listing - takes its destination from a Link or Button custom field, so each listing points somewhere different
-
Fixed link - the same URL on every listing. It has to be a full address starting
http://orhttps://; a bare domain likeexample.comwould be read as a page on your own site, so it’s rejected on save -
Call - takes a Phone field and dials it on a phone
-
Directions - takes an Address field and opens Google Maps directions. Uses the stored map pin when the address has one, so it’s accurate even for vague addresses
-
Open a form - opens one of your forms in a popup, same as the enquiry modal
-
Share - uses the phone’s own share sheet where available, and copies the link to the clipboard everywhere else
-
Add to calendar - takes a start date field and, optionally, an end date field, then offers Google Calendar, Outlook, or a download for Apple Calendar and everything else. The menu closes when you click away from it or press Escape
How the calendar button reads your dates
-
The start date decides the shape. A start date with no time makes an all-day event; a start date with a time makes a timed one, in the field’s own timezone
-
No end date: an all-day event covers the single day, a timed one runs an hour
-
End date with a time: used exactly as entered
-
End date with no time on a timed event: the event runs through to the end of that day, not to midnight at the beginning of it — so a festival from 10:00 on the 6th to the 9th fills the 9th too
-
An end date earlier than the start is ignored rather than producing a backwards event
Warnings while you build
-
Each button type tells you when the project can’t support it yet — no link or button fields, no phone fields, no address fields, no date fields, no active forms
-
Saving is blocked until every button has its field, form, date or link set
-
If a save is rejected, any button at fault gets a red outline in the row, so you can see which one needs finishing without opening each in turn. Hovering it shows the reason, and opening it shows the error against the field itself. Nothing is flagged before you save
Panel background
-
Fill the panel with a colour turns on a colour picker (or type a hex code) to give the panel its own background. Off by default, so the panel takes the page background as before
-
Works with or without the border. With a colour but no border, the panel still gets its rounded corners and padding
Icons
-
Call, Directions, Open a form, Share and Add to calendar get a fitting icon automatically — Add to calendar uses a calendar with a plus on it, and defaults to the label “Add” so it fits a half-width or third-width slot
-
Link and Fixed link buttons can have an icon uploaded — SVG recommended — which is recoloured to match the button
Listings with nothing to link to
The listing page is one template for every listing, so some listings won’t have the field a button needs. Those buttons still appear, greyed out and unclickable, with a tooltip explaining why — “This listing hasn’t added a phone number yet” and so on. The panel keeps the same shape across every listing rather than reflowing.
A Fixed link or Open a form button with nothing behind it is a setup mistake rather than a gap in the listing, so those hide instead. The panel itself doesn’t render if there’s nothing at all to show.
Listing body text size-
The listing body block now has two settings: Text size and Text size on large screens, each Standard or Large
-
The defaults — Standard on small screens, Large on big ones — are exactly how listing pages have always read, so nothing changes unless you change it
-
The spacing around headings follows the size you pick, so a Standard large-screen setting reads the same as it does on a phone rather than keeping the roomier gaps
-
Blocks placed inside a Main + Sidebar layout or a Section were never checked when you saved — only the container itself was. A half-finished block inside one could be saved and would quietly do nothing on the site
-
They’re now validated like any other block, and the error appears on the block that caused it, inside the column it sits in
-
A handful of older headings inside sections had no heading level saved. They’ve been set to H2 — the level they were already displaying — so those pages save cleanly
-
Dates now read as
8 Aug 2026instead of8/2/2026 -
Times sit alongside in lighter text, with the timezone faded in brackets
-
No automatic clock icon - if you want an icon, add it to the field label yourself
-
Fixed dates showing as raw values (
2026-08-08T10:00) in the detail page field grid
New card for events
Added a new card for event directories:
Support for new language: spanish
We've added Spanish translations. Enable from the settings page.