{"id":1513850,"date":"2024-09-04T08:52:53","date_gmt":"2024-09-04T08:52:53","guid":{"rendered":"https:\/\/davidcarralon.com\/outils\/generateur-de-schemas\/faq"},"modified":"2026-05-15T03:17:17","modified_gmt":"2026-05-15T03:17:17","slug":"faq","status":"publish","type":"page","link":"https:\/\/davidcarralon.com\/fr\/outils\/generateur-de-schemas\/faq","title":{"rendered":"FAQ Schema"},"content":{"rendered":"<div class=\"jpsg-container\">\r\n<div class=\"row\">\r\n<h2>FAQ Schema Generator<\/h2>\r\n    <p>My Schema tool will generate compliant Json-LD structured data based \r\n    on your required field. Each field will generate an item property<\/p>\r\n    \r\n        \r\n    <div class=\"jpsg-buttons\">\r\n            <button ><a href=\"https:\/\/davidcarralon.com\/tools\/schema-generator\/website\"> Website<\/a><\/button>\r\n            <button ><a href=\"https:\/\/davidcarralon.com\/tools\/schema-generator\/organization\"> Organization<\/a><\/button>\r\n            <button ><a href=\"https:\/\/davidcarralon.com\/tools\/schema-generator\/breadcrumbs\"> Breadcrumbs<\/a><\/button>\r\n            <button ><a href=\"https:\/\/davidcarralon.com\/tools\/schema-generator\/article\"> Article<\/a><\/button>\r\n            <button ><a href=\"https:\/\/davidcarralon.com\/tools\/schema-generator\/localbusiness\"> Local Business<\/a><\/button>\r\n            <button ><a href=\"https:\/\/davidcarralon.com\/tools\/schema-generator\/product\"> Product<\/a><\/button>\r\n            <button ><a href=\"https:\/\/davidcarralon.com\/tools\/schema-generator\/event\">Event<\/a><\/button>\r\n            <button ><a href=\"https:\/\/davidcarralon.com\/tools\/schema-generator\/video\">Video<\/a><\/button>\r\n            <button ><a href=\"https:\/\/davidcarralon.com\/tools\/schema-generator\/recipe\">Recipe<\/a><\/button>\r\n            <button ><a href=\"https:\/\/davidcarralon.com\/tools\/schema-generator\/aggregaterating\">Aggregate Rating<\/a><\/button>\r\n            <button ><a href=\"https:\/\/davidcarralon.com\/tools\/schema-generator\/jobposting\">Job Postings<\/a> <\/button>\r\n            <button ><a href=\"https:\/\/davidcarralon.com\/tools\/schema-generator\/FAQ\">FAQ<\/a><\/button>\r\n            <button ><a href=\"https:\/\/davidcarralon.com\/tools\/schema-generator\/medicalschema\">Medical Schema<\/a><\/button>\r\n        <\/div>\r\n    \r\n    <div class=\"column\" id=\"schema-output\">\r\n        <h3 id=\"generatedSchema\" style=\"display:none;\">Generated JSON-LD:<\/h3>\r\n        <h3 id=\"dataSample\">Structured data sample for 'FAQ' Schema <\/h3>\r\n\r\n    <pre class=\"textDavid\" id=\"textDavid\">\r\n{\r\n\"@context\": \"http:\/\/schema.org\",\r\n\"@type\": \"FAQPage\",\r\n\"mainEntity\": [\r\n {\r\n\t\"@type\": \"Question\",\r\n\t\"name\": \"Question 1\",\r\n\t\"acceptedAnswer\": {\r\n\t\t\"@type\": \"Answer\",\r\n\t\t\"text\": \"Answer 1\"\r\n\t}\r\n\t},\r\n\t{\r\n\t\"@type\": \"Question\",\r\n\t\"name\": \"Question 2\",\r\n\t\"acceptedAnswer\": {\r\n\t\t\"@type\": \"Answer\",\r\n\t\t\"text\": \"Answer  2\"\r\n\t}\r\n\t}\r\n\t]\r\n}\r\n    <\/pre>  \r\n    <pre class=\"schemapre\" id=\"schema-json\"><\/pre>\r\n    <button id=\"copyButton\" style=\"display:none;\">Copy JSON-LD<\/button>\r\n    <button id=\"validateSchema\" style=\"display:none;\"><a href=\"https:\/\/search.google.com\/test\/rich-results\" rel=\"noopener\">Validate(Google)<\/a><\/button>\r\n    <\/div>\r\n        <div class=\"column\">\r\n            <form id=\"schema-form\">\r\n            <div class=\"faq-item\">\r\n                <div class=\"form-group\">\r\n                <label for=\"faq-question-1\">FAQ 1<\/label>\r\n                <input type=\"text\" id=\"faq-question-1\" class=\"faq-question\" placeholder=\"Question\">\r\n                <input type=\"text\" id=\"faq-answer-1\" class=\"faq-answer\" placeholder=\"Answer\">\r\n                <button class=\"faq-remove\" type=\"button\">Remove<\/button>\r\n                <\/div>\r\n            <\/div>\r\n                <!-- Add more fields as necessary -->\r\n                <div class=\"form-group\">\r\n                <button type=\"button\" id=\"generate-schema\">Generate Schema<\/button>\r\n                <button type=\"reset\" id=\"clear-all\">Clear all<\/button>\r\n                <button id=\"add-faq\" type=\"button\">Add One More<\/button>\r\n                <\/div>\r\n            <\/form>\r\n        <\/div>\r\n\r\n<\/div>\r\n\r\n<script>\r\njQuery(document).ready(function($) {\r\n    let faqCount = 1;\r\n\r\n    \/\/ Add FAQ Functionality\r\n    $('#add-faq').on('click', function() {\r\n        faqCount++;\r\n        const newFaq = `\r\n\r\n            <div class=\"faq-item\">\r\n                <div class=\"form-group\">\r\n                <label for=\"faq-question-${faqCount}\">FAQ ${faqCount}<\/label>\r\n                <input type=\"text\" id=\"faq-question-${faqCount}\" class=\"faq-question\" placeholder=\"Question\">\r\n                <input type=\"text\" id=\"faq-answer-${faqCount}\" class=\"faq-answer\" placeholder=\"Answer\">\r\n                <button class=\"faq-remove\" type=\"button\">Remove<\/button>\r\n                <\/div>\r\n            <div>`;\r\n        $('#schema-form').append(newFaq);\r\n    });\r\n\r\n    \/\/ Remove FAQ Functionality\r\n    $(document).on('click', '.faq-remove', function() {\r\n        $(this).closest('.faq-item').remove();\r\n        faqCount--;\r\n    });\r\n\r\n    \/\/ Clear All FAQs\r\n    $('#reset').on('click', function() {\r\n        $('.faq-item').not(':first').remove();\r\n        $('#faq-question-1, #faq-answer-1').val('');\r\n        faqCount = 1;\r\n    });\r\n\r\n    \/\/ Generate Schema\r\n    $('#generate-schema').on('click', function() {\r\n        let faqSchema = {\r\n            \"@context\": \"https:\/\/schema.org\",\r\n            \"@type\": \"FAQPage\",\r\n            \"mainEntity\": []\r\n        };\r\n\r\n        $('.faq-item').each(function() {\r\n            const question = $(this).find('.faq-question').val();\r\n            const answer = $(this).find('.faq-answer').val();\r\n            if (question && answer) {\r\n                faqSchema.mainEntity.push({\r\n                    \"@type\": \"Question\",\r\n                    \"name\": question,\r\n                    \"acceptedAnswer\": {\r\n                        \"@type\": \"Answer\",\r\n                        \"text\": answer\r\n                    }\r\n                });\r\n            }\r\n        });\r\n\r\n        \/\/ Display the generated schema\r\n        $('#schema-json').text(JSON.stringify(faqSchema, null, 2));\r\n        $('#generatedSchema').show();\r\n        $('#copyButton').show();\r\n        $('#validateSchema').show();\r\n        $('#dataSample').hide();\r\n        $('#textDavid').hide();\r\n    });\r\n});  \r\n<\/script>\r\n\r\n<script>\r\n    document.getElementById('copyButton').addEventListener('click', function() {\r\n        \/\/ Get the text from the generated JSON-LD area\r\n        const jsonLdText = document.querySelector('#schema-json').innerText;\r\n\r\n        \/\/ Create a temporary textarea element to hold the text\r\n        const tempTextArea = document.createElement('textarea');\r\n        tempTextArea.value = jsonLdText;\r\n        document.body.appendChild(tempTextArea);\r\n\r\n        \/\/ Select the text and copy it to the clipboard\r\n        tempTextArea.select();\r\n        document.execCommand('copy');\r\n\r\n        \/\/ Remove the temporary textarea\r\n        document.body.removeChild(tempTextArea);\r\n\r\n        \/\/ Optional: Alert the user that the text has been copied\r\n        alert('JSON-LD copied to clipboard!');\r\n    });\r\n<\/script>\r\n\r\n\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":2,"featured_media":1464089,"parent":1513788,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"class_list":{"1":"page","2":"type-page","6":"entry"},"featured_image_src":"https:\/\/davidcarralon.com\/wp-content\/uploads\/Schema-FAQ-1-600x400.png","acf":[],"featured_image_src_square":"https:\/\/davidcarralon.com\/wp-content\/uploads\/Schema-FAQ-1-600x600.png","_links":{"self":[{"href":"https:\/\/davidcarralon.com\/fr\/wp-json\/wp\/v2\/pages\/1513850","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/davidcarralon.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/davidcarralon.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/davidcarralon.com\/fr\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/davidcarralon.com\/fr\/wp-json\/wp\/v2\/comments?post=1513850"}],"version-history":[{"count":1,"href":"https:\/\/davidcarralon.com\/fr\/wp-json\/wp\/v2\/pages\/1513850\/revisions"}],"predecessor-version":[{"id":1513851,"href":"https:\/\/davidcarralon.com\/fr\/wp-json\/wp\/v2\/pages\/1513850\/revisions\/1513851"}],"up":[{"embeddable":true,"href":"https:\/\/davidcarralon.com\/fr\/wp-json\/wp\/v2\/pages\/1513788"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/davidcarralon.com\/fr\/wp-json\/wp\/v2\/media\/1464089"}],"wp:attachment":[{"href":"https:\/\/davidcarralon.com\/fr\/wp-json\/wp\/v2\/media?parent=1513850"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}