Release Notes Skip to content

Release Notes

What's new on TownVue. Most recent first.

v2026.05.14 — May 14, 2026 — This weekend's events, browse by event type, and fresher town timestamps

This weekend's events, per town

  • New: every city events page now has an "Events this weekend in {City}" button at the top, linking to a dedicated weekend landing page like /in/columbus-oh/events/this-weekend.
  • The weekend page lists every event happening between the upcoming Friday and Sunday, including multi-day festivals that started earlier in the week.
  • New: three curated weekend variants for sharper search match: Free events at /in/{city}/events/free-this-weekend, Family-friendly events at /in/{city}/events/family-friendly-this-weekend, and Live music at /in/{city}/events/live-music-this-weekend. A four-way "All / Free / Family-friendly / Live Music" switcher at the top of any weekend page jumps between them.
  • For search and AI engines: every weekend page emits structured data scoped to the exact Friday-to-Sunday window, so "this weekend in {City}" and "free events this weekend in {City}" style queries can match precisely.

Browse events by category

  • New: event-category landing pages at /in/{city}/events/{category} for all 35 event categories: Music & Concerts, Theater & Performing Arts, Festivals & Fairs, Food & Drink, Outdoor & Adventure, Family & Kids, Comedy, Live Music, and more.
  • New: a "Browse by category in {City}" pill row appears at the bottom of every city events page, showing only the categories that have active upcoming events in that town with a count next to each.
  • Empty category pages stay hidden from search engines so they don't dilute the main events page.

Listing timestamps now reflect actual activity

  • Updated: "Listings updated" timestamps on every city landing page (Businesses, Events, Experiences, Trading Post, and the new weekend + category pages) now reflect the most recent meaningful change to a listing in that town, not a pre-computed refresh date.
  • Sitemap entries for the same pages now carry matching freshness signals, so search engines and AI crawlers see recent activity and re-crawl more often when listings actually change.

Change Notes audit trail for events, experiences, and trading post

  • New: the edit screen for events, experiences, and trading post listings now includes an optional "Change Notes" field, matching what business listings already had. Note what you updated ("added new photos", "fixed phone number") so you have a running history of changes on each listing.
  • For owners: when an automated process deactivates a listing because of subscription end or scheduling rules, that reason is now recorded as a Change Notes entry, so support can answer "why is my listing inactive?" without guesswork.

Badge improvements for business owners

  • Updated: the "Get Embed Code" badge on /Account/Index#badges now generates a smarter embed:
    • The badge URL carries a ?ref=badge tag so you can see in analytics how much traffic your deployed badge drives.
    • The link includes a rel="me" entity signal, telling search engines that your website and your TownVue listing represent the same business. Combined with TownVue's existing reciprocal link to your site, this strengthens brand recognition in Google and AI search.
  • New: business listings get an optional Organization JSON-LD snippet to paste alongside the badge. The snippet declares your site and your TownVue listing as the same entity, which helps disambiguate your business in Knowledge Graph results.
  • New: the badge modal now includes step-by-step install instructions for WordPress, Wix, Squarespace, and Google Sites, so non-technical owners don't need to know HTML to get the badge live.

Stronger review signal for business listings

  • Updated: business detail pages now emit individual Review structured data (up to 10 most recent ratings) alongside the existing aggregate rating. Google's review-snippet rich results require both, so this gives star ratings a better shot at appearing in search-result snippets and gives AI engines clean per-rating attribution to cite. Reviewer names use each rater's TownVue PublicName; ratings from users without a PublicName set are omitted from the structured data to keep the schema privacy-safe.

Subscribe to a specific event category by city

  • New: every event category page (e.g. /in/columbus-oh/events/music-concerts) now has an RSS and JSON Feed for just that category in just that city. Auto-discoverable in the page head, same format as the broader feeds. Useful for venue programmers, live-music newsletters, or anyone who wants a focused subscription instead of the whole town feed.

Behind the scenes

  • Updated: sitewide structured data now links TownVue's WebSite entity to its Organization entity via a publisher reference, helping search engines treat the brand and the platform as the same business. The Organization logo also now points to the canonical TownVue logo instead of a smaller favicon. The Organization block now also declares topical authority via a knowsAbout array (local business directory, community events, local discovery, local marketplace, etc.), giving Knowledge Graph a clearer picture of what TownVue is.
  • Updated: the /community entry in the sitemap now carries a real lastmod value computed from the most recent post activity, so search engines see the community feed as actively updated instead of statically published.
  • Fixed: the per-city events RSS and JSON feeds (e.g. /feed/events/columbus-oh) were silently dropping paid events and any listing whose city/state casing differed from the canonical town record, so a town page that listed 8 upcoming events could surface as only 2 in a feed reader. The feed query now matches the on-page query exactly.

v2026.05.11 — May 11, 2026 — Community feed rebuild, near-me filter, and post-page polish

Browse community posts by topic

  • New: the Community page now leads with a featured band, a topic chip strip, and a magazine-style card grid. The 15 most-used tags appear as one-click chips above the grid; click a chip to filter the feed and click it again (or "All") to clear.
  • New: a sort menu above the grid lets you switch between Newest, Most liked, and Most discussed. Your selection sticks in the URL so it survives pagination and sharing.
  • New: the featured band shows up to three Featured posts from the last week. The most recent featured post takes a big hero card with two smaller side cards on wider screens, collapsing gracefully on mobile.

Community feed follows your header location

  • Updated: the Community page now uses the same location chip in the site header that the rest of TownVue uses, so you set your location and radius once and every page (businesses, events, experiences, trading post, community) filters to your area. No separate ZIP/city input on the Community page.
  • A status pill in the toolbar shows what's active: "Showing posts near {Your City} within {N} mi" with a "Show all locations" link that drops the geo filter for the community page only.
  • Posts qualify as "near you" via a three-step location cascade: the post's own service-area cities (any custom radius is rolled in), then any local business, event, or experience the post links to, then the author's own ZIP.
  • Posts without a specific location also stay visible. They're interlaced with the local results and carry the same Anywhere badge so you can tell at a glance that the article isn't tied to a particular town.

Post-page polish

  • Fixed: the "Sign in to leave a comment" callout at the bottom of post pages now renders inline. The icon, the Sign in link, and the trailing text sit on one line instead of breaking across three.
  • Fixed: clicking Sign in from a post page now returns you to that post after sign-in, instead of dumping you on the home page.
  • Fixed: the meta row under post titles (author, date, tags) no longer splits the user icon from the name or wraps "May 3, 2026" character-by-character when the title is long.

v2026.05.09 — May 9, 2026 — Town directory, state landing pages, and a fresh look

Find Your Town

  • Updated: the Towns directory is now titled "Find Your Town" and previews up to 6 towns per state with their listing count. Bigger states get a "See all towns in {state}" link to the full state landing page, so the directory stays scannable instead of dumping every town on one page.

State landing pages, redesigned

  • New: every state landing page (/in/state/{code}) now leads with an outline map of the state alongside the hero text. Maps are credited to GIS Geography in small print; the link goes to the source page.
  • New: "Where TownVue is Active in {state}" section now collapses cleanly even for states with hundreds of towns. The busiest 36 towns are shown above the fold; the rest sit behind a "Show all" disclosure. Every town link still ships in the page so search engines and AI tools see the full list.
  • Updated: "Local Businesses across {state}" now appears between "Recently added" and the owner section, rendered in the same card format as the rest of the page so businesses get equal visual treatment alongside events and experiences.

Town pages, more useful at a glance

  • Updated: the events section on town landing pages (e.g. /in/lexington-ky) is now headed "Upcoming events near you" and shows up to 12 events in two rows of 6 instead of the previous shorter list.
  • Updated: the experiences section is now "Local experiences worth your time" with the same two-rows-of-6 layout.

v2026.05.07 — May 7, 2026 — Service-area town pages, calendar feeds, and instant indexing

  • New: business listings now support an optional menu URL on the edit/create wizard. Restaurants, food trucks, coffee shops, breweries, bakeries, salons with service price lists, and any other business with an offerings page can paste in their menu link (PDF, Google Doc, Square menu page, your own menu page, etc.). Adds a "View Menu" button on your public listing and emits schema.org LocalBusiness.hasMenu so AI tools like ChatGPT and search engines like Google know your business has a menu.
  • An optional button-label field lets you customize the call-to-action ("Dinner Menu", "Brunch", "Service Pricing", etc.); defaults to "View Menu" when blank.

Service-area businesses now appear on the towns they serve

  • New: plumbers, contractors, mobile services, and other businesses that configured service areas now appear on the landing page of every town they serve, in a clearly separated "Also serving {City}" section below the local-listings section. Previously these listings only showed up on the landing page of the city where they're physically based.
  • New: the same surfacing applies to the per-town businesses page at /in/{city}/businesses. Local listings paginate as before, with "Also serving {City}" rendered as a distinct second section below the local set.
  • Each "Also serving" card carries a small Serving from {their City}, {State} pill so visitors see at a glance that the business is based elsewhere.
  • Owner stat: when editing a business that has service areas configured, the listing edit screen now shows how many additional town pages the listing is surfacing on. Owners get a concrete view of the reach they're getting from filling out their service-area list.
  • Search and AI engines see the same signal in the structured data: each business detail page now emits a separate schema.org Service entity in addition to the existing LocalBusiness.areaServed. Service-area cities are now described with full state names and per-city geographic coordinates so engines can model "what is offered, where" precisely.

Add events to your calendar, or subscribe to a whole town

  • New: every event detail page now has an "Add to Calendar" button that downloads the event as a standard iCalendar (.ics) file. Works with Apple Calendar, Google Calendar, Outlook, and any other standard calendar app.
  • New: every city events page, for example /in/powell-oh/events, now offers an "RSS" and a "Calendar" subscribe button. Click Calendar, paste the URL into your calendar app's "Add by URL" box, and your calendar will pull in upcoming events from that town as new listings are added.
  • Multi-occurrence events appear as separate calendar entries, each with its own date and time.
  • Calendar and RSS feeds are also auto-discoverable in the page head, so feed readers and calendar apps that support auto-detection find them without any manual setup.

RSS feeds for businesses, events, experiences, and community articles

  • New: RSS 2.0 feeds at /feed/businesses, /feed/events, /feed/experiences, and /feed/community, plus per-city variants like /feed/events/powell-oh or /feed/businesses/powell-oh.
  • Recently added listings, upcoming events, and new community articles all flow through their respective feeds. Apple News, podcatchers, and feed readers pick them up automatically.
  • New: JSON Feed 1.1 versions of every RSS feed at the same URL with a .json suffix (e.g. /feed/community.json, /feed/events/powell-oh.json). Identical content as the RSS feeds; AI search engines like Perplexity, Brave Search, Bing, and ChatGPT search parse JSON more reliably than XML, so this gives them a cleaner ingestion path. The format is auto-discoverable via the <link rel="alternate" type="application/feed+json"> tag in the page head.

Instant search-engine indexing

  • Behind the scenes: TownVue now pings the IndexNow protocol the moment a listing is added or updated. Bing, Yandex, and other participating engines see new and changed listings within minutes instead of waiting for the next crawl, which means quicker discovery for newly added businesses, events, and experiences.

Friendlier "page not found" experience

  • New: when a link is broken or a listing has been removed, visitors land on a redesigned page with quick links to Businesses, Events, Experiences, and Trading Post, plus a "Browse Towns" shortcut.
  • Removed individual listings show a clear "page no longer available" message with the same friendly destination tiles, so a stale link from a Google result or a shared post still leads visitors somewhere useful.

Sitemaps split by content type

  • New: the sitemap is now split into separate files for businesses, events, experiences, trading post, community articles, towns, images, and static pages, with the existing /sitemap.xml acting as an index. Search engines re-crawl only what actually changed instead of re-fetching one giant file, which keeps fresh listings showing up faster in search results.
  • New: dedicated /news-sitemap.xml for community articles published in the last 48 hours, conforming to Google's news-sitemap spec with news:publication, news:publication_date, news:title, and news:keywords per item. Sends a strong freshness signal to Bing News, Brave Search News, AI engines like Perplexity, and Google's News tab. Inclusion in Google News itself is editorial and not granted automatically by the sitemap, but the markup is the prerequisite for it.

Voice-assistant and AI-engine readability

  • New: /llms-full.txt compliments the existing /llms.txt with a fuller listing inventory, for AI search engines that prefer a single comprehensive file over a directory.
  • New: voice-assistant-friendly markup. Detail pages, town and state landings, top picks pages, and community articles now identify which sections of each page are suitable for Siri, Google Assistant, or Alexa to read aloud, using schema.org Speakable structured data.
  • New: answered customer Q&A on every Business, Event, and Experience detail page now carries richer schema.org markup. Each Q&A item carries a question author, the listing's official Organization as the answer author, and a deep-link URL so AI search engines like ChatGPT, Claude, and Perplexity can cite specific Q&A items rather than only the page as a whole.
  • New: community contributors with a public name set now get their own author profile page at /community/by/{name}. The page lists every article they've published, including articles they posted on behalf of a business listing (those carry a small "Posted as {Business Name}" sub-label so the brand-byline context is preserved). Each post adds a ProfilePage + Person JSON-LD signal that AI engines and Google use to attribute content to a real human (a strong E-E-A-T signal). On articles posted under a business byline, the visible attribution becomes "{Business Name} · By {PublicName}" with the second name linked to the author's profile, and the structured data emits both an Organization and Person author so the brand byline stays primary while the human writer also gets credit. Privacy contract is preserved: only PublicName is exposed publicly. Email, real first/last name, and full account ID stay private.
  • New: owner-acquisition pages /Get-Listed and /Business/Claim now ship a full structured-data bundle: WebPage with Speakable selectors for voice-assistant readout, BreadcrumbList, FAQPage mirroring the visible question accordions on each page, plus Service and Offer on the listing-pricing page so AI engines have a clean, citable answer when someone asks "how do I get my business on TownVue" or "how much does TownVue cost." HowTo schema was deliberately skipped — Google deprecated those rich results in 2024.

Subscription reliability fixes

  • New: a 3-day grace window now sits between a subscription's expiration date and the listing being deactivated. This protects against Stripe webhook delays and time-zone differences from accidentally deactivating a business that is still paying.
  • New: when a Stripe renewal succeeds for a listing that had previously been auto-deactivated (for example, while a payment retry was in flight), the listing is automatically reactivated on payment success, with an internal audit note recording when and why.
  • New: Open Graph image dimensions and alt text now ship with every page that has an image. Facebook, LinkedIn, and Slack render larger, sharper preview cards instead of falling back to small thumbnails.
  • New: community articles carry article:published_time and article:author metadata, so the byline and publication date are visible in shared links.
  • New: Twitter card metadata is now tagged with the @townvue handle.
  • New: the site's sameAs cross-reference profile now includes Instagram, LinkedIn, TikTok, the Trustpilot review profile, the BBB business profile, and the Crunchbase company profile alongside the existing Facebook and X links. AI engines like ChatGPT, Claude, and Perplexity use these cross-references to confirm the business identity when they cite TownVue.

Trust and transparency

  • New: an About TownVue page lays out who runs the platform, when and where it was founded, the two co-founders (with LinkedIn profiles for verification), the team behind data seeding, what we do, and how we operate. Founders, address, founding date, and team size also flow into the site-level Organization structured data so AI engines and Google's Knowledge Graph can verify TownVue's identity without scraping.
  • New: an Editorial Standards page documents how content gets onto TownVue, how errors get corrected, and how facts get verified. Three sections covering editorial policy, corrections policy, and fact-checking policy. Honestly framed: TownVue is not a newsroom, and we describe the actual verification chain (owner claim plus Stripe identity, AI-grounded-in-listing-data, admin moderation, reader-flag review) rather than imitating one. Both pages are linked from the footer and listed in the sitemap.
  • New: RFC 9116 security contact at /.well-known/security.txt tells security researchers exactly how to report a vulnerability and what response time to expect.
  • New: a classic /humans.txt credits file documents the team, location, and the web standards TownVue follows.
  • New: /ai.txt makes TownVue's AI access policy explicit in the emerging Spawning ai.txt format. Permissive stance: training, citation, summarization, and AI search are all allowed, with attribution and link-back preferred. Companion to the named-AI-bot rules already in robots.txt; the load-bearing signals stay there, while ai.txt expresses intent at the content-policy level for crawlers that look for it.
  • New: a public read-only for AI agents and integrators. Exposes businesses, events, experiences, trading-post listings, towns, and categories as clean JSON. No auth, permissive CORS, OpenAPI spec. Lets ChatGPT, Claude, and emerging agent runtimes pull live TownVue data without scraping HTML; the same data stays available everywhere it already was. The API's Terms of Service section on bulk extraction explicitly prohibits unauthorized large-scale data extraction, scraping, or republishing; agents are welcome to query and cite within the limits, but bulk copying isn't.

v2026.05.05 — May 5, 2026 — Owner FAQs for AI search, unified cross-references, dynamic pricing

Owner-authored FAQs on listings — now AI-search ready

  • New: every Business, Event, and Experience listing supports up to 5 owner-authored FAQs that appear directly on the public detail page as an expandable accordion.
  • New: the FAQs are emitted as schema.org FAQPage structured data, the format ChatGPT, Google AI Overviews, Perplexity, and other AI search engines actually read when answering questions about local businesses.
  • New: customer questions you reply to are now also exposed as schema.org QAPage structured data (only answered Q&A pairs are included; unanswered questions stay out of the structured data).
  • New: owner-only inline editor right on the detail page — view mode shows the public accordion; click "Edit FAQs" to reorder, add, edit, or delete, all without leaving the page or going through the listing wizard.
  • New: an AI Suggest button drafts FAQs from your listing's own facts (categories, hours, description, attributes, location, pricing). Suggestions skip questions you've already added, never invent details that aren't in your listing, and follow TownVue's brand voice.
  • Inline delete confirmation replaces browser pop-ups; modern button styling across the editor.

Unified "More from this Host" sections

  • New: Business, Event, and Experience detail pages now share one consistent "More from this Host" design — colored chip headers per category (Businesses / Events / Experiences / Trading Post) with thumbnail tiles that lift on hover.
  • The same pattern flows across all three listing types so visitors get a familiar experience whether they land on a business, an event, or an experience first.
  • Tile layout responds to screen size: 1 per row on phone, 2 on tablet, 3 on desktop.
  • Events detail pages get this section for the first time — previously they only showed similar/nearby events in the sidebar.

Pricing page redesign

  • New "AI Search-Ready FAQs" hero feature card alongside Articles and Showcase Video, plus a "Built for AI Search" benefit card explaining how owner FAQs, customer Q&A, meta descriptions, and direct-answer summaries all flow into AI search engines.
  • New FAQ entry: "How does TownVue help my listing show up in ChatGPT, Google AI Overviews, and other AI search results?" — also emitted as structured data.

v2026.05.03 — May 3, 2026 — State launch pages, Top picks, and freshness signals

State launch landing pages

  • New: as TownVue officially launches in a state, that state gets a richer landing page at /in/state/{state}. Pages feature a state-themed hero, animated stats counters, browse-by-type tiles, featured towns and listings carousels, and a frequently asked questions section about TownVue in that state.
  • New: per-state branding. Each state landing carries its official nickname ("The Buckeye State", "The Lone Star State", "The Sunshine State", etc.) and a state-specific accent color stripe that flows through the page and into social-share previews.
  • New: per-state social-share previews. When you share a state landing page on Facebook, X, LinkedIn, Slack, or iMessage, the preview shows "TownVue is now in [State]" with the state's accent color, not the generic site logo.
  • New: "Recently added" momentum row and "Popular searches" section on each state landing surface what's new in that state and what local customers are searching for, with anchor links into category pages and town hubs.
  • New: auto-generated state intro paragraph announces the launch and routes business owners toward listing.

Top picks pages

  • New: Top picks pages at /in/{city-state}/top/{category} feature up to 10 ranked listings per (city, category) combo, active wherever a category has 5 or more listings.
  • Rankings blend TownVue user ratings (60%) with recent visitor interest over the past 30 days (40%). Ratings with fewer than 5 reviews are weighted toward the city-wide average so a single review can't lift a listing above well-reviewed peers.
  • Methodology is disclosed in plain language at the bottom of every Top picks page. No algorithmic secrecy.
  • Refreshed nightly so rankings stay current as listings, ratings, and traffic shift.

Visible freshness signals

  • New: "Listings updated [date]" line now appears at the bottom of every town hub, state landing, category page, and content-type sub-page (businesses, events, experiences, trading post).
  • The date only ticks forward when a user-visible field actually changes, not on every save. Routine admin edits don't make the page look "fresher" than it really is.
  • Search engines see the same freshness signal in structured data, so pages with recent updates get fresher snippets.
  • New: browse links across the site now use specific, named anchor text. "Browse all 18 →" becomes "Browse all 18 businesses in Plano, TX →". Same for events, experiences, and trading post sections. Helps both human scanning and how search engines understand each link's destination.

Behind the scenes

  • State landing pages, town hubs, category pages, and content-type sub-pages now emit CollectionPage, ItemList, and dateModified Schema.org structured data, helping search engines understand the geographic and content hierarchy and surface fresh pages preferentially.
  • Community articles now emit BlogPosting structured data with proper author Person schema (when the author has set a public name), datePublished, dateModified, and wordCount. Helps articles surface alongside regional news in search results when people search for local topics.
  • When a business listing has its Facebook Page, Instagram, Google Reviews, Yelp, or other public profile links populated, those links now flow through to structured data so AI engines like ChatGPT, Claude, and Perplexity can confirm the business identity across the web. The Business edit wizard's "Social Media & Links" section now explains why this matters.
  • Intent-driven FAQ entries on town pages now answer "Where can I find restaurants in [city]?" and "What's happening this weekend in [city]?" style questions in addition to the existing site facts.
  • Em-dash cleanup across town and state page titles for consistency with the rest of the site.

v2026.05.01 — May 1, 2026 — Town FAQs, detail-page summaries, and AI search readiness

Town pages now answer your questions

  • New: every town hub at /in/{city-state} (for example, /in/powell-oh) and every specialized category page (like /in/powell-oh/businesses/restaurants) now ends with a frequently-asked-questions section.
  • Questions are tailored to the town and the listings actually present: what categories are featured, are there upcoming events, where is the city located, how to add a business listing.
  • Designed for skim reading: expand the question you care about, ignore the rest.

Cleaner detail-page summaries

  • New: Business, Event, and Experience detail pages now open with a one-glance factual summary just below the title.
  • For a business: what kind of business it is, where it's located, today's hours, and any specialty.
  • For an event: location, date and time, and price (or "free to attend").
  • For an experience: what kind of experience, who's hosting, and price.
  • All pulled from the listing's existing data, so summaries update automatically as you edit your listing.

Under the hood

  • New: dedicated robots.txt rules for AI crawlers (GPTBot, ClaudeBot, PerplexityBot, Google-Extended, Apple Intelligence, Common Crawl, and others) so engines like ChatGPT, Claude, and Perplexity can cite TownVue accurately when they answer questions about local businesses and events. Aggressive crawlers with poor referral value are explicitly blocked.
  • New: /llms.txt index file lists TownVue's top town hubs, category pages, and main entry points in a single file AI search engines can fetch in one request. Refreshes hourly so it tracks listing growth.
  • New: structured data on town and category pages now includes FAQPage markup that mirrors the visible accordion, so search engines can surface those answers directly.
  • New: detail-page structured data adds a disambiguatingDescription field carrying the new factual summary, alongside the owner-authored description.
  • Improved meta descriptions on detail pages: when an owner's description is sparse, search snippets now fall back to the auto-generated factual summary instead of appearing empty.
  • Cleaner page titles across town pages.

v2026.04.28 — April 28, 2026 — Town landing pages, city intros, and paywall polish

New: Town landing pages

  • New: every town with active listings now has its own page at /in/{city-state} - for example, /in/powell-oh. The hub page surfaces local businesses, upcoming events, experiences, and trading post listings on one screen, with quick links to dedicated sub-pages for each content type.
  • New: state directory at /in lets visitors browse TownVue by US state, then drill into towns. Each state card previews the most active towns up front.
  • New: specialized landing pages for common business categories - /in/powell-oh/businesses/restaurants, /breweries, /plumbers, /dentists, and 100+ others. These pages target high-intent local searches like "restaurants in Powell OH".
  • New: every town and specialized page features a unique intro paragraph grounded in the actual local listing mix. Generated in the background; never slows down a page load.
  • New: detail pages for businesses, events, experiences, and trading post items now show a "Discover more in {City}, {State}" section near the bottom with up to six similar local listings.
  • New: "More in {City}, {State} →" link added next to the address on every detail page so visitors can jump straight to the city hub.
  • New: the header location chip now auto-syncs to the town or detail page you're viewing, but only when the page is outside your current search radius - your intentional radius choices are respected.
  • New: all listings on town pages appear in a fresh random order on every cache cycle, honoring the TownVue principle that no listing gets algorithmic preference. Events stay chronological so upcoming events surface first.
  • Town pages use a clean compact-card grid (image + name + location + price/date) so 4–6 cards per row fit comfortably on desktop.
  • Section ordering on the city hub adapts to where you came from - clicking "More events in {City}" from an event detail page surfaces events first; same for businesses, experiences, and trading post.

Updated paywalls

  • The Business, Events, Experience, and Trading Post paywalls now list the same benefits visible on the Pricing page - articles & blog posts, featured showcase video, analytics dashboard, unlimited messaging, and priority support are now spelled out alongside the per-listing perks.
  • The Unlimited tier on the Business paywall is now framed as "Everything in Business Listing, plus..." so the value over the $10 monthly tier is unambiguous instead of a side-by-side feature parity.
  • The "this town is just getting started" call-to-action on town pages now lists every way to contribute - list a business, post an event, add an experience, list in the trading post, or share a community post.

SEO improvements

  • City and state landing pages emit Schema.org CollectionPage, BreadcrumbList, and ItemList structured data so Google understands the geographic + content hierarchy.
  • Specialized business landing pages (like /in/powell-oh/businesses/restaurants) emit a six-level breadcrumb chain: Home → Towns → Ohio → Powell, OH → Businesses → Restaurants.
  • Sitemap now includes /in, every state hub, every qualifying town, every content-type sub-page, and every indexable specialized business page — bounded by listing-count thresholds so thin pages stay out.
  • Paginated town sub-pages now emit <link rel="prev"> and <link rel="next"> for cleaner pagination crawl.
  • Real-estate trading post listings now emit RealEstateListing structured data instead of generic Product, silencing Google Search Console warnings about missing review/rating fields that don't apply to homes.
  • Trading post product structured data now includes hasMerchantReturnPolicy and shippingDetails (encoded honestly: returns not permitted, $0 shipping for local pickup) and uses Organization for the brand field per Google's preferred type.
  • Experience listings now emit Service structured data instead of Product (Service has no recommended review/rating fields, eliminating non-critical warnings on every experience page).

Bug fixes

  • Fix: clicking "Details" on a card from inside a town page no longer 404s. The Business, Events, and Trading Post card partials previously generated relative URLs that broke when rendered outside their original controllers.
  • Fix: paid experiences and paid events no longer get filtered out of town landing pages. The earlier filter incorrectly applied the free-listing approval gate to all experience and event types.
  • Fix: image-counter badges that were unreadable on town card thumbnails are now hidden in town contexts (they remain on the original Index pages where they're useful).
  • Fix: the tracking ID was misconfigured. Production now reports to the correct measurement ID.

v2026.04.24 — April 24, 2026 — SEO enrichment, wizard fixes, and performance tuning

SEO

  • New: detail pages for businesses, events, experiences, trading post items, and community posts now include rich Schema.org structured data so Google understands each page's ratings, price, location, availability, breadcrumbs, and more.
  • New: links shared in iMessage, Slack, Facebook, and X now show each listing's own image, title, and description instead of the generic TownVue fallback. Applies to all five detail page types.
  • Fix: corrected the Facebook page link and removed an invalid property that Google's validator was flagging in our site-wide structured data.
  • Images newly uploaded to Cloudinary are now named after the listing slug instead of the raw file name (for example, joes-pizza-storefront instead of IMG_4532). Helps Google Image Search. Existing images are unchanged.
  • New images uploaded to events, experiences, and trading post listings now default to descriptive alt text using the listing name instead of the raw filename.

Wizard fixes (create and edit forms)

  • Fix: the "Create" and "Save Changes" buttons at the top of the business, event, and experience wizards now actually submit the form. They were silently no-ops in several places.
  • Fix: when a required field is missing or invalid, the wizard now shows an error list at the top of the page. Previously the errors were hidden, so you just appeared to land back at step 1 with no explanation.
  • Fix: deleting an image or setting a primary image inside the event, business, or experience edit wizards no longer reloads the page and no longer drops you back to step 1.
  • Fix: image delete and set-as-primary now work inside the event and experience edit wizards. The server endpoints were missing.
  • Fix: free-experience creation no longer fails silently for admins. The checkbox was not binding correctly.

UX

  • Fix: success and error banners, like "Event updated successfully", no longer follow you to unrelated pages. They appear on the page you just edited, and only there.
  • Fix: on Account → Analytics, the "Community Post" badge in the listings performance table no longer renders black text on a black background.

Performance

  • Detail pages and favorites queries now issue split database queries instead of one giant join, avoiding slowdowns for listings with many images.

v2026.04.22 — April 22, 2026 — Favorite-driven email nudges, favorite polish, and subscription cleanup

  • New: when something you've favorited is updated with meaningful changes - a price drop, new hours, added photos, cancelled event, coupon posted, a new comment on a community post you follow; you'll now receive an email so you don't miss it.
  • New: if you haven't favorited anything in a while, you'll now receive a gentle re-engagement email inviting you back. Runs daily.
  • Fix: Trading Post listings are now favoritable. The heart button has been added to both the browse grid and the listing detail page.
  • Fix: on Account → My Favorites, trading post thumbnails now display correctly instead of showing a blank image.
  • Fix: paid experiences no longer incorrectly display the "This Experience Is Not Visible to the Public" banner. The banner was triggering on paid listings that were actually live and visible to the public.
  • Fix: inactive experiences no longer leak onto the Experiences browse page.
  • Fix: the favorite button on experiences now matches the style and placement used on businesses, events, and trading posts.
  • Fix: Account → Subscriptions no longer shows abandoned-checkout placeholder rows that cluttered the page. Unlimited-plan users now correctly see their linked item slots as Active instead of stuck in Incomplete.
  • The Community page now shows every post in a paginated grid. Previously, only the first featured post and a handful of others were surfaced; additional featured posts were hidden.
  • Featured posts are highlighted with a badge and a warning-colored border, and are automatically demoted after 7 days so the feed stays fresh.
  • Pagination now shows a proper page list with a "Showing X–Y of N posts" counter.
  • Fix: the Sign In button on business, event, and experience detail pages now goes to the login page. It was previously reloading the current listing with stray query parameters instead of navigating to sign-in.
  • Search engines no longer crawl QR code images or API endpoints, keeping crawl budget focused on real listings.

v2026.04.16 — April 16, 2026 — Community editor, listing slugs, and pricing

  • Community posts: richer editor with styled block embeds for more expressive formatting.
  • You can now edit the URL slug on your business, event, experience, and trading post listings so the link reads how you want.
  • Service area selection on trading post listings now validates the area properly.
  • Homepage surfaces more community content in expanded widgets.
  • Pricing page promotes articles, blog, and the new showcase video benefits for subscribers.
  • Animated SVG logos now keep their animations when you upload them.

v2026.04.15 — April 15, 2026 — SEO fixes

  • Detail pages now include canonical URLs so search engines don't split authority across duplicates.
  • Inactive and past listings are marked noindex and stay out of search results.
  • Login and sign-in links no longer waste crawl budget.
  • Community posts are now included in the public sitemap.
  • Links to TownVue pages shared on Facebook, X, LinkedIn, and iMessage now show rich previews with an image and summary (Open Graph / Twitter Card).
  • The experience details page's "More from this Host" section now shows listing thumbnails.

v2026.04.13 — April 13, 2026 — Showcase video, AVIF, and polish

  • Add a showcase video to any business, event, experience, or trading post listing — a featured video that appears at the top of the details page.
  • AVIF image uploads are now supported alongside JPG, PNG, and WebP.
  • Cleaner cards on the community and home pages, with brand-colored share icons.
  • Claim and Get-Listed pages: layout polish and live stat counters.
  • New Get-Listed marketing page for cold-outreach traffic to learn about TownVue before signing up.
  • Claim landing page rewritten with clearer CTAs that route directly into subscription signup.
  • Sitemap cleanup: added several missing static pages, removed dead entries.

v2026.04.10 — April 10, 2026 — Community posts, fully launched

  • Community posts now have analytics, favorites, search, and draft support.
  • AI Assist on community posts is disabled until you've entered a title, and defaults to a 300-word length.

v2026.03.24 — March 24, 2026 — Business listing fixes

  • Fix: deleting a photo from a business listing no longer throws an error.
  • Fix: Account → My Listings now shows your current photos instead of cached older ones.

v2026.03.20 — March 20, 2026 — Email validation and subscription alerts

  • TownVue support receives an email notification whenever a new subscription is purchased.

v2026.03.19 — March 19, 2026 — Community post UX and plan visibility

  • Community post editor: preview, inline validation, and a tone selector to steer AI Assist.
  • Fix: listing types now display correctly for users on unlimited plans.
  • AI Assist buttons disable after a successful request so you can't accidentally fire it twice.
  • Additional SEO optimizations across marketing pages.

v2026.03.18 — March 18, 2026 — Newsletters and message emails

  • Background job assembles newsletter content; Go High Level can now pull it through the API.
  • You'll receive an email notification the moment someone sends you a message on TownVue.
  • Password reset email refreshed with updated styling.

v2026.03.12 — March 12, 2026 — Smarter email checks on listings

  • Background sync pulls a curated list of disposable and spam email domains daily.
  • Dynamic MX lookups - and user-entered business email flag typos and unreachable mailboxes.

v2026.03.11 — March 11, 2026 — Sign-up and claim polish

  • Emails are trimmed on save so trailing spaces never block sign-in.
  • Claim flow has clearer step-by-step instructions.
  • Login and registration pages autofocus the email / first-name field so you can start typing immediately.