構造化マークアップFAQ
構造化データを使用して「よくある質問」をマークアップする。
以下はよくあるご質問用にカスタム投稿を設けた場合の記述方法です。
https://developers.google.com/search/docs/data-types/faqpage?hl=ja#faq-page
1. header.php </head>直前に下記を追記
※「1175」の箇所はそのサイトにあるよくある質問の最新記事のIDに変更する
2. 下記でテスト
<?php if (is_post_type_archive('faq')): ?>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
<?php
$newposts=get_posts('numberposts=-1&post_type=faq&orderby=date&order=ASC&exclude=1175');
foreach($newposts as $post):
setup_postdata($post);
?>
{
"@type": "Question",
"name": "<?php the_title(); ?>",
"acceptedAnswer": {
"@type": "Answer",
"text": "<?php echo mb_substr(strip_tags(apply_filters('the_content', $post->post_content)), 0, -1); ?>"
}
},
<?php
endforeach;
wp_reset_postdata();
$newposts=get_posts('numberposts=-1&post_type=faq&orderby=date&order=ASC&include=1175');
foreach($newposts as $post):
setup_postdata($post);
?>
{
"@type": "Question",
"name": "<?php the_title(); ?>",
"acceptedAnswer": {
"@type": "Answer",
"text": "<?php echo mb_substr(strip_tags(apply_filters('the_content', $post->post_content)), 0, -1); ?>"
}
}
<?php
endforeach;
wp_reset_postdata();
?>
]
}
</script>
<?php endif; ?>