Connected identity and graph nodes

Connect entities with stable IDs and distinct page nodes.

Give the organization, founder and profile document their own identities. Reuse accepted references and keep duplicate repairs tied to source evidence.

Free learning from Semantec SEO.

A person token, office model and blank website page connected with cobalt cords.

Resolve the identity before assigning an ID.

A connected graph describes distinct things and the relationships between them. In JSON-LD, @id provides an identifier for a node so another description can refer to it. Decide what that node represents before choosing the string. A company, its product, its founder and a page describing the founder are not interchangeable identities.

A stable identifier should remain consistent across the site’s output while the underlying thing remains the same. A canonical page URL with a fragment is a common pattern. It is a convention, not a claim that the fragment creates a public profile or that a search engine has recognized the identity. Record one accepted pattern and use it across the relevant emitters.

The W3C RDF concepts describe graphs in terms of subject, predicate and object. The JSON-LD specification explains how identifiers and node references are expressed in that format. These foundations support connected descriptions; they do not certify the factual accuracy of the nodes.

Keep a person separate from the page about that person.

A navy sculpted bust beside a cobalt profile card showing the matching portrait and an amber bookmark.

A Person node represents the individual. A ProfilePage node represents a web document whose main entity is that individual. The Organization node represents the business. The page can have a URL, title and publisher without turning those page-level facts into the person’s attributes.

Use relationships to connect those identities. A profile’s mainEntity can reference the Person. Its publisher can reference the Organization. The Organization’s founder can reference the Person when the founding relationship is supported. Do not reverse founder onto the Person merely because the code still parses, and do not infer current employment from historical founding.

The url property and @id also have different jobs. The person’s url can be the profile address, while the person ID and page ID use different fragments. Sharing the page’s base address does not make the person and document the same thing. Two different URLs can describe the same person without requiring two Person nodes.

Read this complete fictional three-node graph.

This fictional example stipulates that Example Agency’s visible organization page names Alex River as its founder. A visible profile at https://example.com/people/alex-river/ carries Alex’s name and founding role, and Example Agency publishes that profile. Reserved example.com addresses and all names here are instructional placeholders; no real founder, employment, award or customer result is asserted.

{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "Organization",
      "@id": "https://example.com/#organization",
      "name": "Example Agency",
      "url": "https://example.com/",
      "founder": {
        "@id": "https://example.com/people/alex-river/#person"
      }
    },
    {
      "@type": "Person",
      "@id": "https://example.com/people/alex-river/#person",
      "name": "Alex River",
      "url": "https://example.com/people/alex-river/"
    },
    {
      "@type": "ProfilePage",
      "@id": "https://example.com/people/alex-river/#webpage",
      "url": "https://example.com/people/alex-river/",
      "name": "Alex River \u2014 founder profile",
      "mainEntity": {
        "@id": "https://example.com/people/alex-river/#person"
      },
      "publisher": {
        "@id": "https://example.com/#organization"
      }
    }
  ]
}

There are three nodes because there are three things: the agency, Alex and the profile document. Organization.founder points to Alex’s Person ID. ProfilePage.mainEntity points to that same Person ID, and ProfilePage.publisher points to the organization. The reference objects reuse identifiers instead of copying a second full identity with a slightly different fragment.

No worksFor property appears because the fictional brief establishes founding but does not establish Alex’s current employment. No sameAs, product ownership, credentials, image or awards are added. A real deployment would need approved facts and current platform checks before release; this graph is an escaped teaching example, not deployed markup.

Read the relationships and the evidence together.

Two matching portrait tokens connected to one navy identity folder with amber links.
Fictional node and relationship register
Node or edgeMeaningSource and reuse rule
#organizationExample Agency, the businessVisible organization record owns name and home URL
#person on Alex’s routeAlex River, the individualApproved profile owns name and founding attribution
#webpage on Alex’s routeThe profile documentPage record owns title, URL and publisher
Organization → founder → PersonAlex founded the agencyStipulated organization and profile statements agree
ProfilePage → mainEntity → PersonThe page is chiefly about AlexVisible profile purpose supports the edge
ProfilePage → publisher → OrganizationThe agency publishes this documentStipulated publisher attribution
No current employment edgeFounding does not prove current employmentHold worksFor until a current permitted source supports it

Following one reference does not import every possible attribute of the referenced thing. An article can refer to the accepted Person ID as author while its own publication date remains on the Article. A product page can mention the business without inheriting the founder’s biography or becoming a company profile.

When a page needs to describe a different thing, create a distinct node only with an explicit identity reason. A similar name is not enough to merge two people. A changed page slug is not enough to declare a new person. Resolve the real identity using approved records before repairing the graph.

Audit duplicates across every emitter.

Collect the data supplied by the theme, plugins, custom templates and rendered components. Record the observed ID, type, label, URL, relationships and emitter. Look for one thing described under competing fragments, one identifier assigned to different things, inconsistent identity facts and references to an ID that no accepted record owns.

Compare the evidence, not just the strings. Two nodes called “Example Agency” might refer to a legal business and a separate brand, or they might be accidental duplicates. A product name matching a company name does not settle that question. Confirm the entity boundary with the source owner, then choose to reuse, separate, merge or hold.

For a confirmed duplicate, choose the accepted identifier, update affected definitions and references, remove conflicting output and reacquire the final pages. Keep a change record of the old IDs and affected emitters. A redirect between web pages does not automatically repair every embedded @id reference. Do not add sameAs between a founder and company to disguise an identity conflict.

Retain a registry with reuse and lifecycle rules.

A durable registry records the entity, type, accepted ID, owning source, aliases, reuse boundary, state, reviewer and change trigger. The rows below preserve the source page’s useful Semantec identity distinctions. These IDs are documented source conventions from the supplied material, not a fresh claim that every live emitter currently agrees with them.

Source identity conventions and maintenance rules
Source identityRecorded identifier and owner routeReuse boundaryReopening trigger
Semantec SEO — Organizationhttps://semantecseo.com/#organization; organization identity recordPublisher and company references; do not collapse into MIRENA productLegal identity change, merger or conflicting organization facts
Kevin Maguire — Personhttps://semantecseo.com/#kevin-maguire; /about/kevin-maguire/Supported founder and author references; no inferred credentialsProfile correction, role change or conflicting person identity
MIRENA — SoftwareApplicationhttps://semantecseo.com/#mirena; /mirena/Product references; separate from publisher and personProduct split, material version boundary or ownership change
Each profile document — page nodeIts approved page URL with a distinct page IDPage title, location, publisher and subject relationshipPage move, consolidation or changed purpose

A rename commonly changes the label while preserving identity, but a merger, split or separately owned successor can require a different node. Decide using business or product evidence and record what remains continuous. A new product version may be the same product with updated facts or a distinct release: the source’s version boundary controls the decision.

On retirement, record why the node is no longer current and which references need removal or replacement. Do not silently reuse its identifier for an unrelated new product or person. Preserve useful history in the review record without retaining false current relationships in the public graph.

Check the connected output, then keep one accountable owner.

Reference cards showing a company building, a person, a wrench and a location pin around a magnifying glass and notebook.

Test the final description for syntax, term fit, accurate direction, stable IDs, visible support and contradictions across emitters. A node reference can be well formed yet point to the wrong person. A complete graph can also describe stale facts. Technical review and source review must both remain explicit.

For release, record the accepted registry, unresolved cases, changed emitters, reviewer and next review trigger. Recheck after a profile move, product rename, organizational change or template update. A consistent graph is an observable maintenance result; it is not a guarantee of indexing, rich results, knowledge panels or rankings.

Continue with the structured data hub for the wider description and testing process. The semantic SEO learning overview connects identity work to source ownership and page purpose.