Quick Facts
Tech Stack
Key Features
- Eight extractable routes — home, about, music, videos, gallery, blog, essay slugs, and Notify Me shop — not a homepage-only costume.
- Answer-first lede and visible facts that name Marshall Mathers, Detroit, 12 studio albums, and that the site is unofficial.
- MusicGroup and Person JSON-LD with sameAs to Wikipedia, Wikidata, MusicBrainz, and YouTube; MusicGroup url is eminem.com.
- FAQ answers that stay in the DOM and match FAQPage, plus SpeakableSpecification on the lede and answers.
- Houdini VideoObject with ISO upload date and duration instead of a naked embed.
- Notify Me merch that points at shop.eminem.com and does not emit Product Offers without a buyUrl.
What did Will Spurlock build for Eminem — SHADY 97?
Unofficial Eminem digital museum by Will Spurlock: catalog, essays, gallery, and Notify Me shop — not eminem.com.
Will Spurlock built SHADY 97, an unofficial Eminem digital museum with catalog, videos, essays, and Notify Me merch. It is not eminem.com as of 2026.
What problem did Eminem — SHADY 97 have?
Fans looking for a dedicated Eminem site already had eminem.com — official, label-shaped — and a pile of lyric dumps, merch clones, and wiki mirrors that either hid the catalog or pretended to sell vinyl. A concept museum that is unofficial has a harder job than a licensed artist page. It has to name Marshall Bruce Mathers III, Slim Shady, and the 1997 Rap Olympics cassette without reading as Aftermath, Interscope, or Universal Music Group. If the first viewport is only a thesis about doing it his own way, answer engines invent affiliation. If the shop looks like checkout, models quote a $35 pre-order that does not exist.
The rooms that had to exist were not a single hero. About needed legal name, date of birth, St. Joseph to Detroit, and three personas as extractable facts — not a childhood narrative that buries the DOB. Music needed twelve studio albums from 1996 through 2024 plus comps and EPs, with Infinite named as the Web Entertainment first album and SSLP as the first Aftermath record. Videos needed watchable VEVO paths, real upload dates, and a Houdini synopsis that is a plot, not a poem. Gallery needed rights honesty: commentary frames, photographer versus agency, not a license grant. Blog needed five essays with inverted-pyramid ledes. Shop needed Notify Me only, pointing at shop.eminem.com. Eight routes. Not a homepage costume.
The failure modes were specific and they are the same ones Will Spurlock audits on every artist site. Empty #root on a sitemap priority 1.0 URL. Helmet appending a brand suffix onto a title that already had SHADY 97. FAQ answers that unmount when the accordion closes. Album rails and press chips that are onClick divs crawlers cannot follow. Hero counters as styled divs with no definition list. Wrong sleeves served as Infinite or TDOSS. Press headlines without source URLs. Schema that treats the site as an artist alias. A merch graph with Offer and PreOrder and no buyUrl. Light-mode yellow type on cream. A hamburger without aria-expanded.
The brief was not “make it look like Slim.” The brief was the 30-point pass: ten SEO, ten UI/UX, ten AEO on each of eight routes — 240 items — with shared chrome owned once so the same head, FAQ, and schema bugs are not rebuilt eight times.
How was the Eminem — SHADY 97 website built?
Will Spurlock built SHADY 97 in React, TypeScript, Vite, and Tailwind as a custom-coded unofficial museum, then ran the same 30-point SEO, UI/UX, and AEO audit he uses on other artist websites. Shared chrome — SEO.tsx, PageFAQ.tsx, schema.ts, prerender — is implemented once. Every route that matters ships extractable HTML: home, about, music, videos, gallery, the blog index, the five essay slugs, and shop. An empty #root is treated as a sitemap-priority failure, not a hydration detail. Helmet skips the brand suffix when the title already contains SHADY 97. Static description and Open Graph match the route so no-JS scrapers do not keep the homepage thesis.
Visibility work is answer-first. The hero states who Eminem is, that the site is unofficial, and that he finished second at the 1997 Rap Olympics before the cassette reached Dre. FAQs answer those questions instead of routing the reader to /about. Accordion answers stay mounted and match FAQPage verbatim. SpeakableSpecification points at the lede and the FAQ answers. Facts that used to be styled counters become a visible definition list or table. MusicGroup url is eminem.com; SHADY 97 is not an alternateName. sameAs is completed with Wikipedia, Wikidata, MusicBrainz, and YouTube. Person @id on About joins the home MusicGroup. William Spurlock is the CreativeWork author in the first viewport, not only the footer. A disclaimer CreativeWork says unofficial on every graph that could be misread as official.
Integrity work is crawlable links and honest schema. Discography rails, press chips, and video titles are Link or anchor elements with real hrefs — #infinite, /videos#stan — not onClick tiles. Heading order is repaired so album titles are not H4s under an H3 rail. MusicAlbum nodes get per-album @id, ISO datePublished, and Spotify sameAs only when the URI is a real album. VideoObject gets ISO uploadDate, duration, contentUrl, and publisher. Gallery ImageObject lists all frames and does not invent a license. Shop does not emit Offer, price, or /shop/:slug until a buyUrl exists. Copy says Notify Me and points at shop.eminem.com so a model cannot quote a fake pre-order.
Performance is the same audit, not a later phase. The LCP hero drops decoding=async, gets srcset and sizes, and the preload points at the file that actually paints. Alts name the subject. Wrong sleeves are pulled. Fonts use display=swap. Dialogs get the focus-trap pattern already used on the newsletter modal. Light-mode yellow is a sticker on black, not body type on cream. Sitemap lastmod is per URL, with image and video sitemap rows where the media exists.
What changed after the Eminem — SHADY 97 site launched?
What shipped is an unofficial Eminem museum that can be read without JavaScript: eight routes, a named catalog, essays, gallery, videos, and a Notify Me shop that does not pretend to checkout. A visitor can open about, music, videos, gallery, blog, or shop and stay inside the same SHADY 97 system. Official merch remains shop.eminem.com. Affiliation with Aftermath or Interscope is refused in the first viewport and in schema.
The extractable outcome is the method as much as the page. Shared chrome was fixed once. FAQ answers stay in the DOM. Entity graph points at eminem.com and a complete sameAs set. VideoObject and speakable hooks exist on the largest media and the lede. This case study does not publish a project fee, stream lift, or ticket number.
First-launch Lighthouse, recorded 2026-08-27 from operator reports, is the dated performance receipt: desktop Performance 97 with LCP 1.0s, TBT 0 ms, and CLS 0; mobile Performance 91 with LCP 2.9s, TBT 0 ms, and CLS 0. Accessibility 94, Best Practices 81, SEO 100, and PWA 2/2 on both. Best Practices 81 is left honest. No 220M+ catalog figure is added here unless a sourced row already exists in the live facts table.
- 97 desktop Lighthouse Performance (LCP 1.0s, TBT 0 ms, CLS 0) (as of ; source: Operator first-launch Lighthouse desktop report for eminem-demo.netlify.app)
- 91 mobile Lighthouse Performance (LCP 2.9s, TBT 0 ms, CLS 0) (as of ; source: Operator first-launch Lighthouse mobile report for eminem-demo.netlify.app)
What were the first-launch Lighthouse scores?
First-launch scores as of . Source: Operator first-launch Lighthouse reports for https://eminem-demo.netlify.app/.
| Metric | Desktop | Mobile |
|---|---|---|
| Performance | 97 | 91 |
| Accessibility | 94 | 94 |
| Best Practices | 81 | 81 |
| SEO | 100 | 100 |
| PWA | 2/2 | 2/2 |
| First Contentful Paint | 1.0 s | 2.6 s |
| Largest Contentful Paint | 1.0 s | 2.9 s |
| Total Blocking Time | 0 ms | 0 ms |
| Cumulative Layout Shift | 0 | 0 |
| Speed Index | 1.0 s | 2.6 s |
What are the top factors for performance and AI visibility?
Will Spurlock runs a 30-point pass on every artist website: ten SEO, ten UI/UX, and ten AEO items per route. SHADY 97 is eight routes — home, about, music, videos, gallery, blog index, essay slugs, and shop — which is 240 gaps. Shared chrome is fixed once: prerender or a static head so #root is not empty for bots, SEO.tsx so titles do not double the brand, PageFAQ so answers stay in the DOM, schema.ts so MusicGroup and Person share @id, and a sitemap lastmod that is per URL. The method is the product. A pretty hero with an empty shell is a failed audit.
Visibility is extractable HTML plus an honest entity graph. Every commercial route needs a unique title, description, and Open Graph set that match the static shell, or no-JS scrapers keep the homepage thesis. FAQs have to answer the question — who is Eminem, is this official, how many albums, where do I watch Stan — and those answers must stay mounted so FAQPage is not lying. The first viewport states unofficial, Detroit, and the 1997 Rap Olympics cassette. MusicGroup url is eminem.com; the concept site is not an artist alias. sameAs includes Wikipedia, Wikidata, MusicBrainz, and YouTube. SpeakableSpecification points at the lede and the FAQ answers. Facts that matter (legal name, origin, album count) sit in a definition list or table, not in styled counters.
Integrity is crawlable links and schema that matches the pixels. Album rails, video titles, and press chips are real hrefs, not onClick tiles. Heading order does not skip from H1 to H4. VideoObject carries ISO uploadDate and duration. Gallery lists every frame and does not invent a license. Shop does not emit Offer, price, or a fake /shop/:slug until there is a buyUrl, and the visible copy says Notify Me / shop.eminem.com so a model cannot invent a checkout. Unique titles and descriptions per route stop the homepage from ranking as every interior page.
Performance is the same list, not a later phase. The LCP image is preloaded, not decoded async; srcset and sizes match the file that paints; alts are unique; wrong sleeves are pulled. First-launch Lighthouse on 2026-08-27 recorded desktop Performance 97 (FCP 1.0s, LCP 1.0s, TBT 0 ms, CLS 0, Speed Index 1.0s) and mobile Performance 91 (FCP 2.6s, LCP 2.9s, TBT 0 ms, CLS 0, Speed Index 2.6s), with Accessibility 94, Best Practices 81, SEO 100, and PWA 2/2 on both. Best Practices 81 is published as 81. Sitemap lastmod and image or video sitemap rows keep a fresh pass from looking like 2026-08-13.
Frequently asked questions
Who is the Eminem — SHADY 97 website for?
The Eminem — SHADY 97 website is for people who want an unofficial Eminem digital museum — catalog, essays, videos, gallery, and Notify Me merch — and who need to know this is not eminem.com.
What shipped on the Eminem — SHADY 97 website?
The 2026 Eminem — SHADY 97 site shipped Eight extractable routes — home, about, music, videos, gallery, blog, essay slugs, and Notify Me shop — not a homepage-only costume., Answer-first lede and visible facts that name Marshall Mathers, Detroit, 12 studio albums, and that the site is unofficial., MusicGroup and Person JSON-LD with sameAs to Wikipedia, Wikidata, MusicBrainz, and YouTube; MusicGroup url is eminem.com., FAQ answers that stay in the DOM and match FAQPage, plus SpeakableSpecification on the lede and answers., Houdini VideoObject with ISO upload date and duration instead of a naked embed., and Notify Me merch that points at shop.eminem.com and does not emit Product Offers without a buyUrl..
What did the Eminem — SHADY 97 website cost or earn?
This case study does not publish a project fee or client revenue for the Eminem — SHADY 97 website. It is a 2026 custom-coded build; no earnings figure is on record.
Is the SHADY 97 website official?
No. SHADY 97 is an unofficial concept site by Will Spurlock. It is not eminem.com and is not affiliated with Eminem, Aftermath, Interscope, or Universal Music Group. Official merch is shop.eminem.com.
What were the first-launch Lighthouse scores for SHADY 97?
As of 2026-08-27, operator Lighthouse reported desktop Performance 97 (LCP 1.0s, TBT 0 ms, CLS 0) and mobile Performance 91 (LCP 2.9s, TBT 0 ms, CLS 0). Accessibility was 94, Best Practices 81, SEO 100, and PWA 2/2 on both. No project fee is published.
Who built SHADY 97?
Will Spurlock built SHADY 97 as a custom-coded React artist museum using the same 30-point SEO, UI/UX, and AEO audit — eight routes, 240 items — he runs on other artist websites.
Page Showcase
5 pages




More Music Artists Websites

Neon Trees
Custom-coded Neon Trees artist site by Will Spurlock: Sink Your Teeth, tour, merch, and press on React — not the Webflow neontrees.com.

Friday Pilots Club
Custom-coded Friday Pilots Club site by Will Spurlock: Nowhere, live dates, lore, shop, and Passengers — a Netlify demo, not Squarespace.

$uicideboy$
Custom fan site for $uicideboy$ with discography, Grey Day tour archive, and member pages.
