Good blanks.Blankfields.
An independent review of royalapparel.net for the Digital Marketing & Ecommerce Coordinator role. I read the homepage, the sitemap's 1,063 URLs, the Men's category and 20 product pages — 39 page fetches plus 17 header checks, no logins, no carts. The garments are well documented: 28 colors, 9 sizes and 107 photos on style 5051. The data around them is not: no canonical on any page, a sitemap that is 38% redirects, a five-star rating hard-coded on every product, and GA4 events whose product names are empty strings. Six findings, five working fixes.
Why this review
Why Royal Apparel
Two new facilities, a West Coast warehouse and a new import division in twelve months means more styles, two inventory states and a second brand to keep straight in categories, feeds and tracking. That is the job in the posting.
Everything here comes from public pages: served HTML, the sitemap, robots.txt and the inline product JSON the site itself uses to render. Nothing was submitted, carted or logged into. The platform is custom, so every fix is written at the template or web-server level rather than for a particular app.
First, what works
Three things the site does well
On the same public-page rubric I run on the ShelfMark Michigan index, royalapparel.net scores 78 of 100 — it would rank 12th of 21. The product data underneath is deeper than most of that index.
Six findings
Where the fields are blank
Each finding names the page, the count, the duty in the posting it maps to, and the fix. Evidence chips name the captured file behind the number.
Also noticed
Smaller things, for the same sheet
Working fixes
Five prototypes, built on your data
Everything below runs on what the site served on Sep 28, 2026 — the real sitemap, the real product JSON, the real dataLayer pushes. Each one is the template or server change described in the finding.
One homepage, one hostname
The chain a crawler walks today, and the one it should walk. Then the two rules that do it and the canonical every template would emit.
Today
After
# Apache (.htaccess or vhost) RewriteEngine On # http → https, non-www → www, one hop RewriteCond %{HTTPS} off [OR] RewriteCond %{HTTP_HOST} !^www\.royalapparel\.net$ [NC] RewriteRule ^ https://www.royalapparel.net%{REQUEST_URI} [R=301,L] # the homepage lives at / ; retire the stub and /index RewriteRule ^index/?$ / [R=301,L] # case-fold and slash categories RewriteRule ^category/(.*)$ /Category/$1 [R=301,L,NC] RewriteRule ^(Category|Accessory-Type)/([^/]+)$ /$1/$2/ [R=301,L]
<!-- wam_tmpl/layout: emitted on every page --> <link rel="canonical" href="https://www.royalapparel.net{{ pretty_path }}"> <!-- pretty_path resolves to: --> / homepage /Category/Men/ category /product/5051/Unisex-Short-Sleeve-Tee.html product <!-- never a cgi-bin URL, never a hash -->
Sitemap, regenerated
All 1,063 URLs in today's file, sorted into keep, redirect and exclude — and the first rows of the file that replaces it, generated from the catalog with a real lastmod per product.
Excluded — transactional templates found in today's file
Plus /404, /Register, a test page and the store-locator template. Retired styles below get 404 or 410 instead of a 200 that says "Product Not Found".
| Style | Name | Today | After |
|---|
sitemap.xml — regenerated nightly (first rows)
One Product, one truth
Style 5051's structured data as served — three blocks, two of them Product — and the single Product the template should emit, filled from the same product JSON the page already carries. The checker on the right runs the rules Google's product rich results require.
dataLayer linter
The pushes the site makes today, run through a checker, and the corrected payloads built from the same products. The rules are GA4's own ecommerce event spec; the data is the Men's category and the 5051 product page.
A crawlable category grid
The 21 Men's products the category serves today, rendered as server-side cards with real links and real pagination — custom-dye programs as "Request pricing" instead of $0.00, a New badge only where a street date says so, and Royal-made styles ahead of Basic Supply Co. imports.
The scorecard
royalapparel.net on 29 public-page checks
The same rubric I run on ShelfMark, the Michigan Storefront Benchmark: findability, catalog, buy path, trust and content, scored 2 / 1 / 0 from what a public page shows. Open a pillar to read the evidence behind every score.
If I joined
The first ninety days
Crawlability and tracking first, because everything else is measured through them.
About the reviewer
Mousa Batarseh
Seven years merchandising and running wholesale and retail storefronts: two textile and apparel brands on Shopify and WooCommerce in parallel — styles, colors, sizes and inventory for 14,000+ SKUs, coupons and the seasonal promo calendar, banners and email assets, product data for marketplaces, and the technical SEO and GA4 reporting underneath. Blank apparel is the catalog I know best.
Warren, Michigan · remote, hybrid or on-site as the posting allows · hireme@mousabatarseh.com · mousabatarseh.com · LinkedIn