Version history
Breadcrumb navigation on /the-human-made-me-do-it page. The page is linked from the site footer but had no visible breadcrumb trail, unlike all other public-facing pages. Added a Home › Why TJ runs this site breadcrumb using the same aria-label component pattern.
Breadcrumb navigation and BreadcrumbList JSON-LD on /random/preview page. Replaced the simple Home link with a proper aria-label breadcrumb trail (Home › Random Discovery) matching the pattern used on other site pages. Added breadcrumb structured data to the WebPage JSON-LD block and a descriptive meta description for the page.
Structured data on /submit page. Added WebPage JSON-LD schema and BreadcrumbList JSON-LD structured data to the submit page, completing structured data coverage across all major landing pages (browse, about, for-artists, submit).
Structured data upgrades for index and detail pages. Resource detail pages upgraded from WebPage to ItemPage schema with richer about data. Categories, tags, and for-artists pages upgraded from BreadcrumbList-only to CollectionPage schema with mainEntity pointing to the WebSite and inline breadcrumb, completing the structured data upgrade arc across all major directory entry and detail pages.
Visual breadcrumbs on /categories and /tags pages. Both directory index pages had JSON-LD BreadcrumbList structured data but no visible breadcrumb navigation. Added aria-label breadcrumb trails matching the pattern used on browse, submit, for-artists, and about pages.
Visual breadcrumbs on About page. Added a visible nav aria-label breadcrumb trail (Home › About) to the /about page, matching the same component pattern used on submit, for-artists, and browse pages. Also added BreadcrumbList JSON-LD structured data to complete the schema markup, bringing the About page in line with the other major landing pages.
404 suggestion cards markup fix. The 404 page's suggested resources no longer wrap category/taxonomy links inside a larger card link. Each suggestion now uses a valid card container with a direct resource title link and separate taxonomy links, preserving the same recovery paths while improving click behavior and accessibility.
Browse page breadcrumb navigation. Added a proper nav aria-label breadcrumb trail to the /browse page (Home › Browse), matching the same component pattern used on submit, resource detail, and for-artists pages. Visitors get consistent visual and accessible breadcrumb navigation from the browse entry point.
Admin dashboard overview stats expanded. Added Total Listings and Approved stat cards to the /adm overview grid. Admins now see at-a-glance directory size and approval count alongside users and pending listings.
aria-current on active nav links. Global nav links (Browse, For Artists, About) now carry aria-current=page when they point to the current route. Screen readers use this to announce the active page in navigation landmarks — standard WCAG accessibility. Added currentPath to res.locals so the header can detect the active route.
Pagination rel links for directory pages. Paginated browse, search, category, subcategory, and tag result pages now emit rel=prev and rel=next link tags in the page head when adjacent pages exist, giving crawlers and assistive tooling clearer sequence metadata while preserving clean canonical URLs.
Skip-to-main-content accessibility link. Added a keyboard/screen-reader skip link at the top of every page. Visually hidden until focused, then appears as a fixed button at the top-left of the viewport. Lets keyboard and assistive-tech users bypass the nav and jump straight to page content — standard WCAG accessibility best practice.
Visual breadcrumbs on For Artists page. The /for-artists landing page had JSON-LD BreadcrumbList structured data (Home › For Artists) but no visible breadcrumb navigation. Added a visual breadcrumb nav using the same component class as the submit and resource detail pages, completing the visual breadcrumb set for all major landing pages.
Empty-state sort suppression on taxonomy pages. Category, subcategory, and tag pages now hide the sort row when there are zero results and show an inline call-to-action instead. Mirrors the same fix applied to the search page in v0.7.153.
Search no-results UX. Search page now hides the sort row and category filter chips when results are zero and shows an inline call-to-action with links to browse categories, tags, or the random resource picker.
humans.txt + robots.txt link. Added public/humans.txt with site credits, maintainer info (Todd Russell / AI Kills), and the tech stack used to build the site. Linked from robots.txt via a Human: directive. A standard SEO/transparency best practice.
og:image + twitter:image dimensions. Added explicit og:image:width (1408) and og:image:height (744) to the global header alongside the existing og:image, and twitter:image:width and twitter:image:height. Twitter uses these to pre-render link-card images without a download round-trip.
Moderation scan summaries. The moderation helper scan command now supports --summary for compact status, AI-assessment, pricing, and review-hint totals, while preserving the existing scan --json array output unless --summary is requested.
og:site_name + Organization JSON-LD. Global header now emits og:site_name on all pages for consistent rich-link rendering. Homepage also includes Organization JSON-LD schema with founder info and GitHub same-as link.
og:type: article for resource pages. Resource detail pages now set og:type=article instead of the generic website type, giving Discord, Twitter/X, and other platforms a clearer signal for richer link previews.