Independent capability brief · concept: unlisted, not commissioned · prepared 2026-07-16

SDG did the homework most firms skip. One layer is still open.

Below is only what any visitor's browser sees: pages, headers, robots.txt, rendered loads. Nothing probed. Each claim carries its repro, and the brief ends with the honest case that none of it matters.

Method: 10 rendered loads (5 pages × desktop + mobile, retina), console + network capture, headers, sitemaps, full structured-data inventory. Repro commands live in safety-dynamics-group-evidence.json.

First, what's genuinely strong

Credit where due

This is one of the most machine-legible safety sites we've read, not a neglected brochure. The homepage carries a real meta description and a well-formed schema.org LocalBusiness graph: your awards (WBE, DBE, SBE, Goldman Sachs 10,000 Small Businesses), map coordinates, 17 served cities, a 14-item OfferCatalog.

The blog is alive (newest post July 9, 2026), the company is growing (new Signal Hill HQ + expanded training facility), every page rendered with zero page errors, and you invest in acquisition: Google Ads conversion + remarketing + ClickCease.

Most reviews open by calling a site broken. Yours mostly isn't: you've won the "get found" battle at the facts layer. The findings below are the next layer, being transacted with, plus one page that quietly fell over.

The bottom line, in plain English

Plain money

No jargon. SDG already wins the "get found" layer; these are about turning that into booked seats and placed people. Here's what each is worth.

A working careers page machines can read → the certified people you place actually find you. Your job board renders as a blank shortcode and carries no job data, so an SSHO searching near Long Beach sees nothing and leaves: a leak on the one input you can't buy on a bid board.

Course dates and an intake a machine can complete → seats booked and SSHO requests that arrive ready. Your eight courses list dates only as text and the contact form asks five generic fields, so a buyer's assistant can find you but can't book the seat or pre-fill the request, and the booking cools into a callback.

Your certifications and placements published where a machine repeats them → your WBE/DBE standing counts in AI-assisted procurement. The trust you've earned lives in prose and social links a crawler can't cite, so an AI comparing firms can't confirm what actually sets you apart.

1 · Your careers page is empty, and careers is your inventory

Supply-side leak

Open /job-openings/ and the whole body is one line: [awsmjobs]. The job-board plugin that should fill it isn't running: no positions render at all, in raw HTML or after JavaScript. A certified site-safety supervisor who lands there sees nothing and leaves.

$ curl -s safetydynamicsgroup.com/job-openings/ | grep -o '\[awsmjobs\]'
[awsmjobs]
headless render (JS on):  body text = 194 chars · job items found = 0 · [awsmjobs] still literal

Worse, there's no JobPosting structured data anywhere, so even a working list wouldn't reach Google Jobs or an AI asked "who's hiring SSHOs near Long Beach." For a staffing firm, the people are the product.

Highest-value finding, cheapest fix: re-activate the job board and add a JobPosting block per role: the difference between a careers page that recruits and one that turns candidates away.

2 · Found by AI, but not yet bookable by AI

Transaction gap

You're in the answer set, but a buyer's assistant can't yet act. No llms.txt (404). Your 8 Courses carry no dates: the schedule is text ("Jan 8th, Feb 5th…") with no CourseInstance/startDate. And the contact form asks only Name / Email / Phone / Company / Message.

$ curl -s -o /dev/null -w '%{http_code}' safetydynamicsgroup.com/llms.txt   # 404
schema Courses present: 8 · with CourseInstance/startDate: 0
contact form fields: Name, E-Mail, Phone, Ext, Company, Message  (generic)
missing intake: site location · dates · certs required (SSHO/EM 385/HAZWOPER) · wage class · headcount

Deeper: your rich facts live in custom LocalBusiness blocks that aren't @id-linked to the stub Yoast Organization node (one plain-http Facebook link, no cert registries). So the WBE/DBE/SBE moat isn't machine-verifiable, and an AI must reconcile two descriptions of one company.

Procurement and course registration are moving to AI-assisted search. The win: let the machine complete the step: pre-fill an SSHO request with real parameters, or book a seat against a real date, instead of dead-ending at a form.

3 · The candidate-side proof is invisible to machines

Freshness split

The consulting/training side is beautifully covered; the hiring side is blank to machines. The careers page is the broken shortcode above, social proof (Facebook, LinkedIn) is linked but not summarized on-site, and there's no rating/review markup for a buyer's AI to cite.

You already produce the trust signals: they just aren't published where a machine can repeat them. A short "who we place / what we require / how to apply" block turns bench-building into something an AI can help fill.

4 · Small housekeeping, said quietly

Low stakes

Two cosmetic items, from your own public surface. Every page fetches a font that 404s (atd-child/fonts/fontawesome-webfont.woff; icons fall back to a CDN copy). And the response headers carry no CSP, HSTS, X-Frame-Options, Referrer-Policy, or X-Content-Type-Options: a host can add them in an afternoon. Nothing tested; not a vulnerability claim.

$ curl -sSI safetydynamicsgroup.com/ | grep -iE 'strict-transport|content-security|x-frame|referrer-policy'
(none)
render: 404 on /wp-content/themes/atd-child/fonts/fontawesome-webfont.woff  (every page)

The honest case that none of this matters

SDG has run 40+ years without any of this, and might for 40 more. Most of them under Joann Blayney (secretary in 1985, owner in 2000), holding WBE/DBE/SBE plus a Goldman Sachs 10,000 Small Businesses selection.

Federal and public work (USACE, NAVFAC, EM 385-1-1) is won through set-aside registries (Cal eProcure, SAM.gov, DBE directories), prequalification, and relationships, not an AI answering a search. If the next hundred contracts arrive like the last hundred, a schema block and a careers fix are housekeeping, not growth. We'd rather say that than manufacture urgency.

Two things survive that honesty. The broken careers page is a real leak on the one input you can't buy on a bid board, certified people, and it's a 20-minute fix your own webmaster can do without us. And the lane that holds value in any future is the documentation itself (SSHO daily reports, mock-Cal/OSHA packets, corrective-action logs) produced same-day and made tamper-evident, because that lane is the compliance product you already sell.

Provisioned by EcoWealth · Digital Provisioning Protocol · provenance‑sealed