{"id":40419,"date":"2026-01-06T09:46:37","date_gmt":"2026-01-05T23:46:37","guid":{"rendered":"https:\/\/digitalnomadshq.com.au\/?page_id=40419"},"modified":"2026-01-06T12:04:31","modified_gmt":"2026-01-06T02:04:31","slug":"schema-markup-generator","status":"publish","type":"page","link":"https:\/\/digitalnomadshq.com.au\/tools\/schema-markup-generator\/","title":{"rendered":"Schema Markup Generator (JSON-LD)"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"40419\" class=\"elementor elementor-40419\" data-elementor-post-type=\"page\">\n\t\t\t\t<section class=\"elementor-element elementor-element-c0c697d e-flex e-con-boxed e-con e-parent\" data-id=\"c0c697d\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-6c3574c e-con-full e-flex e-con e-child\" data-id=\"6c3574c\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9f74e70 elementor-widget__width-initial elementor-widget elementor-widget-heading\" data-id=\"9f74e70\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Schema Markup\n\n<span style=\"color:#CDFFB6\">Generator<\/span><\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-11ba69c elementor-widget__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"11ba69c\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tBoost Your SEO with Structured Data in Seconds Creating schema markup shouldn&#8217;t require a computer science degree. Our free Schema Markup Generator allows you to instantly create JSON-LD structured data.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t<section class=\"elementor-element elementor-element-fabce06 e-flex e-con-boxed e-con e-parent\" data-id=\"fabce06\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-9801f99 e-con-full e-flex e-con e-child\" data-id=\"9801f99\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-4eb8f1b e-con-full e-flex e-con e-child\" data-id=\"4eb8f1b\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-6732e47 e-con-full e-flex e-con e-child\" data-id=\"6732e47\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-9a42e5b e-con-full e-flex e-con e-child\" data-id=\"9a42e5b\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d4bc2ad elementor-widget__width-initial elementor-widget-mobile__width-inherit elementor-widget elementor-widget-heading\" data-id=\"d4bc2ad\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">How to Use the Schema Markup Creator\n<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-438a561 e-con-full e-flex e-con e-child\" data-id=\"438a561\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-46c6a1a elementor-view-stacked elementor-shape-rounded elementor-widget elementor-widget-icon\" data-id=\"46c6a1a\" data-element_type=\"widget\" data-widget_type=\"icon.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-wrapper\">\n\t\t\t<div class=\"elementor-icon\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" id=\"uuid-8bd66a50-a8d1-4661-b983-5be57fa6eca0\" data-name=\"uuid-eeb3d118-4f03-436f-9747-0cafe85e3491\" viewBox=\"0 0 50.647 43.32\"><path d=\"M16.95,43.32c-3.52,0-6.36-1.1-8.52-3.3-2.16-2.24-3.24-5.18-3.24-8.82V12.12c0-3.64,1.08-6.56,3.24-8.76C10.59,1.12,13.43,0,16.95,0c2.32,0,4.38.5,6.18,1.5,1.8,1,3.18,2.42,4.14,4.26,1,1.84,1.5,3.96,1.5,6.36v19.08c0,2.4-.5,4.52-1.5,6.36-.96,1.84-2.34,3.26-4.14,4.26s-3.86,1.5-6.18,1.5ZM16.95,36.06c1,0,1.8-.4,2.4-1.2.64-.8.96-1.86.96-3.18V11.64c0-1.32-.32-2.38-.96-3.18-.6-.8-1.4-1.2-2.4-1.2s-1.8.4-2.4,1.2c-.6.8-.9,1.86-.9,3.18v20.04c0,1.32.3,2.38.9,3.18.6.8,1.4,1.2,2.4,1.2ZM36.577.84c.32-.12.62-.18.9-.18h7.26c.2,0,.36.08.48.24.16.12.24.28.24.48v40.56c0,.2-.08.38-.24.54-.12.12-.28.18-.48.18h-7.02c-.2,0-.38-.06-.54-.18-.12-.16-.18-.34-.18-.54V9.18c0-.16-.1-.24-.3-.24l-4.62.54h-.12c-.44,0-.66-.22-.66-.66l-.18-5.16c0-.4.18-.68.54-.84,0,0,4.92-1.98,4.92-1.98Z\"><\/path><\/svg>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-288b0a5 e-con-full e-flex e-con e-child\" data-id=\"288b0a5\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e87d610 heading--forced-s-caps elementor-widget__width-initial elementor-widget elementor-widget-heading\" data-id=\"e87d610\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Choose Your Schema Type<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c307200 elementor-widget elementor-widget-text-editor\" data-id=\"c307200\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tSelect the type of structured data you need from the tabs below\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-c1ce07d e-con-full e-flex e-con e-child\" data-id=\"c1ce07d\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d0e7ffa elementor-view-stacked elementor-shape-rounded elementor-widget elementor-widget-icon\" data-id=\"d0e7ffa\" data-element_type=\"widget\" data-widget_type=\"icon.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-wrapper\">\n\t\t\t<div class=\"elementor-icon\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" id=\"uuid-eeb3d118-4f03-436f-9747-0cafe85e3491\" data-name=\"Layer 1\" viewBox=\"0 0 50.647 43.32\"><path d=\"M11.76,43.32c-3.52,0-6.36-1.1-8.52-3.3-2.16-2.24-3.24-5.18-3.24-8.82V12.12c0-3.64,1.08-6.56,3.24-8.76C5.4,1.12,8.24,0,11.76,0c2.32,0,4.38.5,6.18,1.5,1.8,1,3.18,2.42,4.14,4.26,1,1.84,1.5,3.96,1.5,6.36v19.08c0,2.4-.5,4.52-1.5,6.36-.96,1.84-2.34,3.26-4.14,4.26-1.8,1-3.86,1.5-6.18,1.5ZM11.76,36.06c1,0,1.8-.4,2.4-1.2.64-.8.96-1.86.96-3.18V11.64c0-1.32-.32-2.38-.96-3.18-.6-.8-1.4-1.2-2.4-1.2s-1.8.4-2.4,1.2c-.6.8-.9,1.86-.9,3.18v20.04c0,1.32.3,2.38.9,3.18.6.8,1.4,1.2,2.4,1.2ZM37.207,35.04c-.08.08-.1.16-.06.24.04.08.12.12.24.12h12.54c.2,0,.36.08.48.24.16.12.24.28.24.48v5.82c0,.2-.08.38-.24.54-.12.12-.28.18-.48.18h-22.2c-.2,0-.38-.06-.54-.18-.12-.16-.18-.34-.18-.54v-6.06c0-.36.1-.66.3-.9,1.6-2.12,2.72-3.56,3.36-4.32,3.52-4.52,6.02-7.94,7.5-10.26,2.16-3.44,3.24-6.34,3.24-8.7,0-1.36-.28-2.4-.84-3.12-.52-.76-1.24-1.14-2.16-1.14s-1.66.38-2.22,1.14c-.56.72-.82,1.66-.78,2.82v2.46c0,.2-.08.38-.24.54-.12.12-.28.18-.48.18h-7.14c-.2,0-.38-.06-.54-.18-.12-.16-.18-.34-.18-.54v-2.82c.16-3.28,1.34-5.9,3.54-7.86,2.2-2,5-3,8.4-3,3.36,0,6.06,1.06,8.1,3.18,2.08,2.12,3.12,4.92,3.12,8.4,0,2.08-.34,4.06-1.02,5.94-.64,1.88-1.7,3.9-3.18,6.06-1.12,1.64-3.04,4.2-5.76,7.68l-2.82,3.6Z\"><\/path><\/svg>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-859db12 e-con-full e-flex e-con e-child\" data-id=\"859db12\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0e038eb heading--forced-s-caps elementor-widget__width-initial elementor-widget elementor-widget-heading\" data-id=\"0e038eb\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Complete the fields<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8236741 elementor-widget elementor-widget-text-editor\" data-id=\"8236741\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tFill in the required fields on the left-hand side. The tool dynamically updates the script as you type, so you don&#8217;t have to write a single line of code manually.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-0f09710 e-con-full e-flex e-con e-child\" data-id=\"0f09710\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9c418c2 elementor-view-stacked elementor-shape-rounded elementor-widget elementor-widget-icon\" data-id=\"9c418c2\" data-element_type=\"widget\" data-widget_type=\"icon.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-wrapper\">\n\t\t\t<div class=\"elementor-icon\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" id=\"uuid-b605bb8c-1d26-4043-9258-b7939749f85c\" data-name=\"Layer 1\" viewBox=\"0 0 49.628 43.32\"><path d=\"M11.76,43.32c-3.52,0-6.36-1.1-8.52-3.3-2.16-2.24-3.24-5.18-3.24-8.82V12.12c0-3.64,1.08-6.56,3.24-8.76C5.4,1.12,8.24,0,11.76,0c2.32,0,4.38.5,6.18,1.5,1.8,1,3.18,2.42,4.14,4.26,1,1.84,1.5,3.96,1.5,6.36v19.08c0,2.4-.5,4.52-1.5,6.36-.96,1.84-2.34,3.26-4.14,4.26-1.8,1-3.86,1.5-6.18,1.5ZM11.76,36.06c1,0,1.8-.4,2.4-1.2.64-.8.96-1.86.96-3.18V11.64c0-1.32-.32-2.38-.96-3.18-.6-.8-1.4-1.2-2.4-1.2s-1.8.4-2.4,1.2c-.6.8-.9,1.86-.9,3.18v20.04c0,1.32.3,2.38.9,3.18.6.8,1.4,1.2,2.4,1.2ZM49.327,24.9c.2,1.52.3,3,.3,4.44,0,1.76-.08,3.26-.24,4.5-.32,2.88-1.44,5.16-3.36,6.84-1.88,1.64-4.42,2.46-7.62,2.46-3.32,0-6.02-.88-8.1-2.64s-3.2-4.1-3.36-7.02c-.12-1.08-.18-2.24-.18-3.48,0-.48.24-.72.72-.72h7.02c.48,0,.72.24.72.72,0,.92.06,1.78.18,2.58.12,1.04.44,1.86.96,2.46.52.56,1.2.84,2.04.84.8,0,1.46-.28,1.98-.84.52-.56.86-1.32,1.02-2.28.12-1.4.18-2.84.18-4.32,0-1.88-.1-3.36-.3-4.44-.16-.92-.5-1.62-1.02-2.1-.48-.52-1.1-.78-1.86-.78-.6,0-1.2.26-1.8.78-.24.16-.4.24-.48.24-.16,0-.34-.1-.54-.3l-3.6-3.66c-.16-.16-.24-.34-.24-.54,0-.16.06-.32.18-.48l7.26-8.94c.08-.08.1-.16.06-.24s-.12-.12-.24-.12h-10.8c-.2,0-.38-.06-.54-.18-.12-.16-.18-.34-.18-.54V1.38c0-.2.06-.36.18-.48.16-.16.34-.24.54-.24h20.64c.2,0,.36.08.48.24.16.12.24.28.24.48v6c0,.32-.1.62-.3.9l-6.72,8.46c-.04.08-.06.16-.06.24s.04.12.12.12c1.76.16,3.24.96,4.44,2.4,1.24,1.44,2,3.24,2.28,5.4Z\"><\/path><\/svg>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6e2b292 e-con-full e-flex e-con e-child\" data-id=\"6e2b292\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3a165e5 heading--forced-s-caps elementor-widget__width-initial elementor-widget elementor-widget-heading\" data-id=\"3a165e5\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Copy &amp; Deploy<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-20cf1ce elementor-widget elementor-widget-text-editor\" data-id=\"20cf1ce\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tOnce you\u2019ve entered your data, click the Copy button to grab your custom JSON-LD code. Paste this code into the <head> or <body> section of your HTML\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cf8207c elementor-widget__width-initial elementor-widget elementor-widget-html\" data-id=\"cf8207c\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n  <meta charset=\"UTF-8\" \/>\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" \/>\n  <meta name=\"description\" content=\"Free Schema Markup Generator - Create JSON-LD structured data for Article, Product, Local Business, and Breadcrumb schemas. Improve your SEO with valid schema markup.\" \/>\n  <link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n  <link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n  <style>\n* {\n  box-sizing: border-box;\n  margin: 0;\n  padding: 0;\n}\n\n:root {\n  --bg: #f8fafc;\n  --bg-card: #ffffff;\n  --text: #1e293b;\n  --text-secondary: #64748b;\n  --border: #e2e8f0;\n  --primary: #B89DFF;\n  --primary-hover: #2563eb;\n  --secondary: #f1f5f9;\n  --secondary-hover: #e2e8f0;\n  --code-bg: #1e293b;\n  --code-text: #e2e8f0;\n  --success: #22c55e;\n  --radius: 8px;\n  --shadow: 0 1px 3px rgba(0,0,0,0.1), 0 1px 2px rgba(0,0,0,0.06);\n  --shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -2px rgba(0,0,0,0.05);\n}\n\nbody {\n  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;\n  background: var(--bg);\n  color: var(--text);\n  line-height: 1.6;\n  min-height: 100vh;\n}\n\n.container {\n  max-width: 1400px;\n  margin: 0 auto;\n  padding: 24px;\n}\n\n.header {\n  text-align: center;\n  margin-bottom: 32px;\n}\n\n.header h1 {\n  font-size: 2rem;\n  font-weight: 700;\n  margin-bottom: 8px;\n  color: var(--text);\n}\n\n.header p {\n  color: var(--text-secondary);\n  font-size: 1rem;\n}\n\n.tabs {\n  display: flex;\n  gap: 8px;\n  margin-bottom: 24px;\n  flex-wrap: wrap;\n  justify-content: center;\n}\n\n.tab {\n  padding: 10px 20px;\n  border: 1px solid var(--border);\n  background: var(--bg-card);\n  border-radius: var(--radius);\n  cursor: pointer;\n  font-size: 0.875rem;\n  font-weight: 500;\n  color: var(--text-secondary);\n  transition: all 0.2s;\n}\n\n.tab:hover {\n  background: var(--secondary);\n  color: var(--text);\n}\n\n.tab.active {\n  background: var(--primary);\n  border-color: var(--primary);\n  color: white;\n}\n\n.main-content {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 24px;\n  align-items: start;\n}\n\n@media (max-width: 900px) {\n  .main-content {\n    grid-template-columns: 1fr;\n  }\n}\n\n.form-panel,\n.preview-panel {\n  background: var(--bg-card);\n  border: 1px solid var(--border);\n  border-radius: var(--radius);\n  box-shadow: var(--shadow);\n}\n\n.form-panel {\n  padding: 24px;\n}\n\n.schema-form {\n  display: none;\n}\n\n.schema-form.active {\n  display: block;\n}\n\n.form-group {\n  margin-bottom: 16px;\n  flex: 1;\n}\n\n.form-group label {\n  display: block;\n  font-size: 0.875rem;\n  font-weight: 500;\n  margin-bottom: 6px;\n  color: var(--text);\n}\n\n.form-group input,\n.form-group select,\n.form-group textarea {\n  width: 100%;\n  padding: 10px 12px;\n  border: 1px solid var(--border);\n  border-radius: var(--radius);\n  font-size: 0.875rem;\n  font-family: inherit;\n  background: var(--bg-card);\n  color: var(--text);\n  transition: border-color 0.2s, box-shadow 0.2s;\n}\n\n.form-group input:focus,\n.form-group select:focus,\n.form-group textarea:focus {\n  outline: none;\n  border-color: var(--primary);\n  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);\n}\n\n.form-group input::placeholder,\n.form-group textarea::placeholder {\n  color: var(--text-secondary);\n}\n\n.form-group small {\n  display: block;\n  margin-top: 4px;\n  font-size: 0.75rem;\n  color: var(--text-secondary);\n}\n\n.form-row {\n  display: flex;\n  gap: 16px;\n  align-items: flex-end;\n}\n\n@media (max-width: 600px) {\n  .form-row {\n    flex-direction: column;\n    align-items: stretch;\n  }\n}\n\n.breadcrumb-item {\n  padding: 16px;\n  background: var(--secondary);\n  border-radius: var(--radius);\n  margin-bottom: 12px;\n}\n\n.breadcrumb-item .form-row {\n  align-items: flex-end;\n}\n\n.breadcrumb-item .form-group {\n  margin-bottom: 0;\n}\n\n.btn {\n  display: inline-flex;\n  align-items: center;\n  gap: 8px;\n  padding: 10px 16px;\n  border: none;\n  border-radius: var(--radius);\n  font-size: 0.875rem;\n  font-weight: 500;\n  cursor: pointer;\n  transition: all 0.2s;\n  font-family: inherit;\n}\n\n.btn-primary {\n  background: var(--primary);\n  color: white;\n}\n\n.btn-primary:hover {\n  background: var(--primary-hover);\n}\n\n.btn-secondary {\n  background: var(--secondary);\n  color: var(--text);\n  border: 1px solid var(--border);\n}\n\n.btn-secondary:hover {\n  background: var(--secondary-hover);\n}\n\n.btn-icon {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: 36px;\n  height: 36px;\n  padding: 0;\n  border: 1px solid var(--border);\n  border-radius: var(--radius);\n  background: var(--bg-card);\n  color: var(--text-secondary);\n  cursor: pointer;\n  transition: all 0.2s;\n  flex-shrink: 0;\n}\n\n.btn-icon:hover:not(:disabled) {\n  background: var(--secondary);\n  color: #ef4444;\n  border-color: #ef4444;\n}\n\n.btn-icon:disabled {\n  opacity: 0.4;\n  cursor: not-allowed;\n}\n\n\/* FIX: Ensure SVG icons are visible *\/\n.btn-icon svg {\n  display: block;\n  width: 16px;\n  height: 16px;\n  flex-shrink: 0;\n}\n\n.btn-icon svg path {\n  stroke: currentColor;\n  stroke-width: 2;\n}\n\n#add-breadcrumb {\n  margin-top: 8px;\n}\n\n#add-breadcrumb svg {\n  width: 16px;\n  height: 16px;\n}\n\n.preview-panel {\n  position: sticky;\n  top: 24px;\n  overflow: hidden;\n}\n\n.preview-header {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  padding: 16px 20px;\n  border-bottom: 1px solid var(--border);\n  flex-wrap: wrap;\n  gap: 12px;\n}\n\n.preview-header h3 {\n  font-size: 1rem;\n  font-weight: 600;\n}\n\n.preview-actions {\n  display: flex;\n  gap: 8px;\n}\n\n.preview-actions svg {\n  width: 16px;\n  height: 16px;\n}\n\n.code-wrapper {\n  background: var(--code-bg);\n  overflow-x: auto;\n  max-height: 600px;\n  overflow-y: auto;\n}\n\n.code-wrapper pre {\n  margin: 0;\n  padding: 20px;\n}\n\n.code-wrapper code {\n  font-family: 'inter', monospace;\n  font-size: 0.8125rem;\n  line-height: 1.7;\n  color: var(--code-text);\n  white-space: pre;\n}\n\n.toast {\n  position: fixed;\n  bottom: 24px;\n  left: 50%;\n  transform: translateX(-50%) translateY(100px);\n  background: var(--text);\n  color: white;\n  padding: 12px 24px;\n  border-radius: var(--radius);\n  font-size: 0.875rem;\n  font-weight: 500;\n  box-shadow: var(--shadow-lg);\n  opacity: 0;\n  transition: all 0.3s ease;\n  z-index: 1000;\n}\n\n.toast.show {\n  transform: translateX(-50%) translateY(0);\n  opacity: 1;\n}\n\n.footer {\n  text-align: center;\n  margin-top: 32px;\n  padding: 16px;\n  color: var(--text-secondary);\n  font-size: 0.875rem;\n}\n\n.footer code {\n  background: var(--secondary);\n  padding: 2px 6px;\n  border-radius: 4px;\n  font-family: 'JetBrains Mono', monospace;\n  font-size: 0.8125rem;\n}\n\n.code-wrapper .string { color: #a5d6ff; }\n.code-wrapper .number { color: #79c0ff; }\n.code-wrapper .boolean { color: #ff7b72; }\n.code-wrapper .null { color: #ff7b72; }\n.code-wrapper .key { color: #7ee787; }\n  <\/style>\n<\/head>\n<body>\n  <div class=\"container\">\n\n\n    <div class=\"tabs\" role=\"tablist\">\n      <button class=\"tab active\" data-tab=\"article\" role=\"tab\" aria-selected=\"true\">Article<\/button>\n      <button class=\"tab\" data-tab=\"product\" role=\"tab\" aria-selected=\"false\">Product<\/button>\n      <button class=\"tab\" data-tab=\"localbusiness\" role=\"tab\" aria-selected=\"false\">Local Business<\/button>\n      <button class=\"tab\" data-tab=\"breadcrumb\" role=\"tab\" aria-selected=\"false\">Breadcrumb<\/button>\n    <\/div>\n\n    <div class=\"main-content\">\n      <div class=\"form-panel\">\n        <form id=\"article-form\" class=\"schema-form active\">\n          <div class=\"form-group\">\n            <label for=\"article-headline\">Headline *<\/label>\n            <input type=\"text\" id=\"article-headline\" placeholder=\"Your article title\" required \/>\n          <\/div>\n          <div class=\"form-group\">\n            <label for=\"article-description\">Description<\/label>\n            <textarea id=\"article-description\" placeholder=\"Brief description of the article\" rows=\"3\"><\/textarea>\n          <\/div>\n          <div class=\"form-group\">\n            <label for=\"article-image\">Image URL<\/label>\n            <input type=\"url\" id=\"article-image\" placeholder=\"https:\/\/example.com\/image.jpg\" \/>\n          <\/div>\n          <div class=\"form-row\">\n            <div class=\"form-group\">\n              <label for=\"article-author-name\">Author Name *<\/label>\n              <input type=\"text\" id=\"article-author-name\" placeholder=\"John Doe\" required \/>\n            <\/div>\n            <div class=\"form-group\">\n              <label for=\"article-author-type\">Author Type<\/label>\n              <select id=\"article-author-type\">\n                <option value=\"Person\">Person<\/option>\n                <option value=\"Organization\">Organization<\/option>\n              <\/select>\n            <\/div>\n          <\/div>\n          <div class=\"form-row\">\n            <div class=\"form-group\">\n              <label for=\"article-publisher-name\">Publisher Name *<\/label>\n              <input type=\"text\" id=\"article-publisher-name\" placeholder=\"Your Company\" required \/>\n            <\/div>\n            <div class=\"form-group\">\n              <label for=\"article-publisher-logo\">Publisher Logo URL<\/label>\n              <input type=\"url\" id=\"article-publisher-logo\" placeholder=\"https:\/\/example.com\/logo.png\" \/>\n            <\/div>\n          <\/div>\n          <div class=\"form-group\">\n            <label for=\"article-date-published\">Date Published *<\/label>\n            <input type=\"date\" id=\"article-date-published\" required \/>\n          <\/div>\n        <\/form>\n\n        <form id=\"product-form\" class=\"schema-form\">\n          <div class=\"form-group\">\n            <label for=\"product-name\">Product Name *<\/label>\n            <input type=\"text\" id=\"product-name\" placeholder=\"Product Name\" required \/>\n          <\/div>\n          <div class=\"form-group\">\n            <label for=\"product-description\">Description<\/label>\n            <textarea id=\"product-description\" placeholder=\"Product description\" rows=\"3\"><\/textarea>\n          <\/div>\n          <div class=\"form-group\">\n            <label for=\"product-image\">Image URL<\/label>\n            <input type=\"url\" id=\"product-image\" placeholder=\"https:\/\/example.com\/product.jpg\" \/>\n          <\/div>\n          <div class=\"form-row\">\n            <div class=\"form-group\">\n              <label for=\"product-brand\">Brand *<\/label>\n              <input type=\"text\" id=\"product-brand\" placeholder=\"Brand Name\" required \/>\n            <\/div>\n            <div class=\"form-group\">\n              <label for=\"product-sku\">SKU<\/label>\n              <input type=\"text\" id=\"product-sku\" placeholder=\"ABC-12345\" \/>\n            <\/div>\n          <\/div>\n          <div class=\"form-row\">\n            <div class=\"form-group\">\n              <label for=\"product-price\">Price *<\/label>\n              <input type=\"number\" id=\"product-price\" placeholder=\"99.99\" step=\"0.01\" min=\"0\" required \/>\n            <\/div>\n            <div class=\"form-group\">\n              <label for=\"product-currency\">Currency<\/label>\n              <select id=\"product-currency\">\n                <option value=\"USD\">USD<\/option>\n                <option value=\"EUR\">EUR<\/option>\n                <option value=\"GBP\">GBP<\/option>\n                <option value=\"CAD\">CAD<\/option>\n                <option value=\"AUD\">AUD<\/option>\n              <\/select>\n            <\/div>\n          <\/div>\n          <div class=\"form-group\">\n            <label for=\"product-availability\">Availability<\/label>\n            <select id=\"product-availability\">\n              <option value=\"InStock\">In Stock<\/option>\n              <option value=\"OutOfStock\">Out of Stock<\/option>\n              <option value=\"PreOrder\">Pre-Order<\/option>\n              <option value=\"BackOrder\">Back Order<\/option>\n            <\/select>\n          <\/div>\n        <\/form>\n\n        <form id=\"localbusiness-form\" class=\"schema-form\">\n          <div class=\"form-row\">\n            <div class=\"form-group\">\n              <label for=\"business-name\">Business Name *<\/label>\n              <input type=\"text\" id=\"business-name\" placeholder=\"Your Business Name\" required \/>\n            <\/div>\n            <div class=\"form-group\">\n              <label for=\"business-type\">Business Type<\/label>\n              <select id=\"business-type\">\n                <option value=\"LocalBusiness\">Local Business<\/option>\n                <option value=\"Restaurant\">Restaurant<\/option>\n                <option value=\"Store\">Store<\/option>\n                <option value=\"MedicalBusiness\">Medical Business<\/option>\n                <option value=\"LegalService\">Legal Service<\/option>\n                <option value=\"FinancialService\">Financial Service<\/option>\n                <option value=\"RealEstateAgent\">Real Estate Agent<\/option>\n                <option value=\"AutoDealer\">Auto Dealer<\/option>\n                <option value=\"Dentist\">Dentist<\/option>\n                <option value=\"HealthAndBeautyBusiness\">Health & Beauty<\/option>\n              <\/select>\n            <\/div>\n          <\/div>\n          <div class=\"form-group\">\n            <label for=\"business-image\">Image URL<\/label>\n            <input type=\"url\" id=\"business-image\" placeholder=\"https:\/\/example.com\/storefront.jpg\" \/>\n          <\/div>\n          <div class=\"form-row\">\n            <div class=\"form-group\">\n              <label for=\"business-phone\">Phone<\/label>\n              <input type=\"tel\" id=\"business-phone\" placeholder=\"(555) 123-4567\" \/>\n            <\/div>\n            <div class=\"form-group\">\n              <label for=\"business-url\">Website URL<\/label>\n              <input type=\"url\" id=\"business-url\" placeholder=\"https:\/\/example.com\" \/>\n            <\/div>\n          <\/div>\n          <div class=\"form-group\">\n            <label for=\"business-street\">Street Address *<\/label>\n            <input type=\"text\" id=\"business-street\" placeholder=\"123 Main Street\" required \/>\n          <\/div>\n          <div class=\"form-row\">\n            <div class=\"form-group\">\n              <label for=\"business-city\">City *<\/label>\n              <input type=\"text\" id=\"business-city\" placeholder=\"New York\" required \/>\n            <\/div>\n            <div class=\"form-group\">\n              <label for=\"business-region\">State\/Region *<\/label>\n              <input type=\"text\" id=\"business-region\" placeholder=\"NY\" required \/>\n            <\/div>\n            <div class=\"form-group\">\n              <label for=\"business-postal\">Postal Code *<\/label>\n              <input type=\"text\" id=\"business-postal\" placeholder=\"10001\" required \/>\n            <\/div>\n          <\/div>\n          <div class=\"form-row\">\n            <div class=\"form-group\">\n              <label for=\"business-lat\">Latitude<\/label>\n              <input type=\"text\" id=\"business-lat\" placeholder=\"40.7128\" \/>\n            <\/div>\n            <div class=\"form-group\">\n              <label for=\"business-lng\">Longitude<\/label>\n              <input type=\"text\" id=\"business-lng\" placeholder=\"-74.0060\" \/>\n            <\/div>\n          <\/div>\n          <div class=\"form-group\">\n            <label for=\"business-hours\">Opening Hours<\/label>\n            <input type=\"text\" id=\"business-hours\" placeholder=\"Mo-Fr 09:00-17:00, Sa 10:00-14:00\" \/>\n            <small>Format: Mo-Fr 09:00-17:00, Sa 10:00-14:00<\/small>\n          <\/div>\n        <\/form>\n\n        <form id=\"breadcrumb-form\" class=\"schema-form\">\n          <div id=\"breadcrumb-items\">\n            <div class=\"breadcrumb-item\" data-index=\"0\">\n              <div class=\"form-row\">\n                <div class=\"form-group\">\n                  <label>Name *<\/label>\n                  <input type=\"text\" class=\"breadcrumb-name\" placeholder=\"Home\" required \/>\n                <\/div>\n                <div class=\"form-group\">\n                  <label>URL *<\/label>\n                  <input type=\"url\" class=\"breadcrumb-url\" placeholder=\"https:\/\/example.com\" required \/>\n                <\/div>\n                <button type=\"button\" class=\"btn-icon remove-breadcrumb\" title=\"Remove\" disabled>\n                  <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n                    <path d=\"M18 6L6 18M6 6l12 12\"\/>\n                  <\/svg>\n                <\/button>\n              <\/div>\n            <\/div>\n          <\/div>\n          <button type=\"button\" id=\"add-breadcrumb\" class=\"btn btn-secondary\">\n            <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n              <path d=\"M12 5v14M5 12h14\"\/>\n            <\/svg>\n            Add Breadcrumb Item\n          <\/button>\n        <\/form>\n      <\/div>\n\n      <div class=\"preview-panel\">\n        <div class=\"preview-header\">\n          <h3>Generated JSON-LD<\/h3>\n          <div class=\"preview-actions\">\n            <button type=\"button\" id=\"copy-btn\" class=\"btn btn-secondary\">\n              <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n                <rect x=\"9\" y=\"9\" width=\"13\" height=\"13\" rx=\"2\" ry=\"2\"\/>\n                <path d=\"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1\"\/>\n              <\/svg>\n              Copy\n            <\/button>\n            <button type=\"button\" id=\"download-btn\" class=\"btn btn-secondary\">\n              <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n                <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\"\/>\n                <polyline points=\"7,10 12,15 17,10\"\/>\n                <line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\"\/>\n              <\/svg>\n              Download\n            <\/button>\n          <\/div>\n        <\/div>\n        <div class=\"code-wrapper\">\n          <pre><code id=\"json-output\">&lt;script type=\"application\/ld+json\"&gt;\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"Article\",\n  \"headline\": \"Your Article Title\"\n}\n&lt;\/script&gt;<\/code><\/pre>\n        <\/div>\n        <div id=\"copy-toast\" class=\"toast\">Copied to clipboard!<\/div>\n      <\/div>\n    <\/div>\n\n    <footer class=\"footer\">\n      <p>Paste the generated code in your HTML <code>&lt;head&gt;<\/code> section<\/p>\n    <\/footer>\n  <\/div>\n\n  <script>\ndocument.addEventListener('DOMContentLoaded', function() {\n  const tabs = document.querySelectorAll('.tab');\n  const forms = document.querySelectorAll('.schema-form');\n  const jsonOutput = document.getElementById('json-output');\n  const copyBtn = document.getElementById('copy-btn');\n  const downloadBtn = document.getElementById('download-btn');\n  const copyToast = document.getElementById('copy-toast');\n  const addBreadcrumbBtn = document.getElementById('add-breadcrumb');\n  const breadcrumbItems = document.getElementById('breadcrumb-items');\n\n  let currentTab = 'article';\n  let breadcrumbCount = 1;\n\n  tabs.forEach(tab => {\n    tab.addEventListener('click', () => {\n      tabs.forEach(t => {\n        t.classList.remove('active');\n        t.setAttribute('aria-selected', 'false');\n      });\n      tab.classList.add('active');\n      tab.setAttribute('aria-selected', 'true');\n\n      currentTab = tab.dataset.tab;\n      forms.forEach(form => {\n        form.classList.remove('active');\n        if (form.id === `${currentTab}-form`) {\n          form.classList.add('active');\n        }\n      });\n\n      updatePreview();\n    });\n  });\n\n  document.querySelectorAll('.schema-form input, .schema-form select, .schema-form textarea').forEach(input => {\n    input.addEventListener('input', updatePreview);\n    input.addEventListener('change', updatePreview);\n  });\n\n  addBreadcrumbBtn.addEventListener('click', addBreadcrumbItem);\n\n  function addBreadcrumbItem() {\n    const index = breadcrumbCount++;\n    const itemDiv = document.createElement('div');\n    itemDiv.className = 'breadcrumb-item';\n    itemDiv.dataset.index = index;\n    itemDiv.innerHTML = `\n      <div class=\"form-row\">\n        <div class=\"form-group\">\n          <label>Name *<\/label>\n          <input type=\"text\" class=\"breadcrumb-name\" placeholder=\"Page Name\" required \/>\n        <\/div>\n        <div class=\"form-group\">\n          <label>URL *<\/label>\n          <input type=\"url\" class=\"breadcrumb-url\" placeholder=\"https:\/\/example.com\/page\" required \/>\n        <\/div>\n        <button type=\"button\" class=\"btn-icon remove-breadcrumb\" title=\"Remove\">\n          <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n            <path d=\"M18 6L6 18M6 6l12 12\"\/>\n          <\/svg>\n        <\/button>\n      <\/div>\n    `;\n\n    breadcrumbItems.appendChild(itemDiv);\n\n    itemDiv.querySelectorAll('input').forEach(input => {\n      input.addEventListener('input', updatePreview);\n    });\n\n    updateRemoveButtons();\n    updatePreview();\n  }\n\n  function updateRemoveButtons() {\n    const items = breadcrumbItems.querySelectorAll('.breadcrumb-item');\n    items.forEach((item, index) => {\n      const removeBtn = item.querySelector('.remove-breadcrumb');\n      removeBtn.disabled = items.length <= 1;\n    });\n  }\n\n  \/\/ Set up initial breadcrumb remove handler\n  document.addEventListener('click', function(e) {\n    if (e.target.closest('.remove-breadcrumb')) {\n      const item = e.target.closest('.breadcrumb-item');\n      if (breadcrumbItems.querySelectorAll('.breadcrumb-item').length > 1) {\n        item.remove();\n        updateRemoveButtons();\n        updatePreview();\n      }\n    }\n  });\n\n  function generateArticleSchema() {\n    const headline = document.getElementById('article-headline').value;\n    const description = document.getElementById('article-description').value;\n    const image = document.getElementById('article-image').value;\n    const authorName = document.getElementById('article-author-name').value;\n    const authorType = document.getElementById('article-author-type').value;\n    const publisherName = document.getElementById('article-publisher-name').value;\n    const publisherLogo = document.getElementById('article-publisher-logo').value;\n    const datePublished = document.getElementById('article-date-published').value;\n\n    const schema = {\n      \"@context\": \"https:\/\/schema.org\",\n      \"@type\": \"Article\"\n    };\n\n    if (headline) schema.headline = headline;\n    if (description) schema.description = description;\n    if (image) schema.image = image;\n\n    if (authorName) {\n      schema.author = {\n        \"@type\": authorType,\n        \"name\": authorName\n      };\n    }\n\n    if (publisherName) {\n      schema.publisher = {\n        \"@type\": \"Organization\",\n        \"name\": publisherName\n      };\n      if (publisherLogo) {\n        schema.publisher.logo = {\n          \"@type\": \"ImageObject\",\n          \"url\": publisherLogo\n        };\n      }\n    }\n\n    if (datePublished) schema.datePublished = datePublished;\n\n    return schema;\n  }\n\n  function generateProductSchema() {\n    const name = document.getElementById('product-name').value;\n    const description = document.getElementById('product-description').value;\n    const image = document.getElementById('product-image').value;\n    const brand = document.getElementById('product-brand').value;\n    const sku = document.getElementById('product-sku').value;\n    const price = document.getElementById('product-price').value;\n    const currency = document.getElementById('product-currency').value;\n    const availability = document.getElementById('product-availability').value;\n\n    const schema = {\n      \"@context\": \"https:\/\/schema.org\",\n      \"@type\": \"Product\"\n    };\n\n    if (name) schema.name = name;\n    if (description) schema.description = description;\n    if (image) schema.image = image;\n    if (sku) schema.sku = sku;\n\n    if (brand) {\n      schema.brand = {\n        \"@type\": \"Brand\",\n        \"name\": brand\n      };\n    }\n\n    if (price) {\n      schema.offers = {\n        \"@type\": \"Offer\",\n        \"price\": price,\n        \"priceCurrency\": currency,\n        \"availability\": `https:\/\/schema.org\/${availability}`\n      };\n    }\n\n    return schema;\n  }\n\n  function generateLocalBusinessSchema() {\n    const name = document.getElementById('business-name').value;\n    const type = document.getElementById('business-type').value;\n    const image = document.getElementById('business-image').value;\n    const phone = document.getElementById('business-phone').value;\n    const url = document.getElementById('business-url').value;\n    const street = document.getElementById('business-street').value;\n    const city = document.getElementById('business-city').value;\n    const region = document.getElementById('business-region').value;\n    const postal = document.getElementById('business-postal').value;\n    const lat = document.getElementById('business-lat').value;\n    const lng = document.getElementById('business-lng').value;\n    const hours = document.getElementById('business-hours').value;\n\n    const schema = {\n      \"@context\": \"https:\/\/schema.org\",\n      \"@type\": type\n    };\n\n    if (name) schema.name = name;\n    if (image) schema.image = image;\n    if (phone) schema.telephone = phone;\n    if (url) schema.url = url;\n\n    if (street || city || region || postal) {\n      schema.address = {\n        \"@type\": \"PostalAddress\"\n      };\n      if (street) schema.address.streetAddress = street;\n      if (city) schema.address.addressLocality = city;\n      if (region) schema.address.addressRegion = region;\n      if (postal) schema.address.postalCode = postal;\n    }\n\n    if (lat && lng) {\n      schema.geo = {\n        \"@type\": \"GeoCoordinates\",\n        \"latitude\": lat,\n        \"longitude\": lng\n      };\n    }\n\n    if (hours) schema.openingHours = hours;\n\n    return schema;\n  }\n\n  function generateBreadcrumbSchema() {\n    const items = breadcrumbItems.querySelectorAll('.breadcrumb-item');\n    const itemListElement = [];\n\n    items.forEach((item, index) => {\n      const name = item.querySelector('.breadcrumb-name').value;\n      const url = item.querySelector('.breadcrumb-url').value;\n\n      if (name) {\n        const listItem = {\n          \"@type\": \"ListItem\",\n          \"position\": index + 1,\n          \"name\": name\n        };\n        if (url) {\n          listItem.item = url;\n        }\n        itemListElement.push(listItem);\n      }\n    });\n\n    return {\n      \"@context\": \"https:\/\/schema.org\",\n      \"@type\": \"BreadcrumbList\",\n      \"itemListElement\": itemListElement\n    };\n  }\n\n  function syntaxHighlight(json) {\n    json = json.replace(\/&\/g, '&amp;').replace(\/<\/g, '&lt;').replace(\/>\/g, '&gt;');\n    return json.replace(\/(\"(\\\\u[a-zA-Z0-9]{4}|\\\\[^u]|[^\\\\\"])*\"(\\s*:)?|\\b(true|false|null)\\b|-?\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?)\/g, function (match) {\n      let cls = 'number';\n      if (\/^\"\/.test(match)) {\n        if (\/:$\/.test(match)) {\n          cls = 'key';\n        } else {\n          cls = 'string';\n        }\n      } else if (\/true|false\/.test(match)) {\n        cls = 'boolean';\n      } else if (\/null\/.test(match)) {\n        cls = 'null';\n      }\n      return '<span class=\"' + cls + '\">' + match + '<\/span>';\n    });\n  }\n\n  function updatePreview() {\n    let schema;\n\n    switch (currentTab) {\n      case 'article':\n        schema = generateArticleSchema();\n        break;\n      case 'product':\n        schema = generateProductSchema();\n        break;\n      case 'localbusiness':\n        schema = generateLocalBusinessSchema();\n        break;\n      case 'breadcrumb':\n        schema = generateBreadcrumbSchema();\n        break;\n      default:\n        schema = {};\n    }\n\n    const jsonString = JSON.stringify(schema, null, 2);\n    const fullCode = `&lt;script type=\"application\/ld+json\"&gt;\\n${syntaxHighlight(jsonString)}\\n&lt;\/script&gt;`;\n    jsonOutput.innerHTML = fullCode;\n  }\n\n  function getPlainOutput() {\n    let schema;\n\n    switch (currentTab) {\n      case 'article':\n        schema = generateArticleSchema();\n        break;\n      case 'product':\n        schema = generateProductSchema();\n        break;\n      case 'localbusiness':\n        schema = generateLocalBusinessSchema();\n        break;\n      case 'breadcrumb':\n        schema = generateBreadcrumbSchema();\n        break;\n      default:\n        schema = {};\n    }\n\n    return `<script type=\"application\/ld+json\">\\n${JSON.stringify(schema, null, 2)}\\n<\\\/script>`;\n  }\n  \n  copyBtn.addEventListener('click', async () => {\n    const text = getPlainOutput();\n    \n    try {\n      await navigator.clipboard.writeText(text);\n      showToast();\n    } catch (err) {\n      const textarea = document.createElement('textarea');\n      textarea.value = text;\n      document.body.appendChild(textarea);\n      textarea.select();\n      document.execCommand('copy');\n      document.body.removeChild(textarea);\n      showToast();\n    }\n  });\n\n  function showToast() {\n    copyToast.classList.add('show');\n    setTimeout(() => {\n      copyToast.classList.remove('show');\n    }, 2000);\n  }\n\n  downloadBtn.addEventListener('click', () => {\n    const text = getPlainOutput();\n    const blob = new Blob([text], { type: 'text\/html' });\n    const url = URL.createObjectURL(blob);\n    const a = document.createElement('a');\n    a.href = url;\n    a.download = `${currentTab}-schema.html`;\n    document.body.appendChild(a);\n    a.click();\n    document.body.removeChild(a);\n    URL.revokeObjectURL(url);\n  });\n\n  const today = new Date().toISOString().split('T')[0];\n  document.getElementById('article-date-published').value = today;\n\n  updatePreview();\n});\n<\/script>\n<\/body>\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0a8d8fe elementor-widget elementor-widget-text-editor\" data-id=\"0a8d8fe\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tDisclaimer: This generator provides code based on your inputs and current web standards. Always validate your code with Google&#8217;s Rich Results Test before publishing. We are not responsible for implementation errors or changes in search engine acceptance policies.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t<section class=\"elementor-element elementor-element-c00bcec e-flex e-con-boxed e-con e-parent\" data-id=\"c00bcec\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-2602018 e-con-full e-flex e-con e-child\" data-id=\"2602018\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-3f223bb e-con-full e-flex e-con e-child\" data-id=\"3f223bb\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0cd1a02 elementor-widget elementor-widget-heading\" data-id=\"0cd1a02\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Frequently Asked Questions<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d156ffc elementor-widget elementor-widget-text-editor\" data-id=\"d156ffc\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>The frequently asked questions on schema markup and how to best utilise this tool to implement schema successfully.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-148cc39 e-con-full e-flex e-con e-child\" data-id=\"148cc39\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-dfc1e63 accordion--rotating-icon elementor-widget elementor-widget-n-accordion\" data-id=\"dfc1e63\" data-element_type=\"widget\" data-settings=\"{&quot;n_accordion_animation_duration&quot;:{&quot;unit&quot;:&quot;ms&quot;,&quot;size&quot;:300,&quot;sizes&quot;:[]},&quot;default_state&quot;:&quot;expanded&quot;,&quot;max_items_expended&quot;:&quot;one&quot;}\" data-widget_type=\"nested-accordion.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"e-n-accordion\" aria-label=\"Accordion. Open links with Enter or Space, close with Escape, and navigate with Arrow Keys\">\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-2340\" class=\"e-n-accordion-item\" open>\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"1\" tabindex=\"0\" aria-expanded=\"true\" aria-controls=\"e-n-accordion-item-2340\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><h4 class=\"e-n-accordion-item-title-text\"> What is Schema Markup? <\/h4><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" id=\"uuid-9c6e46db-d22b-4181-be97-fde8002f4239\" data-name=\"Layer 1\" viewBox=\"0 0 19.118 19.118\"><path d=\"M18.877,10.141c-.149.149-.355.241-.582.241h-7.911s0,7.912,0,7.912c0,.455-.369.824-.824.824-.455,0-.823-.369-.823-.823v-7.912s-7.912,0-7.912,0c-.455,0-.824-.369-.824-.824,0-.454.37-.823.824-.824h7.912s0-7.912,0-7.912c0-.454.369-.822.823-.823.455,0,.824.369.824.824v7.911s7.912,0,7.912,0c.455,0,.823.368.823.823,0,.227-.092.433-.241.582Z\"><\/path><\/svg><\/span>\n\t\t\t<span class='e-closed'><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" id=\"uuid-9c6e46db-d22b-4181-be97-fde8002f4239\" data-name=\"Layer 1\" viewBox=\"0 0 19.118 19.118\"><path d=\"M18.877,10.141c-.149.149-.355.241-.582.241h-7.911s0,7.912,0,7.912c0,.455-.369.824-.824.824-.455,0-.823-.369-.823-.823v-7.912s-7.912,0-7.912,0c-.455,0-.824-.369-.824-.824,0-.454.37-.823.824-.824h7.912s0-7.912,0-7.912c0-.454.369-.822.823-.823.455,0,.824.369.824.824v7.911s7.912,0,7.912,0c.455,0,.823.368.823.823,0,.227-.092.433-.241.582Z\"><\/path><\/svg><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-2340\" class=\"elementor-element elementor-element-5da23b2 e-con-full e-flex e-con e-child\" data-id=\"5da23b2\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0e1f171 elementor-widget elementor-widget-text-editor\" data-id=\"0e1f171\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tSchema markup is a form of microdata that you add to your website&#8217;s HTML. It acts as a &#8220;translator&#8221; for search engines, helping them understand exactly what your content is\u2014whether it&#8217;s a person, a place, a product, or a recipe.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-2341\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"2\" tabindex=\"-1\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-2341\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><h4 class=\"e-n-accordion-item-title-text\"> Does Schema Markup help with SEO rankings? <\/h4><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" id=\"uuid-9c6e46db-d22b-4181-be97-fde8002f4239\" data-name=\"Layer 1\" viewBox=\"0 0 19.118 19.118\"><path d=\"M18.877,10.141c-.149.149-.355.241-.582.241h-7.911s0,7.912,0,7.912c0,.455-.369.824-.824.824-.455,0-.823-.369-.823-.823v-7.912s-7.912,0-7.912,0c-.455,0-.824-.369-.824-.824,0-.454.37-.823.824-.824h7.912s0-7.912,0-7.912c0-.454.369-.822.823-.823.455,0,.824.369.824.824v7.911s7.912,0,7.912,0c.455,0,.823.368.823.823,0,.227-.092.433-.241.582Z\"><\/path><\/svg><\/span>\n\t\t\t<span class='e-closed'><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" id=\"uuid-9c6e46db-d22b-4181-be97-fde8002f4239\" data-name=\"Layer 1\" viewBox=\"0 0 19.118 19.118\"><path d=\"M18.877,10.141c-.149.149-.355.241-.582.241h-7.911s0,7.912,0,7.912c0,.455-.369.824-.824.824-.455,0-.823-.369-.823-.823v-7.912s-7.912,0-7.912,0c-.455,0-.824-.369-.824-.824,0-.454.37-.823.824-.824h7.912s0-7.912,0-7.912c0-.454.369-.822.823-.823.455,0,.824.369.824.824v7.911s7.912,0,7.912,0c.455,0,.823.368.823.823,0,.227-.092.433-.241.582Z\"><\/path><\/svg><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-2341\" class=\"elementor-element elementor-element-75a6ee6 e-con-full e-flex e-con e-child\" data-id=\"75a6ee6\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-411834c elementor-widget elementor-widget-text-editor\" data-id=\"411834c\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tWhile schema itself is not a direct ranking factor, it helps search engines interpret your content more effectively. More importantly, it powers Rich Results (like star ratings and image carousels), which significantly improve visibility and click-through rates.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-2342\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"3\" tabindex=\"-1\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-2342\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><h4 class=\"e-n-accordion-item-title-text\"> Where do I put the generated JSON-LD code? <\/h4><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" id=\"uuid-9c6e46db-d22b-4181-be97-fde8002f4239\" data-name=\"Layer 1\" viewBox=\"0 0 19.118 19.118\"><path d=\"M18.877,10.141c-.149.149-.355.241-.582.241h-7.911s0,7.912,0,7.912c0,.455-.369.824-.824.824-.455,0-.823-.369-.823-.823v-7.912s-7.912,0-7.912,0c-.455,0-.824-.369-.824-.824,0-.454.37-.823.824-.824h7.912s0-7.912,0-7.912c0-.454.369-.822.823-.823.455,0,.824.369.824.824v7.911s7.912,0,7.912,0c.455,0,.823.368.823.823,0,.227-.092.433-.241.582Z\"><\/path><\/svg><\/span>\n\t\t\t<span class='e-closed'><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" id=\"uuid-9c6e46db-d22b-4181-be97-fde8002f4239\" data-name=\"Layer 1\" viewBox=\"0 0 19.118 19.118\"><path d=\"M18.877,10.141c-.149.149-.355.241-.582.241h-7.911s0,7.912,0,7.912c0,.455-.369.824-.824.824-.455,0-.823-.369-.823-.823v-7.912s-7.912,0-7.912,0c-.455,0-.824-.369-.824-.824,0-.454.37-.823.824-.824h7.912s0-7.912,0-7.912c0-.454.369-.822.823-.823.455,0,.824.369.824.824v7.911s7.912,0,7.912,0c.455,0,.823.368.823.823,0,.227-.092.433-.241.582Z\"><\/path><\/svg><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-2342\" class=\"elementor-element elementor-element-7eac44e e-con-full e-flex e-con e-child\" data-id=\"7eac44e\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7e93628 elementor-widget elementor-widget-text-editor\" data-id=\"7e93628\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>You should place the generated script inside the section of your website&#8217;s HTML. If you are using a CMS like WordPress, you can use a header injection plugin or a dedicated SEO plugin that allows for custom schema insertion.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-2343\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"4\" tabindex=\"-1\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-2343\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><h4 class=\"e-n-accordion-item-title-text\"> What types of Schema can I create here? <\/h4><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" id=\"uuid-9c6e46db-d22b-4181-be97-fde8002f4239\" data-name=\"Layer 1\" viewBox=\"0 0 19.118 19.118\"><path d=\"M18.877,10.141c-.149.149-.355.241-.582.241h-7.911s0,7.912,0,7.912c0,.455-.369.824-.824.824-.455,0-.823-.369-.823-.823v-7.912s-7.912,0-7.912,0c-.455,0-.824-.369-.824-.824,0-.454.37-.823.824-.824h7.912s0-7.912,0-7.912c0-.454.369-.822.823-.823.455,0,.824.369.824.824v7.911s7.912,0,7.912,0c.455,0,.823.368.823.823,0,.227-.092.433-.241.582Z\"><\/path><\/svg><\/span>\n\t\t\t<span class='e-closed'><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" id=\"uuid-9c6e46db-d22b-4181-be97-fde8002f4239\" data-name=\"Layer 1\" viewBox=\"0 0 19.118 19.118\"><path d=\"M18.877,10.141c-.149.149-.355.241-.582.241h-7.911s0,7.912,0,7.912c0,.455-.369.824-.824.824-.455,0-.823-.369-.823-.823v-7.912s-7.912,0-7.912,0c-.455,0-.824-.369-.824-.824,0-.454.37-.823.824-.824h7.912s0-7.912,0-7.912c0-.454.369-.822.823-.823.455,0,.824.369.824.824v7.911s7.912,0,7.912,0c.455,0,.823.368.823.823,0,.227-.092.433-.241.582Z\"><\/path><\/svg><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-2343\" class=\"elementor-element elementor-element-a058ae8 e-con-full e-flex e-con e-child\" data-id=\"a058ae8\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-20b303d elementor-widget elementor-widget-text-editor\" data-id=\"20b303d\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tCurrently, our tool supports Article, Product, Local Business, and Breadcrumb schema. These are the most critical types for bloggers, eCommerce store owners, and service-based businesses.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-2344\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"5\" tabindex=\"-1\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-2344\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><h4 class=\"e-n-accordion-item-title-text\"> How do I know if my Schema is working? <\/h4><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" id=\"uuid-9c6e46db-d22b-4181-be97-fde8002f4239\" data-name=\"Layer 1\" viewBox=\"0 0 19.118 19.118\"><path d=\"M18.877,10.141c-.149.149-.355.241-.582.241h-7.911s0,7.912,0,7.912c0,.455-.369.824-.824.824-.455,0-.823-.369-.823-.823v-7.912s-7.912,0-7.912,0c-.455,0-.824-.369-.824-.824,0-.454.37-.823.824-.824h7.912s0-7.912,0-7.912c0-.454.369-.822.823-.823.455,0,.824.369.824.824v7.911s7.912,0,7.912,0c.455,0,.823.368.823.823,0,.227-.092.433-.241.582Z\"><\/path><\/svg><\/span>\n\t\t\t<span class='e-closed'><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" id=\"uuid-9c6e46db-d22b-4181-be97-fde8002f4239\" data-name=\"Layer 1\" viewBox=\"0 0 19.118 19.118\"><path d=\"M18.877,10.141c-.149.149-.355.241-.582.241h-7.911s0,7.912,0,7.912c0,.455-.369.824-.824.824-.455,0-.823-.369-.823-.823v-7.912s-7.912,0-7.912,0c-.455,0-.824-.369-.824-.824,0-.454.37-.823.824-.824h7.912s0-7.912,0-7.912c0-.454.369-.822.823-.823.455,0,.824.369.824.824v7.911s7.912,0,7.912,0c.455,0,.823.368.823.823,0,.227-.092.433-.241.582Z\"><\/path><\/svg><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-2344\" class=\"elementor-element elementor-element-49e53e7 e-con-full e-flex e-con e-child\" data-id=\"49e53e7\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d8b40a5 elementor-widget elementor-widget-text-editor\" data-id=\"d8b40a5\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tAfter implementing the code, use Google\u2019s Rich Results Test or the Schema Markup Validator (formerly the Structured Data Testing Tool) to verify that Google can read your data correctly.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<script type=\"application\/ld+json\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"What is Schema Markup?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Schema markup is a form of microdata that you add to your website&#8217;s HTML. It acts as a &#8220;translator&#8221; for search engines, helping them understand exactly what your content is\\u2014whether it&#8217;s a person, a place, a product, or a recipe.\"}},{\"@type\":\"Question\",\"name\":\"Does Schema Markup help with SEO rankings?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"While schema itself is not a direct ranking factor, it helps search engines interpret your content more effectively. More importantly, it powers Rich Results (like star ratings and image carousels), which significantly improve visibility and click-through rates.\"}},{\"@type\":\"Question\",\"name\":\"Where do I put the generated JSON-LD code?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"You should place the generated script inside the section of your website&#8217;s HTML. If you are using a CMS like WordPress, you can use a header injection plugin or a dedicated SEO plugin that allows for custom schema insertion.\"}},{\"@type\":\"Question\",\"name\":\"What types of Schema can I create here?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Currently, our tool supports Article, Product, Local Business, and Breadcrumb schema. These are the most critical types for bloggers, eCommerce store owners, and service-based businesses.\"}},{\"@type\":\"Question\",\"name\":\"How do I know if my Schema is working?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"After implementing the code, use Google\\u2019s Rich Results Test or the Schema Markup Validator (formerly the Structured Data Testing Tool) to verify that Google can read your data correctly.\"}}]}<\/script>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t<section class=\"elementor-element elementor-element-ead4ddb e-flex e-con-boxed e-con e-parent\" data-id=\"ead4ddb\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-0d9df32 e-con-full e-flex e-con e-child\" data-id=\"0d9df32\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2976879 elementor-widget__width-initial elementor-widget-mobile__width-inherit elementor-widget elementor-widget-heading\" data-id=\"2976879\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Take the Next\n<span style=\"color: var(--e-global-color-text)\">Step<\/span><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-43bda6c elementor-widget__width-initial elementor-widget-mobile__width-inherit elementor-widget elementor-widget-text-editor\" data-id=\"43bda6c\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">Knowing your CPC is a great start, but turning that insight into results takes the right strategy. If you\u2019re looking to get more from your ad spend, our team at Digital Nomads HQ is here to help.<\/span><\/p><p><span style=\"font-weight: 400;\">We\u2019ll work with you to refine your campaigns, improve conversion rates, and make every click count.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9474760 elementor-align-center multi-color-ripple white--btn-dn-arrow elementor-mobile-align-justify elementor-widget__width-auto elementor-widget elementor-widget-button\" data-id=\"9474760\" data-element_type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"#elementor-action%3Aaction%3Dpopup%3Aopen%26settings%3DeyJpZCI6IjI5OTExIiwidG9nZ2xlIjpmYWxzZX0%3D\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Talk to our marketing team<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Schema Markup Generator Boost Your SEO with Structured Data in Seconds Creating schema markup shouldn&#8217;t require a computer science degree. Our free Schema Markup Generator allows you to instantly create JSON-LD structured data. How to Use the Schema Markup Creator Choose Your Schema Type Select the type of structured data you need from the tabs [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":33119,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"content-type":"","footnotes":""},"class_list":["post-40419","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/digitalnomadshq.com.au\/wp-json\/wp\/v2\/pages\/40419","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/digitalnomadshq.com.au\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/digitalnomadshq.com.au\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/digitalnomadshq.com.au\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/digitalnomadshq.com.au\/wp-json\/wp\/v2\/comments?post=40419"}],"version-history":[{"count":18,"href":"https:\/\/digitalnomadshq.com.au\/wp-json\/wp\/v2\/pages\/40419\/revisions"}],"predecessor-version":[{"id":40440,"href":"https:\/\/digitalnomadshq.com.au\/wp-json\/wp\/v2\/pages\/40419\/revisions\/40440"}],"up":[{"embeddable":true,"href":"https:\/\/digitalnomadshq.com.au\/wp-json\/wp\/v2\/pages\/33119"}],"wp:attachment":[{"href":"https:\/\/digitalnomadshq.com.au\/wp-json\/wp\/v2\/media?parent=40419"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}