-
Notifications
You must be signed in to change notification settings - Fork 656
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
商品詳細ページに構造化データを追加 #4986
商品詳細ページに構造化データを追加 #4986
Conversation
Codecov Report
@@ Coverage Diff @@
## 4.1-feature #4986 +/- ##
=================================================
+ Coverage 76.18% 76.38% +0.20%
- Complexity 6124 6190 +66
=================================================
Files 437 445 +8
Lines 20736 20963 +227
=================================================
+ Hits 15798 16013 +215
- Misses 4938 4950 +12
Flags with carried forward coverage won't be shown. Click here to find out more.
Continue to review full report at Codecov.
|
607e5c5
to
8de52bb
Compare
8de52bb
to
7d60e98
Compare
"{{ app.request.schemeAndHttpHost }}{{ asset(img, 'save_image') }}"{% if not loop.last %},{% endif %} | ||
|
||
{% else %} | ||
"{{ app.request.schemeAndHttpHost }}{{ asset(no_image_product, 'save_image') }}" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
画像のURLが以下のように出力されてました。
http://127.0.0.1:8080/html/upload/save_image/
no_image_productはtwigフィルタなので、以下のように渡してください
{{ asset(''|no_image_product, 'save_image') }}
"{{ app.request.schemeAndHttpHost }}{{ asset(no_image_product, 'save_image') }}" | ||
{% endfor %} | ||
], | ||
"description": "{{ Product.description_list | default(Product.description_detail) | striptags | replace({'\n': '', '\r': ''}) }}", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
descriptionは文字長の制限はありますか?
制限あれば文字長内に丸めるなどしたほうがよいかもしれません。
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
descriptionは文字長の制限はありますか?
仕様上の上限が見当たりませんでしたが、確かに全文出す必要はないと思いますので metaタグのdescription などで一般的な 300文字に丸めます
{% endfor %} | ||
], | ||
"description": "{{ Product.description_list | default(Product.description_detail) | striptags | replace({'\n': '', '\r': ''}) }}", | ||
"sku": "{{ Product.code_min }}", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
商品コードは未設定の場合がありますが、skuは空でも問題ないですか?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sku は構造化データの仕様では「任意」でしたので、未設定の場合は出力しないよう変更しました
"{{ app.request.schemeAndHttpHost }}{{ asset(no_image_product, 'save_image') }}" | ||
{% endfor %} | ||
], | ||
"description": "{{ Product.description_list | default(Product.description_detail) | striptags | replace({'\n': '', '\r': ''}) }}", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
いくつかの文字種が期待通りに出力されないかもです。
'あああ'
-> 'あああ'
"あああ"
-> "あああ"
<今ならお買い得!>
->
そこまで厳密にする必要はないかもしれませんがいちおう。
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
'
"
については、テストツールで検証したところ正しく解析されていたようのですので、このままにします。
https://search.google.com/test/rich-results
<>
について、striptags は副作用ありそうなので削除しました。(description内の不等号はエスケープされて出力される形)
Codecov Report
@@ Coverage Diff @@
## 4.1-feature #4986 +/- ##
=================================================
+ Coverage 76.18% 76.37% +0.19%
- Complexity 6124 6190 +66
=================================================
Files 437 445 +8
Lines 20736 20963 +227
=================================================
+ Hits 15798 16011 +213
- Misses 4938 4952 +14
Flags with carried forward coverage won't be shown. Click here to find out more.
Continue to review full report at Codecov.
|
@matsuoshi |
今更ですが、
と絶対URLで記述する必要がある箇所ですが、 #5057 に記述している、
を利用するか、EC-CUBEとしてどちらかで統一しておいた方が良さそうなのと、フルパスで記述する場合、
と環境によっては |
概要(Overview・Refs Issue)
4.1 feature 向けのPRです。
商品詳細ページに、構造化データ (JSON-LD形式) を埋め込みます
方針(Policy)
SEO的な観点で、商品詳細ページに構造化データの JSON を追加します。
構造化データに関するドキュメント
https://developers.google.com/search/docs/data-types/product?hl=ja
関連issue
#4807
実装に関する補足(Appendix)
テスト(Test)
商品詳細ページにおいて、JSON+LDの内容を確認するWebテストを追加しました。
また、構造化データテストツールにて、設定したJSON-LD形式にエラーのないことを確認しています。
(一部警告あり → 推奨フィールドに設定できる値がないため)
https://search.google.com/structured-data/testing-tool
相談(Discussion)
マイナーバージョン互換性保持のための制限事項チェックリスト
レビュワー確認項目
新機能追加に伴う競合確認