質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.51%
JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

Q&A

0回答

1727閲覧

Json LD でアイキャッチ有無の分岐記述方法を教えてください。

bgd6f41

総合スコア8

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

0グッド

0クリップ

投稿2016/10/04 05:15

###前提・実現したいこと

// JSON-LD
add_action('wp_head','insert_json_ld');
function insert_json_ld (){
if (have_posts()) : while (have_posts()) : the_post();
$context = 'http://schema.org';
$type = 'Article';
$headline = get_the_title();
$authorType = 'Person';
$authorName = get_the_author();
$dataPublished = get_the_date('c');
$thumbnail_id = get_post_thumbnail_id($post->ID);
$image = wp_get_attachment_image_src( $thumbnail_id, 'full' );
$imageurl = $image[0];
$category_info = get_the_category();
$articleSection = $category_info[0]->name;
$articleBody = get_the_content();
$url = get_permalink();
$publisherType = 'Organization';
$publisherName = get_bloginfo('name');

$json= " \"@context\" : \"{$context}\", \"@type\" : \"{$type}\", \"headline\" : \"{$headline}\", \"author\" : { \"@type\" : \"{$authorType}\", \"name\" : \"{$publisherName}\" }, \"datePublished\" : \"{$dataPublished}\", \"dateModified\" : \"{$dataPublished}\", \"mainEntityOfPage\": { \"@type\": \"WebPage\", \"@id\": \"{$url}\" }, \"image\" : { \"@type\" :\"ImageObject\", \"url\" :\"{$imageurl}\", \"height\" :\"400\", \"width\" :\"400\" }, \"articleSection\" : \"{$articleSection}\", \"url\" : \"{$url}\", \"publisher\" : { \"@type\" : \"{$publisherType}\", \"name\" : \"{$publisherName}\", \"logo\" :{ \"@type\" : \"ImageObject\", \"url\" : \"http://hogehoge.com/images.png\" } } "; echo '<script type="application/ld+json">{'.$json.'}</script>'; endwhile; endif; rewind_posts(); }

ワードプレスのfunction関数に上記を記述すると、グーグルに対して構造化を定義できるのですが、これだと、アイキャッチを登録しておかないと画像URLが表示されず、構造化エラーとなってしまいます。

上記より抜粋

ここの所
"image" : {
"@type" :"ImageObject",
"url" :"{$imageurl}",
"height" :"400",
"width" :"400"
},

の、 "url" :"{$imageurl}", の所なんですが、これだとアイキャッチがあれば、画像URLがでてもんだいないのですが、
アイキャッチを登録していない記事の場合は画像URLが挿入されずグーグルから構造化エラーとなってしまいます。

アイキャッチが無い時だけデフォルトで固有の画像URLを表示する分岐を含む書き方を教えてほしいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.51%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問