You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Product gallery interactions: hover zoom, a full-size lightbox, and
slide transitions between images.
Structured data for search engines: product pages emit schema.org/Product (with price, availability, and ratings) and
portfolio pages emit schema.org/CreativeWork.
Product pages now always have a meta description — when there's no
excerpt, one is derived from the product's description.
Changed
The sitemap now covers every content type. Pages were missing
entirely, and every product URL in the sitemap pointed at a route
that didn't exist. Sites created from an earlier seed need a
one-time schema update (seeds don't re-apply to existing
databases): give each collection the URL pattern and SEO flag it has
in seed/seed.json, via the admin's content-type settings or the
schema API.
Page titles use one separator everywhere (a compact | by default),
and it's now editable under Settings → SEO in the admin.
Demo imagery is now real photography (CC0/CC BY, credited in CREDITS.md) instead of placeholder artwork, with AVIF/WebP
variants for the heavy images. Shop products each get distinct
photos — several previously shared one. README and screenshots
refreshed to match.
Fixed
The demo post "Throught the lens" is now "Through the lens" — title,
URL, and every link to it. Existing databases need the same rename
applied to their content.
Product gallery glitches: a slide getting stuck when revisiting an
image, plus zoom, keyboard, and lightbox-focus issues.
Several homepage links pointed at posts that don't exist in this
seed.
Long unbroken words or URLs in blockquotes could overflow the screen
on narrow viewports.
Injected content (embeds, ads, third-party widgets) pasted into
posts/pages could carry fixed, oversized dimensions with no theme
sizing constraint. Added a generic max-width: 100% + overflow: hidden guard on iframe/embed/object inside content
areas — no ad-network-specific selectors, so it holds regardless of
provider. Documented the existing html, body { overflow-x: clip }
rule as an intentional last-resort backstop for the same class of
bug.