Modify

Opened 3 years ago

Closed 3 years ago

#2435 closed Bug/Fehler (fixed)

meta itemprob price (für offers) fehlt bei Staffelpreisen in Händlereinträgen

Reported by: Timm Owned by: Markus
Priority: hoch Milestone: modified-shop-2.0.8.0
Component: Template Version: 2.0.7.2
Keywords: Cc:
Blocked By: Blocking:

Description (last modified by Torsten Riemer)

In der Searchconsole und im rich snippet testing tool wird bei Nutzung von Staffelpreisen ein kritischer Fehler für Händlereinträge ausgegeben.

Obwohl die pricespecification angezeigt wird, reicht ihm das nicht.

Nach Update des Shops auf 2.0.7.2 vor ein paar Tagen gingen die Fehler schnell in die Höhe. In der vorher eingesetzten 2.0.5.1 wurde die pricespcification nicht eingepflegt und deshalb wurde dort der Fehler nicht angezeigt. Der Fehler sollte somit schon länger bestehen, scheint aber niemandem aufgefallen zu sein.

Markus hat das heute gelöst, in dem der Artikelpreis auch bei Staffelpreisen angezeigt wird.

Man hat dann den großgeschriebenen Artikelpreis per strukturierte Daten übergeben und zusätzlich die pricespecification der kleineren Staffelpreise. (Das war ja auch ein Hinweis im querverlinkten Ticket, dass der größte sichtbare Preis übergeben werden soll)

Wir werden das beobachten bevor es ins Standardtemplate übernommen wird.

Im rich snippet testing tool gibt es damit keine Probleme, aber eventuell kommt in der search Konsole die nächsten Tage eine Meldung, dass ihm die 2 Preisangaben stören.

Querverlinktes Ticket: #1362

Attachments (1)

Bildschirm­foto 2023-02-03 um 18.09.47.png (291.0 KB ) - added by Timm 3 years ago.

Download all attachments as: .zip

Change History (8)

comment:1 by Torsten Riemer, 3 years ago

Description: modified (diff)

comment:2 by Torsten Riemer, 3 years ago

Der Code <meta itemprop="price" content="{$price_data.PRODUCTS_PRICE_PLAIN}" /> wurde in Ticket #1765 durch r12573 auskommentiert, da damals Google anscheinend noch nicht erlaubt hat, dass mehrere META-tags mit gleichem Namen enthalten sein dürfen, obwohl sie unterschiedlichen Schemas zugeordnet waren. In dem Fall Offer als übergeordnetes Schema & PriceSpecification als untergeordnetes Schema von Offer.

comment:3 by Markus, 3 years ago

Owner: set to Markus
Resolution: fixed
Status: newclosed

In 15023:

fix #1362, #2435 - partly revoked r12573 (fix #1765 - removed duplicate itemprop="price" on graduated prices) - add missing itemprop="price" on graduated prices when no product price is set

comment:4 by Torsten Riemer, 3 years ago

In 15024:

revoked r15023 (fix #1362, #2435 - partly revoked r12573 (fix #1765 - removed duplicate itemprop="price" on graduated prices) - add missing itemprop="price" on graduated prices when no product price is set) - due to wrong fix

in reply to:  2 comment:5 by Torsten Riemer, 3 years ago

Replying to Tomcraft:

Der Code <meta itemprop="price" content="{$price_data.PRODUCTS_PRICE_PLAIN}" /> wurde in Ticket #1765 durch r12573 auskommentiert, da damals Google anscheinend noch nicht erlaubt hat, dass mehrere META-tags mit gleichem Namen enthalten sein dürfen, obwohl sie unterschiedlichen Schemas zugeordnet waren. In dem Fall Offer als übergeordnetes Schema & PriceSpecification als untergeordnetes Schema von Offer.

Das Problem scheint nicht die auskommentierte Stelle gewesen zu sein, sondern in Zeile die Abfrage in Zeile 46:

              {if !isset($MODULE_graduated_price) || $MODULE_graduated_price == ''}
                <meta itemprop="price" content="{$price_data.PRODUCTS_PRICE_PLAIN}" />
              {/if}

comment:6 by Torsten Riemer, 3 years ago

Resolution: fixed
Status: closedreopened

So, nun nochmal alle IF-Schleifen in der price_info.html angeschaut und in jede einmal rein "gerannt".

Teil 1:

{if $price_data.PRODUCTS_PRICE_FLAG == 'Special' || $price_data.PRODUCTS_PRICE_FLAG == 'SpecialDiscount'}

bzw.:

{* START Produkt Sonderpreis Langform mit Ausgabe Alter Preis, Neuer Preis, Sie sparen *}

kommt, wenn ein Sonderangebot angelegt ist.

Teil 2:

{elseif $price_data.PRODUCTS_PRICE_FLAG == 'SpecialGraduated'}

teilt sich auf in:

Teil 2a:

{if $price_data.PRODUCTS_PRICE_UVP != ''}

bzw.:

{* START Produkt UVP Preis mit Ausgabe Ihr Preis, UVP *}

Teil 2b:

{else}

bzw.:

{* START Produkt Staffelpreis mit Ausgabe ab Preis, Stückpreis *}

abhängig vom "hidden" Schalter $this->showCheapestGraduated = false; in der "/includes/classes/xtcPrice.php" und wird erreicht, wenn Staffelpreise hinterlegt sind.
Der Schalter kam durch Ticket #1660 in r14454 dazu - Stichwort "Unerlaubte Werbung mit günstigstem Ab-Preis bei Staffelpreisen".

Teil 3:

{elseif $price_data.PRODUCTS_PRICE_FLAG == 'NotAllowed'}

kommt, wenn die Kundengruppe keine Berechtigung zur Ansicht von Preisen hat.

Teil 4:

{else}

bzw.

{* START Produkt Standardpreis mit Ausgabe ab Preis *}

kommt in allen anderen Fällen. Und hier gibt es einen Sonderfall:
Legt man einen Artikel an ohne Artikelpreis, aber mit Kundengruppenpreis sowie mit Staffelpreisen, dann kommt der META-tag nicht aufgrund folgendes Codes:

              {if !isset($MODULE_graduated_price) || $MODULE_graduated_price == ''}
                <meta itemprop="price" content="{$price_data.PRODUCTS_PRICE_PLAIN}" />
              {/if}

Vorschlag zur Korrektur:
Zeile 35 wieder den META-tag einkommentieren, also statt:

                {*<meta itemprop="price" content="{$price_data.PRODUCTS_PRICE_PLAIN}" />*}

wieder so:

                <meta itemprop="price" content="{$price_data.PRODUCTS_PRICE_PLAIN}" />

Zeile 46 & 48 entfernen, also statt:

              {if !isset($MODULE_graduated_price) || $MODULE_graduated_price == ''}
                <meta itemprop="price" content="{$price_data.PRODUCTS_PRICE_PLAIN}" />
              {/if}

nur noch:

              <meta itemprop="price" content="{$price_data.PRODUCTS_PRICE_PLAIN}" />

damit der META-tag auch dann kommt, wenn kein Artikelpreis hinterlegt ist, sondern nur ein Kundengruppenpreis inkl. Staffelpreisen.

comment:7 by Markus, 3 years ago

Resolution: fixed
Status: reopenedclosed

In 15026:

fix #1362, #2435 - revoked r12573 (fix #1765 - removed duplicate itemprop="price" on graduated prices) - add missing itemprop="price" on graduated prices when no product price is set

Modify Ticket

Action
as closed The owner will remain Markus.
The resolution will be deleted. Next status will be 'reopened'.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.