new JSONチェッカー(ベータ版・多分永遠にベータかな)を作りました
設置してどれだけ役にたっているか不明なJSON。
ページの情報をクローラーなどに適切に伝えるということからは、今後もあった方が良いに越したことはないでしょう。
ただ文法的なものや用法などの正誤確認はCMS利用などでページが増えるとGoogleのリッチリザルトテスト他のツールでチェックするのも大変でした。
CMSサイトの場合はhead内のJSON出力部分のミスであれば、同じ条件のものは全て同じエラーになるので解りやすいですけどね。
例えばトップページの入力からリンクかサイトマップを追って全ページのJSONを参照してチェックしてくれる、そんなものが無いかと調べたがないので、AIに作ってもらいました。
JSON crawler
https://steamer-lane-studio.com/app/jsoncheck.php
- クロールする仕様としては、リンクとサイトマップを追います。
- サーバー負荷を考慮し、○○.html?xxxxなどパラメーター付きページは除外します。予約システムなど、こうした一時ページがあると負荷増大し504が帰りますが、ページ数が多くても同様ですが、3000ページ(静的ページね)程度までは動作確認しています。
- 不正なURLを除外していますが、パスによっては意図せず除外されることがあります。
- PHPでの調査・判定なので、クロールした際にPHP構文エラーになるものがあると、エラーになります。
- リンク切れ=404もついでに見つかります。
- 簡易ベータなので、結果に保障はいたしません
クロールしたページを羅列し、”Valid”か”Invalid, Error: Syntax error at:”で表示される。
クローリング結果
このようにJSONコードが表示されます。
エラー例として、
URL: https://steamer-lane-studio.com/tech-memorandum/movable-type/1402.php, タイプ: json_ld, 有効: いいえ , エラー: Syntax error
といった形で表示されます。
このエラー判例ですが、articlesectionにMTコードの$が入ったためのエラーで、投稿抜粋によりcode間の文字列が入ったことによるが、PHPスクリプトでのクロールという仕様上仕方がありません。
尤も、投稿抜粋=先頭何文字にcodeが入る投稿構成の問題といえますが。
色々条件はありますが、普通のサイトならあらかたチェックできるものではないかと思います。