{"id":288420,"date":"2026-03-31T16:21:29","date_gmt":"2026-03-31T16:21:29","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/ai-seo-faq-schema\/"},"modified":"2026-05-08T20:04:35","modified_gmt":"2026-05-08T20:04:35","slug":"mkjb-ai-seo-faq-schema","status":"publish","type":"plugin","link":"https:\/\/test.wordpress.org\/plugins\/mkjb-ai-seo-faq-schema\/","author":23463320,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.6.0","stable_tag":"1.6.0","tested":"6.9.4","requires":"6.0","requires_php":"8.0","requires_plugins":null,"header_name":"AI FAQ Schema by MKJB","header_author":"MKJB","header_description":"AI-powered FAQ generator with OpenAI and JSON-LD FAQPage schema for SEO rich results.","assets_banners_color":"ffffff","last_updated":"2026-05-08 20:04:35","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/theuniverseepisodes.com\/product\/ai-seo-faq-schema-the-smartest-way-to-get-more-clicks-from-google\/","header_author_uri":"https:\/\/theuniverseepisodes.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":544,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.2.1":{"tag":"1.2.1","author":"erinkwon1","date":"2026-03-31 16:21:55"},"1.2.2":{"tag":"1.2.2","author":"erinkwon1","date":"2026-04-01 01:01:49"},"1.2.3":{"tag":"1.2.3","author":"erinkwon1","date":"2026-04-05 02:01:27"},"1.2.4":{"tag":"1.2.4","author":"erinkwon1","date":"2026-04-05 02:18:31"},"1.3.0":{"tag":"1.3.0","author":"erinkwon1","date":"2026-04-13 15:00:29"},"1.3.1":{"tag":"1.3.1","author":"erinkwon1","date":"2026-04-17 23:03:43"},"1.3.2":{"tag":"1.3.2","author":"erinkwon1","date":"2026-04-17 23:12:14"},"1.3.3":{"tag":"1.3.3","author":"erinkwon1","date":"2026-04-30 16:30:22"},"1.4.0":{"tag":"1.4.0","author":"erinkwon1","date":"2026-04-30 20:28:19"},"1.5.0":{"tag":"1.5.0","author":"erinkwon1","date":"2026-05-01 01:10:38"},"1.5.1":{"tag":"1.5.1","author":"erinkwon1","date":"2026-05-01 01:50:20"},"1.6.0":{"tag":"1.6.0","author":"erinkwon1","date":"2026-05-08 20:04:35"}},"upgrade_notice":{"1.6.0":"<p>Auto Generate now writes FAQs in the same language as your post content automatically. Korean posts get Korean FAQs, Spanish posts get Spanish FAQs, etc. Default is auto-detect; you can also force a specific language via the new &quot;FAQ Output Language&quot; control in the block sidebar (19 languages supported). Plus WP 7.0 readiness \u2014 Block API bumped from version 2 to 3 ahead of WordPress 7.0&#039;s full iframe block editor. Recommended for multilingual sites and required before upgrading to WP 7.0.<\/p>","1.5.1":"<p>Important follow-up to 1.5.0: the inline CSS fallback now also covers FAQ markup that was saved as static HTML in the post body (e.g. on translated multilingual pages where the block markup was lost). If you upgraded to 1.5.0 and your FAQs on translated pages still look unstyled, this release fixes that. Recommended for all users.<\/p>","1.5.0":"<p>Important fix: FAQ blocks were appearing unstyled on sites running LiteSpeed Cache, translation plugins, page builders, or Hide My WP \u2014 the plugin CSS is now emitted inline as a fallback so styles always load. New: a Customize Style panel with 10 per-block controls (colors, fonts, borders, accordion default state, custom CSS). Recommended for all users.<\/p>","1.4.0":"<p>The plugin has been renamed to &quot;AI FAQ Schema by MKJB&quot; for clearer discovery. This is a display-only change \u2014 your settings, API key, and existing FAQs are preserved automatically. Also adds 3 new FAQ entries (SEO vs GEO, performance, multilingual) and updated discovery tags.<\/p>","1.3.3":"<p>The &quot;I Have FAQ&quot; paste tab is much smarter now \u2014 accepts Q:\/A:, Question:\/Answer:, numbered lists, bracketed labels, markdown, HTML accordions, and plain Q&amp;A text. No more strict format requirement.<\/p>","1.3.2":"<p>Fixes Numbered style layout where answer text wrapped into single-word lines.<\/p>","1.3.1":"<p>Important fixes: outdated OpenAI model list replaced (old entries caused API errors), answer line breaks are preserved, schema injection is now cached for performance. New: dark mode, drag-and-drop reordering, Chat Bubble + Numbered styles. Recommended for all users.<\/p>","1.3.0":"<p>New GEO analyzer helps optimize FAQs for AI search engines (Google AI Overview, ChatGPT, Perplexity). SEO and GEO scores now display side by side. Recommended for all users.<\/p>","1.2.4":"<p>Design fix: All FAQ display styles now render correctly. Added Boxed and Timeline styles. Recommended for all users.<\/p>","1.2.3":"<p>Critical fix: Posts with FAQs from v1.2.1 or earlier now work correctly after update. Recommended for all users.<\/p>","1.2.2":"<p>Updated OpenAI model list to current GPT-5.4 series. Old GPT-5 models have been retired. Recommended for all users.<\/p>","1.2.1":"<p>Fixes a bug where the block didn&#039;t appear in the block inserter. Recommended update for all users.<\/p>","1.2.0":"<p>Quality Analyzer improvements, Remove All FAQs button, heading hierarchy fixes. Recommended for all users.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3504721,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3504721,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3504721,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3504721,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"mkjb\/faq-schema":{"name":"mkjb\/faq-schema","title":"FAQ Schema (AI SEO)"},"fsg\/faq-schema":{"name":"fsg\/faq-schema","title":"FAQ Schema (Legacy)"}},"tagged_versions":["1.2.1","1.2.2","1.2.3","1.2.4","1.3.0","1.3.1","1.3.2","1.3.3","1.4.0","1.5.0","1.5.1","1.6.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3495851,"resolution":"1","location":"assets","locale":"","width":1899,"height":1992},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3495851,"resolution":"2","location":"assets","locale":"","width":1899,"height":1992},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3495851,"resolution":"3","location":"assets","locale":"","width":1899,"height":1992},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3495851,"resolution":"4","location":"assets","locale":"","width":1899,"height":1992},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3495851,"resolution":"5","location":"assets","locale":"","width":1899,"height":1992},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3495851,"resolution":"6","location":"assets","locale":"","width":1899,"height":1992}},"screenshots":{"1":"Block editor with Auto Generate tab \u2014 one click to generate FAQs from your content","2":"FAQ Quality Analyzer \u2014 100-point score with specific improvement recommendations","3":"Settings page \u2014 API key, model selection, and custom prompt configuration","4":"Frontend display in card style \u2014 clean, styled FAQ output on your live page","5":"Schema Preview panel \u2014 view the generated JSON-LD directly in the block sidebar","6":"Manual Input tab with Remove All FAQs button"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[2353,178627,194533,2998,186],"plugin_category":[55],"plugin_contributors":[259121],"plugin_business_model":[],"class_list":["post-288420","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-faq-schema","plugin_tags-openai","plugin_tags-rich-snippets","plugin_tags-seo","plugin_category-seo-and-marketing","plugin_contributors-erinkwon1","plugin_committers-erinkwon1"],"banners":{"banner":"https:\/\/ps.w.org\/mkjb-ai-seo-faq-schema\/assets\/banner-772x250.png?rev=3504721","banner_2x":"https:\/\/ps.w.org\/mkjb-ai-seo-faq-schema\/assets\/banner-1544x500.png?rev=3504721","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/mkjb-ai-seo-faq-schema\/assets\/icon-128x128.png?rev=3504721","icon_2x":"https:\/\/ps.w.org\/mkjb-ai-seo-faq-schema\/assets\/icon-256x256.png?rev=3504721","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/mkjb-ai-seo-faq-schema\/assets\/screenshot-1.png?rev=3495851","caption":"Block editor with Auto Generate tab \u2014 one click to generate FAQs from your content"},{"src":"https:\/\/ps.w.org\/mkjb-ai-seo-faq-schema\/assets\/screenshot-2.png?rev=3495851","caption":"FAQ Quality Analyzer \u2014 100-point score with specific improvement recommendations"},{"src":"https:\/\/ps.w.org\/mkjb-ai-seo-faq-schema\/assets\/screenshot-3.png?rev=3495851","caption":"Settings page \u2014 API key, model selection, and custom prompt configuration"},{"src":"https:\/\/ps.w.org\/mkjb-ai-seo-faq-schema\/assets\/screenshot-4.png?rev=3495851","caption":"Frontend display in card style \u2014 clean, styled FAQ output on your live page"},{"src":"https:\/\/ps.w.org\/mkjb-ai-seo-faq-schema\/assets\/screenshot-5.png?rev=3495851","caption":"Schema Preview panel \u2014 view the generated JSON-LD directly in the block sidebar"},{"src":"https:\/\/ps.w.org\/mkjb-ai-seo-faq-schema\/assets\/screenshot-6.png?rev=3495851","caption":"Manual Input tab with Remove All FAQs button"}],"raw_content":"<!--section=description-->\n<p>\ud83c\udf0d <strong>New in 1.6.0:<\/strong> Multilingual Auto Generate \u2014 pick the FAQ output language right in the block sidebar (19 languages supported). Default is auto-detect: post in Korean \u2192 FAQ in Korean; post in Spanish \u2192 FAQ in Spanish. No more English FAQs on non-English posts.<\/p>\n\n<p><strong>Struggling to get your content noticed on Google \u2014 or cited by AI search?<\/strong> Most WordPress sites miss out on FAQ rich results simply because setting up structured data is too technical or too time-consuming. And almost nobody is optimizing for AI Overview, ChatGPT, or Perplexity citations.<\/p>\n\n<p><strong>AI FAQ Schema<\/strong> solves both in one click.<\/p>\n\n<p>Write your post, add the block, hit \"Generate FAQ\" \u2014 and the plugin handles everything else. It reads your content, generates relevant FAQ pairs using OpenAI, and automatically injects valid FAQPage JSON-LD schema into your page's <code>&lt;head&gt;<\/code>. No coding. No guesswork. No plugin conflicts. Then run the dual SEO + GEO analyzer to see exactly how AI-citation-ready your FAQs are before you publish.<\/p>\n\n\n\n<h4>Why FAQs Matter for SEO<\/h4>\n\n<p>Google's FAQ rich results can <strong>double your click-through rate<\/strong> by showing Q&amp;A snippets directly in search results. But to qualify, your page needs properly formatted structured data \u2014 the kind that typically requires a developer to set up manually.<\/p>\n\n<p>This plugin makes that automatic.<\/p>\n\n\n\n<h4>What Makes This Plugin Different<\/h4>\n\n<p>Most FAQ plugins just display pretty accordions. This one goes further:<\/p>\n\n<ul>\n<li>\u2705 <strong>AI writes the FAQs for you<\/strong> \u2014 based on your actual post content, not generic templates<\/li>\n<li>\u2705 <strong>Real structured data<\/strong> \u2014 valid FAQPage JSON-LD, not just visual styling<\/li>\n<li>\u2705 <strong>Built-in SEO quality check<\/strong> \u2014 12-point analyzer tells you exactly what to improve<\/li>\n<li>\u2705 <strong>GEO quality check<\/strong> \u2014 8-point AI citation analyzer for AI Overview, ChatGPT, and Perplexity visibility<\/li>\n<li>\u2705 <strong>Works with any theme<\/strong> \u2014 no shortcodes, no theme dependency<\/li>\n<li>\u2705 <strong>Zero build tools<\/strong> \u2014 drop it in and activate. No npm, no React, no headaches<\/li>\n<\/ul>\n\n\n\n<h4>Key Features<\/h4>\n\n<p><strong>3 Ways to Add FAQs<\/strong><\/p>\n\n<ul>\n<li><strong>Auto Generate (AI)<\/strong> \u2014 Paste or write your content, click Generate, done. Powered by OpenAI.<\/li>\n<li><strong>Paste Existing FAQs<\/strong> \u2014 Already have FAQs? Paste them in almost any format (Q:\/A:, Question:\/Answer:, numbered lists, plain text, HTML, or markdown) and the smart parser auto-detects and structures them instantly.<\/li>\n<li><strong>Manual Input<\/strong> \u2014 Prefer full control? Type your questions and answers directly in the block editor.<\/li>\n<\/ul>\n\n<p><strong>FAQ Quality Analyzer (100-Point Score)<\/strong><\/p>\n\n<p>Before you publish, run the built-in analyzer. It checks 12 SEO criteria across 3 categories:<\/p>\n\n<ul>\n<li>Basic checks \u2014 FAQ count, duplicate detection, question format<\/li>\n<li>Direct answer quality \u2014 first-sentence scoring, search intent alignment<\/li>\n<li>Keyword SEO \u2014 keyword presence in questions and answers, sentence length, uniqueness<\/li>\n<\/ul>\n\n<p>You get a score out of 100 with specific recommendations. No guessing what to fix.<\/p>\n\n<p><strong>GEO Quality Analyzer (AI Citation Score)<\/strong><\/p>\n\n<p>Optimize your FAQs for AI search engines \u2014 Google AI Overview, ChatGPT, Perplexity, and Claude. The GEO analyzer checks 8 criteria across 4 categories:<\/p>\n\n<ul>\n<li>Answer-First structure \u2014 no filler phrases, direct answers in the AI citation sweet spot (8-60 words)<\/li>\n<li>Self-Contained \u2014 no relative references, no vague endings, each FAQ stands alone<\/li>\n<li>Specificity and E-E-A-T \u2014 concrete data points, no promotional superlatives<\/li>\n<li>Clarity \u2014 no ambiguous pronouns, structured multi-sentence answers<\/li>\n<\/ul>\n\n<p>SEO and GEO scores display side by side. Click each to see the detailed breakdown.<\/p>\n\n<p><strong>Google-Ready JSON-LD Schema<\/strong><\/p>\n\n<p>The plugin automatically injects FAQPage structured data into your page's <code>&lt;head&gt;<\/code> \u2014 exactly the format Google requires for rich results. You don't touch any code.<\/p>\n\n<p><strong>Multiple OpenAI Models<\/strong><\/p>\n\n<p>Choose the model that fits your needs and budget:<\/p>\n\n<ul>\n<li><code>gpt-4o-mini<\/code> \u2014 Fastest, lowest cost. Great for most blogs.<\/li>\n<li><code>gpt-4o<\/code> \u2014 Multimodal flagship, balanced quality and cost.<\/li>\n<li><code>gpt-4.1-mini<\/code> \u2014 Upgraded mini with a larger context window.<\/li>\n<li><code>gpt-4.1<\/code> \u2014 Flagship model. Best quality for competitive niches.<\/li>\n<li><code>o3-mini<\/code> \u2014 Reasoning model. Good for complex topics.<\/li>\n<li><code>o3<\/code> \u2014 Most capable reasoning model.<\/li>\n<li><code>o4-mini<\/code> \u2014 Latest lightweight reasoning model.<\/li>\n<\/ul>\n\n<p><strong>7 Display Styles<\/strong><\/p>\n\n<ul>\n<li>Minimal \u2014 Clean text list with Q prefix<\/li>\n<li>Card \u2014 Elevated cards with hover effects<\/li>\n<li>Accordion \u2014 Click to expand, great for long answers<\/li>\n<li>Boxed \u2014 Colored header with distinct sections<\/li>\n<li>Timeline \u2014 Vertical timeline with numbered dots<\/li>\n<li>Chat Bubble \u2014 Messenger-style question\/answer bubbles<\/li>\n<li>Numbered \u2014 Large index numbers for tutorial-style posts<\/li>\n<\/ul>\n\n<p><strong>Dark Mode<\/strong><\/p>\n\n<p>All display styles automatically adapt to your visitor's OS preference \u2014 readers using dark mode see a matching dark-themed FAQ block with no extra configuration.<\/p>\n\n<p><strong>Custom AI Prompt<\/strong><\/p>\n\n<p>Not happy with the default output? Edit the prompt. Use <code>{count}<\/code> as a placeholder for the number of FAQs. The plugin always enforces JSON formatting automatically.<\/p>\n\n<p><strong>Target Keyword Optimization<\/strong><\/p>\n\n<p>Set a target keyword per block (or let AI detect it from your content). The quality analyzer then checks whether your FAQs are properly optimized around that keyword.<\/p>\n\n\n\n<h4>Who Is This For?<\/h4>\n\n<ul>\n<li><strong>Bloggers<\/strong> who want more Google visibility without touching code<\/li>\n<li><strong>SEO professionals<\/strong> who need to scale FAQ structured data across many posts<\/li>\n<li><strong>Content marketers<\/strong> building topical authority in competitive niches<\/li>\n<li><strong>Agencies<\/strong> managing client sites and needing a reliable FAQ solution<\/li>\n<li><strong>Small business sites<\/strong> looking to stand out in Google search results with rich snippets<\/li>\n<\/ul>\n\n\n\n<h4>Security<\/h4>\n\n<p>Your OpenAI API key is stored server-side and never exposed to the browser. All AI calls happen through a protected REST endpoint with nonce verification. Rate limiting (10 requests\/minute\/user) prevents abuse.<\/p>\n\n\n\n<h3>External Services<\/h3>\n\n<p>This plugin connects to the OpenAI API (api.openai.com) to generate FAQ content and extract target keywords.<\/p>\n\n<p>When you click \"Generate FAQ\" or \"AI Detect,\" your post content and custom prompt are sent to OpenAI's servers for processing. This only happens on demand \u2014 never automatically in the background.<\/p>\n\n<ul>\n<li><a href=\"https:\/\/openai.com\/policies\/terms-of-use\">OpenAI Terms of Use<\/a><\/li>\n<li><a href=\"https:\/\/openai.com\/policies\/privacy-policy\">OpenAI Privacy Policy<\/a><\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>mkjb-ai-seo-faq-schema<\/code> folder to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu in WordPress<\/li>\n<li>Go to <strong>Settings &gt; AI FAQ Schema<\/strong> and enter your OpenAI API key<\/li>\n<li>Open any post or page in the block editor and search for <strong>\"FAQ Schema\"<\/strong> in the block inserter<\/li>\n<li>Add the block, choose your mode, and publish \u2014 schema is injected automatically<\/li>\n<\/ol>\n\n<p><strong>You don't need an API key<\/strong> to use the Manual Input or Paste FAQ modes.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20an%20openai%20api%20key%20to%20use%20this%20plugin%3F\"><h3>Do I need an OpenAI API key to use this plugin?<\/h3><\/dt>\n<dd><p>No \u2014 not for everything. The \"I Have FAQ\" (paste mode) and \"Manual Input\" modes work without any API key. You only need a key for the \"Auto Generate\" mode and the AI keyword detection feature. You can get an API key at <a href=\"https:\/\/platform.openai.com\/api-keys\">platform.openai.com\/api-keys<\/a>.<\/p><\/dd>\n<dt id=\"will%20this%20actually%20help%20my%20google%20rankings%3F\"><h3>Will this actually help my Google rankings?<\/h3><\/dt>\n<dd><p>It gives your pages the structured data they need to qualify for Google's FAQ rich results \u2014 expanded Q&amp;A snippets that appear directly in search. These can significantly increase click-through rates. That said, Google decides whether to show rich results based on their own criteria; the plugin ensures your schema is valid and properly formatted.<\/p><\/dd>\n<dt id=\"how%20much%20does%20it%20cost%20to%20use%20the%20openai%20api%3F\"><h3>How much does it cost to use the OpenAI API?<\/h3><\/dt>\n<dd><p>Very little for typical use. With <code>gpt-4o-mini<\/code>, generating 5 FAQs from a blog post costs a fraction of a cent. Even a high-traffic content site generating hundreds of FAQs per month would spend just a few dollars. You only pay when you click \"Generate\" \u2014 never in the background.<\/p><\/dd>\n<dt id=\"is%20the%20generated%20schema%20valid%20for%20google%27s%20rich%20results%20test%3F\"><h3>Is the generated schema valid for Google's Rich Results Test?<\/h3><\/dt>\n<dd><p>Yes. The plugin outputs standard schema.org FAQPage JSON-LD markup that passes Google's Rich Results Test. You can verify any page at <a href=\"https:\/\/search.google.com\/test\/rich-results\">search.google.com\/test\/rich-results<\/a>.<\/p><\/dd>\n<dt id=\"can%20i%20edit%20the%20faqs%20after%20generating%20them%3F\"><h3>Can I edit the FAQs after generating them?<\/h3><\/dt>\n<dd><p>Absolutely. The generated FAQs are fully editable directly in the block editor. Change any question or answer, reorder them, or delete individual entries anytime.<\/p><\/dd>\n<dt id=\"does%20this%20work%20with%20my%20theme%3F\"><h3>Does this work with my theme?<\/h3><\/dt>\n<dd><p>Yes. The plugin uses a native Gutenberg block with server-side rendering, so it works with any WordPress theme. No shortcodes, no theme customizations required.<\/p><\/dd>\n<dt id=\"does%20this%20work%20with%20yoast%20seo%20or%20rankmath%3F\"><h3>Does this work with Yoast SEO or RankMath?<\/h3><\/dt>\n<dd><p>Yes. This plugin is fully compatible with Yoast SEO, RankMath, and other SEO plugins. It injects its own FAQPage JSON-LD schema independently. Just make sure you're not also generating FAQ schema from your SEO plugin for the same page \u2014 otherwise you may end up with duplicate structured data. If you're only using Yoast or RankMath for general SEO (title tags, meta descriptions, sitemaps), there's no conflict at all.<\/p><\/dd>\n<dt id=\"does%20this%20work%20with%20the%20classic%20editor%3F\"><h3>Does this work with the Classic Editor?<\/h3><\/dt>\n<dd><p>No \u2014 this plugin requires the WordPress Block Editor (Gutenberg). It is a native Gutenberg block and does not work with the Classic Editor plugin. If your site uses the Classic Editor, you would need to switch to the block editor to use this plugin.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20my%20faqs%20if%20i%20deactivate%20the%20plugin%3F\"><h3>What happens to my FAQs if I deactivate the plugin?<\/h3><\/dt>\n<dd><p>Your FAQ content is preserved in your posts \u2014 it won't disappear. However, the schema injection and visual display will stop working until you reactivate. Your settings (API key, model, etc.) are also saved and restored on reactivation.<\/p><\/dd>\n<dt id=\"what%20if%20i%20delete%20the%20plugin%3F\"><h3>What if I delete the plugin?<\/h3><\/dt>\n<dd><p>Your FAQ content inside posts is preserved. Plugin settings (API key, model, prompt, style preferences) are removed from the database on deletion, as per WordPress best practices.<\/p><\/dd>\n<dt id=\"can%20i%20use%20this%20on%20multiple%20sites%3F\"><h3>Can I use this on multiple sites?<\/h3><\/dt>\n<dd><p>Yes. The plugin is standard GPL software with no license key or site limit. Install it on as many WordPress sites as you want.<\/p><\/dd>\n<dt id=\"does%20the%20ai%20always%20produce%20perfect%20faqs%3F\"><h3>Does the AI always produce perfect FAQs?<\/h3><\/dt>\n<dd><p>Not always \u2014 AI output quality depends on your content and prompt. That's why the built-in FAQ Quality Analyzer exists. Run it before you publish and follow the recommendations to improve your score. You can also edit any generated FAQ manually.<\/p><\/dd>\n<dt id=\"how%20is%20the%20100-point%20quality%20score%20calculated%3F\"><h3>How is the 100-point quality score calculated?<\/h3><\/dt>\n<dd><p>The analyzer runs 12 checks across three categories:\n* <strong>Basic (40 pts)<\/strong> \u2014 FAQ count, no duplicates, questions end with \"?\", answer length (100\u20131,000 chars)\n* <strong>Direct Answer \/ SEO (30 pts)<\/strong> \u2014 Direct first sentence, sentence under 150 chars, search-intent format (What\/How\/Why), no first-person language\n* <strong>Keyword SEO (30 pts, only if keyword is set)<\/strong> \u2014 Keyword in questions, keyword in answers, sentence length under 20 words, no duplicate answers<\/p><\/dd>\n<dt id=\"is%20my%20content%20sent%20to%20openai%20every%20time%20i%20load%20the%20editor%3F\"><h3>Is my content sent to OpenAI every time I load the editor?<\/h3><\/dt>\n<dd><p>No. Content is only sent to OpenAI when you click \"Generate FAQ\" or \"AI Detect.\" Nothing is sent automatically in the background.<\/p><\/dd>\n<dt id=\"what%20is%20the%20difference%20between%20the%20seo%20score%20and%20the%20geo%20score%3F\"><h3>What is the difference between the SEO score and the GEO score?<\/h3><\/dt>\n<dd><p>The <strong>SEO score<\/strong> (out of 100) checks 12 traditional Google ranking factors: question format, answer length, direct first sentence, keyword placement, sentence length, duplicate detection, and so on. It tells you if your FAQ qualifies for Google's FAQ rich results.<\/p>\n\n<p>The <strong>GEO score<\/strong> (out of 100) checks 8 AI-citation factors that matter when ChatGPT, Perplexity, Google AI Overview, or Claude decides whether to quote you. These include: filler-word detection, citation-window length (8-60 words is the sweet spot AI assistants prefer), self-contained answers (no \"as mentioned above\"), specificity and E-E-A-T signals, pronoun ambiguity, and structured multi-sentence formatting. Both scores display side by side, and clicking either one shows a detailed per-FAQ breakdown.<\/p><\/dd>\n<dt id=\"will%20this%20slow%20down%20my%20site%3F\"><h3>Will this slow down my site?<\/h3><\/dt>\n<dd><p>No. Schema generation runs <strong>once per post when you save<\/strong>, then the JSON-LD is cached as post metadata. On every page view, the plugin reads the cache directly instead of re-parsing your block content. The frontend overhead is a single small <code>&lt;script type=\"application\/ld+json\"&gt;<\/code> tag in the page head, which is exactly what Google's Rich Results Test expects. The CSS for display styles is also enqueued only on pages that actually contain a FAQ block.<\/p><\/dd>\n<dt id=\"does%20this%20work%20with%20non-english%20content%3F\"><h3>Does this work with non-English content?<\/h3><\/dt>\n<dd><p>Yes. The schema markup is language-agnostic \u2014 Google reads <code>FAQPage<\/code> schema correctly in any language. The AI generation also works in any language OpenAI supports (60+ languages); if your post content is in Korean, Japanese, Spanish, French, German, etc., the generated FAQs will be in the same language. The \"I Have FAQ\" paste mode also accepts FAQs in any language.<\/p>\n\n<\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.6.0<\/h4>\n\n<ul>\n<li>Added: <strong>FAQ Output Language<\/strong> control \u2014 Auto Generate now produces FAQs in the same language as your post content by default (auto-detect). Previously, the AI always output English regardless of content language, which broke multilingual sites where posts in Korean \/ Spanish \/ Japanese \/ etc. ended up with English FAQs.<\/li>\n<li>Added: 18 explicit language overrides in the block sidebar (English, Korean, Spanish, French, German, Japanese, Chinese, Portuguese, Italian, Russian, Arabic, Hindi, Vietnamese, Thai, Indonesian, Turkish, Polish, Dutch) \u2014 useful when you want FAQs translated into a different language than the source content.<\/li>\n<li>Improved: Language directive in the prompt is injected with highest priority and explicitly overrides the default prompt's \"US market\" framing, so question starters (What\/How\/Why), Yes\/No answer starters, and cultural references all match the target language.<\/li>\n<li>Compatibility: Existing blocks default to \"auto\" \u2014 they will continue to work, and on the next regenerate they'll match your post's language automatically.<\/li>\n<li>WP 7.0 ready: Block API bumped from version 2 to version 3 (in both the JS <code>registerBlockType<\/code> and the PHP <code>register_block_type<\/code> calls). WordPress 7.0 enforces full iframe isolation for the block editor and deprecates apiVersion 1 and 2; this release pre-emptively switches the FAQ block to apiVersion 3 so it keeps working when 7.0 lands. No user-visible behaviour change \u2014 the block already used <code>useBlockProps<\/code> and only <code>wp.*<\/code> globals (no <code>document.querySelector<\/code> etc.), so iframe isolation has no impact.<\/li>\n<\/ul>\n\n<h4>1.5.1<\/h4>\n\n<ul>\n<li>Fixed: Inline CSS fallback now also covers FAQ markup that was saved as <strong>static HTML<\/strong> in the post body (a common state on multilingual sites where translation plugins copy the rendered HTML from the original post into the translated copy, stripping the block markup along the way). The 1.5.0 fix only covered dynamic block rendering via render_callback; this release adds a <code>the_content<\/code> filter at priority 100 that scans for the FAQ block class and injects the inline stylesheet when needed. End result: FAQ styling now reaches the browser whether the block is dynamic, static HTML, translated, or pasted from another post.<\/li>\n<\/ul>\n\n<h4>1.5.0<\/h4>\n\n<ul>\n<li>Fixed: Plugin CSS not loading on some pages \u2014 frontend FAQ blocks could appear unstyled when caching plugins (LiteSpeed Cache), translation\/multilingual plugins, page builders, or path-obfuscation plugins (e.g. Hide My WP) suppressed the regular stylesheet enqueue. The block CSS is now emitted inline once per page render as a fallback, so styles always reach the browser regardless of the optimization stack.<\/li>\n<li>Added: <strong>Customize Style<\/strong> panel in the block sidebar with 10 per-block controls \u2014 Question\/Answer text colors, Question\/Answer backgrounds, Border color, Border radius, Question\/Answer font sizes, Accordion default open state (all collapsed \/ first open \/ all open), and a Custom CSS textarea scoped to the block.<\/li>\n<li>Added: Per-block customize values render as inline CSS custom properties on the block wrapper, giving them the highest specificity \u2014 themes and caching plugins cannot override them.<\/li>\n<li>Improved: Accordion items can now start in an open state by default, useful for highlighting the most important question on landing pages.<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>Renamed: Plugin display name changed from \"MKJB AI SEO FAQ Schema\" to <strong>\"AI FAQ Schema by MKJB\"<\/strong> for clearer discovery (keywords up front, brand preserved). Slug, settings, FAQs, API keys, and licensing are unchanged \u2014 this is a display-only rename and existing installs are unaffected.<\/li>\n<li>Improved: Updated tags and short description for better WordPress.org discoverability around AI search and rich-snippet keywords.<\/li>\n<li>Added: Three new FAQ entries \u2014 SEO vs GEO score difference, performance\/caching behavior, and multilingual support.<\/li>\n<li>Cosmetic: All admin labels (Settings menu, error messages, on-screen hints) now read \"AI FAQ Schema\" instead of the old name.<\/li>\n<\/ul>\n\n<h4>1.3.3<\/h4>\n\n<ul>\n<li>Improved: \"I Have FAQ\" tab now auto-detects multiple paste formats \u2014 no more strict Q:\/A: only. Accepts Question:\/Answer:, numbered lists (\"1. ...\"), bracketed labels ([Q]\/[A]), markdown headings, bold-wrapped labels (<strong>Q:<\/strong>), and plain text where each question simply ends with \"?\".<\/li>\n<li>Improved: Pasting from HTML sources (blog posts, accordion widgets, &lt;dt&gt;\/&lt;dd&gt; lists, &lt;details&gt;\/&lt;summary&gt; elements) now strips tags and entities before parsing.<\/li>\n<li>Improved: Markdown decorations (#, ##, ###, &gt;, -, *, <strong>bold<\/strong>) are stripped automatically so copy-pastes from Notion, Google Docs, and Markdown editors parse cleanly.<\/li>\n<li>Improved: Updated paste-tab help text and placeholder to show all supported formats with concrete examples.<\/li>\n<\/ul>\n\n<h4>1.3.2<\/h4>\n\n<ul>\n<li>Fixed: Numbered style layout \u2014 answer text was breaking into single-word lines due to narrow CSS grid column width.<\/li>\n<\/ul>\n\n<h4>1.3.1<\/h4>\n\n<ul>\n<li>Fixed: Updated OpenAI model list to currently available models (gpt-4o, gpt-4.1 series, o3, o4-mini). Replaced non-existent gpt-5.4 references that caused API errors.<\/li>\n<li>Fixed: Multi-line answers (numbered lists, bullet points) now preserve their line breaks on the frontend instead of being collapsed into a single line.<\/li>\n<li>Fixed: Rate limiter now uses a proper fixed 60-second window instead of a rolling window that could extend indefinitely.<\/li>\n<li>Fixed: Accordion heading structure improved for screen-reader accessibility.<\/li>\n<li>Fixed: Defensive length caps on individual question (300 chars) and answer (2,000 chars) to prevent runaway AI output.<\/li>\n<li>Improved: Schema injection is now cached per post on save \u2014 no more parsing blocks on every page view, significantly faster for high-traffic sites.<\/li>\n<li>Improved: Removed unnecessary admin-only data from the block editor script payload.<\/li>\n<li>Added: Dark mode support across all display styles \u2014 automatically follows visitor's OS preference.<\/li>\n<li>Added: Drag-and-drop reordering and Duplicate button in the Manual Input tab.<\/li>\n<li>Added: 2 new display styles \u2014 Chat Bubble (messenger-style) and Numbered (tutorial-style).<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Added: GEO Quality Analyzer with 100-point scoring for AI search citation optimization<\/li>\n<li>Added: Dual score display \u2014 SEO and GEO scores shown side by side with tabbed breakdown<\/li>\n<li>Added: 8 GEO checks: filler detection, citation length, self-contained answers, specificity, E-E-A-T signals, pronoun ambiguity, promotional fluff, structured format<\/li>\n<li>Improved: Default AI prompt now includes explicit GEO rules for AI citation-ready FAQ generation<\/li>\n<li>Improved: AI prompt separates SEO rules and GEO rules for clearer optimization<\/li>\n<\/ul>\n\n<h4>1.2.4<\/h4>\n\n<ul>\n<li>Fixed: CSS not loading on frontend for posts using legacy block name<\/li>\n<li>Fixed: Broken unicode characters in CSS causing style rendering issues<\/li>\n<li>Added: 2 new display styles - Boxed and Timeline<\/li>\n<li>Improved: All existing styles (Minimal, Card, Accordion) with premium visuals<\/li>\n<li>Improved: Responsive design for mobile devices<\/li>\n<\/ul>\n\n<h4>1.2.3<\/h4>\n\n<ul>\n<li>Fixed: Backward compatibility for posts created with plugin v1.2.1 or earlier (fsg\/faq-schema block)<\/li>\n<li>Added: Legacy block registration so existing FAQ blocks continue to work after update<\/li>\n<li>Added: Schema injection now detects both old (fsg\/) and new (mkjb\/) block names<\/li>\n<\/ul>\n\n<h4>1.2.2<\/h4>\n\n<ul>\n<li>Updated: OpenAI model list (Note: the gpt-5.4 references in this release were not real models and were corrected in 1.3.1 \u2014 please update to 1.3.1 or later if you are still on 1.2.2.)<\/li>\n<li>Improved: Plugin description, FAQ section, and tags for better discoverability<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>Fixed: Block not appearing in WordPress block inserter when searching \"\/faq\"<\/li>\n<li>Fixed: Block category updated from deprecated 'common' to 'text'<\/li>\n<li>Fixed: Added apiVersion 2 for proper useBlockProps support<\/li>\n<li>Fixed: Removed deprecated wp-editor script dependency<\/li>\n<li>Fixed: Removed all non-ASCII characters from JavaScript to prevent encoding issues on some server configurations<\/li>\n<li>Fixed: Updated deprecated isPrimary\/isSecondary Button props to the current variant API<\/li>\n<li>Added: Block supports configuration (html: false, multiple: true)<\/li>\n<li>Improved: Version bump for reliable cache busting<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Added: \"Remove All FAQs\" button in I Have FAQ and Manual Input tabs<\/li>\n<li>Added: Score always displayed as X\/100 (normalized when no keyword is set)<\/li>\n<li>Added: First-person usage detection (We\/Our\/Us\/My) in Quality Analyzer<\/li>\n<li>Added: Sentence length check (20-word limit per sentence)<\/li>\n<li>Changed: Answer length requirements updated to 100-1,000 characters<\/li>\n<li>Changed: FAQ questions rendered as H3 for correct heading hierarchy<\/li>\n<li>Changed: Accordion questions use H3 inside summary element for accessibility<\/li>\n<li>Changed: Default AI prompt updated to enforce plain text formatting<\/li>\n<li>Fixed: Browser cache preventing updated JS\/CSS from loading<\/li>\n<li>Improved: Quality Analyzer v2 rules aligned with SEO and GEO best practices<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Added: OpenAI model selection (gpt-4o-mini through o3)<\/li>\n<li>Added: Custom AI prompt with {count} placeholder<\/li>\n<li>Added: FAQ Quality Analyzer v2 with 100-point scoring<\/li>\n<li>Added: Target keyword input with AI auto-detect<\/li>\n<li>Added: FAQ title display option (H2\/H3\/H4)<\/li>\n<li>Added: Delete API Key button<\/li>\n<li>Added: Rate limiting (10 requests\/minute\/user)<\/li>\n<li>Added: Nested block support for schema injection<\/li>\n<li>Fixed: API key overwrite bug when saving other settings<\/li>\n<li>Fixed: Schema returning null on empty FAQ arrays<\/li>\n<li>Fixed: CSS double-loading on frontend pages<\/li>\n<li>Fixed: has_block() parameter error<\/li>\n<li>Improved: Modern CSS with custom properties<\/li>\n<li>Improved: Security hardening for public distribution<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<\/ul>","raw_excerpt":"AI-generated FAQs with JSON-LD schema for Google rich results and AI search citations (AI Overview, ChatGPT, Perplexity). 1-click setup, no coding.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/288420","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=288420"}],"author":[{"embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/erinkwon1"}],"wp:attachment":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=288420"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=288420"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=288420"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=288420"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=288420"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=288420"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}