{"slug":"ai-data-layer","name":"AI Data Layer – AI SEO & AI Search Optimization: llms.txt, MCP Server, Schema (AEO/GEO)","description":"Get found by ChatGPT, Perplexity & AI search. Wikidata-verified entities, JSON-LD schema, llms.txt, Markdown copies & a per-site MCP server.","author":"aidatalayer","active_installs":0,"version":"1.13.0","wp_org_url":"https://wordpress.org/plugins/ai-data-layer/","is_closed":false,"cleanup":{"has_uninstall_hook":false,"drops_tables_on_uninstall":false,"deletes_options_on_uninstall":false},"tables":[{"table_name":"semantic_analyses","full_table_name":"wp_semantic_analyses","description":"Stores semantic analyses data created by this plugin.","detection_method":"static","confidence":"medium","columns":[{"name":"id","type":"bigint(20) UNSIGNED","nullable":false,"primary_key":true},{"name":"post_id","type":"bigint(20) UNSIGNED","nullable":false,"primary_key":false},{"name":"phase","type":"varchar(20)","nullable":false,"primary_key":false},{"name":"status","type":"varchar(20)","nullable":false,"primary_key":false},{"name":"content_analysis","type":"longtext","nullable":true,"primary_key":false},{"name":"summary","type":"text","nullable":true,"primary_key":false},{"name":"citable_snippet","type":"text","nullable":true,"primary_key":false},{"name":"llm_tags","type":"text","nullable":true,"primary_key":false},{"name":"author_credentials","type":"text","nullable":true,"primary_key":false},{"name":"audience","type":"text","nullable":true,"primary_key":false},{"name":"compact_howto","type":"text","nullable":true,"primary_key":false},{"name":"summaries","type":"longtext","nullable":true,"primary_key":false},{"name":"llm_context_block","type":"longtext","nullable":true,"primary_key":false},{"name":"llm_title","type":"text","nullable":true,"primary_key":false},{"name":"llm_description","type":"text","nullable":true,"primary_key":false},{"name":"content_sections","type":"longtext","nullable":true,"primary_key":false},{"name":"cleaned_content","type":"longtext","nullable":true,"primary_key":false},{"name":"primary_topic_entity","type":"varchar(255)","nullable":true,"primary_key":false},{"name":"page_type","type":"varchar(50)","nullable":true,"primary_key":false},{"name":"primary_intent","type":"varchar(255)","nullable":true,"primary_key":false},{"name":"secondary_intents","type":"longtext","nullable":true,"primary_key":false},{"name":"user_stage","type":"varchar(50)","nullable":true,"primary_key":false},{"name":"difficulty","type":"varchar(50)","nullable":true,"primary_key":false},{"name":"entity_relationships","type":"longtext","nullable":true,"primary_key":false},{"name":"external_job_id","type":"varchar(255)","nullable":true,"primary_key":false},{"name":"error_message","type":"text","nullable":true,"primary_key":false},{"name":"started_at","type":"datetime","nullable":true,"primary_key":false},{"name":"finished_at","type":"datetime","nullable":true,"primary_key":false},{"name":"created_at","type":"datetime","nullable":false,"primary_key":false},{"name":"updated_at","type":"datetime","nullable":false,"primary_key":false}],"create_sql":"CREATE TABLE wp_semantic_analyses ( id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, post_id bigint(20) UNSIGNED NOT NULL, phase varchar(20) NOT NULL DEFAULT 'full', status varchar(20) NOT NULL DEFAULT 'pending', content_analysis longtext, summary text, citable_snippet text, llm_tags text, author_credentials text, audience text, compact_howto text, summaries longtext, llm_context_block longtext, llm_title text, llm_description text, content_sections longtext, cleaned_content longtext, primary_topic_entity varchar(255), page_type varchar(50), primary_intent varchar(255), secondary_intents longtext, user_stage varchar(50), difficulty varchar(50), entity_relationships longtext, external_job_id varchar(255), error_message text, started_at datetime, finished_at datetime, created_at datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, updated_at datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (id), KEY post_id (post_id), KEY status (status) ) $charset;\" );"},{"table_name":"semantic_cohesion","full_table_name":"wp_semantic_cohesion","description":"Stores semantic cohesion data created by this plugin.","detection_method":"static","confidence":"medium","columns":[{"name":"id","type":"bigint(20) UNSIGNED","nullable":false,"primary_key":true},{"name":"score","type":"int","nullable":false,"primary_key":false},{"name":"coverage","type":"int","nullable":false,"primary_key":false},{"name":"connectivity","type":"int","nullable":false,"primary_key":false},{"name":"clusters","type":"int","nullable":false,"primary_key":false},{"name":"depth","type":"int","nullable":false,"primary_key":false},{"name":"core_alignment","type":"int","nullable":false,"primary_key":false},{"name":"total_content_pages","type":"int","nullable":false,"primary_key":false},{"name":"completed_analyses","type":"int","nullable":false,"primary_key":false},{"name":"dominant_entities","type":"longtext","nullable":true,"primary_key":false},{"name":"largest_cluster_size","type":"int","nullable":false,"primary_key":false},{"name":"isolated_pages_count","type":"int","nullable":false,"primary_key":false},{"name":"cluster_count","type":"int","nullable":false,"primary_key":false},{"name":"recommended_actions","type":"longtext","nullable":true,"primary_key":false},{"name":"score_components","type":"longtext","nullable":true,"primary_key":false},{"name":"computed_at","type":"datetime","nullable":false,"primary_key":false}],"create_sql":"CREATE TABLE wp_semantic_cohesion ( id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, score int NOT NULL DEFAULT 0, coverage int NOT NULL DEFAULT 0, connectivity int NOT NULL DEFAULT 0, clusters int NOT NULL DEFAULT 0, depth int NOT NULL DEFAULT 0, core_alignment int NOT NULL DEFAULT 0, total_content_pages int NOT NULL DEFAULT 0, completed_analyses int NOT NULL DEFAULT 0, dominant_entities longtext, largest_cluster_size int NOT NULL DEFAULT 0, isolated_pages_count int NOT NULL DEFAULT 0, cluster_count int NOT NULL DEFAULT 0, recommended_actions longtext, score_components longtext, computed_at datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id) ) $charset;\" );"},{"table_name":"semantic_entity_registry","full_table_name":"wp_semantic_entity_registry","description":"Stores semantic entity registry data created by this plugin.","detection_method":"static","confidence":"medium","columns":[{"name":"id","type":"bigint(20) UNSIGNED","nullable":false,"primary_key":true},{"name":"entity_id","type":"varchar(255)","nullable":false,"primary_key":false},{"name":"label","type":"varchar(255)","nullable":false,"primary_key":false},{"name":"canonical_label","type":"varchar(255)","nullable":true,"primary_key":false},{"name":"type","type":"varchar(50)","nullable":true,"primary_key":false},{"name":"wikidata_qid","type":"varchar(50)","nullable":true,"primary_key":false},{"name":"same_as","type":"longtext","nullable":true,"primary_key":false},{"name":"synonyms","type":"longtext","nullable":true,"primary_key":false},{"name":"definition","type":"text","nullable":true,"primary_key":false},{"name":"canonical_roles","type":"longtext","nullable":true,"primary_key":false},{"name":"role_frequency","type":"longtext","nullable":true,"primary_key":false},{"name":"typical_contexts","type":"longtext","nullable":true,"primary_key":false},{"name":"occurrence_count","type":"int","nullable":false,"primary_key":false},{"name":"mention_count","type":"int","nullable":false,"primary_key":false},{"name":"created_at","type":"datetime","nullable":false,"primary_key":false},{"name":"updated_at","type":"datetime","nullable":false,"primary_key":false}],"create_sql":"CREATE TABLE wp_semantic_entity_registry ( id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, entity_id varchar(255) NOT NULL, label varchar(255) NOT NULL, canonical_label varchar(255), type varchar(50), wikidata_qid varchar(50), same_as longtext, synonyms longtext, definition text, canonical_roles longtext, role_frequency longtext, typical_contexts longtext, occurrence_count int NOT NULL DEFAULT 0, mention_count int NOT NULL DEFAULT 0, created_at datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, updated_at datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (id), UNIQUE KEY entity_id (entity_id(191)), KEY type (type), KEY label (label(191)) ) $charset;\" );"},{"table_name":"semantic_suggested_entities","full_table_name":"wp_semantic_suggested_entities","description":"Stores semantic suggested entities data created by this plugin.","detection_method":"static","confidence":"medium","columns":[{"name":"id","type":"bigint(20) UNSIGNED","nullable":false,"primary_key":true},{"name":"analysis_id","type":"bigint(20) UNSIGNED","nullable":false,"primary_key":false},{"name":"post_id","type":"bigint(20) UNSIGNED","nullable":false,"primary_key":false},{"name":"name","type":"varchar(255)","nullable":false,"primary_key":false},{"name":"type","type":"varchar(50)","nullable":true,"primary_key":false},{"name":"definition","type":"text","nullable":true,"primary_key":false},{"name":"relevance_score","type":"float","nullable":true,"primary_key":false},{"name":"model_confidence","type":"float","nullable":true,"primary_key":false},{"name":"contextual_confidence","type":"float","nullable":true,"primary_key":false},{"name":"related_entities","type":"longtext","nullable":true,"primary_key":false},{"name":"mentions","type":"longtext","nullable":true,"primary_key":false},{"name":"schema_reasoning","type":"text","nullable":true,"primary_key":false},{"name":"exclusion_reasoning","type":"text","nullable":true,"primary_key":false},{"name":"wikidata_qid","type":"varchar(50)","nullable":true,"primary_key":false},{"name":"wikidata_verified","type":"tinyint(1)","nullable":true,"primary_key":false},{"name":"aliases","type":"longtext","nullable":true,"primary_key":false},{"name":"same_as","type":"longtext","nullable":true,"primary_key":false},{"name":"roles","type":"longtext","nullable":true,"primary_key":false},{"name":"canonical_entity_id","type":"varchar(255)","nullable":true,"primary_key":false},{"name":"entity_registry_id","type":"bigint(20) UNSIGNED","nullable":true,"primary_key":false},{"name":"salience","type":"float","nullable":true,"primary_key":false},{"name":"approval_status","type":"varchar(20)","nullable":false,"primary_key":false},{"name":"created_at","type":"datetime","nullable":false,"primary_key":false}],"create_sql":"CREATE TABLE wp_semantic_suggested_entities ( id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, analysis_id bigint(20) UNSIGNED NOT NULL, post_id bigint(20) UNSIGNED NOT NULL, name varchar(255) NOT NULL, type varchar(50), definition text, relevance_score float DEFAULT 0, model_confidence float DEFAULT 0, contextual_confidence float DEFAULT 0, related_entities longtext, mentions longtext, schema_reasoning text, exclusion_reasoning text, wikidata_qid varchar(50), wikidata_verified tinyint(1) DEFAULT 0, aliases longtext, same_as longtext, roles longtext, canonical_entity_id varchar(255), entity_registry_id bigint(20) UNSIGNED, salience float DEFAULT 0.5, approval_status varchar(20) NOT NULL DEFAULT 'pending', created_at datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id), KEY analysis_id (analysis_id), KEY post_id (post_id), KEY approval_status (approval_status), KEY canonical_entity_id (canonical_entity_id(191)) ) $charset;\" );"},{"table_name":"semantic_suggested_faqs","full_table_name":"wp_semantic_suggested_faqs","description":"Stores semantic suggested faqs data created by this plugin.","detection_method":"static","confidence":"medium","columns":[{"name":"id","type":"bigint(20) UNSIGNED","nullable":false,"primary_key":true},{"name":"analysis_id","type":"bigint(20) UNSIGNED","nullable":false,"primary_key":false},{"name":"post_id","type":"bigint(20) UNSIGNED","nullable":false,"primary_key":false},{"name":"question","type":"text","nullable":true,"primary_key":false},{"name":"answer","type":"longtext","nullable":true,"primary_key":false},{"name":"ai_confidence","type":"float","nullable":true,"primary_key":false},{"name":"ai_optimization","type":"longtext","nullable":true,"primary_key":false},{"name":"entity_mentions","type":"longtext","nullable":true,"primary_key":false},{"name":"reasoning","type":"text","nullable":true,"primary_key":false},{"name":"approval_status","type":"varchar(20)","nullable":false,"primary_key":false},{"name":"created_at","type":"datetime","nullable":false,"primary_key":false}],"create_sql":"CREATE TABLE wp_semantic_suggested_faqs ( id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, analysis_id bigint(20) UNSIGNED NOT NULL, post_id bigint(20) UNSIGNED NOT NULL, question text, answer longtext, ai_confidence float DEFAULT 0, ai_optimization longtext, entity_mentions longtext, reasoning text, approval_status varchar(20) NOT NULL DEFAULT 'pending', created_at datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id), KEY analysis_id (analysis_id), KEY post_id (post_id) ) $charset;\" );"},{"table_name":"semantic_suggested_links","full_table_name":"wp_semantic_suggested_links","description":"Stores semantic suggested links data created by this plugin.","detection_method":"static","confidence":"medium","columns":[{"name":"id","type":"bigint(20) UNSIGNED","nullable":false,"primary_key":true},{"name":"analysis_id","type":"bigint(20) UNSIGNED","nullable":false,"primary_key":false},{"name":"post_id","type":"bigint(20) UNSIGNED","nullable":false,"primary_key":false},{"name":"anchor_text","type":"text","nullable":true,"primary_key":false},{"name":"target_page_title","type":"text","nullable":true,"primary_key":false},{"name":"target_url","type":"text","nullable":true,"primary_key":false},{"name":"confidence_score","type":"float","nullable":true,"primary_key":false},{"name":"relevance_reasoning","type":"text","nullable":true,"primary_key":false},{"name":"content_relationship","type":"text","nullable":true,"primary_key":false},{"name":"intent_classification","type":"varchar(50)","nullable":true,"primary_key":false},{"name":"approval_status","type":"varchar(20)","nullable":false,"primary_key":false},{"name":"created_at","type":"datetime","nullable":false,"primary_key":false}],"create_sql":"CREATE TABLE wp_semantic_suggested_links ( id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, analysis_id bigint(20) UNSIGNED NOT NULL, post_id bigint(20) UNSIGNED NOT NULL, anchor_text text, target_page_title text, target_url text, confidence_score float DEFAULT 0, relevance_reasoning text, content_relationship text, intent_classification varchar(50), approval_status varchar(20) NOT NULL DEFAULT 'pending', created_at datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id), KEY analysis_id (analysis_id), KEY post_id (post_id) ) $charset;\" );"},{"table_name":"semantic_suggested_schema","full_table_name":"wp_semantic_suggested_schema","description":"Stores semantic suggested schema data created by this plugin.","detection_method":"static","confidence":"medium","columns":[{"name":"id","type":"bigint(20) UNSIGNED","nullable":false,"primary_key":true},{"name":"analysis_id","type":"bigint(20) UNSIGNED","nullable":false,"primary_key":false},{"name":"post_id","type":"bigint(20) UNSIGNED","nullable":false,"primary_key":false},{"name":"entity","type":"varchar(255)","nullable":true,"primary_key":false},{"name":"type","type":"varchar(100)","nullable":true,"primary_key":false},{"name":"detection_method","type":"varchar(100)","nullable":true,"primary_key":false},{"name":"use_in_schema","type":"tinyint(1)","nullable":true,"primary_key":false},{"name":"schema_properties","type":"longtext","nullable":true,"primary_key":false},{"name":"reasoning","type":"text","nullable":true,"primary_key":false},{"name":"approval_status","type":"varchar(20)","nullable":false,"primary_key":false},{"name":"created_at","type":"datetime","nullable":false,"primary_key":false}],"create_sql":"CREATE TABLE wp_semantic_suggested_schema ( id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, analysis_id bigint(20) UNSIGNED NOT NULL, post_id bigint(20) UNSIGNED NOT NULL, entity varchar(255), type varchar(100), detection_method varchar(100), use_in_schema tinyint(1) DEFAULT 1, schema_properties longtext, reasoning text, approval_status varchar(20) NOT NULL DEFAULT 'pending', created_at datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id), KEY analysis_id (analysis_id), KEY post_id (post_id) ) $charset;\" );"}],"table_count":7}