site: ui/ux refresh, seo pass, find/lists indexes, 25 new finds
- newspaper-style masthead (stats | "Unique" | About/Blog) on every page with per-page italic subheader + last-updated date on listing pages; sitewide 42rem reading width - pinterest home (hero + masonry, "load more"); old list view at /index3/ - new pages: /about, /blog, /legal, /find/, /finds/, custom 404 - footer collection links now clickable; "founded" stat replaces "updated" in the masthead - centralised SEO component with per-page json-ld (Review, BlogPosting, Product, Article, CollectionPage, ItemList, BreadcrumbList, etc.); @astrojs/sitemap + @astrojs/rss; robots.txt; promoted finds canonical to their review - memoize getSiteStats() so the masthead/footer counts don't multiply per-page build cost - 25 new daily-finds captures
This commit is contained in:
@@ -2,6 +2,20 @@
|
||||
|
||||
## May 2026
|
||||
|
||||
- Comprehensive SEO pass: new `<SEO>` component centralising every head-level tag (canonical, Open Graph, Twitter Card, theme-color, RSS alternate, JSON-LD); page-aware structured data — `Review` + `BreadcrumbList` on review pages, `BlogPosting` on posts, `Product` + `BreadcrumbList` on finds, `Article` + `ItemList` on finds superposts, `CollectionPage` + `ItemList` on category/tag/sources/blog pages, `WebSite` + `Organization` + `ItemList` on the home page, `AboutPage` on /about
|
||||
- Add `@astrojs/sitemap` (auto sitemap-index.xml excluding `/grid/`, `/index3/`, `/404/`) and `@astrojs/rss` (feed at `/rss.xml` covering reviews + posts + finds superposts); add `public/robots.txt` pointing at the sitemap
|
||||
- Add custom 404 page with recent reviews + nav fallback (noindex)
|
||||
- Wire promoted finds to canonical to their review (via `promotedTo`); other finds self-canonical
|
||||
- Noindex `/grid/` and `/index3/` (kept linked but absent from sitemap and search)
|
||||
- Per-page descriptions + OG image alt text for every page; count-bearing titles and descriptions on category/tag pages (`{category} ({n})`); hero image upgraded with real alt text, `fetchpriority="high"`, `loading="eager"`, `decoding="sync"`; static OG fallback tiers in `/public/og/` (default/reviews/finds/posts — PNGs to be supplied)
|
||||
- Set `trailingSlash: 'always'` and `build.format: 'directory'` explicitly to keep canonical URLs stable
|
||||
- Memoize `getSiteStats()` so per-page SEO additions don't multiply build cost
|
||||
- Site-wide UI/UX refresh: newspaper-style masthead on every page (entry-count + last-updated on the left, large serif "Unique" wordmark centered between thin rules, About · Blog nav on the right), per-page italic subheader with last-updated date on listing pages, and an SEO-friendly footer with Browse / Collections / About link columns
|
||||
- Home page swapped to a Pinterest-style hero + masonry grid; the plain chronological list view moves to `/index3/`
|
||||
- New `/about` stub and `/blog` index (Astro page over the `posts` collection with an empty-state when no posts exist)
|
||||
- Single 76rem page width across the entire site (replaces the 42rem default + `wide` prop split); article prose is constrained to a 42rem reading measure inside the wider layout so reviews/finds stay readable
|
||||
- New `getSiteStats()` helper in `src/lib/entries.ts` powers the masthead counts and footer Collections column live
|
||||
- Amazon affiliate handling: outbound links to `amazon.com`, `amzn.to`, `a.co`, and `smile.amazon.com` get the configured tracking ID appended at render time, are marked with `rel="sponsored noopener noreferrer"`, and display a clearly-signposted "Affiliate" badge plus a one-line FTC-style disclosure on review and find pages. Tracking IDs live in `src/lib/affiliate.ts` keyed by marketplace; non-US Amazon hostnames are recognized but left untagged until a marketplace-specific ID is added
|
||||
- Restructure into a four-collection content pipeline: `find` (captured items, hidden from indexes), `finds` (editorial superposts that reference find slugs in a Pinterest-style grid), `reviews` (existing — gains optional `source` and `fromFind` fields for graduations), and `posts` (existing, generic essays)
|
||||
- New routes `/find/<slug>/` (direct URL only — finds don't appear on home, tag, or category pages) and `/finds/<slug>/` (superpost detail with intro + grid)
|
||||
- New components: `FindCard`, `FindsGrid`, `Backlinks`, `SourceBadge`
|
||||
|
||||
Reference in New Issue
Block a user