in header.php => ID); //Extract FAQ items from faq custom fields $aFaQItems=[]; if (isset($aMeta["faq"])) foreach ($aMeta["faq"] as $index=>$sFaq) { $sAnswer=""; $sQuestion=""; $iIndex = strpos($sFaq, "?", 0); //get pos of first question mark.. if ($iIndex == true) { $sQuestion = substr($sFaq, 0, $iIndex ); $sAnswer = substr($sFaq, $iIndex+1 ); $aFaQItems[]=[$sQuestion, $sAnswer]; } else continue; } ?> also in header.php, before closing tag { "@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [ '; $iNumFaqs=sizeof($aFaQItems); foreach ($aFaQItems as $index=>$aFaq) { ?> { "@type": "Question", "name": "?", "acceptedAnswer": { "@type": "Answer", "text": "" } }'; } ?> in review template, or page / post template