Blog Websites in the AI era

Structured data that helps AI understand your brand

Structured data (schema.org in JSON-LD) states facts about your organization and pages so machines don't have to guess: who you are, where, what you offer, what you've won and which profiles are yours. Start with Organization and WebSite, add BlogPosting, FAQPage and BreadcrumbList where they fit, link languages with hreflang, and keep every fact consistent with the page.

Guide 4 min read

The Drake Hotel website, designed and built by Locomotive
Is "Locomotive" a design agency, a train or a scroll library? Structured data (schema.org markup in JSON-LD) settles that kind of question by stating the facts about your organization and pages outright: who you are, where you are, what you offer, what you've won and which profiles are yours. Start with Organization and WebSite, add BlogPosting, FAQPage and BreadcrumbList where they fit, link language versions with hreflang, and keep every fact consistent with the visible page.

People read who you are through design, copy and context. A machine has to infer it, and the inferences pile up fast. Is that address your office or a client's? Is this page an article, a case study or a product? Structured data takes the inference away: a small block of JSON-LD in the page that states the facts in the shared schema.org vocabulary.

Search engines have documented for years how they use it to understand pages and display rich results. AI providers say far less about how much it weighs, but assistants that rely on search indexes benefit indirectly, and any parser reading your HTML can read it directly. It won't turn a weak page into a strong one. It will make a good page impossible to misread.

Schema.org for agencies and brands: the types that matter

Organization: who you are

This is the most important node for any brand, and it belongs on every page. Useful properties:

  • name, alternateName, url, logo, foundingDate and a plain description;
  • address as a PostalAddress, and areaServed if you work beyond your city;
  • contactPoint with the contact type, email, phone, contact page and availableLanguage;
  • sameAs listing your official profiles (LinkedIn, Instagram, GitHub, industry directories), which helps tie your site to the rest of your presence on the web;
  • award for recognitions you can document;
  • hasOfferCatalog, an OfferCatalog of Offer items, each pointing to a Service with a name and description;
  • knowsAbout for your areas of expertise.

Give the node a stable @id (for example, your home URL followed by #organization) so other nodes can point to it instead of repeating it.

WebSite: the site itself

Name, URL, languages (inLanguage) and a publisher that points to your Organization.

BlogPosting: your articles

headline, description, datePublished, dateModified, author (a Person, or your Organization), publisher, image and inLanguage. isPartOf can tie the post to your blog or to a collection, and mentions can link the case studies it discusses.

FAQPage: questions and answers

Mark up the FAQ that's visible on the page, one Question with an acceptedAnswer per item. Since 2023, Google shows FAQ rich results only for a limited set of well-known, authoritative government and health websites, so most sites won't see them in search. Keep the markup anyway: it hands any parser clean, unambiguous question-and-answer pairs.

BreadcrumbList: where the page sits

A short trail from the home page to the current page spells out your site's structure, for example Home › Blog › Dossier › Article.

CreativeWork: case studies

For an agency, a portfolio piece can be a CreativeWork with your Organization as creator, plus its awards and the client's website in sameAs.

Here's a trimmed example of an Organization node, for a fictional studio:

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "@id": "https://example.com/#organization",
  "name": "Example Studio",
  "url": "https://example.com/",
  "foundingDate": "2010",
  "address": { "@type": "PostalAddress", "addressLocality": "Lyon", "addressCountry": "FR" },
  "contactPoint": [{ "@type": "ContactPoint", "contactType": "sales",
    "email": "hello@example.com", "availableLanguage": ["English", "French"] }],
  "sameAs": ["https://www.linkedin.com/company/example-studio"]
}
The Drake Hotel website on mobile, designed and built by Locomotive

Hreflang, consistency and validation

Language versions: hreflang

If your site speaks more than one language, tell machines which page is which. Each page should list itself and its translations with <link rel="alternate" hreflang="…">, plus an x-default for visitors whose language you don't serve. Set inLanguage in your structured data too. An assistant answering in French can then link the French page instead of translating the English one on the fly. Our guide to building bilingual websites goes further.

Consistency beats volume

Structured data is only as good as its agreement with everything else. The name, address, figures and services in your JSON-LD should match the visible page, your llms.txt and your profiles. Every contradiction makes machines a little less sure of all of them.

The surest way to stay consistent is to generate the markup from the same source as the page, usually your CMS. Hand-written snippets pasted into templates go stale quietly. Generated markup changes everywhere the moment a fact does.

Common mistakes

  • Marking up content that isn't visible on the page.
  • Stale facts: an old address, last year's team size, a discontinued service.
  • Several conflicting Organization nodes across templates.
  • Invalid JSON that silently breaks the whole block.

Validate with the Schema Markup Validator and Google's Rich Results Test, and check again after every template change.

What we do on locomotive.ca

Every page carries an Organization node with our address, a sales contactPoint in English and French, sameAs links to our official profiles, award highlights and a catalogue of our services, along with a WebSite node. Articles add BlogPosting, FAQPage and BreadcrumbList, and case studies are described as CreativeWork with their awards. Every page lists its English and French versions with hreflang and x-default. We generate all of it from the site's content, so it stays in step with what visitors read.

Structured data should never be a separate copy of your facts. Generate it from the same content as the page, and it stays true without anyone having to remember it.
Co-Technical Director, Locomotive

What to do next

  1. View the source of your home page and search for application/ld+json. Is there an Organization node? Does it match your current address, contact details and services?
  2. Run your key templates (home, article, case study or product) through a validator.
  3. Add what's missing, starting with Organization and WebSite, then the types that match your content.
  4. Move hand-written snippets into your CMS templates so the markup stays current.

Structured data shines brightest next to clear, crawlable content. Read how AI assistants decide which websites to cite for the bigger picture, and if a redesign is coming, write these requirements into your website brief.

Frequently asked questions

Does structured data help with AI search?

It helps machines understand your organization and pages without guessing, and assistants that rely on search indexes benefit from that indirectly. AI providers don't say how much weight they give it, so think of it as a gain in clarity with no guaranteed boost attached.

Which schema.org types should an agency use?

Organization (with address, contactPoint, sameAs, award and hasOfferCatalog) and WebSite on every page, BlogPosting and FAQPage on articles, CreativeWork for case studies, and BreadcrumbList for navigation.

Is FAQ schema still worth it if Google doesn't show FAQ rich results?

Yes, as long as the FAQ is visible on the page. Google limits FAQ rich results to a small set of authoritative government and health sites, but the markup still hands parsers clean question-and-answer pairs.

JSON-LD or microdata?

JSON-LD. It lives in a single script block, apart from your HTML layout, which makes it easier to generate, maintain and validate. Google recommends it.

Does structured data guarantee that AI assistants will cite my site?

No. It makes your facts unambiguous, and getting cited still depends on whether your pages are reachable and answer the question well.

Let's work together

Ready to take your brand to the next level? Tell us about your project.

Start a project