GuardLabs — bench
live check of ald.kitchen · 8 Aug 2026 · public pages only
structured data · ald.kitchen

The markup is on the page. Most of it never reaches the search engine.

I opened ald.kitchen the way a crawler does — fetched the raw HTML of the home page, a collection page, the content pages and a random sample of 25 of the 304 products in your sitemap, then ran every JSON-LD block through a standard JSON parser. Below is what came back. Every number on this page is reproducible on the live site right now.

what the parser found

Four numbers

Sample: 25 product pages picked at random from sitemap_products_1.xml (304 URLs), plus the home page.

7 / 25product pages where the Product block is invalid JSON and is dropped whole — price, availability and rating included
6FAQ questions on the home page inside a block that also fails to parse — 118 unescaped line breaks in it
25 / 25products where the GTIN is written under a key schema.org does not define, so it is silently ignored
0breadcrumb markup anywhere — no collection path under the result in search
defect 1 · the expensive one

One line break kills the whole block

A product description that happens to end with a newline is pasted straight into JSON-LD. JSON strings cannot contain a raw line break, so the parser stops at that byte and the entire Product object is discarded — not just the description.

As served today

from /products/bubble-waffle-rotated-type-electric-waffle-maker-1-egg-waffle

  "description": "This new professional Bubble
   Waffler Maker ... or chocolate
",
  "sku": "ALD-311",
  "offers": [{
     "price" : "379.99",
     "priceCurrency" : "USD"
  }]
Invalid control character at line 13 column 674 → block dropped

After the fix

the value is escaped before it is written into the template

  "description": "This new professional Bubble
   Waffler Maker ... or chocolate\n",
  "sku": "ALD-311",
  "offers": [{
     "price" : "379.99",
     "priceCurrency" : "USD"
  }]
Parses clean → price, availability and rating are readable

Do not take my word for it — the two buttons below run your browser's own JSON parser on the two fragments above.

waiting
defect 2 · quiet but on every single product

Five fields that are present and still ignored

These appear on all 25 sampled products, valid ones included. Nothing errors out; the data simply does not qualify, so the rich result is thinner than it could be.

What is in the pageWhat happensFix
"GTIN": "766150733754" ignored schema.org defines gtin / gtin12, not GTIN. Case matters. The barcode never arrives. rename to gtin12 (12 digits → UPC)
"url": "https://ald.kitchen" inside every offer wrong target every offer of every product points at the home page instead of its own variant emit the product / variant URL
"image": "http://ald.kitchen/cdn/..." mixed scheme plain http on an https store that itself sends block-all-mixed-content protocol-correct absolute URL
"review" with a rating but no author dropped author is required on Review; without it the review is discarded and can take the rating with it real author, or drop Review and keep aggregateRating
"seller": "ald.kitchen" wrong type seller expects an Organization object, not a plain string Organization with name + url
defect 3 · outside the markup

Three things a visitor can see

Two phone numbers

The header and footer show +1 (754) 225-5253 on every page. The contact page shows that one and +1 (323) 218-7818, and the Organization markup declares both as "contactType": "sales". Which number a customer calls depends on where he landed.

Two “About us” pages

/pages/about-us and /pages/about-us-new are both in the sitemap, both self-canonical, both crawlable. The newer one has no h1 and no meta description at all, so the two compete for the same query and neither wins cleanly.

The contact form asks nicely

Name, e-mail, phone and message carry no required and no autocomplete. An empty form still submits and reloads the page, and a phone typed on mobile gets typed by hand every time.

Two h1 on the home page

“Commercial Restaurant Equipment” and “Featured by”. The second one is a section caption wearing a page-title tag, which splits the signal the home page sends about itself.

what changes

What the result looks like once the block parses

Now

  • plain blue link and a snippet
  • no price, no in-stock line, no stars
  • barcode never reaches product matching
  • no collection path under the title

After

  • price and availability in the result itself
  • rating stars where a rating genuinely exists
  • GTIN readable — the product can be matched to the catalogue
  • FAQ block on the home page eligible again
  • breadcrumb path instead of a raw URL

No promise of positions attached — markup does not move rankings. It changes what the listing shows, and a listing with a price and stars gets clicked more often than the one next to it.

This is my own bench, not client work: I checked publicly available pages of ald.kitchen and wrote down what a parser returns. Nothing was changed on the site. The fixes above are done on a duplicated copy of the theme first, so the live store is never the place where something is tried out.