FlyRankSEO Audit · Aug 2026

platecrate.com · Client report

Why Plate Crate's organic traffic fell, and how to get it growing again

A two-stage drop: first Google's December 2025 and March 2026 updates cut the clicks reaching the site's 700-article Baseball 101 blog, then the blog itself was taken offline. The store, the product pages and the brand demand underneath are intact. The recovery plan reinstates the articles that were driving traffic, consolidates the rest, and adds commercial content on the store's own strengths.

Data Google Search Console · 23 Apr 2025 – 22 Aug 2026Crawl 24 Aug 2026 · raw HTML, 13 URLsRules SEO Audit Rules by Page Type + technical checks
Peak month
30,110
clicks, October 2025 (971/day)
Now
153
clicks/day, 1–22 Aug 2026 (−84%)
Impressions
−86%
126k/day (Feb 2026) → 18k/day (Aug 2026)
Blog articles live
0
of ~700 in GSC; all 301 or 404

Verdict

Root cause 1 — the blog content was not refreshed after the Google updates, and competitors overtook it (Dec 2025 → Apr 2026). The 700 "Baseball 101" articles produced 87% of all impressions and 47% of all clicks. Clicks halved in the December 2025 core update (positions and impressions unchanged, so the loss was CTR: AI Overviews and refreshed competitor pages began winning the click on the same queries). Informational content has to be optimized and updated on a cycle to hold those positions; the articles were not, so from 5 March 2026 impressions fell 85% in three weeks and the March 2026 spam + core updates (24 Mar – 8 Apr) locked the loss in. Semrush shows ranking keywords going from 49,400 (Feb) to 6,400 (Apr).

Root cause 2 — the blog was then taken offline (July/Aug 2026). Today every /blogs/baseball-101/… URL 301-redirects to the empty /blogs/news index; every /blogs/news/… article returns 404; the blog sitemap lists only two index URLs and both indexes contain zero articles. Articles were still live in the Wayback Machine on 8 June 2026. This is why the residual traffic is still sliding in August: the ~250 clicks/day that survived the algorithmic drop are now being sent to redirect targets with nothing on them.

What is not the cause. The redesign, the technical layer and the link profile. The store's canonicals, robots.txt, sitemap index, structured data and indexability are basically sound (details below), and Semrush's referring-domain count (1,129) shows no link loss. The store side of the site never went down: the homepage alone still earns ~12.7% CTR on brand queries.


1. What the data says

Where the traffic actually came from

Page type URLs in GSC Clicks (16 mo) Impressions CTR Reading
Homepage 1 71,597 562k 12.7% Brand demand. "plate crate" and misspellings alone are ~72k clicks in the query report.
Blog articles 700 112,162 37.7M 0.30% 87% of impressions, 47% of clicks, almost all informational ("what is ops in baseball", "how many innings"). Currently offline.
Products 183 24,449 2.1M 1.2% Tee Popper family dominates. 20 URLs are Merchant Center ?variant=…&utm_… duplicates.
Collections 74 21,212 2.5M 0.86% Tee Poppers (5.6k), Gifts (2.2k), All, Shirts, Softball, Bandit Sports.
Pages 40 7,109 668k 1.1% Support and monthly crate guides; mostly brand.

Two things follow. The blog was the site's only source of non-brand reach at scale (37.7M impressions), and roughly 73% of all clicks in the query report are branded. The commercial non-brand footprint (baseball subscription box, tee popper, baseball gifts, training aids) is small but converts, and it is untouched by everything that went wrong. Both layers need rebuilding: the content layer by reinstating what worked, the commercial layer by giving it content of its own.


2. Rule-based audit by page type

Each rule from the audit rules file was evaluated against the raw HTML fetched on 24 Aug 2026. Sample URLs: homepage; /products/teepopper (+ its ?variant= URL and the /collections/tee-poppers/products/rac-popper-bundle nested URL); /products/baseball-crate-monthly-subscription; /collections/tee-poppers, /collections/gifts, /collections/all, /collections/shorts?page=2; /pages/about-us, /pages/customer-service-info; /blogs/baseball-101, /blogs/news.

Critical Flag Pass Note

Homepage

Rule Status Finding
1 Meta title Flag 63 chars and the brand is duplicated: Plate Crate | Plate Crate | Monthly Baseball Subscription Boxes. Theme appends the shop name to a title that already contains it (same bug on the RAC bundle product). Fix the title template once.
2 Meta description Pass 154 chars, describes the business.
3–4 Canonical & root URL Pass Self-referencing absolute canonical. http:// and non-www 301 to https://www. in one hop.
5 Organization schema Flag Present but missing logo and contactPoint; sameAs contains four empty strings and uses http:// Twitter/Facebook URLs.
6 WebSite schema Pass SearchAction targets /search?q=.
7 H1 Critical No H1 at all. The hero heading "The most fun way to train for baseball" is an H2, preceded by two hidden H2s ("Products", "Subscribe to Newsletter") from the predictive-search and newsletter drawers.
8 Heading hierarchy Flag Sitewide: every page starts with the two drawer H2s before its own H1; H5/H6 used for styling ("Description", "Filter By", "join the team").
9 Above-fold content in HTML Pass Hero copy is server-rendered.
10 Body content Pass ~5,400 words in the DOM (much of it product-card text).
11–13 Navigation, internal links, footer Pass 228 internal <a href> links; mega-menu is crawlable HTML (69 header links); footer has policy/contact/blog links. 62 href="#"/empty links are drawer toggles (informational).
14 Images Flag 173 images; 13 without alt, 36 without dimensions; the first image in the DOM is lazy-loaded; hero uses generic names (Untitled_design_6.png, alt "Man img").
15 Logo Pass Alt "Plate Crate", linked to /. (Cannot match schema logo because it is absent, see rule 5.)
16 Trust signals Pass "4,759+ reviews", star ratings as text.
17 Language & viewport Pass lang="en", viewport OK, no hreflang needed.
18 Indexability Pass No noindex, robots.txt 200 with sitemap directive, sitemap index reachable.
19 Social tags Flag All tags present, but og:image is served as http:// (secure_url duplicates it as https). Image is 1200×628.
20 Page hygiene Critical 1.6 MB of HTML for the homepage (800 KB–1.4 MB on every other template). 10 synchronous scripts and 6 stylesheets in <head>. Server processing 868 ms before first byte. The largest technical issue on the site.

Product page

Rule Status Finding
1 Meta title Flag "Tee Popper Mini | Plate Crate" is 29 chars, under the 50-char floor and missing the category term ("baseball hitting trainer"). Titles are not templated across products (good).
2 Meta description Flag 257 chars (truncates). Written for the full-size Tee Popper, reused on the Mini.
3 Canonical Pass Variant URL and nested collection URL both canonicalize to /products/teepopper.
4 URL Note Slugs fine. 20 GSC URLs carry Merchant Center parameters (?variant=…&utm_source=google&utm_campaign=sag_organic); canonical handles them but they still earn ~1,200 clicks under the wrong URL.
5 Product schema Flag Two conflicting Product blocks on every product: the theme's (brand as Brand, mpn, aggregateRating 4.8/55, no sku) and Shopify's native one (brand as Thing, sku, per-variant offers). Neither has gtin. On-page price ($28.99) matches.
6 Breadcrumbs Flag Trail is Home › Product — the parent collection is omitted in both the visible trail and BreadcrumbList.
7 H1 Critical Two H1s ("Tee Popper Mini" twice — mobile and desktop title blocks both rendered). Subscription product page is correct with one.
8 Heading hierarchy Flag H1 → H6 ("Description") → H5 → H3 → H2. Description/specs/reviews/FAQ should be H2.
9 Product images Flag First image lazy-loaded; 4 missing alt; file names are descriptive.
10 Description Pass Unique, server-rendered, over 150 words.
11 Price & availability in HTML Pass Server-rendered; matches schema.
12 Reviews Flag Schema says 55 ratings; the review widget renders client-side so no review count or text exists in raw HTML. Google's product-snippet report (34k clicks) proves the rich result works today, but it rests on a JS-only widget.
13 FAQ block Flag Visible "faqs" accordion with no FAQPage schema.
14 Internal links Pass Related products rendered server-side (9 items); 153 internal links.
15 Trust & shipping Pass Stock status, 60-day guarantee, returns linked.
16 Indexability Pass Indexable, in products sitemap.
17 Social tags Pass og:type=product, price tags present. Image 1080×1080 (below the 1200×630 width guideline; minor).

Collection page

Rule Status Finding
1–2 Title & description Flag Good on the main collections (Tee Poppers 68 chars — slightly long; Gifts 60; All 64). Page 2+ shares page 1's title exactly (/collections/shorts?page=2).
3 Canonical Pass Page 2 self-canonical; filters use sort_by/filter parameters blocked in robots.txt.
5 Schema Pass ItemList + BreadcrumbList present.
6 Breadcrumbs Pass Home › Collection, visible and in schema.
7 H1 Flag H1 is the bare collection name ("Gifts", "Shorts", "Tee Poppers") while the title carries the search term ("Baseball Gifts | Presents for Baseball Players"). Put the target term in the H1.
8 Intro copy Pass Unique SEO copy under the grid on Tee Poppers and Gifts (server-rendered). Check the 60+ themed monthly collections — most have none.
10–11 Grid & cards Pass Product links, prices and images in raw HTML; 4–5 images missing alt per grid.
12 Pagination Pass Crawlable ?page=N links, indexable, self-canonical. GSC shows shirts?page=6 and under-20?page=5 earning clicks. Only the duplicated title needs a "– Page N" suffix.
13 Faceted navigation Pass Shopify's robots.txt blocks sort_by, combined filters and + tag URLs.
14–15 Sub/sibling links Flag No sibling-collection links in the page body; only via the mega-menu. Training-aid collections (Hitting, Fielding, Throwing, Grips) rank 12–19 with 35–190k impressions each: thin copy, no cross-links.
16 Indexability Flag Dozens of past monthly-theme collections (Popcorn July 2025, Wild West, Yeti, Robot…) remain indexable with near-identical structure and little copy — thin, dated pages competing for "plate crate [month]" queries.
17 Social tags Pass Present; falls back to the generic site image (1200×628) where no collection image exists.

Ordinary pages

Rule Status Finding
1–2 Title & description Flag "About Us | Plate Crate" (22 chars); description is the first 320 chars of body copy. Customer Service description is 90 chars with emoji.
3–4 Canonical & URL Pass Fine.
5 Schema Flag Organization + BreadcrumbList; no WebPage. Low priority.
7–8 H1 & hierarchy Flag About H1 is a slogan ("one thing about us - we always bring our a-game."); "Meet the Team" repeated nine times as H3.
9 Body content Pass About ~1,900 words; Customer Service is thin (~375 words, mostly chrome).
11 Links Pass 130+ internal links (mostly nav/footer).
13–15 Indexability, social, hygiene Pass Same as homepage; same page-weight problem (840 KB HTML for About Us).

Blog index and article pages

Rule Status Finding
Index: articles Critical Both blog indexes are empty. /blogs/baseball-101 and /blogs/news render zero article cards. No featured post, no pagination, no search.
Index: H1 / description Critical No H1 on either index (blog name is an H2). Baseball-101 has no meta description; News uses a brand pitch. Title "The Dugout- Plate Crate | Plate Crate" duplicates the brand.
Index: schema Flag No Blog/CollectionPage schema.
Index: sitemap Critical sitemap_blogs_1.xml contains only the two index URLs. Google has been told, in effect, that the blog is gone.
Articles: status codes Critical All 16 article URLs tested: /blogs/baseball-101/* → 301 to /blogs/news (a soft-404 in Google's eyes: hundreds of unrelated URLs redirecting to one empty page); /blogs/news/* → 404. The article rules cannot be evaluated because no article exists.
Articles: what they looked like Note Wayback copy from 8 Jun 2026 shows the former template was decent: one H1, Article + FAQPage + BreadcrumbList schema, author Person, dates. The template is reusable as-is for the reinstated articles.

3. Technical SEO Findings

3.1 Page weight and render path (critical)

Every template ships 800 KB to 1.6 MB of HTML before a single image, with 10–11 blocking scripts and 6–9 stylesheets in the head and ~870 ms of Shopify processing time. The mega-menu alone is repeated in full on every page (69 header links plus product cards for each themed collection). With 73% of clicks on mobile and Google's product snippets driving 34k clicks, this is the one technical item likely to be depressing rankings on the store pages that remain. Targets: HTML under 300 KB, no synchronous third-party scripts in the head, hero image preloaded with fetchpriority="high" and not loading="lazy".

3.2 The current redirect handling for the offline blog is costing traffic

Blanket-redirecting hundreds of distinct articles to a single empty index is treated by Google as a soft 404, and it wastes whatever equity and rankings the surviving ~60 articles had. In GSC this shows up as a continuing slide in August. Restore the articles that still earned traffic (with proper 200 responses), consolidate the rest into their strongest sibling, and 410 the ones that never earned anything so Google drops them cleanly instead of re-crawling redirects for months.

3.3 Duplicate structured data

Two Product blocks per page (theme + Shopify native) with different brand types and rating coverage. Google usually picks one, but conflicting blocks are a known cause of intermittent rich-result loss. Keep Shopify's native block (it has per-variant offers and SKU) and add aggregateRating there, or disable the theme's copy.

3.4 Merchant Center parameter URLs in organic results

Twenty product URLs with utm_source=google&utm_campaign=sag_organic appear in GSC with ~1,200 clicks. Google's free listings are sometimes indexing the feed link. Harmless for rankings (canonicals are right) but it splits reporting; set the feed's link to the clean product URL.

3.5 Index bloat from monthly theme collections

Roughly 60 collections and matching "guide" pages exist for past monthly crates (Popcorn July 2025, Summer Vibes, Wild West…). They rank only for "plate crate [month]" brand queries and collectively dilute crawl and internal-link equity. Fold expired themes into a single "Past Crates" page and noindex the archived collections once their sales window closes.


4. Recovery plan with FlyRank

Ordered by expected impact per week of effort. Phases 1 and 2 stop the bleeding and can be done inside a month; phases 3 and 4 are the growth engine and are where FlyRank's content and indexation pipeline does the work.

Phase 1 · Week 1–2 · Stop the loss: fix the blog's HTTP responses

Phase 2 · Week 2–4 · Technical hygiene on the store

Phase 3 · Month 2–3 · Commercial content that matches the store

The non-brand terms the site already ranks 3–12 for, with search demand that goes to a product page rather than an AI Overview. FlyRank's content pipeline pointed at money pages.

Phase 4 · Month 2–6 · Authority, AI visibility and measurement

What to expect

Phase 1 should stop the August slide within two to four weeks of the redirects being fixed and put back the 100–150 clicks/day the surviving articles were still earning. Phases 2–3 target the store's non-brand footprint, which was never more than ~10% of clicks; doubling it to 300–400 clicks/day of commercial traffic in six months is a realistic ask. The reinstated and consolidated articles recover on their own timeline as Google re-crawls them and the AI-visibility prompts they are optimized for begin to cite them; a return toward the 30k-click months depends on that layer and should be tracked separately from the commercial number.


5. Method and sources