{"id":366642,"date":"2026-09-26T07:19:17","date_gmt":"2026-09-26T07:19:17","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/saai-knowledge\/"},"modified":"2026-09-26T07:18:47","modified_gmt":"2026-09-26T07:18:47","slug":"saai-knowledge","status":"publish","type":"plugin","link":"https:\/\/gl.wordpress.org\/plugins\/saai-knowledge\/","author":23466781,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.1","stable_tag":"1.0.1","tested":"7.1.2","requires":"6.9","requires_php":"8.2","requires_plugins":null,"header_name":"SAAI Knowledge","header_author":"Shinobiashi","header_description":"FAQ \/ Knowledge Base \/ Glossary content types with a two-column KB layout, term auto-linking, and live search.","assets_banners_color":"36c0c1","last_updated":"2026-09-26 07:18:47","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/shinobiashi\/saai-knowledge","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":57,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.1":{"tag":"1.0.1","author":"shinobiashi","date":"2026-09-26 07:18:47","revision":3713942}},"upgrade_notice":{"1.0.1":"<p>Housekeeping release. Translations now come from translate.wordpress.org language packs rather than files bundled with the plugin, and the readme documents the public source repository and build process. No functional changes.<\/p>","1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3713942,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3713942,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3713942,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3713942,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"saai-knowledge\/kb-toc":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"saai-knowledge\/kb-toc","title":"KB Table of Contents","category":"widgets","description":"In-page table of contents generated from the article's headings, with scroll-spy highlighting.","textdomain":"saai-knowledge","usesContext":["postId"],"editorScript":"file:.\/index.js","editorStyle":"file:.\/index.css","style":"file:.\/style-view.css","viewScriptModule":"file:.\/view.js","render":"file:.\/render.php","supports":{"html":false,"align":["wide","full"]}},"saai-knowledge\/kb-sidebar":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"saai-knowledge\/kb-sidebar","title":"KB Sidebar","category":"widgets","description":"Category tree and article list sidebar for Knowledge Base pages.","textdomain":"saai-knowledge","usesContext":["postId","queryId"],"editorScript":"file:.\/index.js","editorStyle":"file:.\/index.css","style":"file:.\/style-view.css","viewScriptModule":"file:.\/view.js","render":"file:.\/render.php","supports":{"html":false,"align":["wide","full"]}},"saai-knowledge\/search":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"saai-knowledge\/search","title":"Knowledge Search","category":"widgets","description":"Live search across FAQ, Knowledge Base, and glossary content.","textdomain":"saai-knowledge","attributes":{"placeholder":{"type":"string","default":""},"perPage":{"type":"number","default":5}},"editorScript":"file:.\/index.js","editorStyle":"file:.\/index.css","style":"file:.\/style-view.css","viewScriptModule":"file:.\/view.js","render":"file:.\/render.php","supports":{"html":false,"align":["wide","full"]}},"saai-knowledge\/glossary-index":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"saai-knowledge\/glossary-index","title":"Glossary Index","category":"widgets","description":"Tabbed index of published glossary terms, grouped by goj\u016bon row or A\u2013Z.","textdomain":"saai-knowledge","editorScript":"file:.\/index.js","editorStyle":"file:.\/index.css","style":"file:.\/style-view.css","viewScriptModule":"file:.\/view.js","render":"file:.\/render.php","supports":{"html":false,"align":["wide","full"]}},"saai-knowledge\/faq-list":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"saai-knowledge\/faq-list","title":"FAQ List","category":"widgets","description":"FAQ accordion list with FAQPage structured data, built on the core Accordion block.","textdomain":"saai-knowledge","usesContext":["postId"],"attributes":{"category":{"type":"string","default":""},"count":{"type":"number","default":0},"orderBy":{"type":"string","enum":["date","title"],"default":"date"},"order":{"type":"string","enum":["asc","desc"],"default":"desc"},"groupByCategory":{"type":"boolean","default":false}},"editorScript":"file:.\/index.js","editorStyle":"file:.\/index.css","render":"file:.\/render.php","supports":{"html":false,"align":["wide","full"]}},"saai-knowledge\/breadcrumbs":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"saai-knowledge\/breadcrumbs","title":"KB Breadcrumbs","category":"widgets","description":"Hub \/ category \/ article breadcrumb trail for Knowledge Base pages, with BreadcrumbList JSON-LD.","textdomain":"saai-knowledge","usesContext":["postId","queryId"],"editorScript":"file:.\/index.js","editorStyle":"file:.\/index.css","style":"file:.\/style-index.css","render":"file:.\/render.php","supports":{"html":false,"align":["wide","full"]}}},"tagged_versions":["1.0.1"],"block_files":[],"assets_screenshots":{"screenshot-1.jpg":{"filename":"screenshot-1.jpg","revision":3713942,"resolution":"1","location":"assets","locale":"","width":1372,"height":871},"screenshot-2.jpg":{"filename":"screenshot-2.jpg","revision":3713942,"resolution":"2","location":"assets","locale":"","width":1372,"height":871},"screenshot-3.jpg":{"filename":"screenshot-3.jpg","revision":3713942,"resolution":"3","location":"assets","locale":"","width":1372,"height":871},"screenshot-4.jpg":{"filename":"screenshot-4.jpg","revision":3713942,"resolution":"4","location":"assets","locale":"","width":1372,"height":871},"screenshot-5.jpg":{"filename":"screenshot-5.jpg","revision":3713942,"resolution":"5","location":"assets","locale":"","width":1372,"height":871},"screenshot-6.jpg":{"filename":"screenshot-6.jpg","revision":3713942,"resolution":"6","location":"assets","locale":"","width":1372,"height":871}},"screenshots":{"1":"Knowledge Base article with category sidebar and table of contents.","2":"FAQ accordion list, expanded.","3":"Glossary A\u2013Z index.","4":"Live search results grouped by content type.","5":"Settings screen \u2014 auto-linking, structured data, and AI readability options.","6":"Term auto-linking tooltip shown on hover."}},"plugin_section":[],"plugin_tags":[1643,2409,14090,944,1121],"plugin_category":[],"plugin_contributors":[261217],"plugin_business_model":[],"class_list":["post-366642","plugin","type-plugin","status-publish","hentry","plugin_tags-faq","plugin_tags-glossary","plugin_tags-knowledge-base","plugin_tags-search","plugin_tags-structured-data","plugin_contributors-shinobiashi","plugin_committers-shinobiashi"],"banners":{"banner":"https:\/\/ps.w.org\/saai-knowledge\/assets\/banner-772x250.png?rev=3713942","banner_2x":"https:\/\/ps.w.org\/saai-knowledge\/assets\/banner-1544x500.png?rev=3713942","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/saai-knowledge\/assets\/icon-128x128.png?rev=3713942","icon_2x":"https:\/\/ps.w.org\/saai-knowledge\/assets\/icon-256x256.png?rev=3713942","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/saai-knowledge\/assets\/screenshot-1.jpg?rev=3713942","caption":"Knowledge Base article with category sidebar and table of contents."},{"src":"https:\/\/ps.w.org\/saai-knowledge\/assets\/screenshot-2.jpg?rev=3713942","caption":"FAQ accordion list, expanded."},{"src":"https:\/\/ps.w.org\/saai-knowledge\/assets\/screenshot-3.jpg?rev=3713942","caption":"Glossary A\u2013Z index."},{"src":"https:\/\/ps.w.org\/saai-knowledge\/assets\/screenshot-4.jpg?rev=3713942","caption":"Live search results grouped by content type."},{"src":"https:\/\/ps.w.org\/saai-knowledge\/assets\/screenshot-5.jpg?rev=3713942","caption":"Settings screen \u2014 auto-linking, structured data, and AI readability options."},{"src":"https:\/\/ps.w.org\/saai-knowledge\/assets\/screenshot-6.jpg?rev=3713942","caption":"Term auto-linking tooltip shown on hover."}],"raw_content":"<!--section=description-->\n<p>SAAI Knowledge adds three purpose-built content types to WordPress \u2014 FAQ, Knowledge Base, and Glossary \u2014 with the structure, navigation, and structured data that both readers and AI crawlers expect.<\/p>\n\n<h4>Knowledge Base<\/h4>\n\n<ul>\n<li>Two-column layout: category sidebar + article, with automatic ancestor-term navigation<\/li>\n<li>Table of contents generated from your article's headings, with scroll-spy highlighting<\/li>\n<li>Breadcrumbs with <code>BreadcrumbList<\/code> structured data<\/li>\n<li>Works with block themes and classic themes alike<\/li>\n<\/ul>\n\n<h4>FAQ<\/h4>\n\n<ul>\n<li>Accordion display built on the core Accordion block \u2014 no extra JavaScript framework<\/li>\n<li>Each question gets its own page (question as heading, answer directly below) with <code>QAPage<\/code> structured data; the archive gets <code>FAQPage<\/code> structured data<\/li>\n<li>Server-rendered content: the answer is always present in the initial HTML, so JavaScript-averse crawlers see it too<\/li>\n<\/ul>\n\n<h4>Glossary<\/h4>\n\n<ul>\n<li>A\u2013Z \/ Japanese (\u4e94\u5341\u97f3) index block, sorted by reading<\/li>\n<li>Automatic term linking across your site's content, with a tooltip preview on hover\/tap<\/li>\n<li><code>DefinedTerm<\/code> structured data on each term's page<\/li>\n<\/ul>\n\n<h4>Live search<\/h4>\n\n<ul>\n<li>A single search block that queries FAQ, Knowledge Base, and Glossary content and groups results by type as you type<\/li>\n<\/ul>\n\n<h4>Built for AI \/ RAG pipelines<\/h4>\n\n<ul>\n<li>Every FAQ\/KB\/Glossary page is available as clean Markdown via <code>?format=markdown<\/code><\/li>\n<li>A Markdown index of your whole knowledge base, published for AI crawlers<\/li>\n<li>If you run Yoast SEO, Rank Math, or All in One SEO, SAAI Knowledge fills in their llms.txt descriptions for these pages automatically<\/li>\n<li>A REST export endpoint with incremental sync (<code>modified_after<\/code>), plus a full-dump JSONL\/CSV download from the admin screen \u2014 ideal for feeding a support chatbot or RAG index<\/li>\n<li>The Markdown output, llms.txt index, and SEO-plugin integration are controlled by a single setting; the REST export endpoint and admin download aren't affected by it and are always available (the REST endpoint only ever returns already-public content; the admin download requires the same capability as the rest of Settings)<\/li>\n<\/ul>\n\n<h4>Extensible<\/h4>\n\n<p>Every automatic behavior (auto-linking, structured data, and the Markdown\/llms.txt output) is controlled from Settings, and the plugin exposes <code>saai_*<\/code> actions\/filters so other plugins and themes can customize or extend it.<\/p>\n\n<h4>Source code and build process<\/h4>\n\n<p>SAAI Knowledge is developed in the open. The complete, human-readable source \u2014 including the un-minified JavaScript and SCSS under <code>src\/<\/code> that the compiled files under <code>build\/<\/code> are generated from \u2014 is maintained at:<\/p>\n\n<p>https:\/\/github.com\/shinobiashi\/saai-knowledge<\/p>\n\n<p>The free plugin is the <code>plugins\/saai-knowledge\/<\/code> directory of that repository.<\/p>\n\n<p>The build uses <a href=\"https:\/\/www.npmjs.com\/package\/@wordpress\/scripts\">@wordpress\/scripts<\/a> (webpack + Babel) and needs Node.js and npm; the project's CI builds with Node.js 24. To reproduce the compiled files from source:<\/p>\n\n<ol>\n<li><code>git clone https:\/\/github.com\/shinobiashi\/saai-knowledge.git<\/code><\/li>\n<li><code>cd saai-knowledge<\/code><\/li>\n<li><code>npm install<\/code><\/li>\n<li><p><code>npm run build<\/code><\/p>\n\n<p>npm run build compiles <code>plugins\/saai-knowledge\/src\/**<\/code> into <code>plugins\/saai-knowledge\/build\/**<\/code>. No third-party JavaScript library is bundled: the only module the front-end scripts import is <code>@wordpress\/interactivity<\/code>, which WordPress itself provides at runtime.<\/p><\/li>\n<\/ol>\n\n<h4>Looking for WooCommerce integration?<\/h4>\n\n<p>SAAI Knowledge for WooCommerce, a companion add-on that links FAQ\/KB\/Glossary content to products and product categories and displays it on product pages, is planned as a separately sold, optional purchase \u2014 it isn't available yet and is not required to use this plugin.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to the <code>\/wp-content\/plugins\/saai-knowledge<\/code> directory, or install through the WordPress Plugins screen.<\/li>\n<li>Activate the plugin through the 'Plugins' screen in WordPress.<\/li>\n<li>Go to Settings &gt; SAAI Knowledge to configure URL slugs, auto-linking, structured data, and AI readability options.<\/li>\n<li>Create your first FAQ, Knowledge Base article, or Glossary term from the admin menu, and add the matching blocks (KB Sidebar, KB Table of Contents, FAQ List, Glossary Index, Knowledge Search) to your templates or pages.<\/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. Both block themes and classic themes are supported. Block-theme users get dedicated templates for the Knowledge Base hub, category archives, and individual articles; classic-theme users get the same layout through the classic template hierarchy.<\/p><\/dd>\n<dt id=\"do%20the%20accordions%20and%20folded%20content%20work%20without%20javascript%3F\"><h3>Do the accordions and folded content work without JavaScript?<\/h3><\/dt>\n<dd><p>Yes. FAQ answers and other collapsible content are always present in the page's initial HTML; JavaScript only controls the open\/close interaction. Search engines and AI crawlers that don't execute JavaScript still see the full content.<\/p><\/dd>\n<dt id=\"can%20i%20turn%20off%20the%20markdown%2Fllms.txt%20output%3F\"><h3>Can I turn off the Markdown\/llms.txt output?<\/h3><\/dt>\n<dd><p>Yes. A single \"Markdown &amp; llms.txt\" setting controls the <code>?format=markdown<\/code> output, the llms.txt index, and the SEO-plugin description integration together. The REST export endpoint and the admin-side JSONL\/CSV download aren't affected by this setting \u2014 the REST endpoint only ever returns already-public content, and the admin download requires the same capability as the rest of Settings.<\/p><\/dd>\n<dt id=\"does%20this%20include%20a%20woocommerce%20integration%3F\"><h3>Does this include a WooCommerce integration?<\/h3><\/dt>\n<dd><p>SAAI Knowledge for WooCommerce, a companion add-on that links FAQ\/KB\/Glossary content to products and product categories and displays it on product pages, is planned as a separately sold, optional purchase \u2014 it isn't available yet and is not required to use this plugin.<\/p><\/dd>\n<dt id=\"is%20my%20content%20sent%20to%20any%20external%20service%3F\"><h3>Is my content sent to any external service?<\/h3><\/dt>\n<dd><p>No. SAAI Knowledge does not call any external API or service; all processing happens on your own site.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Translations are now delivered as language packs from translate.wordpress.org instead of being bundled with the plugin; the <code>languages\/<\/code> directory and the <code>Domain Path<\/code> header have been removed accordingly.<\/li>\n<li>Documented the public source repository and the steps to rebuild the compiled files under <code>build\/<\/code> from the un-minified sources under <code>src\/<\/code>.<\/li>\n<li>Clarified that the SAAI Knowledge for WooCommerce add-on is not available yet.<\/li>\n<li>No functional or behavioral changes.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"FAQ, Knowledge Base, and Glossary content types with a two-column layout, term auto-linking, live search, and AI-ready Markdown\/RAG export.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/gl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/366642","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/gl.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/gl.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=366642"}],"author":[{"embeddable":true,"href":"https:\/\/gl.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/shinobiashi"}],"wp:attachment":[{"href":"https:\/\/gl.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=366642"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/gl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=366642"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/gl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=366642"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/gl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=366642"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/gl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=366642"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/gl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=366642"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}