{"id":298681,"date":"2026-04-22T16:07:39","date_gmt":"2026-04-22T16:07:39","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/geo-schema-manager\/"},"modified":"2026-05-06T16:12:32","modified_gmt":"2026-05-06T16:12:32","slug":"datastacklogic-schema-manager","status":"publish","type":"plugin","link":"https:\/\/nl.wordpress.org\/plugins\/datastacklogic-schema-manager\/","author":23478192,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"2.0.4","stable_tag":"2.0.4","tested":"6.9.4","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"DataStackLogic Schema Manager","header_author":"DataStackLogic","header_description":"Structured data plugin for WordPress. Outputs Organization, LocalBusiness, and FAQPage schema, and manages AI crawler directives in robots.txt.","assets_banners_color":"332c56","last_updated":"2026-05-06 16:12:32","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/datastacklogic.com\/schema-manager","header_author_uri":"https:\/\/datastacklogic.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":336,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.9.0":{"tag":"1.9.0","author":"datastacklogic","date":"2026-04-22 16:07:02"},"1.9.1":{"tag":"1.9.1","author":"datastacklogic","date":"2026-04-23 21:52:57"},"1.9.2":{"tag":"1.9.2","author":"datastacklogic","date":"2026-04-23 21:56:55"},"1.9.4":{"tag":"1.9.4","author":"datastacklogic","date":"2026-04-23 22:00:20"},"1.9.7":{"tag":"1.9.7","author":"datastacklogic","date":"2026-04-23 22:23:16"},"1.9.8":{"tag":"1.9.8","author":"datastacklogic","date":"2026-04-23 22:41:43"},"1.9.9":{"tag":"1.9.9","author":"datastacklogic","date":"2026-04-23 22:57:02"},"2.0.0":{"tag":"2.0.0","author":"datastacklogic","date":"2026-04-23 22:59:11"},"2.0.1":{"tag":"2.0.1","author":"datastacklogic","date":"2026-05-06 08:25:12"},"2.0.2":{"tag":"2.0.2","author":"datastacklogic","date":"2026-04-27 20:56:13"},"2.0.3":{"tag":"2.0.3","author":"datastacklogic","date":"2026-04-28 18:06:35"},"2.0.4":{"tag":"2.0.4","author":"datastacklogic","date":"2026-05-06 16:12:32"}},"upgrade_notice":{"2.0.2":"<p>Critical bug fixes \u2014 Scanner, CSV import, Add Location, and Add FAQ Page buttons were all broken in 2.0.1. Update immediately. Existing data and settings are preserved automatically.<\/p>","1.8.1":"<p>Maintenance release. Update recommended for all users.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3513028,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3513028,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3513028,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3513028,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{"blueprint.json":{"filename":"blueprint.json","revision":3524612,"resolution":false,"location":"assets","locale":"","contents":"{\"$schema\":\"https:\\\/\\\/playground.wordpress.net\\\/blueprint-schema.json\",\"landingPage\":\"\\\/wp-admin\\\/admin.php?page=datascma-schema-manager\",\"preferredVersions\":{\"php\":\"7.4\",\"wp\":\"latest\"},\"steps\":[{\"step\":\"login\",\"username\":\"admin\",\"password\":\"password\"},{\"step\":\"installPlugin\",\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"datastacklogic-schema-manager\"},\"options\":{\"activate\":true}},{\"step\":\"setSiteOptions\",\"options\":{\"blogname\":\"My Business Site\"}}]}"}},"all_blocks":[],"tagged_versions":["1.9.0","1.9.1","1.9.2","1.9.4","1.9.7","1.9.8","1.9.9","2.0.0","2.0.1","2.0.2","2.0.3","2.0.4"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Organization Schema tab \u2014 configure your business identity","2":"FAQ Pages tab \u2014 assign Q&amp;A pairs to pages for AI citation","3":"Locations tab \u2014 map pages to physical locations with geo-coordinates","4":"Robots.txt tab \u2014 manage AI crawler permissions in robots.txt","5":"Site Scanner \u2014 automatically pull FAQ content from your WordPress REST API"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[2353,2516,1122,1117,1121],"plugin_category":[55],"plugin_contributors":[260839],"plugin_business_model":[],"class_list":["post-298681","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-json-ld","plugin_tags-local-seo","plugin_tags-schema","plugin_tags-structured-data","plugin_category-seo-and-marketing","plugin_contributors-datastacklogic","plugin_committers-datastacklogic","plugin_committers-hittekk"],"banners":{"banner":"https:\/\/ps.w.org\/datastacklogic-schema-manager\/assets\/banner-772x250.png?rev=3513028","banner_2x":"https:\/\/ps.w.org\/datastacklogic-schema-manager\/assets\/banner-1544x500.png?rev=3513028","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/datastacklogic-schema-manager\/assets\/icon-128x128.png?rev=3513028","icon_2x":"https:\/\/ps.w.org\/datastacklogic-schema-manager\/assets\/icon-256x256.png?rev=3513028","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>DataStackLogic Schema Manager<\/strong> is a structured data plugin for WordPress that helps configure the schema markup used by AI systems and search engines to understand your business. All settings are managed from the WordPress admin, no coding required.<\/p>\n\n<p>As AI-powered search evolves, structured data helps search engines and AI systems understand your site content. This plugin provides tools to configure that structured data.<\/p>\n\n<h4>What It Does<\/h4>\n\n<p><strong>Organization Schema<\/strong> \u2014 Outputs a complete Organization JSON-LD block in the <code>&lt;head&gt;<\/code> of every page on your site. Covers your legal name, schema type, description, logo, address, phone, founding date, and social profiles (sameAs). This is the foundational GEO signal \u2014 without it, AI systems have to guess who you are.<\/p>\n\n<p><strong>LocalBusiness Schema<\/strong> \u2014 Map any WordPress page to a physical location. Each entry outputs a LocalBusiness JSON-LD block with full address, geo-coordinates, opening hours, and phone number. Critical for location-based AI answers.<\/p>\n\n<p><strong>FAQPage Schema<\/strong> \u2014 Assign Q&amp;A pairs to any page or post. Outputs as FAQPage JSON-LD \u2014 the highest-value GEO signal. When ChatGPT or Perplexity answer a question, they heavily favor pages with structured FAQ data. Includes a bulk CSV importer and a Site Scanner that automatically pulls FAQ content from your WordPress REST API.<\/p>\n\n<p><strong>AI Crawler Control<\/strong> \u2014 Manages robots.txt directives for all 15 major AI crawlers including GPTBot (ChatGPT), ClaudeBot (Anthropic), PerplexityBot, Google-Extended (Gemini), Bingbot (Copilot), Applebot-Extended, Meta-ExternalAgent, Amazonbot, CCBot, Cohere-AI, YouBot, Bytespider, MistralAI, and more. One toggle per crawler \u2014 no manual robots.txt editing needed.<\/p>\n\n<p><strong>Product Schema<\/strong> \u2014 14 schema types for financial products and services: AutoLoan, MortgageLoan, CreditCard, CheckingAccount, SavingsAccount, HomeEquityLoan, StudentLoan, PersonalLoan, BusinessLoan, InsuranceProduct, InvestmentAccount, MoneyTransfer, PaymentCard, and DepositAccount.<\/p>\n\n<h4>Key Features<\/h4>\n\n<ul>\n<li>No coding required \u2014 everything configured through the WordPress admin<\/li>\n<li>Works with any WordPress theme (Elementor, Divi, Astra, GeneratePress, block themes)<\/li>\n<li>Compatible with Yoast SEO and RankMath \u2014 does not conflict<\/li>\n<li>Bulk CSV import for locations and FAQ pages<\/li>\n<li>Site Scanner \u2014 automatically pulls FAQ content from any WordPress site's REST API<\/li>\n<li>Export\/Import \u2014 move your configuration from development to production in one click<\/li>\n<li>Clean JSON-LD output in <code>&lt;head&gt;<\/code> \u2014 no shortcodes, no page builder dependencies<\/li>\n<li>Dashboard-ready \u2014 includes a Connect tab for linking to the GEO monitoring dashboard<\/li>\n<\/ul>\n\n<h4>Who It's For<\/h4>\n\n<ul>\n<li>Local service businesses with multiple locations<\/li>\n<li>Financial institutions (credit unions, banks, insurance)<\/li>\n<li>Healthcare providers<\/li>\n<li>Real estate agencies<\/li>\n<li>Any business that wants AI visibility alongside traditional SEO<\/li>\n<\/ul>\n\n<h4>Privacy<\/h4>\n\n<p>This plugin does not collect any user data. No external services are called on the frontend. All configuration is stored in your WordPress database.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>datastacklogic-schema-manager<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install directly through the WordPress Plugins screen<\/li>\n<li>Activate the plugin through the Plugins menu in WordPress<\/li>\n<li>Go to <strong>DataStackLogic Schema Manager<\/strong> in the WordPress admin sidebar<\/li>\n<li>Start with the <strong>Organization<\/strong> tab \u2014 fill in your business name, type, address, and social profiles<\/li>\n<li>Add locations in the <strong>Locations<\/strong> tab if you have physical premises<\/li>\n<li>Add FAQ schema in the <strong>FAQ Pages<\/strong> tab \u2014 use the Site Scanner to pull existing FAQ content automatically<\/li>\n<li>Enable AI crawler directives on the <strong>Robots.txt<\/strong> tab<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20work%20with%20my%20theme%3F\"><h3>Does this work with my theme?<\/h3><\/dt>\n<dd><p>Yes. DataStackLogic Schema Manager works with every WordPress theme. It outputs JSON-LD in the document head \u2014 no page builder integration required.<\/p><\/dd>\n<dt id=\"will%20this%20conflict%20with%20yoast%20seo%20or%20rankmath%3F\"><h3>Will this conflict with Yoast SEO or RankMath?<\/h3><\/dt>\n<dd><p>No. This plugin outputs additional schema types that Yoast and RankMath do not cover (LocalBusiness per page, FAQPage per page, AI crawler directives). They work alongside each other.<\/p><\/dd>\n<dt id=\"what%20is%20geo%3F\"><h3>What is GEO?<\/h3><\/dt>\n<dd><p>GEO stands for Generative Engine Optimization \u2014 the practice of structuring your website so AI answer engines like ChatGPT, Perplexity, and Google AI cite your content in their responses.<\/p><\/dd>\n<dt id=\"does%20this%20slow%20down%20my%20site%3F\"><h3>Does this slow down my site?<\/h3><\/dt>\n<dd><p>No. All schema output is server-side PHP \u2014 no JavaScript, no extra HTTP requests on the frontend.<\/p><\/dd>\n<dt id=\"is%20there%20a%20pro%20version%3F\"><h3>Is there a Pro version?<\/h3><\/dt>\n<dd><p>Yes. The Pro version ($99\/year) includes the GEO Health Score monitoring dashboard, additional product schema types, and priority support. Available at datastacklogic.com.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.0.4<\/h4>\n\n<ul>\n<li>Fixed: JSON import now accepts files exported from older plugin versions (legacy gsm_ option key support)<\/li>\n<li>Fixed: Import validation error message rebranded from \"GEO Schema Manager\" to \"DataStackLogic Schema Manager\"<\/li>\n<li>Fixed: Removed duplicate class files left from incomplete 2.0.1 trunk commit<\/li>\n<\/ul>\n\n<h4>2.0.3<\/h4>\n\n<ul>\n<li>Fixed: Completed gsm- to datascma- prefix migration across all files \u2014 24 JS selectors, 61 HTML IDs, 313 CSS selectors, and 643 class references in PHP views now use consistent datascma- prefix<\/li>\n<li>This resolves potential conflicts with other plugins using the gsm- namespace and ensures all interactive elements (Add Location, Add FAQ, Add Product, social profiles, robots toggles, scanner, help panel) work reliably<\/li>\n<\/ul>\n\n<h4>2.0.2<\/h4>\n\n<ul>\n<li>Added upgrade system (class-datascma-upgrade.php) \u2014 runs on plugins_loaded priority 5, safe migration for existing users, no wizard redirect on upgrade or auto-update<\/li>\n<li>Fixed: Add Location and Add FAQ Page buttons were broken \u2014 JS clone templates were missing from locations.php and faq.php, and HTML IDs did not match JS selectors (datascma- prefix vs gsm- prefix)<\/li>\n<li>Fixed: Site Scanner always returned zero results \u2014 $content was read from an undefined variable instead of $datascma_content after apply_filters()<\/li>\n<li>Fixed: FAQ and branch location imports saved nothing \u2014 array_map('sanitize_text_field') on nested POST arrays flattened all sub-arrays to empty strings<\/li>\n<li>Fixed: CSV import (FAQ and Locations) always rejected valid uploads with \"Upload error: 0\" \u2014 sanitize_text_field converted integer error code 0 to string \"0\", breaking strict comparison with UPLOAD_ERR_OK<\/li>\n<li>Fixed: Stray ?&gt; on line 4 of connect.php, products.php, robots.php, testing.php, tools.php, and help-panel.php caused PHP variable assignments to render as visible page text, making all variables undefined<\/li>\n<li>Fixed: PHPCS errors \u2014 missing translators comments on Step %1$s of %2$s strings in onboarding.php, direct script\/style output replaced with wp_enqueue + wp_print, nonce verification suppression added to save_step1\/2\/3 private methods<\/li>\n<li>Fixed: jQuery enqueue version was null \u2014 now reads from $wp_scripts-&gt;registered['jquery-core']-&gt;ver<\/li>\n<li>Fixed: readme.txt Stable tag was 2.0.1, did not match plugin header version 2.0.2<\/li>\n<li>Fixed: CSV import overflow in admin panel \u2014 added min-width: 0 to grid children so overflow-x: auto works correctly on long CSV example lines<\/li>\n<li>Fixed: All geoschemamanager.com URLs replaced with correct datastacklogic.com\/schema-manager and app.datastacklogic.com URLs throughout all view files, readme.txt, and PHP classes<\/li>\n<li>Fixed: All \"GEO Schema Manager\" brand references replaced with \"DataStackLogic Schema Manager\" in UI headers, admin menu, robots.txt comment output, error messages, and documentation<\/li>\n<li>Fixed: Tools tab showed wrong tab label (\"Connect\") for Dashboard link \u2014 now consistent with all other views (\"Dashboard\")<\/li>\n<li>Fixed: class-gsm-dsw-integration.php renamed to class-datascma-dsw-integration.php and class GSM_DSW_Integration renamed to DATASCMA_DSW_Integration to match required plugin prefix<\/li>\n<li>Renamed: All 13 class files to WordPress naming standard \u2014 class files now include full plugin prefix (e.g. class-admin.php \u2192 class-datascma-admin.php) to comply with WordPress.Files.FileName PHPCS rule<\/li>\n<\/ul>\n\n<h4>2.0.1<\/h4>\n\n<ul>\n<li>Added DataStackLogic Suite integration \u2014 dashboard card shows connection status with Schema Pro for WooCommerce<\/li>\n<li>Exposes Organization data via dsw_organization_data filter for cross-plugin knowledge graph linking<\/li>\n<li>Fixed asset enqueue hook check (was checking for gsm- prefix, now correctly checks datascma-)<\/li>\n<li>Fixed plugin URI to point to datastacklogic.com\/schema-manager<\/li>\n<li>Bumped DATASCMA_VERSION constant to match plugin header<\/li>\n<\/ul>\n\n<h4>1.8.1<\/h4>\n\n<ul>\n<li>Removed client-specific placeholder text \u2014 all fields now show generic examples<\/li>\n<li>Fixed duplicate class-datascma-api.php require in main plugin file<\/li>\n<li>Removed GitHub updater from free version (WordPress.org handles updates)<\/li>\n<li>Updated sample CSV files with generic data<\/li>\n<\/ul>\n\n<h4>1.8.0<\/h4>\n\n<ul>\n<li>Added Connect tab for GEO Dashboard integration<\/li>\n<li>Added REST API endpoints for dashboard health reporting<\/li>\n<li>Added export\/import functionality for dev-to-production workflow<\/li>\n<li>Added 14 financial product schema types<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release \u2014 Organization schema, LocalBusiness schema, FAQPage schema, robots.txt AI directives<\/li>\n<\/ul>","raw_excerpt":"Structured data plugin for WordPress. Outputs Organization, LocalBusiness, and FAQPage schema, and manages AI crawler directives in robots.txt.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/nl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/298681","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/nl.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/nl.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=298681"}],"author":[{"embeddable":true,"href":"https:\/\/nl.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/datastacklogic"}],"wp:attachment":[{"href":"https:\/\/nl.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=298681"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/nl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=298681"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/nl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=298681"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/nl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=298681"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/nl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=298681"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/nl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=298681"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}