- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2021-11-29T07:52:40+09:00;2021-06-19T09:54:48+09:00","default:tgoto","tgoto")
&tag(pukiwiki);#author("2021-11-29T07:47:51+09:00;2021-06-19T09:54:48+09:00","default:tgoto","tgoto")
#author("2021-11-29T08:10:55+09:00;2021-06-19T09:54:48+09:00","default:tgoto","tgoto")
&tag(pukiwiki);
#ref(https://oncologynote.com/img/69e89e3479.jpg,nolink)
pukiwikiの[[jsonld.inc.phpプラグイン>https://pukiwiki.osdn.jp/?%E8%87%AA%E4%BD%9C%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3/jsonld.inc.php]]は簡単にpukiwikiにJSON-LDの構造化データを追加することができて重宝していましたが、[[短縮URLプラグイン>https://dajya-ranger.com/pukiwiki/embed-url-shortener/]]を使っているとパンくずリストのURLが正しく表示できず困っていましたので、ここに改変内容を記載しておきます。
jsonld.inc.phpと短縮URLについてはこちらのページをご覧ください。
#ogpi(https://oncologynote.com/?ab056d28f5)
#ogp(https://pukiwiki.osdn.jp/?%E8%87%AA%E4%BD%9C%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3/jsonld.inc.php)
#ogp(https://dajya-ranger.com/pukiwiki/embed-url-shortener/)
*変更点 [#w35b918a]
**短縮URLに対応する [#g663b32d]
$thisPageUri = $script . (!$isHome ? '?' . str_replace('%2F', '/', urlencode($title)) : '');の下に次の行を追加します。38行目付近です。
$shorturl = get_short_url_from_pagename($title);
foreach ($names as $name) {}の中に、下記の2行を追加します。「$path .= (($path != '')? '/' : '') . urlencode($name);」の次の行あたりで良いでしょう。85行目付近です。
$pathname .= (($pathname != '')? '/' : '') . $name;
$shorturl = get_short_url_from_pagename($pathname);
さらに各行を次のように書き換えます。
if (PLUGIN_JSONLD_ARTICLE) {}内(49行目付近)
'@id' => $thisPageUri //この行を削除
'@id' => $script . $shorturl //この行を追加
if (PLUGIN_JSONLD_BREADCRUMBLIST && !$isHome ) {}内(86行目付近)
'item' => $script . '?' . $path //この行を削除
'item' => $script . $shorturl //この行を追加
**見栄えを良くする [#hf8d79b5]
見栄えを良くするためにJSONのオプションにJSON_PRETTY_PRINTも適用します。これで適宜改行が入って見やすくなります。
$jsonOption = JSON_UNESCAPED_UNICODE | JSON_HEX_TAG | JSON_HEX_AMP | JSON_HEX_APOS | JSON_HEX_QUOT;
$jsonOption = JSON_UNESCAPED_UNICODE | JSON_HEX_TAG | JSON_HEX_AMP | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_PRETTY_PRINT;
また、リッチリザルトテストのサイトで「名前のないアイテム」とならないようにパンくずリストのJSON-LD内に下記の一行を加えていても良いと思います(SEO的には特に意味は無さそうですが)。92行目付近です。
'name' => 'BreadcrumbList'
*ダウンロード [#k09a092e]
いずれもpukiwiki 1.5.3をベースとした2021.6.18時点のファイルで、その後アップデートされていることがありますのでご注意ください。
&ref(jsonld.inc.php); (今回改装後のプラグイン)
&ref(jsonld_original.inc.php); (オリジナルのプラグイン)
#ogpi(https://oncologynote.com/?59a15c9237)
&tag(pukiwiki,プラグイン);