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
The View on site eye (and the editor's View on Website) also works for extra collections such as a portfolio, using the site's routes.collections rule.
Added
Edge cache for public pages (src/edge-cache.ts): pages, lists, sitemaps and feeds are kept on Cloudflare (pages 5 minutes, sitemaps/feeds 60 minutes by default) and replaced at once on every admin save through a content version in KV. ETag and Last-Modified with 304 answers for browsers and crawlers; x-bizz-cache: HIT/MISS. Never for the admin, sign-in, API, files or signed-in people. Settings › Cache: on/off, both durations, "Clear the cache now". See docs/caching.md.
Changed
Sitemap choices: posts are split per section (Blog posts, News posts, each with its own sitemap, e.g. /sitemap-news.xml); "Other pages" is now "Pages built into the site, not in Content". /sitemap-posts.xml keeps working (all posts).
Added
Sidebar: sites can pin collections as their own entries with a count (setSidebarCollections([{ name: 'portfolio', label: 'Portfolio' }])), next to Blog and News.
Changed
Sidebar counts are kept in KV (CACHE_KV) and cleared when content is created, saved or deleted, so the sidebar never waits on a count.
Added
RSS feed (SEO plugin): /feed/ (all posts) and /<section>/feed/ (blog, news), RSS 2.0 like WordPress: featured image first (webfeedsFeaturedVisual) plus media:content, author, categories and tags, full text in content:encoded, "appeared first on" line; pages link to it. SEO › Indexing: on/off, number of posts, full text or summary. Sites call seoFeed(url, db).
SEO › Indexing › Include in sitemap: tick which parts go into /sitemap.xml (pages, posts, categories, tags, other pages, and extra collections a site adds with routes.collections, e.g. portfolio). Each settings tab now saves only its own fields.
Security
No technical errors shown to visitors. Any error, or a 5xx from the CMS engine (some of which included the raw database error), becomes a friendly page (or {"error":"Something went wrong","reference":"…"} for the API) with a short reference code. The details go to the console and to Settings › Error log (30 days, administrators only, search by reference). src/errors.ts; sites can give the page their own design with setErrorPage().
Added
Social Share plugin (Admin › Plugins › Social Share): a share bar for posts with copy link, LinkedIn, X, Facebook, WhatsApp, Pinterest, e-mail and the phone's share menu. Plain links with built-in icons: no third-party scripts or tracking. Pick the buttons and the label in the settings. Sites place it with await shareBar(db, url, title, image?) (empty while the plugin is off) and theme it with CSS on .bz-share / .bz-share-btn (--bz-share-c = brand colour). src/plugins/social-share.ts.
SEO › Redirects: a Not found list (last 90 days) of addresses that ended on "page not found", with hits, last visit and where visitors came from; Redirect… pre-fills a redirect, Dismiss removes it, and adding a redirect clears it. Sites call seoNotFound() where they return their 404 page.
Fixed
SEO: no "keywords" in the Article structured data. Search engines ignore it, and it showed anyone the keyphrases a post targets. Focus and related keyphrases stay in the editor's SEO analysis only. src/plugins/seo.ts.
SEO page and the editor's SEO card use the admin's standard tab bar (as on Settings) instead of their own underline tabs.
Sidebar jumped on every click. Blog and News were added by a script at the end of the page, after the sidebar was drawn. The server now puts them into the page (counts cached for a minute), so the sidebar is complete on the first paint.