The Best Screen Printing
Rebuilding a print shop's website so customers can order, not just ask.
- Role
- Design, development & SEO
- Type
- E-commerce + local SEO
- Platform
- Astro on Cloudflare Workers
Chapters
01 Overview
The Best Screen Printing (TBSP) is a screen printing and embroidery shop in Downtown Los Angeles, with a second production facility in Cleveland. I worked there from 2017 to 2020 on the brand, the website, SEO and paid ads.
In 2026 I came back to rebuild thebestscreenprinting.com from the ground up: from a WordPress site where every order started with a quote form, to a fast static site where customers browse real products, place their design, pick a deadline and pay, or simply tell Max what they need. Max is the agent I built for Catch Lead, here working as the shop's merch agent.
02 Challenges
- Years of search history on the line. The old site had 2,662 URLs, and the home page alone had about 245,000 search impressions in 16 months. A careless migration would have thrown that away.
- Most pages were thin. Nearly 2,500 of those URLs were auto-generated "service in city" pages, the kind search engines now treat as noise.
- Every order started with a wait. Buyers filled in a form and waited for a reply before they saw a price, which is where many of them left.
- Custom merch is hard to picture. Print placement, print method, size splits and turnaround fees are decisions a first-time buyer doesn't know how to make.
03 UI/UX solutions
I designed the site around one change: let people buy first, and keep a quote and a real person one tap away for everything else.
A catalog you can order from
403 blank styles from brands buyers already know, grouped the way people shop: tees, hoodies, hats, polos, bags. Each product page has a design preview with the print areas for that garment (front, back, chest, sleeves), size steppers that show the price per piece, a recommended print method, and Normal, Rush or Super Rush turnaround with the fee shown up front.
Max as the front door
The search bar takes plain language ("50 black tees for our tour, front and back, by Friday") and hands it to Max. One tap starts a voice call. Max picks the product, splits the sizes, checks each design and places it front, back or sleeve, and returns a priced order card. Change anything out loud and the price updates. The details he collects fill the checkout, and the customer approves a free proof before anything prints.
Pages that answer the search
The pages worth keeping were rewritten with local facts, and new pages were added where searches had no good answer: industry pages for bands, teams, schools and companies, and regional shipping pages built from past out-of-state quote requests. The same facts (6-piece minimum, turnaround, free shipping from $300) read the same everywhere.
Built for the phone
A bottom tab bar, a cart that remembers, and an order tracker, because most customers find the shop from a search on their phone.
The migration
2,662 old URLs. Every one with a decision.
Each address on the old site was checked against 16 months of Search Console data before anything moved. The pages people actually found were kept at the same URL and rewritten. The rest were folded into the page that answers the same search, or retired.
- Kept and rewritten
- 104
- Redirected (301)
- 2,503
- Retired (410)
- 55
On the live site
Shop first, with Max one tap away.
The home page opens on a real order mocked up on a real blank, with the price per piece and the minimum in the first sentence. Ask Max sits inside the search bar, and on a phone he takes the center of the tab bar.
04 Technical solutions
A migration driven by data
Every old URL lives in one spreadsheet with its clicks, impressions and average position, and an action: keep, 301 or 410. A build script turns it into a redirect table, and a Cloudflare Worker answers old URLs before any page is served. A check script then requests every old URL against the preview and fails on anything unexpected. Kept pages stay at their exact address, trailing slash included, so rankings carry over without a redirect.
Static and fast
The site is built with Astro into 585 static pages and served from Cloudflare's edge. Styles are inlined into each page and hashed assets are cached for a year, so pages paint complete on the first frame.
One source of truth
The business name, address, hours, minimum and turnaround options live in one file that feeds every page, the structured data for search, and the quote emails. The catalog syncs from the shop's admin, and refuses an update that would shrink it by more than half.
Live voice in the browser
The shop's studio issues a short-lived token with Max's instructions and tools locked in. The browser then streams the caller's microphone to the voice model over a WebSocket and plays the reply back as it arrives, so callers can interrupt him mid-sentence. When Max picks a product or places a design, the tool call comes back as a card in the chat. The audio pipeline is the one from the Catch Lead widget.
Quotes the shop can act on
A request that still needs a person is sent by the Worker with the customer's artwork, rendered mockups, placements and sizes, plus a branded PDF summary for the shop and the customer.
A weekly SEO loop
A script pulls Search Console every week and writes a report: pages seen but not clicked, pages ranking just off page one with the searches to answer, searches with no good page yet, and traffic still landing on redirected URLs. New pages are announced to search engines through IndexNow.
05 Outcome
The new thebestscreenprinting.com is live, replacing the WordPress site in October 2026.
- Customers can go from a blank tee to a paid order without waiting for a reply.
- Max takes orders by voice or text on every page, with designs placed and priced in the conversation.
- All 2,662 old URLs are accounted for, with the 104 kept pages carrying 96% of the clicks the old site earned.
- A weekly Search Console report drives what gets written or fixed next.