Owner: Rob for the account creation. Wiring the URLs into the site is a one-line code change once they exist.
PR #76 filled sameAs on the Person with LinkedIn and ORCID. The Organization sameAs is still empty, deliberately — it needs profiles the practice itself controls, and a personal LinkedIn is the human, not the company. Conflating them tells a search engine that a person and an organization are the same entity.
The 2026-09-04 GEO audit scored Brand & Entity 2.62/10 and Social Trust 0/5, and named the gap explicitly: "No Knowledge Graph links (Wikipedia, Wikidata, LinkedIn)." This is the cheapest remaining trust work on the property, and none of it is code.
Profiles to stand up
1. LinkedIn company page — do this one first. The single highest-value entry. It is the profile answer engines and Google's Knowledge Graph most reliably resolve for a business entity, it is free, and referrals to this practice already arrive through Rob personally on LinkedIn, so the company page is where that traffic currently has nowhere to land. Name it exactly as the site does: Root System Forensics. Link it to Root System as the parent if LinkedIn's structure allows, since the Organization markup already declares parentOrganization.
2. Google Business Profile. Called out as the top priority in the local-legal-seo audit framework and never opened. Two specifics that matter for this practice:
- Set it up as a service-area business and hide the street address. There is no public office, and a published home address is both a privacy problem and a credibility problem.
- The business name must match the site and every directory exactly. Keyword-stuffed GBP names violate Google's guidelines and get suspended.
Category is an imperfect fit whatever you pick — "Forensic Consultant", "Engineering Consultant", "Legal Services". Choose the one a retaining attorney would browse, not the most flattering.
3. Crunchbase. Low effort, decent domain authority, and a recognized Knowledge Graph pillar. Worth an entry even if thin.
4. Directory profiles, once they exist. SEAK and JurisPro listings are tracked separately as a paid experiment, but note the overlap: a directory profile URL is also a valid sameAs target. When those listings go live their URLs belong in this same field, so the paid listing buys a citation and an entity signal rather than only a directory placement.
Deliberately not listed: Wikipedia and Wikidata. Neither is appropriate for a practice this size, and attempting one that fails notability is worse than absent.
NAP consistency — the part that quietly breaks
Name, contact and location must be identical across the site, LinkedIn, GBP, Crunchbase and every directory. For a service-area business, be consistent about suppressing the address too: visible in one place and hidden in another is its own inconsistency, and it is the failure mode that actually happens.
The canonical strings are in sites/forensics/src/copy/landing.ts — contact.email and contact.footer. Use those verbatim.
Wiring it up
Once the URLs exist, they go in one place:
// sites/forensics/src/copy/landing.ts
organization: {
sameAs: [ /* company profile URLs */ ],
},
The Organization node emits sameAs only when the array is non-empty, so there is no half-state — the field appears when there is something true to put in it.
Done when
- At minimum a LinkedIn company page and a Google Business Profile exist.
- Their URLs are in
copy.organization.sameAs and rendering in the graph on every route.
- Name and contact details match the site exactly, everywhere.
Owner: Rob for the account creation. Wiring the URLs into the site is a one-line code change once they exist.
PR #76 filled
sameAson the Person with LinkedIn and ORCID. The OrganizationsameAsis still empty, deliberately — it needs profiles the practice itself controls, and a personal LinkedIn is the human, not the company. Conflating them tells a search engine that a person and an organization are the same entity.The 2026-09-04 GEO audit scored Brand & Entity 2.62/10 and Social Trust 0/5, and named the gap explicitly: "No Knowledge Graph links (Wikipedia, Wikidata, LinkedIn)." This is the cheapest remaining trust work on the property, and none of it is code.
Profiles to stand up
1. LinkedIn company page — do this one first. The single highest-value entry. It is the profile answer engines and Google's Knowledge Graph most reliably resolve for a business entity, it is free, and referrals to this practice already arrive through Rob personally on LinkedIn, so the company page is where that traffic currently has nowhere to land. Name it exactly as the site does: Root System Forensics. Link it to Root System as the parent if LinkedIn's structure allows, since the
Organizationmarkup already declaresparentOrganization.2. Google Business Profile. Called out as the top priority in the local-legal-seo audit framework and never opened. Two specifics that matter for this practice:
Category is an imperfect fit whatever you pick — "Forensic Consultant", "Engineering Consultant", "Legal Services". Choose the one a retaining attorney would browse, not the most flattering.
3. Crunchbase. Low effort, decent domain authority, and a recognized Knowledge Graph pillar. Worth an entry even if thin.
4. Directory profiles, once they exist. SEAK and JurisPro listings are tracked separately as a paid experiment, but note the overlap: a directory profile URL is also a valid
sameAstarget. When those listings go live their URLs belong in this same field, so the paid listing buys a citation and an entity signal rather than only a directory placement.Deliberately not listed: Wikipedia and Wikidata. Neither is appropriate for a practice this size, and attempting one that fails notability is worse than absent.
NAP consistency — the part that quietly breaks
Name, contact and location must be identical across the site, LinkedIn, GBP, Crunchbase and every directory. For a service-area business, be consistent about suppressing the address too: visible in one place and hidden in another is its own inconsistency, and it is the failure mode that actually happens.
The canonical strings are in
sites/forensics/src/copy/landing.ts—contact.emailandcontact.footer. Use those verbatim.Wiring it up
Once the URLs exist, they go in one place:
The
Organizationnode emitssameAsonly when the array is non-empty, so there is no half-state — the field appears when there is something true to put in it.Done when
copy.organization.sameAsand rendering in the graph on every route.