Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Produkt mit JSON+LD structured data ohne/mit HTML 5

    Hansi73

    • Frisch an Board
    • Beiträge: 84
    Hallo,

    mit dieser kleinen Modifikation lassen sich strukturierte Daten zum Produkt bei Google einreichen. Diese sind um Bewertungen etc. erweiterbar.

    Aktuell wird es von Google aber noch nicht unterstützt. Die Daten erscheinen in den Google WMT aber nicht in den Ergebnissen!

    Shopversion v1.06 rev 4642 SP2

    In /includes/product_info.php etwa Zeile 150 hinzufügen:

    Code: PHP  [Auswählen]
      //products formated price
      $info_smarty->assign('PRODUCTS_PRICE', $products_price['formated']);
     
      // json+ld data google rich snippets
      $info_smarty->assign('PRODUCTS_PRICE_SINGLE', $products_price['plain']);
      $info_smarty->assign('PRODUCTS_PRICE_CURRENCY', $xtPrice->actualCurr);
      $info_smarty->assign('JSON_IMAGE_URL', xtc_href_link($product->productImage($product->data['products_image'], 'info')));

      //get products vpe
      $info_smarty->assign('PRODUCTS_VPE',$main->getVPEtext($product->data, $products_price['plain'])); //web28 - 2012-04-17 - use classes function getVPEtext()

    In /templates/xxx/modules/product_info/product_info.html an beliebiger Stelle hinzufügen und anpassen

    Code: PHP  [Auswählen]
    {literal}<script type="application/ld+json">
    { {/literal}
            "@context" : "http://schema.org",
            "@type" : "Product",
            "name" : "{$PRODUCTS_NAME}",
            "image" : "{$JSON_IMAGE_URL|replace:"info_images":"popup_images"}",
            "description" : "{$PRODUCTS_DESCRIPTION|strip_tags|replace:"&nbsp;":" "|escape:"quotes"}",
    {if $PRODUCTS_MODEL!=''}        "mpn" : "{$PRODUCTS_MODEL}",{/if}
    {literal}              
                    "brand" : {             {/literal}
                    "@type" : "Thing",
                    "name" : "{$MANUFACTURER}"
    {literal}               },
            "offers" : {
            "@type" : "Offer",
            "availability": "http://schema.org/InStock",
            "itemCondition": "http://schema.org/NewCondition",{/literal}
            "price" : "{$PRODUCTS_PRICE_SINGLE|string_format:"%.2f"}",
            "priceCurrency" : "{$PRODUCTS_PRICE_CURRENCY}",
    {literal}
    }
    }

    </script>{/literal}

    Quellen:
    https://developers.google.com/structured-data/rich-snippets/products
    https://schema.org/Product

    Linkback: https://www.modified-shop.org/forum/index.php?topic=33838.0

    Hansi73

    • Frisch an Board
    • Beiträge: 84
    Re: Produkt mit JSON+LD structured data ohne/mit HTML 5
    Antwort #1 am: 04. Februar 2016, 07:58:19
    Hallo,

    seit gestern wird es nun offiziell unterstützt. In den Suchergebnissen tauchen die Rich Snippets bereits auf.

    hpzeller

    • Experte
    • Beiträge: 4.129
    • Geschlecht:
    Re: Produkt mit JSON+LD structured data ohne/mit HTML 5
    Antwort #2 am: 04. Februar 2016, 21:02:56
    Hi Hansi73,

    ein Tipp zu deinem Code, folgendes

    Code: PHP  [Auswählen]
    {literal}              
                    "brand" : {             {/literal}
     

    kann man auch einfach so schreiben, um ein einzelnes Smarty-Trennzeichen zu maskieren.

    Code: PHP  [Auswählen]
               
                    "brand" : {ldelim}
     

    Weitere Info hier -> http://www.smarty.net/docsv2/de/language.function.ldelim.tpl

    Grüsse
    Hanspeter

    Hansi73

    • Frisch an Board
    • Beiträge: 84
    Re: Produkt mit JSON+LD structured data ohne/mit HTML 5
    Antwort #3 am: 04. Februar 2016, 21:16:41
    Danke für den Tipp! Muss ich mal testen ob es damals nur an den Klammern lag...

    Teratek

    • Schreiberling
    • Beiträge: 273
    Re: Produkt mit JSON+LD structured data ohne/mit HTML 5
    Antwort #4 am: 20. Oktober 2017, 19:19:23
    Code: PHP  [Auswählen]
    <script type="application/ld+json">
    {ldelim}
            "@context" : "http://schema.org",
            "@type" : "Product",
            "name" : "{$PRODUCTS_NAME}",
            "image" : "{$JSON_IMAGE_URL|replace:"info_images":"popup_images"}",
            "description" : "{$PRODUCTS_DESCRIPTION|strip_tags|replace:"&nbsp;":" "|escape:"quotes"}",
    {if $PRODUCTS_MODEL!=''}        "mpn" : "{$PRODUCTS_MODEL}",{/if}
                 
                    "brand" : {ldelim}
                    "@type" : "Thing",
                    "name" : "{$MANUFACTURER}"
               {rdelim},
            "offers" : {ldelim}
            "@type" : "Offer",
            "availability": "http://schema.org/InStock",
            "itemCondition": "http://schema.org/NewCondition",
            "price" : "{$PRODUCTS_PRICE_SINGLE|string_format:"%.2f"}",
            "priceCurrency" : "{$PRODUCTS_PRICE_CURRENCY}"

    {rdelim}
    {rdelim}

    </script>

    das letzte Komma war auch zuviel ;)
    12 Antworten
    7232 Aufrufe
    27. März 2016, 09:34:05 von Hansi73
    9 Antworten
    3661 Aufrufe
    18. Mai 2018, 01:58:02 von umbi
    10 Antworten
    4561 Aufrufe
    16. April 2016, 12:20:32 von MailBeez
    2 Antworten
    2041 Aufrufe
    22. Juni 2018, 16:03:01 von webald
               
    anything