レ点腫瘍学ノート

Top / pukiwikiカスタマイズ箇所 / 2020

サイト構造化データ(JSON-LD)への対応

SEO対策にどれほど貢献するのかは不明ですが、検索エンジンで当サイトで記事を書いているキーワードがあったときに表示されやすくなればと思い、pukiwikiカスタマイズ箇所/2020の一環としてJSON-LDへの対応を行いました。

schema.orgの中ではJSON-LDが使いやすい

JSON-LD以外にもschema.orgに対応しているフォーマットであればどれでも良いのですが、JSON-LDはHTMLのどこに書いても良いというのがPukiwikiカスタマイズとの相性の面で利便性が高いと思います。

pukiwikiカスタマイズ箇所の一環で、このpukiwikiにもJSON-LDの構造化データを付けてみました。ウェブサイトにbotでも読める構造化データを持たせることで検索エンジンなどへの収載が進みSEO的にもメリットがあるとか、構造化データのフォーマットを定めるschema.orgでは3つの形式が採用されているが後発組のJSON

基本的なサイト構造化データ

JSONLDプラグインを使う場合

2020年4月というかなり新しいプラグインですが、pukiwiki公式サイトにJSONLDプラグインが掲載されています。これを使えば基本的なサイト構造化データが簡単に示せます。

自作プラグイン/jsonld.inc.php

2020年4月26日時点で最新のリビジョン1.02では、22行目と23行目にこの設定項目があります。ARTICLEが必要であれば上段をTRUEに、後述のパンくずリストが必要であれば下段をTRUEにしておきます(後述)。

define('PLUGIN_JSONLD_ARTICLE', true); // ARTICLEが必要な場合にTRUE

define('PLUGIN_JSONLD_BREADCRUMBLIST', true); // パンくずリストが必要な場合にTRUE

そして、スキンのpukiwiki.skin.phpファイル内の<body>の末尾付近に次のコードを置いています。

<?php if (exist_plugin_convert('jsonld')) echo do_plugin_convert('jsonld'); ?>

自作する場合

JSON-LDを記載する場所は<HEAD>内でも<BODY>内でも構いません。次のコードをHTMLのbodyの末尾につけています。descriptionはpukiwikiカスタマイズ箇所/OGP対応と同じものを流用しています。さらにアイキャッチ画像などを作っても良いでしょう(ただしサイト構造化データのimageには幅1200px以上、縦横の積で合計800,000px以上が推奨されており、これを満たしていない場合はGoogle search consoleで「推奨の画像サイズより小さい」というエラーが出ます。

<script type="application/ld+json">

{

"@context": "http://schema.org",

"@type": "Article",

"name": "<?php echo $title ?> - <?php echo $page_title ?>",

"author": {"type": "Person","name": "authorname"},

"datePublished": "<?php echo substr($lastmodified, 0, 10) ?>",

"dateModified": "<?php echo substr($lastmodified, 0, 10) ?>",

"headline": "<?php if ( $title == 'FrontPage' ) { echo $page_title ; } else { echo $title ; } ?>",

"mainEntityOfPage": "<?php echo $canonical_url ?>",

"publisher": {"@type": "Organization","name": "<?php echo $page_title ?>"},

"description": "<?php echo $str = str_replace(array("\r\n", "\n"), '', mb_substr(strip_htmltag($body, $all = TRUE), 1, 170, "UTF-8")); /*本文の170文字を抜粋*/ ?>"

}

</script>

パンくずリスト

サイトに構造化データをつけることの大きなメリットの1つは、サイトの階層構造を検索エンジンに明示的に示すことができるというものです。

もちろんpukiwikiのデフォルトのtopicpathプラグインでもある程度の構造が示されて、これがGoogle検索結果画面に表示されることもあるのでGoogleはtopicpathプラグインの出力結果を読んでいるのだと思いますが、サイト構造化データをつけておくことでよりはっきりと検索エンジンbotにこれを伝えることができます。

上に示した自作プラグイン/jsonld.inc.phpを使ってパンくずリストを作成しておきましょう。

なお、このプラグインが出力するパンくずリストは短縮URLに対応していませんので、パンくずリストに対応が必要な場合はこちらを見てください。

これもJSON-LDと同じ方法で手書きしても良いのですが、JSON-LDプラグイン*1が非常に優れているのでこれを使用しました。なお、JSON-LDプラグインは短縮URL*2に対応していなかったために下記の修正を行いました。get_short_url_from_pagename関数は本当にすごい。 jsonld.inc.phpの

サイトリンク検索ボックス

0eff11efc5.png

JSON-LDの設定の延長で、サイトリンク検索ボックスの設定をすることができます。ただし、これが有効になるのはページ数が非常に多い大規模サイトだけのようなので、個人のpukiwikiでどの程度の効果があるのかは不明です。

JSON-LDの設定の延長で、サイトリンク検索ボックスの設定をしました。うまくGoogleにインデックスされればGoogle上で検索ボックスが表示できるようになるかもしれませんが、これが有効になるのはページ数が非常に多い大規模サイトだけのようなので、個人のpukiwikiでどの程度の効果があるのかは不明です。サイトリンク検索ボッ

Schema Markup Generator (JSON-LD) | TechnicalSEO.com

ネット上には様々なタイプのJSON-LDジェネレーターがありますが、その中でも多機能なのは
TechnicalSEO.comのSchema Markup Generator (JSON-LD)ではないかと思います。ArticleのJSON-LDのほかに、HowtoやFAQなども作成することができます。

Schema Markup Generator (JSON-LD) | TechnicalSEO.com
A Schema.org structured data generator that supports the creation of JSON-LD markups. Including all of the required item properties and more.
https://technicalseo.com/tools/schema-markup-generator/

関連記事

これまでpukiwikiカスタマイズ箇所/2018、pukiwikiカスタマイズ箇所/2019で書いてきたような改造を続けてきましたが、2020年もpukiwikiに対してのカスタマイズを追加しています。その過程を忘れてしまわないように記録しておきます。Pukiwiki 1.5.3へのアップデートサイト構造化データ(JSON-LD

この記事に対するコメント

このページには、まだコメントはありません。

お名前:

更新日:2020-05-03 閲覧数:1130 views.