BloggerのJSON-LDの構造化データのpublisherをブログ自体に合わせる 結城永人 -2018年9月20日 Bloggerの2017年の公式テーマのContempoとSohoとEmporioとNotableは記事毎にJSON-LDの構造化データが付いていてGoogleなどの検索エンジンがサイト内容を通常よりも認識し易くなっている。 ブログのテンプレートのソースコードからマークアップを確認してみるとpublisher(公開主)がBloggerになっていてさらに画像なしの場合の画像にBloggerのロゴが記載されるのもちょっと気がかりなんだ。 Bloggerを使っているから間違いではないにせよ、ブログ自体には一致してないわけで、どちらもブログ自体に合わせてカスタマイズしたいと感じてしまう。 検索エンジンからのアクセスアップのSEO(検索エンジン最適化)対策にブログのサイト評価が他のBloggerの意味合いへ分散しなくなればもっと役立つかも知れないとも期待される。 JSON-LDの構造化データのpublisherはサイト名を入れるのが一般的なマークアップで、すると画像なしの場合の画像についてもサイトに合わせたデザインが取られて記載されるわけだ。 BloggerのJSON-LDの構造化データのカスタマイズ テーマのHTML編集かバックアップ/復元でマークアップの書き換えを行う。 <b:includable id='postMeta' var='post'> <b:include data='post' name='postMetadataJSON'/> </b:includable> デフォルトのソースコードはBloggerのサーバーからincludeタグのnameのpostMetadataJSONで出力されていて変更できない。 呼び出される同名のpostMetadataJSONのidのincludableタグを追加するとカスタマイズできるようになる。 <b:includable id='postMetadataJSON' var='post'> <script type='application/ld+json'> { "@context": "http://schema.org", "@type": "BlogPosting", "mainEntityOfPage": { "@type": "WebPage", "@id": "<data:post.url.canonical.jsonEscaped/>" }, "headline": "<data:post.title.jsonEscaped/>", "description": "<b:eval expr='(data:post.body snippet { length: 150, links: false, linebreaks: false, ellipsis: true }).jsonEscaped'/>", "datePublished": "<data:post.date.iso8601.jsonEscaped/>", "dateModified": "<data:post.lastUpdated.iso8601.jsonEscaped/>", "image": { "@type": "ImageObject", "url": "<b:eval expr='(data:post.featuredImage ? resizeImage(data:post.featuredImage, 1200, "1200:630") : "https://lh3.googleusercontent.com/ULB6iBuCeTVvSjjjU1A-O8e9ZpVba6uvyhtiWRti_rBAs9yMYOFBujxriJRZ-A=w1200").jsonEscaped'/>", "height": <b:eval expr='data:post.featuredImage ? 630 : 348'/>, "width": 1200 }, "publisher": { "@type": "Organization", "name": "Blogger", "logo": { "@type": "ImageObject", "url": "https://lh3.googleusercontent.com/ULB6iBuCeTVvSjjjU1A-O8e9ZpVba6uvyhtiWRti_rBAs9yMYOFBujxriJRZ-A=h60", "width": 206, "height": 60 } }, "author": { "@type": "Person", "name": "<data:post.author.name.jsonEscaped/>" } } </script> </b:includable> 参考サイトpostMetadataJSON [GV2] ブログで使用しているBlogのtypeのwidget内――デフォルトではBlog1のidを持っている――のどこかに追加する。元のpostMetadataJSONのnameのincludeタグを囲んだpostMetaのidのincludableタグの次に置いておくと分かり易いと思う。 何もなくても同一のソースコードがBloggerのサーバーから読み込まれているけれどもマークアップを変更するには取り出してテンプレートに追加しておくと当のincludableタグがサーバーから読み込まれるよりも優先されてブログのソースコードに反映するようになる。 BloggerのJSON-LDのpublisherのカスタマイズ ソースコードのpublisherから大括弧({})で囲まれた部分(logoについてもう一つの大括弧を含む)のマークアップを変更する。 デフォルトのnameが「Blogger」になっているからブログ名に書き換える。 "name": "ブログ名", または独自タグの<data:blog.title.jsonEscaped/>を使っても構わない。 "name": "<data:blog.title.jsonEscaped/>", 独自タグでブログ名を出力するマークアップだと他の設定などからブログ名を変更した場合に併せて自動的に書き換えられるからもっと便利だと思う。 publisherのデフォルトのマークアップでは他にロゴの画像URLと縦横のサイズが指定されているから必要に応じて書き換えなくてはならない。 ロゴの画像URLはロゴを作成してブログに載せるか、imgurなどの画像URLが取得できるWebサービスを使って取得しなくてはならない。 publisherに使われるサイトのロゴのデザインはGoogleのAPM(検索エンジンのキャッシュから高速表示されるマークアップ)の記事向けの推奨だと構造化データのガイドのArticleで細かく指定されている。 jpgかpngかgifのファイル形式アニメーションを使用しない名前のロゴ/アイコンではない背景は白か薄い色にする サイズは600×60以内のレクタングル(長方形)で、スクウェア(正方形)にしない。 そして縦横のどちらかの長さ、600pxか60pxを合わせなくてはならない。ロゴの文字は中揃えに配置して最大で48px以内のサイズにして上下左右の内側の余白は6px以上を取るようにする。 Bloggerの公式テーマはAMPに対応してないから不要かも知れないけれどもデフォルトのJSON-LDの構造化データではGoogle推奨の仕方が適用されているようだ。マークアップが検索エンジンに分かり易ければSEO対策に向いていてアクセスアップが可能なはずだから同じように適用したロゴを作成すると良いと思う。 "url": "ロゴの画像URL", "width": ロゴの横幅, "height": ロゴの縦幅, BloggerのJSON-LDのpublisherのカスタマイズはnameとlogoを変更すると完了する。 他にも項目を追加して良いと思うし、語彙はScheme.orgのpublisherを使うので、そこから調べて必要に応じてさらにJSON-LDの構造化データを詳しく纏められる。サイト内容が検索エンジンに適切に伝わるほどにSEO効果を上げられる。 説明文のdescriptionやサイトアドレスのurlなどが一般的に取り入れ易い。 "publisher": { "@type": "Organization", "name": "ブログ名", "description": "説明文", "url": "サイトアドレス", "logo": { "@type": "ImageObject", "url": "ロゴの画像URL", "width": ロゴの横幅, "height": ロゴの縦幅 } }, マークアップはデフォルト各項目と同じように項目と値をそれぞれに半角二重引用符("")で囲って半角コロン(:)を使って並置する。画像のサイズなどの数値は半角二重引用符がなくても大丈夫みたいで、Bloggerのソースコードでは使われてないけど、使うのが一般的だろう。項目と値のセットがマークアップの最後――半角大括弧か半角角括弧([])で囲まれる――でなければ半角コンマ(,)で、区切って記載する。改行するかどうかはどちらでも構わない。 諸々の記号は一つでも抜けるとJSON-LDの構造化データは全てがエラーになって検索エンジンなどに読み込まれなくなるから注意しなくてはならない。 カスタマイズする場合はGoogleの構造化データテストツールにかけてマークアップを検証するのが肝心だ。 Bloggerブログは記事/追加ページのJSON-LDの構造化データを幾らか加工するだけで、トップやアーカイブなどのインデックスページにも使い回せるようになる。 関連ページBloggerブログのJSON-LDの構造化データのSEO対策のためのカスタマイズについて publisherをブログ自体に変更する方法は同じだから併せて些細な日常では取り入れ始めた。 公式テーマではシンプルと動的ビューと画像ウィンドウとAwesome Inc.とウォーターマークとエスィリアルと旅行はJSON-LDの構造化データがデフォルトで付いてない。ソースコードは使えるけど、ただし他のMicrodataの構造化データが付いていて語彙がどちらもScheme.orgで被るから外さないと完全に重複する部分が出て来てしまう。 もしも変更するならばテンプレートの「itemscope」と「itemtype」と「itemprop」に関連したマークアップを全て削除してから行うべきだろう。 最初からエラーが多くて適切にマークアップされてないし、構造化データとしてSEO対策に役立っているかどうかは定かではないMicrodataなので、必要な項目を幾つも修正しなくてはならないよりはいっそJSON-LDに取り替えてしまうのが手早いとも感じる。 BloggerのJSON-LDの画像なしの場合の画像のカスタマイズ publisherのロゴの画像と同じようにデフォルトのBloggerのロゴから変更する画像を個別に作成する。そしてブログに載せるか、imgurなどの画像URLが取得できるWebサービスを使って画像URLを取得しなくてはならない。 デフォルトのマークアップは縦横のサイズも指定されている。画像ありの場合の画像は1200×630で、投稿から切り出されてJSON-LDの構造化データに使われている。なので画像なしの場合の画像も同じに揃えて作成しておくとバランスが取れるし、カスタマイズもし易い。 Googleの記事向けの推奨では横幅1200px以上の画像が指定されていてBloggerのデフォルトのマークアップでも取り入れられている。 サイズが1200×630の場合のソースコード "image": { "@type": "ImageObject", "url": "<b:eval expr='(data:post.featuredImage ? resizeImage(data:post.featuredImage, 1200, "1200:630") : "画像なしの場合の画像URL").jsonEscaped'/>". "height": 630, "width": 1200 }, ※太字の「630」はデフォルトの<b:eval expr='data:post.featuredImage ? 630 : 348'/>から置き換える。 画像なしの場合の画像に他のサイズを使う場合は画像ありの場合の画像のサイズとマークアップを区別しなくてはならない。 サイズが1200×630ではない場合のソースコード "image": { "@type": "ImageObject", "url": "<b:eval expr='(data:post.featuredImage ? resizeImage(data:post.featuredImage, 1200, "1200:630") : "画像なしの場合の画像URL").jsonEscaped'/>". "height": <b:eval expr='data:post.featuredImage ? 630 : 縦幅'/>, "width": <b:eval expr='data:post.featuredImage ? 1200 : 横幅'/> }, ※太字の部分の<b:eval expr='data:post.featuredImage ? 1200 : 横幅'/>はデフォルトの「1200」から書き換える。 BloggerのデフォルトのJSON-LDの構造化データは記事/追加ページに反映するけど、画像があるかないかを独自タグで振り分けて記載している。 ソースコードの内容はデータを演算して出力できるevalを使って三項演算子が画像ありの場合の「data:post.featuredImage」に対して付けられている。すると半角疑問符(?)の前がそうした条件式で、半角コロンの前後が画像ありと画像なし(trueとfalse/条件式に当て嵌まると当て嵌まらない)の場合の値になっている。 コメント 新しい投稿 前の投稿
イヤーワームという頭の中で音楽が勝手に流れる現象を引き起こすストレスを反省 以前から頭の中で音楽が勝手に流れることが良くあって近頃でもブログで取り上げたばかりの モーツァルトの幻想曲K.397 や K.375 や ribbonの Virgin Snow などを体験していた。いつも好きな曲ばかりで鼻歌を伴って喜ばしい気持ちになるし、好調の証のように捉えてい...
芦名星のたぶん本当の死因 芦名星は自殺した。その前後、 三浦春馬と竹内結子の自宅のクローゼットでの首吊りという同じ仕方での連続自殺 があり、他殺の陰謀論も思い浮かぶけど、しかし違うのではないか。今の 日本の芸能界には死にたくなる気持ち悪さがある し、芸能人が裕福な生活でも自殺することはさほど不思議ではない...
幸せの良さはインパクトが物凄く大きいために人々の印象にも残り易いと考える ブログのヘッダーの背景画像を変更した。無料素材の クリスティン・フォークトの写真 を使っている。 Pexelsで見付けるや否や本当に素晴らしく気に入ってしまった A woman in snowflakes by Kristin Vogt / Pexels 雪の中で紺...
アガサ・クリスティの誘拐された総理大臣の日本語訳 十九から二十世紀のイギリスの作家、小説家の アガサ・クリスティ の小説の 誘拐された総理大臣 (1923)の日本語訳を行った。一つの文学作品として人間の洞察力に富んだ優れた内容を持つだけではなく、表現も意義深いから外国語の英語の聞き取りと読み取りの教材としても最適だと感じる。 ...
Imgurで画像URLと埋め込みコードを取得する方法 Imgur は自分でアップロードした画像については画像URL/直リンクを取得して他のサイトにHTMLのimgタグで表示させられる。 そして自分と他の人たちも含めて画像の埋め込みコードを取得して他のサイトのHTMLに、そのまま、記載して表示させられもする。 目次 Img...
俳句の規則:字数と季語と切れ字 概要 俳句の規則 俳句は、十七文字という短い詩の中で、季節を感じさせる言葉(季語)を使い、切れ字で語調を整えて表現する伝統的な日本の文学形式です。 句の基本的な構成要素 字数を十七文字に揃える:俳句は大きく三つの部分に分けられる。上句(かみく)と中句(なかく)...
日常の些細な出来事に触れる幸せの味わいは小さいというイメージが欠かせない 誰にでも分かる些細な日常というと他でもなく、小さな幸せの味わいではないか。 永遠の詩人として本質的な認識に基づく命の尊さを伝え届けなくてはならないと考えるけれどもアクセスアップのためには誰にでも分かる些細な日常のイメージも大事にするべきだろう。 小さな幸せの味わいをどこま...
シソンヌのラーメン屋:とんこつラーメンを臭いラーメンと呼んだコントが好き シソンヌ (お笑い)のラーメン屋のコントが面白かった。とんこつラーメンを臭いラーメンと呼ぶから僕も同じだったと気付いた。 シソンヌのラーメン屋 (Google検索) 否、店によってはそばを通りかかるだけでも堪らないくらい臭いから、一体、何だろうと本当に思わずにはいられなか...
今春に咲き出した桜の花の写真を幾つか撮って来た サイバーショットのW170を使った。七八年前のコンパクトカメラで、 一眼カメラのα5100を買って お役後免の状態に差しかかっているけど、どうするかと考えてしまわざるを得ない。画質としては力強い。画素数が10.1MPで、レンズがカールツァイスということで、写真の風合いが凄いと...
キム・テヒの反日活動を日本人としてどこまで許せるか かつて韓国ドラマの IRIS -アイリス- を観て何て綺麗で可愛くて良いんだと一目で度肝を抜かれた俳優に キム・テヒ がいた。 映画『アイリス -THE LAST-』予告編 by TAEWON ENTERTAINMENT from シネマトゥデイ 日本で放映されたのが2...
コメント