WP Manifestindependent plugin directory
manifest / seo / schema-structured-data-optimization

LP Software – Schema & Structured Data Optimization

WordPress SEO + AEO + GEO plugin (JSON-LD, Open Graph, LLMs.txt)

by LP Software · github.com/lpsoftwarecorp/schema-structured-data-optimization

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/lpsoftwarecorp/schema-structured-data-optimization/archive/refs/heads/main.zip

SEO + AEO + GEO: Schema.org JSON-LD (11 types), Open Graph, X Cards and LLMs.txt for search engines and AI answer engines like ChatGPT.

Description

LP Software Structured Data is a complete optimization plugin for WordPress that covers SEO, AEO (Answer Engine Optimization), and GEO (Generative Engine Optimization). It generates structured data, meta tags, and AI-readable files to maximize your visibility across traditional search engines and AI-powered platforms like ChatGPT, Google AI Overviews, Perplexity, and Claude.

What Makes LP Software Structured Data Different?

Unlike traditional SEO plugins, LP Software Structured Data is built from the ground up to optimize your content for the AI era. It emits a connected entity graph — Organization, WebSite, WebPage, articles and authors linked together by stable @id references — and combines classic structured data with cutting-edge features like LLMs.txt generation and GEO optimizations.

Key Features

  • 11 Schema Types (JSON-LD): Organization, WebSite + SearchAction, WebPage, BlogPosting/Article, BreadcrumbList, FAQPage, HowTo, Person, LocalBusiness, VideoObject, Product
  • Connected Entity Graph: Stable @id values link Organization (#organization), WebSite (#website), the current page (#webpage) and authors (#person) into one knowledge graph that search engines and LLMs can resolve
  • Smart Page-Type Resolution: A single "main type" is resolved per request so the WebPage fallback never duplicates a more specific type (Article, Product)
  • Auto-Detection: Automatically detects FAQ pairs, HowTo steps, and YouTube/Vimeo videos in your content
  • LLMs.txt Generation: Creates /llms.txt and /llms-full.txt files following the llmstxt.org standard for AI crawlers
  • Open Graph + Twitter/X Cards: Complete social media meta tags with conflict detection
  • GEO Optimizations: SpeakableSpecification, quality indicators, and entity optimization
  • Organization Contact Data: contactPoint (phone, email, contact type) and PostalAddress embedded in the Organization schema
  • Social sameAs: Up to 11 social profiles (Facebook, X, LinkedIn, Instagram, YouTube, GitHub, Wikipedia/Wikidata, TikTok, Threads, Pinterest) added as sameAs and reused for X Cards
  • Per-Post Controls: Meta box to disable/force schemas on individual posts
  • Conflict Detection: Automatically detects Yoast, RankMath, AIOSEO, and other SEO plugins
  • WooCommerce Ready: Enhanced Product schema with offers, ratings, and brand support
  • Lightweight: No external dependencies, no custom database tables, minimal overhead
  • Developer Friendly: Hooks and filters for every schema type and every reusable value builder

Schema Types Included

  1. Organization - Identifies your company/brand on the homepage, with optional contactPoint and address
  2. WebSite + SearchAction - Sitelinks search box on your homepage
  3. WebPage - Fallback main-entity for generic pages that have no more specific type
  4. BlogPosting / Article - Structured metadata for your articles and posts
  5. BreadcrumbList - Navigation breadcrumbs in search results
  6. FAQPage - Auto-detected FAQ pairs from heading + paragraph content
  7. HowTo - Auto-detected step-by-step instructions from ordered lists
  8. Person - Standalone author node on author archive pages (nested author node on posts)
  9. LocalBusiness - Complete business listing with address, hours, phone, and GPS coordinates
  10. VideoObject - Auto-detected YouTube and Vimeo embeds
  11. Product - WooCommerce products with price, availability, and ratings

LLMs.txt for AI Engines

LP Software Structured Data generates standard-compliant /llms.txt and /llms-full.txt files that help AI models (ChatGPT, Claude, Perplexity) better understand and cite your content. Features include:

  • Automatic generation based on your published content
  • Configurable post types, ordering, and item limits
  • Per-post exclusion from LLMs.txt
  • Performance budgeting via filters (time budget, per-post and total byte caps)
  • 1-hour smart caching with automatic invalidation

GEO Optimizations

  • SpeakableSpecification - Marks content as suitable for voice assistants and AI (applied to BlogPosting, FAQ, HowTo, WebSite and WebPage)
  • Quality Indicators - Adds isAccessibleForFree and isPartOf to article schemas
  • Entity Optimization - Enhanced Organization schema with @id, foundingDate, and numberOfEmployees

Meta Tags

  • Open Graph: og:title, og:description, og:image, og:url, og:type, og:site_name, article:published_time
  • Twitter/X Cards: twitter:card, twitter:title, twitter:description, twitter:image, twitter:site
  • Smart Conflict Detection: Automatically skips output if Yoast, RankMath, or similar plugins are active
  • Force Override: Option to output meta tags even when other plugins are detected

Why Do You Need LP Software Structured Data?

  • Better visibility in AI-powered search results and answer engines
  • Improved content understanding by search engines and AI models
  • Rich snippets and enhanced search result presentation
  • Future-proof optimization for the AI era
  • Quick setup with automatic site data detection

Use Cases

  • Blogs: Optimize articles with BlogPosting, FAQ, and HowTo schemas
  • Local Businesses: Full LocalBusiness schema with hours, address, and map coordinates
  • E-commerce: WooCommerce Product schema with price and availability
  • Corporate Sites: Organization schema with entity optimization and contact data
  • Documentation Sites: LLMs.txt for better AI comprehension
  • Video Content: Automatic VideoObject schema for embedded videos

Validation Tools

  • Google Rich Results Test
  • Schema.org Validator
  • Facebook Sharing Debugger
  • Social Card Preview (Open Graph / X)
  • Direct site preview

Compatibility

  • Works with any well-coded WordPress theme
  • Configurable content language code for multilingual sites
  • Works alongside Yoast SEO, RankMath, AIOSEO (with conflict detection)
  • WooCommerce integration for Product schema
  • Translation-ready (includes .pot file)

Installation

Automatic Installation

  1. Go to WordPress Admin > Plugins > Add New
  2. Search for "LP Software Structured Data"
  3. Click "Install Now"
  4. Activate the plugin

Manual Installation

  1. Download the plugin ZIP file
  2. Go to WordPress Admin > Plugins > Add New > Upload Plugin
  3. Select the ZIP file and click "Install Now"
  4. Activate the plugin

Initial Setup

  1. Go to LP Software Structured Data in the WordPress menu
  2. Configure your Organization data (name, logo, description, contact point, address)
  3. Set up the default Author
  4. Add your Social Networks
  5. Enable desired Schemas in the Schemas tab
  6. Optionally enable LLMs.txt, Meta Tags, and GEO features
  7. Done! Everything is generated automatically

Upgrading from v1.x

  • All your existing settings are preserved
  • New features start disabled by default (except the core Organization, WebSite, BlogPosting and Breadcrumb schemas)
  • The original schemas produce identical output
  • All existing filters continue to work

Frequently Asked Questions

What is Schema.org?

Schema.org is a structured markup vocabulary that helps search engines better understand your website content. LP Software Structured Data generates JSON-LD format schemas, which is Google's recommended format.

What is an entity graph?

Instead of emitting disconnected blocks of markup, LP Software Structured Data links its nodes together with stable @id references — the Organization, the WebSite, the current page and the author all point at each other. This helps search engines and AI models understand who you are and how each page relates to your site as a whole.

What is LLMs.txt?

LLMs.txt is a standard (llmstxt.org) that provides a machine-readable summary of your site's content in Markdown format. AI models like ChatGPT and Claude can use this file to better understand and cite your content.

Will it affect my site's performance?

No. LP Software Structured Data is lightweight and only adds small JSON-LD snippets and meta tags to your HTML head. LLMs.txt files are cached with 1-hour transients and have configurable time and byte budgets. No external API calls, no custom database tables.

Is it compatible with other SEO plugins?

Yes. LP Software Structured Data includes automatic conflict detection for Yoast SEO, RankMath, All in One SEO, SEOPress, The SEO Framework, and Jetpack. When another plugin is detected, meta tags are automatically skipped to avoid duplicates. You can override this with the "Force Output" option.

Does it work with WooCommerce?

Yes. Enable the Product schema in the Schemas tab and LP Software Structured Data will generate rich Product schema for your WooCommerce products, including price, availability, ratings, and brand information. By default it stays out of the way when WooCommerce already emits its own Product markup; enable "Override WooCommerce structured data" to force this plugin's output.

Can I control schemas per post?

Yes. LP Software Structured Data adds a meta box to the post editor sidebar where you can disable individual schemas (BlogPosting, Breadcrumb, WebPage, FAQ, HowTo, VideoObject), force FAQ/HowTo detection, or exclude the post from LLMs.txt.

How does FAQ auto-detection work?

LP Software Structured Data scans your post content for headings (H2/H3) that look like questions (contain "?" or interrogative words like "what", "how", "why", etc.) and treats the following paragraph as the answer. You can configure which heading level to scan.

Does it work with any WordPress theme?

Yes, LP Software Structured Data is compatible with any well-coded theme that follows WordPress standards.

How do I validate that the schemas work?

Use the integrated tools in the "Tools" tab: Google Rich Results Test, Schema.org Validator, Facebook Debugger, and the social card preview.

Can I customize the schemas with code?

Yes, LP Software Structured Data includes filters for every schema type and every reusable value builder. See the Developer Documentation section below.

Screenshots

  1. General Panel - Welcome view with active features overview
  2. Organization Settings - Company data, logo, contact point and address
  3. Local Business - Address, hours, display page, and business type configuration
  4. Schemas Configuration - 11 schema types with GEO options
  5. Meta Tags - Open Graph and X Cards with conflict detection
  6. LLMs.txt - Configuration and live preview
  7. Tools - Validators and plugin status
  8. Post Meta Box - Per-post schema controls

Changelog

1.0.0

  • Initial release
  • 11 JSON-LD schema types: Organization, WebSite + SearchAction, WebPage, BlogPosting/Article, BreadcrumbList, FAQPage, HowTo, Person, LocalBusiness, VideoObject, Product
  • Connected entity graph with stable @id values linking Organization, WebSite, WebPage and Person nodes
  • Per-request main-type resolution so the WebPage fallback never duplicates Article/Product
  • Organization contactPoint and PostalAddress support
  • Up to 11 social profiles emitted as sameAs and reused for X Cards
  • Auto-detection of FAQ pairs from headings, HowTo steps from ordered lists, and YouTube/Vimeo videos
  • LLMs.txt generation (/llms.txt and /llms-full.txt) following the llmstxt.org standard, with time and byte budgets
  • Open Graph and Twitter/X Card meta tags
  • SEO plugin conflict detection (Yoast, Rank Math, AIOSEO, SEOPress, The SEO Framework, Jetpack)
  • GEO optimizations: SpeakableSpecification (BlogPosting, FAQ, HowTo, WebSite, WebPage), quality indicators, entity optimization
  • Per-post meta box to disable/force individual schemas and exclude posts from LLMs.txt
  • WooCommerce Product schema with offers, ratings, and brand, plus an override toggle and configurable brand attribute
  • LocalBusiness with selectable display page and price range
  • Admin panel with 9 tabs and live LLMs.txt preview

Upgrade Notice

1.0.0

First release of LP Software Structured Data. Install and start optimizing your content for SEO, AEO and GEO.

Developer Documentation

Available Filters

Schema Filters (one per schema type):

lpso_organization_schema - Modify the Organization schema lpso_blogposting_schema - Modify the BlogPosting schema lpso_breadcrumb_schema - Modify the Breadcrumb schema lpso_faq_schema - Modify the FAQPage schema lpso_howto_schema - Modify the HowTo schema lpso_website_schema - Modify the WebSite schema lpso_webpage_schema - Modify the WebPage schema lpso_person_schema - Modify the Person schema lpso_localbusiness_schema - Modify the LocalBusiness schema lpso_video_schema - Modify the VideoObject schema lpso_product_schema - Modify the Product schema

Note: each schema filter name is built as lpso_{type}_schema, where {type} is the schema's internal type slug (e.g. faq, video, webpage).

Value Builder Filters (reusable nested nodes):

lpso_builder_image_object - Modify a generated ImageObject node lpso_builder_person - Modify a generated Person node lpso_builder_contact_point - Modify a generated ContactPoint node lpso_builder_postal_address - Modify a generated PostalAddress node lpso_builder_search_action - Modify the WebSite SearchAction node

Other Filters:

lpso_registered_schemas - Add/remove registered schema handler instances lpso_schema_main_type - Override the resolved main type of the current page lpso_post_schema_type - Change schema type by post type lpso_breadcrumb_items - Modify the breadcrumb trail items lpso_get_option - Modify any plugin option lpso_llms_markdown - Modify the generated LLMs.txt Markdown output lpso_llms_time_budget - Adjust the LLMs.txt generation time budget lpso_llms_max_post_bytes - Adjust the per-post byte cap for LLMs.txt lpso_llms_max_total_bytes - Adjust the total byte cap for LLMs.txt

Example: Modify a Schema

add_filter('lpso_blogposting_schema', function($schema) { $schema['aggregateRating'] = [ '@type' => 'AggregateRating', 'ratingValue' => '4.5', 'reviewCount' => '100' ]; return $schema; });

Example: Register a Custom Schema

add_filter('lpso_registered_schemas', function($schemas) { require_once 'class-my-custom-schema.php'; $schemas[] = new My_Custom_Schema(); return $schemas; });

Example: Change Schema Type by Post Type

add_filter('lpso_post_schema_type', function($type, $post_type, $post) { if ($post_type === 'recipe') { return 'Recipe'; } return $type; }, 10, 3);

Get Plugin Options

$org_name = LPSO_Plugin::get_option('lpso_org_name', 'Default Name');

External Services

This plugin connects to one external service, and only in a specific, opt-in scenario.

Vimeo oEmbed API

  • What it is: Vimeo's public oEmbed endpoint (https://vimeo.com/api/oembed.json), used to retrieve a video's thumbnail image.
  • When it is used: Only when the VideoObject schema is enabled (Settings → LP Software Structured Data → Schemas — disabled by default) AND a post being viewed contains an embedded Vimeo video. Google requires a thumbnailUrl for valid VideoObject structured data, and Vimeo thumbnails cannot be derived from the video ID alone.
  • What data is sent: Only the public Vimeo video URL (e.g. https://vimeo.com/123456789) that already appears in your content. No personal data, user data, or site data is transmitted. The thumbnail URL returned is cached in a WordPress transient to avoid repeat requests.

This is the same standard oEmbed mechanism WordPress core itself uses for Vimeo embeds. No other external services are contacted by this plugin.

Vimeo Terms of Service: https://vimeo.com/terms Vimeo Privacy Policy: https://vimeo.com/privacy

Privacy Policy

LP Software Structured Data does not collect, store, or transmit any personal data from users or site visitors. All configuration is stored locally in your WordPress database. The LLMs.txt files are generated from your already-public content. The only outbound request the plugin makes is the Vimeo thumbnail lookup described in the External Services section above, which transmits no personal data.

Support

For support, documentation, and updates:

Credits

Developed by LP Software for the WordPress community.

Built following Schema.org, Google Structured Data, and llmstxt.org best practices.