{"id":257008,"date":"2025-10-18T13:27:26","date_gmt":"2025-10-18T13:27:26","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/pointalize-faq-markup\/"},"modified":"2025-10-25T09:09:26","modified_gmt":"2025-10-25T09:09:26","slug":"pointalize-faq-markup","status":"publish","type":"plugin","link":"https:\/\/pcd.wordpress.org\/plugins\/pointalize-faq-markup\/","author":23364568,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.3","stable_tag":"1.3","tested":"6.8.5","requires":"5.0","requires_php":"7.4","requires_plugins":null,"header_name":"Pointalize FAQ Markup","header_author":"Pointalize","header_description":"Automatically generates FAQPage JSON-LD from <details class=\"faq-item\">\u2026<\/details> in post\/page content (answers output as plain text).","assets_banners_color":"","last_updated":"2025-10-25 09:09:26","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/pointalize.com\/","header_author_uri":"https:\/\/pointalize.com\/about\/","rating":0,"author_block_rating":0,"active_installs":10,"downloads":239,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0":{"tag":"1.0","author":"pointalize","date":"2025-10-18 13:26:49"},"1.1":{"tag":"1.1","author":"pointalize","date":"2025-10-25 08:46:31"},"1.2":{"tag":"1.2","author":"pointalize","date":"2025-10-25 09:09:26"},"1.3":{"tag":"1.3","author":"pointalize","date":"2025-10-25 09:09:26"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3380535,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0","1.1","1.2","1.3"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3384372,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3384372,"resolution":"2","location":"assets","locale":""}},"screenshots":{"1":"Adding an FAQ in the WordPress editor using a native \u201cDetails\u201d block.","2":"Validation in Google\u2019s Rich Results Test showing the generated FAQPage JSON-LD."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[2516,170365,1117,186,1121],"plugin_category":[55],"plugin_contributors":[249391],"plugin_business_model":[],"class_list":["post-257008","plugin","type-plugin","status-publish","hentry","plugin_tags-json-ld","plugin_tags-rich-results","plugin_tags-schema","plugin_tags-seo","plugin_tags-structured-data","plugin_category-seo-and-marketing","plugin_contributors-pointalize","plugin_committers-pointalize"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/pointalize-faq-markup\/assets\/icon-256x256.png?rev=3380535","icon_2x":"https:\/\/ps.w.org\/pointalize-faq-markup\/assets\/icon-256x256.png?rev=3380535","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/pointalize-faq-markup\/assets\/screenshot-1.png?rev=3384372","caption":"Adding an FAQ in the WordPress editor using a native \u201cDetails\u201d block."},{"src":"https:\/\/ps.w.org\/pointalize-faq-markup\/assets\/screenshot-2.png?rev=3384372","caption":"Validation in Google\u2019s Rich Results Test showing the generated FAQPage JSON-LD."}],"raw_content":"<!--section=description-->\n<p>Pointalize FAQ Markup automatically adds valid <strong>FAQPage JSON-LD structured data<\/strong> to your WordPress posts and pages \u2014 helping your content qualify for Google\u2019s rich FAQ results.<\/p>\n\n<p>Simply add collapsible FAQ sections using standard HTML <code>&lt;details&gt;<\/code> blocks, and the plugin will detect them automatically, generate the required JSON-LD markup, and inject it into your page\u2019s <code>&lt;head&gt;<\/code> \u2014 no Gutenberg blocks, shortcodes, or extra settings required.<\/p>\n\n<p><strong>Main Features:<\/strong>\n* Detects all <code>&lt;details&gt;<\/code> blocks and extracts questions and answers automatically.\n* Outputs valid FAQPage JSON-LD schema for Google Rich Results<br \/>\n* Works on posts, pages, and custom post types<br \/>\n* Converts answers to plain text for maximum schema compatibility<br \/>\n* No dependencies, no UI, zero bloat \u2014 pure PHP simplicity<\/p>\n\n<p>All output is generated automatically, following <a href=\"https:\/\/developers.google.com\/search\/docs\/appearance\/structured-data\/faqpage\">Google\u2019s official FAQPage guidelines<\/a>.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li>Detects all <code>&lt;details&gt;<\/code> blocks and extracts questions and answers automatically.<\/li>\n<li>Outputs valid FAQPage JSON-LD schema for Google Rich Results  <\/li>\n<li>Works on posts, pages, and custom post types  <\/li>\n<li>Converts answers to plain text for maximum schema compatibility    <\/li>\n<li>No dependencies, no UI, zero bloat \u2014 pure PHP simplicity  <\/li>\n<\/ul>\n\n<h4>Example Usage<\/h4>\n\n<p>In the WordPress block editor, simply add a \u201cDetails\u201d block from the block inserter, type your question into the Summary field, and your answer into a paragraph below it \u2014 the plugin will automatically detect these blocks and generate valid FAQPage schema for Google Rich Results.<\/p>\n\n<p>Or add the following manually to your post or page:<\/p>\n\n<p>\n  How do I enable FAQ markup?<\/p>\n\n<p>Simply install and activate the plugin. It automatically detects your FAQ blocks.<\/p>\n\n<p><\/p>\n\n<p>\n  Does it work on pages too?<\/p>\n\n<p>Yes, it supports posts, pages, and custom post types out of the box.<\/p>\n\n<p><\/p>\n\n<p>When the page is viewed, valid JSON-LD will automatically be output in the <code>&lt;head&gt;<\/code> of your HTML, ready for Google\u2019s rich results.<\/p>\n\n<h3>Compatibility<\/h3>\n\n<ul>\n<li>WordPress 5.0 or higher  <\/li>\n<li>PHP 7.4 or higher  <\/li>\n<li>Works with all themes and content editors<\/li>\n<\/ul>\n\n<h3>Author<\/h3>\n\n<p>Developed by <a href=\"https:\/\/pointalize.com\">Phillip Rosenheinrich<\/a><\/p>\n\n<h3>License<\/h3>\n\n<p>This plugin is licensed under the GPLv2 or later license.<\/p>\n\n<!--section=installation-->\n<p>You can install <strong>Pointalize FAQ Markup<\/strong> in two simple ways:<\/p>\n\n<h4>Option 1 \u2014 Install directly from WordPress:<\/h4>\n\n<ol>\n<li>Go to <strong>Plugins \u2192 Add New<\/strong><\/li>\n<li>Search for \u201cPointalize FAQ Markup\u201d<\/li>\n<li>Click <strong>Install Now<\/strong>, then <strong>Activate<\/strong><\/li>\n<\/ol>\n\n<h4>Option 2 \u2014 Upload the ZIP manually:<\/h4>\n\n<ol>\n<li>Download the plugin ZIP file (<code>pointalize-faq-markup.zip<\/code>)<\/li>\n<li>In your WordPress dashboard, go to <strong>Plugins \u2192 Add New \u2192 Upload Plugin<\/strong><\/li>\n<li>Choose the ZIP file and click <strong>Install Now<\/strong><\/li>\n<li>Activate the plugin<\/li>\n<\/ol>\n\n<p>After activation, the plugin will automatically detect any <code>&lt;details&gt;<\/code> blocks in your content and output the corresponding FAQ schema.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id='do%20i%20need%20to%20configure%20anything%3F'><h3>Do I need to configure anything?<\/h3><\/dt>\n<dd><p>No. The plugin works automatically on any post or page containing <code>&lt;details&gt;<\/code> elements.<\/p><\/dd>\n<dt id='can%20i%20use%20html%20inside%20my%20answers%3F'><h3>Can I use HTML inside my answers?<\/h3><\/dt>\n<dd><p>Yes, but all HTML will be stripped out before creating the JSON-LD markup. Only plain text is used to ensure compliance with Google\u2019s structured data policies.<\/p><\/dd>\n<dt id='does%20it%20work%20with%20page%20builders%3F'><h3>Does it work with page builders?<\/h3><\/dt>\n<dd><p>Yes, as long as the final rendered HTML includes <code>&lt;details&gt;<\/code> and <code>&lt;summary&gt;<\/code> tags. It works best with classic or block editors that output clean HTML.<\/p><\/dd>\n<dt id='is%20it%20safe%20for%20seo%3F'><h3>Is it safe for SEO?<\/h3><\/dt>\n<dd><p>Absolutely. It outputs valid, minimal JSON-LD and follows <a href=\"https:\/\/developers.google.com\/search\/docs\/appearance\/structured-data\/faqpage\">Google\u2019s FAQPage guidelines<\/a>.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<\/ul>\n\n<h4>1.1<\/h4>\n\n<ul>\n<li>Simplified even more by removing the faq-item class dependency.<\/li>\n<\/ul>\n\n<h4>1.2<\/h4>\n\n<ul>\n<li>Added better documentation on how to use the plugin.<\/li>\n<\/ul>\n\n<h4>1.3<\/h4>\n\n<ul>\n<li>Minor fix.<\/li>\n<\/ul>","raw_excerpt":"Automatically adds FAQPage JSON-LD markup to WordPress posts and pages for Google Rich Results.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/257008","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=257008"}],"author":[{"embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/pointalize"}],"wp:attachment":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=257008"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=257008"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=257008"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=257008"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=257008"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=257008"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}