構造化データマークアップされたWordpressフレームワークBeans。
構造化データマークアップされているので、構造化データテストツールでちゃんと構造化されているかを調べてみるとエラーが出る。
中を見てみると、
「publisher」フィールドの値は必須です。
と出てきました。
publisherを辞書で調べると
publisher
出版社、出版業者、新聞経営者、新聞社主
引用元:Weblio 辞書
となっています。
ブログでいうと運営元の組織と解釈していいかと思います。
ここではブログのロゴデータを表示させます。
publisherタイプを書く時、以下のプロパティが必要になります。
itemprop | 説明 |
---|---|
logo | https://schema.org/ImageObject |
url | ロゴのURL |
width | ロゴの横幅 |
height | ロゴの高さ |
name | 会社名、組織名 |
場所はこの位置に設置しようと思います。
編集するファイルは全部で2つ
テーマフォルダの中の下記のディレクトリに移動します。
tm-beans/lib/templates/fragments
その中で編集するファイルは以下の2つです。
- post-shortcodes.php
- post.php
post-shortcodes.php
まず専用のショートコードを作ります。
beans_add_smart_action( 'beans_post_meta_publisher', 'beans_post_meta_publisher_shortcode' ); /** * Echo post meta date shortcode. * * @since 1.0.0 */ function beans_post_meta_publisher_shortcode() { echo '<div itemprop="publisher" itemscope itemtype="https://schema.org/Organization">'; echo '<div itemprop="logo" itemscope itemtype="https://schema.org/ImageObject">'; echo '<img src="ロゴのURL" />'; echo '<meta itemprop="url" content="ロゴのURL">'; echo '<meta itemprop="width" content="ロゴの横幅">'; echo '<meta itemprop="height" content="ロゴの高さ">'; echo '</div>'; echo '<meta itemprop="name" content="会社名・組織名">'; echo '</div>'; }
post.php
次に表示させる位置を指定します。
98行目あたりにあるfunction beans_post_meta()の中の
$meta_items = apply_filters( 'beans_post_meta_items', array( 'date' => 10, 'author' => 20, 'comments' => 30, ) );
の部分に以下を追加します。
$meta_items = apply_filters( 'beans_post_meta_items', array( 'publisher' => 5, 'date' => 10, 'author' => 20, 'comments' => 30, ) );
これでロゴが表示されるようになります。
構造化データテストツールでもエラーは出なくなりました。
まだmainEntityOfPageの推奨フィールドの警告が残っていますが、こちらは次回。