How CARL Generates JSON-LD Schema Markup
JSON-LD schema markup is structured data that tells search engines exactly what your page is about: who wrote it, when it was published, what entities it covers, how it relates to other things on the web.

Google uses it to build knowledge graph connections, power rich results, and understand content with more precision than it can from HTML alone. CARL generates it automatically through its AI Schema Generator, powered by Claude.
How the AI Schema Generator Works
Once you've written your page content, click the Generate Schema button in the page editor. CARL sends your content to Claude along with a set of instructions that specify exactly what to produce: an Article schema, Thing entities for knowledge graph enhancement, Twitter Card tags, Open Graph tags, a canonical tag, an optimized meta description, and a keywords tag, all delivered in a consistent order.
Claude reads the content, generates the complete head block, and CARL appends the result directly to the Head Injection field. You don't paste anything manually. The transfer is automatic.
When you click Generate to publish the page, the entire head block gets baked into the section of the generated PHP file. From that point, every visitor and every crawler gets the full structured data package on every page request, served from a static file with no runtime overhead.
What the Schema Block Contains
The Article schema Claude produces includes the page headline, description, author details and a URL pointing to /about.php, publisher information, datePublished and dateModified formatted with the correct timezone, isAccessibleForFree: true, and a mainEntityOfPage reference. It also includes Thing entities under the about property, each describing a key concept the page covers.
These Thing entities enable CARL pages to build knowledge graph connections beyond the basic Article type.
Where relevant, Claude adds sameAs links connecting entities to their corresponding entries on Wikipedia, Wikidata, or other authoritative sources. This considerably strengthens the knowledge graph signal.
A page about a named psychological effect, a historical business story, or a well-documented technical concept benefits significantly from sameAs links that anchor those entities to established knowledge graph nodes.
Why JSON-LD Over Other Schema Formats
Google supports three schema formats: JSON-LD, Microdata, and RDFa. JSON-LD is the one Google recommends, and for good reason. It sits in the as a self-contained script block, completely separate from the page's HTML markup.
You can read, edit, and validate it without touching the content. Microdata and RDFa require you to weave schema attributes into the HTML itself, which makes the markup harder to read and schema changes harder to make cleanly. CARL uses JSON-LD exclusively.
Manual Schema for Specific Cases
The AI Schema Generator handles the Article schema for standard content pages. For pages that need a different schema type, such as a LocalBusiness schema for a location page, an FAQ schema for a questions page, or a Product schema for a sales page, you write the JSON-LD manually and paste it into the Head Injection field alongside or instead of the AI-generated block. The Head Injection field accepts any valid HTML or script content and writes it verbatim into the page's .
This is the only case where manual schema entry makes sense: when the page type genuinely calls for a schema type that the Article generator doesn't cover. For everything else, Generate Schema produces better-structured, more consistent markup faster than writing it by hand.
Validating Your Schema
After generating a page, you can validate its schema using Google's Rich Results Test at search.google.com/test/rich-results. Paste the page URL, run the test, and Google shows you exactly what structured data it found and whether it's valid. CARL's Site Health checker also flags pages with missing head injection content, catching pages published before Generate Schema was run or pages where the Head Injection field was accidentally cleared before regeneration.
