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: MODUL: Breadcrumb mit JSON+LD structured data ohne HTML5

    Hansi73

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

    mit nur wenig Änderungen ist es möglich strukturierte Daten für Google aufzubereiten. Soweit getestet ist es W3C valide und Google erkennt die Daten mit dem "Google Structured Data Testing Tool" fehlerfrei.

    ersetze Alles in: /includes/classes/breadcrumb.php
    Code: PHP  [Auswählen]
    <?php
    /* -----------------------------------------------------------------------------------------
       $Id: breadcrumb.php 899 2005-04-29 02:40:57Z hhgag $  

       XT-Commerce - community made shopping
       http://www.(( Wir dulden keine kommerziellen Werbelinks - Bitte <a href="index.php?topic=3013.0">Forenregeln</a> beachten! ))

       Copyright (c) 2003 XT-Commerce
       -----------------------------------------------------------------------------------------
       based on:
       (c) 2000-2001 The Exchange Project  (earlier name of osCommerce)
       (c) 2002-2003 osCommerce(breadcrumb.php,v 1.3 2003/02/11); www.oscommerce.com
       (c) 2003      nextcommerce (breadcrumb.php,v 1.5 2003/08/13); www.nextcommerce.org

       Released under the GNU General Public License
       ---------------------------------------------------------------------------------------*/


      class breadcrumb {
        var $_trail;

        function breadcrumb() {
          $this->reset();
        }

        function reset() {
          $this->_trail = array();
        }

        function add($title, $link = '') {
          $this->_trail[] = array('title' => $title, 'link' => $link);
        }

        function trail($separator = ' - ') {
          $trail_string = '';
              $trail_string_json = '';

          for ($i=0, $n=sizeof($this->_trail); $i<$n; $i++) {
            if (isset($this->_trail[$i]['link']) && xtc_not_null($this->_trail[$i]['link'])) {
              $trail_string .= '<a href="' . $this->_trail[$i]['link'] . '" class="headerNavigation">' . $this->_trail[$i]['title'] . '</a>';
                      $trail_string_json .= '{    "@type": "ListItem",    "position": ' . strval($i+1) . ',    "item": {      "@id": "' . $this->_trail[$i]['link'] . '",      "name": "' . $this->_trail[$i]['title'] . '"    }  }';
                      } else {
              $trail_string .= $this->_trail[$i]['title'];
            }

            if (($i+1) < $n) $trail_string .= $separator;
                    if (($i+1) < $n) $trail_string_json .= ',';
          }

          return $trail_string. ' <script type="application/ld+json">{  "@context": "http://schema.org",  "@type": "BreadcrumbList",  "itemListElement": [' .$trail_string_json. ']}</script>';    

            }
       
            // Begin Econda-Monitor

        function econda() { // for drill-down

          $econda_string = '';

          for ($i=1, $n=sizeof($this->_trail); $i<$n; $i++) {

            $econda_string .= $this->_trail[$i]['title'];

            if (($i+1) < $n) $econda_string .= '/';

          }

          return $econda_string;

        }

        // End Econda-Monitor
       
      }
    ?>

    Gruß Hans

    Linkback: https://www.modified-shop.org/forum/index.php?topic=33820.0
    Modulshop - Eine große Auswahl an neuen und hilfreichen Modulen für die modified eCommerce Shopsoftware

    jannemann

    • modified Team
    • Beiträge: 6.275
    • Geschlecht:
    Re: MODUL: Breadcrumb mit JSON+LD structured data ohne HTML5
    Antwort #1 am: 23. Oktober 2015, 22:30:23
    Hallo Hans,

    herzlichen Dank fürs Teilen!  :thumbs:
    Vielleicht kann noch jemand Rückmeldung geben der deinen Code schon eingebaut hat.

    Schöne Grüße,
    Jan

    LogicMannn

    • Frisch an Board
    • Beiträge: 55
    • Geschlecht:
    Re: MODUL: Breadcrumb mit JSON+LD structured data ohne HTML5
    Antwort #2 am: 26. Oktober 2015, 21:01:30
    Hallo,

    jo und funktioniert perfekt...

    Gestern am Sonntag umgesetzt und bereits heute, einen Tag später knapp 240 Seiten damit in den google WMT verzeichnet. Bei entsprechenden google Suchergebnissen taucht es dann schon mit auf.

    Eingebaut in erheblich modifizierter 1.05d Version.

    @Hans
    Vielen Dank für die klasse Anregung und den bereitgestellten Code
     :thx:

    Gruß
    Frank

    Jürgen

    • Viel Schreiber
    • Beiträge: 895
    • Geschlecht:
    Re: MODUL: Breadcrumb mit JSON+LD structured data ohne HTML5
    Antwort #3 am: 27. Oktober 2015, 13:33:11
    @LogicMannn

    Hallo,

    Wie hast du den selflink in der breadcrumb entfernt, also den link auf dem letzten Eintrag der breadcrumb Liste.

    Danke & Gruss

    Jürgen

    Hansi73

    • Frisch an Board
    • Beiträge: 84
    Re: MODUL: Breadcrumb mit JSON+LD structured data ohne HTML5
    Antwort #4 am: 27. Oktober 2015, 13:36:26
    Hallo,

    den muss man nicht entfernen. Google macht das...

    Zum Testen:

    https://developers.google.com/structured-data/testing-tool/

    Noch einfacher geht es mit einem Lesezeichen das folgendes enthält:

    javascript:void(window.open(%27https://developers.google.com/structured-data/testing-tool/?url=%27+window.location.href,%27_blank%27));
    Dadurch wird die aktuelle Seite in einem neuen Tab geöffnet und untersucht.

    Jürgen

    • Viel Schreiber
    • Beiträge: 895
    • Geschlecht:
    Re: MODUL: Breadcrumb mit JSON+LD structured data ohne HTML5
    Antwort #5 am: 27. Oktober 2015, 13:49:21
    ..ich meine nicht was google daraus macht, sondern den Link in der breadcrumb im Template Code auf die Seite selbst...

    Gruss

    Jürgen

    HaldOn

    • Fördermitglied
    • Beiträge: 552
    Re: MODUL: Breadcrumb mit JSON+LD structured data ohne HTML5
    Antwort #6 am: 27. Oktober 2015, 13:55:58
    Hallo Jürgen,

    Probier mal
    Code: PHP  [Auswählen]
    if (($i+1) < $n) $trail_string .= $separator;

    ändern in
    Code: PHP  [Auswählen]
    if (($i) < $n) $trail_string .= $separator;

    LogicMannn

    • Frisch an Board
    • Beiträge: 55
    • Geschlecht:
    Re: MODUL: Breadcrumb mit JSON+LD structured data ohne HTML5
    Antwort #7 am: 27. Oktober 2015, 13:56:27
    Hallo Jürgen,

    ja, den Selflink in der breadcrumb.php auf das jeweils aktuelle Produkt oder auch die aktuelle Kategorie in der man sich gerade befindet, habe ich entfernt.

    Dies ist mein php-Code an der Stelle in der breadcrumb.php
    Code: PHP  [Auswählen]
    if (($i+1) < $n) {
      $trail_string .= '<li><a href="' . $this->_trail[$i]['link'] . '">' . $this->_trail[$i]['title'] . '</a></li>';
    }
    else {
      $trail_string .= '<li>' . $this->_trail[$i]['title'] . '</li>';
    }

    Gruß
    Frank

    Hansi73

    • Frisch an Board
    • Beiträge: 84
    Re: MODUL: Breadcrumb mit JSON+LD structured data ohne HTML5
    Antwort #8 am: 27. Oktober 2015, 14:04:20
    Jetzt hab ich's verstanden. So sollte es gehen:

    Code: PHP  [Auswählen]
          for ($i=0, $n=sizeof($this->_trail); $i<$n; $i++) {
            if (isset($this->_trail[$i]['link']) && xtc_not_null($this->_trail[$i]['link'])) {
                      if (($i+1) < $n) $trail_string .= '<a href="' . $this->_trail[$i]['link'] . '" class="headerNavigation">' . $this->_trail[$i]['title'] . '</a>';
                            else $trail_string .= $this->_trail[$i]['title'];

    Jürgen

    • Viel Schreiber
    • Beiträge: 895
    • Geschlecht:
    Re: MODUL: Breadcrumb mit JSON+LD structured data ohne HTML5
    Antwort #9 am: 27. Oktober 2015, 14:08:41
    Danke an alle für die Hilfe.... :-)

    Der Code von Hansi73 funktioniert.. 8-)

    Gruss

    Jürgen

    Hansi73

    • Frisch an Board
    • Beiträge: 84
    Re: MODUL: Breadcrumb mit JSON+LD structured data ohne HTML5
    Antwort #10 am: 27. Oktober 2015, 14:29:45
    Für alle die sich fragen wieso ich dies mit JSON+LD realisiert habe:

    Es ist unabhängig vom verwendeten Template. Egal welches Template man hat, ob HTML 4.1 oder HTML 5. Es funktioniert immer!

    diz

    • Fördermitglied
    • Beiträge: 64
    • Geschlecht:
    Re: MODUL: Breadcrumb mit JSON+LD structured data ohne HTML5
    Antwort #11 am: 26. März 2016, 16:26:45
    Vielleicht kann noch jemand Rückmeldung geben der deinen Code schon eingebaut hat.
    Zuerst einmal vielen Dank fürs Teilen!
    Ich habe den Code ebenfalls eingebaut und es sieht auch gut aus auf der Startseite und den Kategorien. Allerdings zeigt Google den Fehler "A value for the name (fn) field is required" bei den Produktseiten an. Hat jemand eine Idee?
    Hier der Link zu einem Produkt: https://www.teamania.ch/Weisser-Tee/Baihao-Yinzhen::105.html

    Hansi73

    • Frisch an Board
    • Beiträge: 84
    Re: MODUL: Breadcrumb mit JSON+LD structured data ohne HTML5
    Antwort #12 am: 27. März 2016, 09:34:05
    Hallo,

    das hat nichts mit der Breadcrumb zu tun, sondern mit der Auszeichnung der strukturierten Daten vom deinem Produkt:

    https://developers.google.com/structured-data/testing-tool/?url=https://www.teamania.ch/Weisser-Tee/Baihao-Yinzhen::105.html

    Die BreadCrumbList funktioniert ohne Fehler.
    4 Antworten
    3894 Aufrufe
    20. Oktober 2017, 19:19:23 von Teratek
    9 Antworten
    3662 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