サイト内検索
Cocoonフォーラム
書き込みの前に以下の3点をご確認ください。
何を書き込んだら良いか分からない場合は、以下のテンプレートをコピペしてご利用ください。
不具合・カスタマイズ対象ページのURL:
相談内容:
不具合の発生手順:
解決のために試したこと:
※文字だけでは正しく伝わらない可能性があるため、スクショ画像の添付もお願いします。
※高速化設定をしている場合は無効にしてください。
環境情報:※↑こちらに「Cocoon設定 → テーマ情報」にある「環境情報」を貼り付けてください。
環境情報の取得方法はこちら。
→ https://wp-cocoon.com/theme-report/
高速化設定を無効にするにはこちら。
→ https://wp-cocoon.com/theme-trouble/
フォーラム利用ガイドリンク
- フォーラムガイドライン
- よくある質問と答え(FAQ)
- サポート対象外のケース
- 原因不明の不具合用トラブルシューティング
- トピックにHTMLを貼り付ける方法(推奨ツール:notepad.pw)
- 真っ白画面でのエラーメッセージの確認方法
- ブラウザ環境チェックツール
- Cocoonカスタマイズ依頼
フォーラム質問後、問題等が解決した場合は結果を書き込んでいただけると幸いです。同様の問題で調べている方には、結果が一番気になる部分となります。
トピックスターター 2019年8月5日 15:10
# 質問を先に言いますと、
All in One SEO Pack 3.2.1 の「一般設定 → Schema Settings → Schema.org マークアップを使用」を 有効の状態で「JavaScript 縮小化」にチェックを入れて使える方法はないでしょうか?
----
# 関連するテーマとプラグイン情報
WordPress バージョン:5.2.2
WordPress のテーマ:Cocoon 1.9.0.2
All in One SEO Pack 3.2.1
All in One SEO Pack 3.1.1 時代から schema.org のマークアップデータを使用していましたが、8/2 日にリリースされた 3.2.1 に更新したら、Google Search Consoleにより、「解析不能な構造化データ」問題が発生、エラーの詳細は「値の型が正しくありません」と表示されました。
で、
Google 構造化データテストツールで問題のURLをテストしてみると、performance.mark("inline-js-1-start"); コードがエラーの原因であることが分かりました。
まず、performance.mark コードがページ全体に渡って注入されているのに、下記のコードのようにaioseop-schemaだけがエラーになるのが気になり、All in One SEO Packは問題ないかと、プラグインの作成者にGithubで聞いてみたら、問題ないと返事が来たんです。
...
script type="application/ld+json" class="aioseop-schema">performance.mark("inline-js-1-start");{"@context":"https://schema.org","@graph":[{"@type":["Person","Organization"]
...
それで、ワードプレスの中から、JavaScriptの性能関連の機能を提供しそうなプラグインとCocoonの「高速化」機能をチェックしてみたら、「JavaScript 縮小化」にチェックを入れるとperformance.mark(...)コードが注入されることが判明しました。。
...
<script type="application/ld+json" class="aioseop-schema">{"@context":"https://schema.org","@graph":[{"@type":["Person","Organization"],"@id":"https://www.
...
「JavaScript 縮小化」のチェックを外すとperformance.mark(...)コードが消えたので、現在はチェックを外して、「JavaScript 縮小化」のような機能を別のプラグインで設定してサイトを運営しています。
---
2019年8月5日 15:38
Cocoonの親テーマで、/lib/page-speed-up/フォルダ内にあるminify-js.phpをエディタで開き、最新版だと131行目に以下のコードがあります。
if ($js && !includes_string($script_tag, '<script type="application/ld+json">')) {
https://github.com/yhira/cocoon/blob/master/lib/page-speed-up/minify-js.php#L131
こちらのコードを例えば、
if ($js && !includes_string($script_tag, 'type="application/ld+json"')) {
などに修正してエラーが出るかどうか確認してみてください。
トピックスターター 2019年8月6日 00:16
[root@centos7 page-speed-up]# cat minify-js.php |grep "ld+json"
if ($js && !includes_string($script_tag, 'type="application/ld+json"')) {
[root@centos7 page-speed-up]# systemctl restart httpd2
指示通り修正して再度ツールで確認しましたが、エラーはまだ出ています。。
トピックスターター 2019年8月6日 02:57
除外するscript_tagのパターンを3つ試しましたが、どうやら JSON-LD スクリプトは除外できないようです。
if ($js && !includes_string($script_tag, '<script type="application/ld+json" class="aioseop-schema">')) {
if ($js && !includes_string($script_tag, 'class="aioseop-schema"')) {
if ($js && !includes_string($script_tag, 'application/ld+json')) {
トピックスターター 2019年8月6日 10:04
最新版で下記のように除外するscriptタグを修正して問題が解決されました。
ありがとうございました!
if ($js && !includes_string($script_tag, '<script type="application/ld+json">')) {
↓
if ($js && !includes_string($script_tag, '<script type="application/ld+json" class="aioseop-schema">')) {
わいひら reacted
問題の解決に至った場合には、トピック冒頭の「解決済み」をクリックしていただけますと幸いです。
また、有用な回答があった場合は返信右下にある「いいね!」もご活用ください。回答者の励みになります。
(CC BY-ND 2.1)準じていれば(リンクを貼っていただければ)転載も自由です。カスタマイズ記事を書く際にコード等をコピペ利用していただいて構いません。
フォーラムの使い方がよくわからない場合は、テストトピックで自由にテストしていただいて構いません。
最近の書き込みはこちら。
詳細なカスタマイズ依頼をするならこちら。