JSON-LD Schema
Automatic structured data injection for Organization, Person, Article, and more.
Last updated Feb 21, 2026
How it works
CitedPro injects JSON-LD structured data into your site's <head> section via the wp_head action at priority 1 (very early). This ensures schema markup is available to search engines and AI systems as soon as they begin parsing the page.
Schema injection is conditional: it only runs when the cited_enable_schema option is enabled in CitedPro → Settings. When disabled, no structured data is output.
Homepage schemas
On your homepage, CitedPro generates Organization or Person schema (depending on your entity type setting) along with supporting structures. The data is pulled from your Business Setup information.
Organization schema
When your entity type is set to Organization, CitedPro outputs the following:
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Your Business Name",
"alternateName": "Your Canonical Name",
"description": "What your business does",
"url": "https://yoursite.com",
"logo": {
"@type": "ImageObject",
"url": "https://yoursite.com/logo.png"
},
"email": "hello@yoursite.com",
"telephone": "(555) 123-4567",
"address": {
"@type": "PostalAddress",
"streetAddress": "123 Main St",
"addressLocality": "Portland",
"addressRegion": "OR",
"postalCode": "97201",
"addressCountry": "US"
},
"contactPoint": {
"@type": "ContactPoint",
"telephone": "(555) 123-4567",
"email": "hello@yoursite.com",
"contactType": "customer service"
},
"sameAs": [
"https://facebook.com/yourbusiness",
"https://twitter.com/yourbusiness",
"https://linkedin.com/company/yourbusiness",
"https://instagram.com/yourbusiness",
"https://youtube.com/@yourbusiness"
]
}Person schema
When entity type is set to Person, CitedPro outputs a Person type instead of Organization, using the same fields. The logo property becomes image, and alternateName is included when a canonical name is provided.
Included properties
The following fields from your Setup data are included in the homepage schema when present:
- Name and description: Always included (required for schema generation)
- URL: Your site's home URL
- Logo/Image: Included when a logo is uploaded in Setup
- Email and phone: Included when provided
- Address: Full PostalAddress included when address fields are filled
- Contact point: Generated from phone and email
- Social links: All provided social URLs included as
sameAs - Alternate names: Canonical name included as
alternateName
Singular post/page schemas
On individual posts and pages, CitedPro outputs article-level schema:
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "Your Post Title",
"author": {
"@type": "Person",
"name": "Author Name"
},
"datePublished": "2026-02-15T10:00:00+00:00",
"dateModified": "2026-02-20T14:30:00+00:00",
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://yoursite.com/your-post/"
}
}The @type is set to BlogPosting for posts and Article for pages. Author information is pulled from the WordPress post author profile.
Archive schemas
On archive pages (categories, tags, date archives), CitedPro outputs a CollectionPage schema:
{
"@context": "https://schema.org",
"@type": "CollectionPage",
"name": "Category Name",
"description": "Category description from WordPress"
}This helps search engines understand the purpose and content of archive pages.
Enabling and disabling schema
- Go to CitedPro → Settings
- Find the Enable Schema Injection toggle
- Toggle it on or off
- Changes take effect immediately on the next page load
Important
Schema injection requires at minimum a business name and description in your Setup tab. If these fields are empty, schema will not be generated even when the toggle is enabled.
SEO conflict detection and schema
CitedPro's schema injection behaves differently from its SEO meta features when a conflicting SEO plugin is detected. While SEO meta output (titles, descriptions, Open Graph) is disabled when another SEO plugin is active, schema injection continues to run.
This is because CitedPro's schema focuses on business-level and AI-relevant structured data that most SEO plugins do not generate. Your SEO plugin handles article schema and basic organization markup, while CitedPro adds the detailed business information, social links, and contact data that AI systems specifically look for.
If you notice duplicate Organization or Person schema in your source, you have three options:
- Disable schema in CitedPro and let your SEO plugin handle it (you may lose some AI-specific detail)
- Disable organization schema in your SEO plugin and let CitedPro handle it
- Keep both running; duplicate schema is not an error, just redundant
Verification
After enabling schema, verify it is working correctly:
View source
- Visit your homepage
- Right-click and select View Page Source
- Search for
application/ld+json - You should see your Organization/Person schema in a script tag
Google Rich Results Test
- Go to Google Rich Results Test
- Enter your homepage URL
- Click Test URL
- Review the detected structured data for completeness and errors
Schema.org Validator
- Go to Schema.org Validator
- Enter your URL or paste the JSON-LD code
- Review any warnings or errors
Tip
Run the Rich Results Test after making changes to your Setup data. Schema output updates immediately when business information changes, so you can verify new data is reflected right away.
Best practices
- Complete all Setup fields: The more data you provide, the richer your schema output. Empty fields are simply omitted.
- Use a high-quality logo: Google recommends logos be at least 112x112 pixels. Square or wide rectangular logos work best.
- Add social links: The
sameAsproperty strengthens your identity signal across platforms. - Keep contact info accurate: Phone numbers, emails, and addresses in schema should match your actual contact channels.
- Test regularly: Run the Rich Results Test periodically, especially after updating business information or upgrading CitedPro.