Contract prices are visible once you sign inENPL

Architectural Lighting

00 / SEO Command Center

Technical control of indexing across a B2B catalogue

This panel gathers the indexing state of the LUMORA PRO catalogue, the health of the schema.org markup and the results of a technical audit of the whole platform. The figures are recomputed on every deploy and on every change to the catalogue structure, so they show where things stand now rather than a report from last month.

01 / Indexing

What the crawler sees

Google Search Console

0

Pages in the index

Product pages, categories, technical articles and project pages. The customer portal and the negotiation room are out of the index on purpose.

Structured data

0

Pages with valid schema

The 58 page difference is the quote-only range, which deliberately emits no Offer node. The Rich Results Test returns a Product without a price for those.

Audit

0

Critical errors

Three product pages imported from the PIM file without a gtin. The fix lands in the next synchronisation cycle.

Performance

0

Median TTFB

A 30 day median for catalogue pages, measured from the Warsaw edge server. Filtered pages: 212 ms.

02 / Structured data

The schema.org markup on this platform

All markup is generated server side as JSON-LD and injected into the document head. No field is assembled in the browser, so a crawler sees exactly what a signed-out visitor sees.

Type Where Status Note
Organization Every page, global head Active Registration data, VAT ID, factory address, industry profiles in sameAs.
WebSite Home page Active With a SearchAction pointing at the catalogue search.
Product 1247 product pages Active Name, sku, mpn, brand, images, technical parameters as additionalProperty.
ProductGroup Product families with variants Active Colour temperature, output and finish variants tied together by variesBy. One canonical URL per family.
BreadcrumbList Catalogue, categories, product pages Active The trail mirrors the real catalogue hierarchy, not the click history.
Offer Only products with a list price Conditional Quote-only products get no Offer node, because they have no public price. Contract prices never reach the schema, no matter who is signed in. That is a deliberate safeguard, not an unfinished feature.

03 / Technical audit

Platform checklist

OK

Canonical on product variants

Every output, colour and finish variant points at the family URL. Variant parameters stay in the query string and are ignored during indexing.

OK

Hreflang PL / EN

Reciprocal references across both languages plus x-default on the English version. Every page has the full set, with no missing return links.

OK

Sitemap.xml split into indexes

Separate maps for products, categories, technical articles and case studies. The lastmod field takes the date the record actually changed, not the date the cache was rebuilt.

OK

Robots.txt: /portal/ and /live-deal-room/

Both paths are blocked for every crawler. A robots.txt rule is the first layer, not the only one: see the entry below.

OK

Noindex on pages behind the login

An X-Robots-Tag: noindex, nofollow header is sent server side for every route that requires a session. It holds even when somebody pastes the link in public.

Note

Core Web Vitals

LCP 1.9 s and CLS 0.04 on product pages are within range. The catalogue view with filters active sits at LCP 2.7 s because of the render gallery; swapping in lower resolution images is queued.

OK

Lazy loading images

A loading=”lazy” attribute everywhere below the first screen, AVIF with a WebP fallback, and hard-coded dimensions so nothing shifts.

Note

Font preload

Two variable faces served from our own host with font-display: swap. The third face, used in the operator panel, is not preloaded and costs 40 ms on first render.

04 / Risks

Indexing traps in B2B

A B2B catalogue carries different risks from a retail shop. Here are the three that most often blow up a rollout, and how this platform closes each one.

High risk

Contract prices leaking through the cache

The classic case: the cache layer stores a page generated for a signed-in distributor on a 34 percent discount, then serves it to an anonymous crawler. A contracted price ends up in the index and in browser caches.

The answer: page caching runs on the anonymous version only. Individual prices are fetched by a separate client-side request, after the session is checked, under Cache-Control: private, no-store. The crawler gets a page with no price field, and that is the only version that exists in the cache at all.

Medium risk

Duplicate content across variants

A linear fixture in 4 outputs, 3 colour temperatures and 5 finishes is 60 near-identical pages. Google indexes one, treats the rest as noise and marks down the whole section.

The answer: one URL per product family, variants as interface state in the query string, a ProductGroup node with variesBy, and a canonical back to the family. Instead of 60 weak pages, the index holds one strong page with the full parameter table.

Medium risk

Crawl budget eaten by filters

The catalogue has 11 filters. Their combinations produce tens of thousands of addresses that differ from one another in nothing but parameter order. The crawler spends its time there instead of on new product pages.

The answer: filter links render without an href for the crawler, parameters are normalised to a fixed order, and combinations beyond two filters are marked noindex, follow. Only filter sets with real search volume reach the index: 23 addresses at present.

05 / Visibility

Rankings on purchase intent terms

Only terms with wholesale and specification intent are tracked. Consumer queries were removed from the list, because they bring traffic that never ends in a request for quotation.

Term Position Change Monthly
architectural lighting wholesale 4 +2 390
hotel wall lights manufacturer 7 no change 210
48V magnetic track distributor 11 -1 170
made to measure office linear fixtures 3 +5 140
retail lighting design scheme 9 +3 260
led fixture manufacturer for installers 6 -2 320

Download the indexing report

Run an audit on demand

Demonstration data. Positions over 30 days, source: Search Console, devices combined, PL market. Volumes rounded to the nearest ten.

Srodowisko demonstracyjne