演劇感想文リンクをWORDPRESS化するにあたり、公演の情報を構造化データで扱うようにしようと考えています。。少しは、SEO的な効果があることを期待しているからです(やってみないと効果の程は不明ですが)。Googleのインデックス状況等を確認できるサイト、Google Search Consoleでも、構造化データを推奨しています。ところが、Google Search Consoleを見ても、演劇公演についての構造化についてきちんと説明されていません。その辺を調べてみました。
目次
構造化データのメリット。
Google Search Consoleでは、構造化データテストツールなどが提供されていますが、そもそも構造化するメリットはなんでしょうか?
「「構造化データ」がよく分かる!初心者向け徹底解説」
こちらのサイトでは、メリットについて、以下のように記載されています。(とても、参考になるサイトです)
上述した通り、特定のテキストあるいは画像がどういう情報なのかを指し示すことで、検索エンジンはコンテンツの内容がどういう意味を持つものか、容易に把握できるようになります。 構造化データを用いることで、前述した文章は、「私の名前は土居健太郎で、ニックネームは天照SEOです」のように、情報の持つ意味がより明確に検索エンジンに伝わり、適切に認識されるようになります。
通常の検索結果においてサイトが表示される際には青色のリンク、その下meta descriptionやサイト内テキストから引用したスニペットが表示されますが、構造化データを用いることで、リンクの下に通常とは異なる情報が表示されることがあります。これを「リッチスニペット」と言います。 こういった検索結果を見たことがある方は多いのではないかと思います。 これにより検索結果で目につきやすくなり、クリックされやすくなるなどのメリットがあります。
2番めの引用に書いてあるスニペットが検索結果に表示されるというのは魅力的です。人にとって読みやすい、価値ある情報を提供するのはサイトを構築する上でアタリマエのことですが、Googleなどの検索エンジンに理解できる形で情報を提供するのは、それはそれでも価値がありそうです。
演劇情報を構造化データで表現する
ただ、例にあがっているのは、記事、映画、書評、などで残念ながら演劇の公演については記載がありません。
ただ、諦める必要はありません。ここであがっている例は、あくまでも例でしかなく、本来的に構造化データを扱うSchema.org(英語)という構造化データのボキャブラリーが網羅されており、その中にTheaterEventというのが、公演情報を記載する為の表現のようです。公演情報を表現するための要素は色々あって悩むのですが、以下のように読み替えて必要そうな要素をピックアップしてみました。
アイテム名 | 定義(英語) | 意味(日本語) |
---|---|---|
name | The name of the item. | 題名 |
performer | A performer at the event—for example, a presenter, musician, musical group or actor. Supersedes performers. | 劇団 |
startDate | The start date and time of the item (in ISO 8601 date format). | 公演開始日 |
endDate | The end date and time of the item (in ISO 8601 date format). | 公演終了日 |
location | The location of for example where the event is happening, an organization is located, or where an action takes place. | 劇場 |
composer | The person or organization who wrote a composition, or who is the composer of a work performed at some event. | 脚本家 |
director | A director of e.g. tv, radio, movie, video gaming etc. content, or of an event. Directors can be associated with individual items or with a series, episode, clip. Supersedes directors. | 演出家 |
actor | An actor, e.g. in tv, radio, movie, video games etc., or in an event. Actors can be associated with individual items or with a series, episode, clip. Supersedes actors. | キャスト |
上記の中でも、Performerを劇団として良いのか、Composerを脚本家として良いのか、イマイチ不安です。(Composerって「作曲家」のイメージなのですが)
構造化データで複数のアイテムが入るときどうすればよいか?
データを作成する際に悩んだのが、Actor即ち、キャストデータの扱いです。TheaterEventのページでは、例としてあがっているのは一つの公演に一つのアイテムがある例しかないのですが、キャストは通常、複数の俳優さん、女優さんが出演します。どのようにすれば、良いのか色々ネットを検索したところ、[]でくくれば良いことが判明しました。
JSONを扱う際のあたりまえの事のようですが、JSONそのものを扱うのも今回はじめてなので悩みました
※JSONとは
JSON (JavaScript Object Notation)は、軽量のデータ交換フォーマットです。人間にとって読み書きが容易で、マシンにとっても簡単にパースや生成を行なえる形式です。 JavaScriptプログラミング言語 (ECMA-262標準第3版 1999年12月)の一部をベースに作られています。 JSONは完全に言語から独立したテキスト形式ですが、C、C++、C#、Java、JavaScript、Perl、Python、その他多くのCファミリーの言語を使用するプログラマにとっては、馴染み深い規約が使われています。これらの性質が、 JSONを理想的なデータ交換言語にしています。
具体的に演劇公演情報を構造化データで表してみる
以上のような事を検討した上で、以下のようなコードで構造化データを表現することにしました。(JASON-LD形式)
<script type="application/ld+json" >{"@context": "http://schema.org","@type": "TheaterEvent", "name": "頭痛肩こり樋口一葉", "location": {"@type": "PerformingArtsTheater","name": "シアタークリエ","sameAs": "","address": "日比谷, Japan"}, "startDate": "2016-08-05","endDate": "2016-08-25", "performer": {"@type": "TheaterGroup","name": "こまつ座","sameAs": "https://engeki.kansolink.com/review/komatuza.html"}, "composer": {"@type": "Person","name": "井上ひさし"}, "director": {"@type": "Person","name": "栗山民也"}, "actor":[ {"@type": "Person","name": "永作博美","sameAs": "https://engeki.kansolink.com/people/pnagasaku.html"},{"@type": "Person","name": "三田和代","sameAs": "https://engeki.kansolink.com/people/pmitakazuyo.html"},{"@type": "Person","name": "熊谷真実","sameAs": "https://engeki.kansolink.com/people/pkumagaimami.html"},{"@type": "Person","name": "愛華みれ"},{"@type": "Person","name": "深谷美歩"},{"@type": "Person","name": "若村麻由美","sameAs": "https://engeki.kansolink.com/people/pwakamuramayumi.html"}], "description":"2016年08月にこまつ座がシアタークリエで上演した舞台「頭痛肩こり樋口一葉」のレビュー/劇評のリンク集です。この作品は、井上ひさしさんの作品を栗山民也さんが演出しています。2本の劇評を読んでいただくことが出来ます。", "url":"https://engeki.kansolink.com/shows/komatuza77.html"}</script>"
みやすいように、要素ごとで改行をいれていますが、改行をいれなくても問題なくGoogle Search Consoleの構造化データテストツールは通ります。警告として推奨要素の”offer”と”image”が無いことを指摘されますが、膨大な量の公演のimageを今から設定するのはちょっと現実的でなく、またoffer(チケット等の販売情報を載せるらしい)は、過去の情報を中心にのせることになる演劇感想文リンクではちょっと扱えない情報なので、無視することにしました。
尚、Schema.orgには、劇場を示す「PerformingArtsTheater」や劇団を示す「TheaterGroup」というタイプもあるので、上記のコードではそれを利用しています。
コメントを残す