Ergebnis 1 bis 40 von 40

Thema: JSON-LD im HEAD unterbringen für eine Seite aus der Struktur

  1. #1
    Contao-Nutzer
    Registriert seit
    26.12.2018.
    Beiträge
    88

    Standard JSON-LD im HEAD unterbringen für eine Seite aus der Struktur

    Ich möchte gerne so inder Form als FAQ ein JSON-LD in den Head Bereich einfügen.
    Wie mache ich das am besten?

    Mein Gedanke.. über ein Template.

    Ich nutze Contao 4.9.7 mit dem Mate-Theme.

    1. Welches Template sollte ich mir dafür kopieren, wenn meine Vermutung richtig ist?
    1.a und wie baue ich das dann am besten dort ein? bin kein Programierer

    2. Wenn nicht über ein Template, wie kann man es denn dann machen?

    Ein Beispielcode für ein FAQ_JSON-LD füge ich hier mal ein.

    PHP-Code:
    <script type="application/ld+json">
    {
      
    "@context""https://schema.org",
      
    "@type""FAQPage",
      
    "mainEntity": [{
        
    "@type""Question",
        
    "name""Was darf eine gute Hausverwaltung kosten?",
        
    "acceptedAnswer": {
          
    "@type""Answer",
          
    "text""nicht viel"
        
    }
      },{
        
    "@type""Question",
        
    "name""Wie finde ich eine gute Hausverwaltung?",
        
    "acceptedAnswer": {
          
    "@type""Answer",
          
    "text""Einfach bei https://www.023-hausverwaltung.de
    nur mal so als Beispiel"
        
    }
      }]
    }
    </script> 

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.063
    Partner-ID
    10107

    Standard

    Über einen entsprechenden Hook könntest du das über $GLOBALS['TL_HEAD'][] = ... einfügen lassen.

  3. #3
    Contao-Nutzer
    Registriert seit
    26.12.2018.
    Beiträge
    88

    Standard

    Kannst Du mir auch sagen.. was ein Hook ist.. und wie ich den umsetzen kann?

    Wie gesagt, bin da kein Programierer... und normalerweise nicht so tief im System unterwegs.

  4. #4
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.063
    Partner-ID
    10107

    Standard

    Zitat Zitat von Justd Beitrag anzeigen
    Kannst Du mir auch sagen.. was ein Hook ist.. und wie ich den umsetzen kann?
    Grundsätzlich wäre da die Dev Doku der erste Einstiegspunkt: https://docs.contao.org/dev/

  5. #5
    Contao-Nutzer
    Registriert seit
    26.12.2018.
    Beiträge
    88

    Standard

    Das habe ich hier gefunden.. doch.. ganz ehrlich.. das sagt mir erst mal überhaupt nix...

    Hmm, es müßte doch eigentlich eine wesentlich einfacherer Art geben.. um z.B. Rich-Tex & Rich-Snippets unter zu bringen?

    Denn letztendlich will ich ja programierer werden.. sondern einfach mein SEO verbessern.
    Da ist halt derzeit der Weg über JSON-LD das, was von Google, Bing und Yahoo gefordert wird.

  6. #6
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Über einen entsprechenden Hook könntest du das über $GLOBALS['TL_HEAD'][] = ... einfügen lassen.
    m.E. braucht man dazu keinen Hook, sondern überarbeitet das Ausgabetemplate der FAQs - das JSON muss auch nicht unbedingt in den Head sondern kann auch mittendrinn oder am Ende stehen - Google parst das schon alles aus und es ist immer gut, das Testtool für die Microdata zum Check einzusetzen...

  7. #7
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.063
    Partner-ID
    10107

    Standard

    Man muss dafür kein Template anpassen, sondern kann es wie gesagt auch bequem per Hook machen

  8. #8
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von Justd Beitrag anzeigen
    Kannst Du mir auch sagen.. was ein Hook ist.. und wie ich den umsetzen kann?

    Wie gesagt, bin da kein Programierer... und normalerweise nicht so tief im System unterwegs.
    Ich glaube, mit Template kommt Justd leichter zum Ziel... ;-)

  9. #9
    Contao-Nutzer
    Registriert seit
    26.12.2018.
    Beiträge
    88

    Standard

    Über das wie.... ist es mir eigentlich egal...

    @Spooky: kannst Du mir da mal ein beispiel geben.. wie z.B. das von mir angegebene in ein Hook für eine Seite-FAQ (nicht Contao-FAQ) eingebaut werden kann?

    @zonky: hmm, FAQ-Template.. schon mal ein gewisser Ansatz glaube ich (wenn ich es richtig verstehe).
    dann würde ich das Script dann dort einfach rein kopieren.. richtig?
    Ich kann es ja mal Testweise probieren.

    Generell wundert mich, das damit nicht schon viel mehr User ein Problem haben.. oder bin nur ich so blöd das gleich zu verstehen?
    Eigentlich dachte ich.. wie früher mal Contao 2.8 oder so.. da konnte man eigene Scripte für eine Seite mit einbinden.. den Punkt gibt es nicht mehr.. oder doch?

    Contao ist soo ein gutes System finde ich... da fehlt echt noch was WIRKLICH einfaches, damit man so die gängigsten Rich-geschichten von Schema.org .. pro Seite einfügen kann...
    Ich finde .. eine echte Lücke!

    Ein normaler User/Seitenbetreiber .. hat da wohl keine Chance, wenn er sich sich mit PHP & JS nicht prima auskennt.

  10. #10
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.063
    Partner-ID
    10107

    Standard

    Zitat Zitat von Justd Beitrag anzeigen
    @Spooky: kannst Du mir da mal ein beispiel geben.. wie z.B. das von mir angegebene in ein Hook für eine Seite-FAQ (nicht Contao-FAQ) eingebaut werden kann?
    Dazu musst du deine Anforderung erst mal genauer beschreiben. Woher sollen die Daten für dieses JSON Objekt denn überhaupt dann kommen?

  11. #11
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.063
    Partner-ID
    10107

    Standard

    Zitat Zitat von Justd Beitrag anzeigen
    Contao ist soo ein gutes System finde ich... da fehlt echt noch was WIRKLICH einfaches, damit man so die gängigsten Rich-geschichten von Schema.org .. pro Seite einfügen kann...
    Ich finde .. eine echte Lücke!
    Du kannst ja eine Extension oder einen PR in Auftrag geben

  12. #12
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von Justd Beitrag anzeigen
    @zonky: hmm, FAQ-Template.. schon mal ein gewisser Ansatz glaube ich (wenn ich es richtig verstehe).
    dann würde ich das Script dann dort einfach rein kopieren.. richtig?
    Ich kann es ja mal Testweise probieren.
    => Ja


    Zitat Zitat von Justd Beitrag anzeigen
    Contao ist soo ein gutes System finde ich... da fehlt echt noch was WIRKLICH einfaches, damit man so die gängigsten Rich-geschichten von Schema.org .. pro Seite einfügen kann...
    Ich finde .. eine echte Lücke!

    Ein normaler User/Seitenbetreiber .. hat da wohl keine Chance, wenn er sich sich mit PHP & JS nicht prima auskennt.
    => ich finde, einer der großen Vorteile von Contao ist die einfache Möglichkeit, die Templates anzupassen und zu überschreiben - damit kann man viel umsetzen ohne große Programmierkenntnisse ... Etwas HTML und ein PHP-echo sollte man dafür aber wenigstens kennen & können


    => die Möglichkeiten und Varianten von Schema.org sind so vielfältig und die Anforderungen im Zweifel auch, so dass man "allgemeines Tool" schwerlich erstellen kann. Die paar Zeilen in das Template rein zu werfen und mit PHP die dynamischen Ausgaben einzufügen, finde ich auch für "Greenhorns" nicht (zu) schwer

  13. #13
    Contao-Nutzer
    Registriert seit
    26.12.2018.
    Beiträge
    88

    Standard

    @spooky die nötigen Code kann man sich ja mit Generatoren z.B. wirklich völlig Ohne programierjenntnisse generieren lassen
    1. So in der Art, wäre natürlich ein tool.. wie diese Generatoren das non-plus-ultra (es müssen ja nicht 100% alle Optionen integriert sein).
    Allerings schon einfach ein Tool, wo man den bereits generierten Code einfach rein kopiert... und der "Rest" wird dann durch das Tool auf der Seite integriert.. das wäre extrem hilfreich für Jedermann!

    @zonky Was genau meinst Du damit?
    Zitat Zitat von zonky Beitrag anzeigen
    =] und mit PHP die dynamischen Ausgaben einzufügen,

  14. #14
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.063
    Partner-ID
    10107

    Standard

    Achso, du willst gar nichts dynamisch ausgeben lassen, sondern einfach nur statischen HTML Code ausgeben? Das kannst du mit dem HTML Inhaltselement machen. Du musst nur unter Umständen das jeweilige HTML Tag freigeben in den System Einstellungen.

  15. #15
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von Justd Beitrag anzeigen
    @zonky Was genau meinst Du damit?
    " und mit PHP die dynamischen Ausgaben einzufügen, "

    PHP-Code:
    <script type="application/ld+json">
    {
      
    "@context""https://schema.org",
      
    "@type""FAQPage",
      
    "mainEntity": [{
        
    "@type""Question",
        
    "name""Was darf eine gute Hausverwaltung kosten?",
        
    "acceptedAnswer": {
          
    "@type""Answer",
          
    "text""nicht viel"
        
    }
      },{
        
    "@type""Question",
        
    "name""Wie finde ich eine gute Hausverwaltung?",
        
    "acceptedAnswer": {
          
    "@type""Answer",
          
    "text""Einfach bei https://www.023-hausverwaltung.de
    nur mal so als Beispiel"
        
    }
      }]
    }
    </script> 
    =>

    PHP-Code:
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "FAQPage",
      "mainEntity": [
      <?php foreach($faqs as $faq): ?>
       {
        "@type": "Question",
        "name": "<?= $faq['question'?>",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "<?= $faq['answer'?>"
           }
        },
      <?php endforeach; ?>
      ]
    }
    </script>
    Variablen muss Du mit dem Code abgleichen...

  16. #16
    Contao-Nutzer
    Registriert seit
    26.12.2018.
    Beiträge
    88

    Standard

    WOW.. Danke an Euch BEide... und es zeigt mal wieder... mann muss nur miteinander reden.

    Dann habt Ihr mich vorher nicht verstanden.. und ich Euch irgendwie nicht.

    @Zonky... super vielen Dank. Jetzt bekomme ich eien Vorstellung davon, was Du meinst. Prima.

    Werde ich mich mal dran setzen.. das umzusetzen. Ich berichte dann mal.

  17. #17
    Contao-Nutzer
    Registriert seit
    26.12.2018.
    Beiträge
    88

    Standard

    @Zonky. Eins noch.. wie kann ich denn überprüfen (zur Fehleranlyse), was im endeffekt ausgegeben wird?

    Denn soweit ich das bisher kenne, kann ich ja nicht einfach die Seite aufrufen.. und sehe, was ausgegeben wird (mittel "Element untersuchen" im Browser). Vielleicht kenne ich das nur nicht.

  18. #18
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.942

    Standard

    Doch, kannst Du. Das script-tag ist ja Teil des ausgelieferten Seitenquelltexts, den Du Dir als Ganzes anzeigen lassen kannst.
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  19. #19

  20. #20
    Contao-Nutzer
    Registriert seit
    26.12.2018.
    Beiträge
    88

    Standard

    Zonky... Yep.. stimmt.. sorry.. doofe Frage von mir.
    Kenne ich doch

  21. #21
    Contao-Nutzer
    Registriert seit
    26.12.2018.
    Beiträge
    88

    Standard Text für Rich-FAQ´s mittels Variablen aus dem Artikel übernehmen

    Hallo ich noch mal.. wegen der oben genannten Sache.. sprich, zonky hatte ja fereundlicherweise sogar schon ein Script als Beispiel genannt.

    Ich habe das jetzt inzwischen Manuell über Template & Module hin bekommen.. (yeah) und wird auch sauber erkannt in den dieversen Testtools von Google.
    Schon mal ein Etappensieg.

    Bei der Pflege der aktuellen Seite .. habe ich aber gemerkt, da sich der Inhalt da schon mal ändern kann.. weil sich z.B. neue Gesetze ergeben haben.... oder ich bein der SEO Optimierung merke, dass nach anderen keywords mehr gesucht wird.. passe ich das schon mal an.

    Dann ist es aber umständlich, das sowohl im Artikel, als auch im Template dann quasi doppelt zu ändern.

    Daher würde ich gern auf Zonky´s Anregung zurück kommen.

    Könnt Ihr mir einen Hinweis geben, wie ich das am besten umsetzen kann.. bezüglich der Variablen.. und der Einbindung.. im Artikel?
    Also konkret.. wie kann ich z.B. einen Text als "Question" deklarieren/markieren mittels einer Variablen... und wie einen Text als "Answer"?

    Wobei ich mir denke.. speziell bei den FAQs.. würde ich immer Paare mitan Variablen machen:
    question_1 & answer1
    question_2 & answer3
    question_3 & answer4
    Was glaube ich .. früher sagte man Spagetti-Code dazu womöglich wäre sowas wie ne "Do - While - Schleife" besser?
    Hängt für etwas davon ab, was ist einfach.. bzw.. was wäre eine sehr elegante Lösund .. auch für später. Hauptsache, ich kann es umsetzen.

    Aber da ganz besonders.. WIE setzt man sowas dann um?
    Setzt man da Module ein.. die ein paar Zeilen PHP enthalten für die Variablen.. worin der Start und Endpunkt einer "Question" definiert wird? Gleiches bei der "Answer"?

    Wie gesagt.. ich kann eigentlich nicht programieren... .. und wenn einem MS Quick-Basic noch was sagt.. dann weiß er.. wo mein letzter Stand ist und da war ich auch kein Crack drin.
    Wäre super, wenn Ihr mir da etwas unter die Arme greifen könntet.

    Danke schon mal für Eure bisherige Geduld mit mir.
    bei mir dauert manches schon mal etwas.. weil ich ja nebenher auch noch mein Geld verdienen muss.

  22. #22
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von Justd Beitrag anzeigen
    Also konkret.. wie kann ich z.B. einen Text als "Question" deklarieren/markieren mittels einer Variablen... und wie einen Text als "Answer"?
    ähh - dafür hast Du doch das FAQ-Tool von Contao ?!?

  23. #23
    Contao-Nutzer
    Registriert seit
    26.12.2018.
    Beiträge
    88

    Standard

    Danke für die Rückmeldung..

    Habe ich da was übersehen?
    Ja, das Modul habe ich integriert.. doch leider sind ja noch keine Variablen, die ich im Template (in Abhängigkeit von der Anzahl der Fragen/Antworten).. die ich da nutzen könnte. Oder doch?

    Mir ging es ja jetzt darumm.. einen Code irgendwie zu nutzen und das möglichst automatisch. Ist das mit diesem Stück schon möglich?

    Ich habe das mal in ein Modul gepackt... und an erster Stelle in den Artikel..doch..

    PHP-Code:
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "FAQPage",
      "mainEntity": [
      <?php foreach($faqs as $faq): ?>
       {
        "@type": "Question",
        "name": "<?= $faq['question'?>",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "<?= $faq['answer'?>"
           }
        },
      <?php endforeach; ?>
      ]
    }
    </script>
    Leider bekomme ich beim Testen dann folgenden Fehler: JSON-LD Syntaxfehler: Wert, Objekt oder Array erwartet.
    Das hier scheint verkehrt zu sein.. ( &lt obwohl es im Modul korrekt drin steht.

    <!-- indexer::continue -->
    <script type="application/ld+json">
    {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "mainEntity": [
    &lt;?php foreach($faqs as $faq): ?>
    {
    "@type": "Question",
    "name": "&lt;?= $faq['question'] ?>",
    "acceptedAnswer": {
    "@type": "Answer",
    "text": "&lt;?= $faq['answer'] ?>"
    }
    },
    &lt;?php endforeach; ?>
    ]
    }
    </script>

  24. #24
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.063
    Partner-ID
    10107

    Standard

    Zitat Zitat von Justd Beitrag anzeigen
    Habe ich da was übersehen?
    Ja, das Modul habe ich integriert.. doch leider sind ja noch keine Variablen, die ich im Template (in Abhängigkeit von der Anzahl der Fragen/Antworten).. die ich da nutzen könnte. Oder doch?
    Template Variablen kannst du dir im Template mit
    PHP-Code:
    <?php $this->dumpTemplateVars() ?>
    oder auch einfach nur
    PHP-Code:
    <?php dump($this?>
    ausgeben lassen. Soweit ich mich erinnere solltest du im Template des FAQ-Lesers eine Template Variable haben, die wiederum alle Eigenschaften des jeweiligen FAQ-Eintrags beinhaltet (bzw. es ist das Model).

  25. #25
    Contao-Nutzer
    Registriert seit
    26.12.2018.
    Beiträge
    88

    Standard

    @Spooky.. sorry.. klingt jetzt wahrscheinlich total doof..

    OK, im Template eingebaut habe ich das.. und wo.. bzw. Wie kann ich nun die Variablen "Sehen" welche da gesetzt sind???

    DAs unten stehende ist ja mein Template zur Ausgabe der Seite.
    Kann man da nicht gleich den Code für diesen Rich-Kram mit integrieren?
    Denn da wäre man ja schon in den Schleifen, die sowohl die "qeustion" ausgibt, wie auch die "answer"... oder?

    PHP-Code:
    <?php $this->dumpTemplateVars() ?> 
    <?php $this->extend('block_unsearchable'); ?>
    <?php $this
    ->block('content'); ?>

      <?php foreach ($this->faq as $category): ?>
        <article class="<?= $category['class'?>">
          <h2><?= $category['headline'?></h2>

          <?php foreach ($category['items'] as $faq): ?>
            <section class="<?= $faq->class ?>">
              <h3 id="<?= $faq->alias ?>"><?= $faq->question ?></h3>

              <div class="ce_text block">
                <?php if (!$faq->addBefore): ?>
                  <?= $faq->answer ?>
                <?php endif; ?>

                <?php if ($faq->addImage): ?>
                  <?php $this->insert('image', (array) $faq); ?>
                <?php endif; ?>

                <?php if ($faq->addBefore): ?>
                  <?= $faq->answer ?>
                <?php endif; ?>
              </div>

              <?php if ($faq->enclosure): ?>
                <ul class="enclosure">
                  <?php foreach ($faq->enclosure as $enclosure): ?>
                    <li class="download-element ext-<?= $enclosure['extension'?>">
                      <a href="<?= $enclosure['href'?>" title="<?= $enclosure['title'?>"><?= $enclosure['link'?> <span class="size">(<?= $enclosure['filesize'?>)</span></a>
                    </li>
                  <?php endforeach; ?>
                </ul>
              <?php endif; ?>

              <p class="info"><?= $faq->info ?></p>
            </section>
          <?php endforeach; ?>

          <p class="toplink"><a href="<?= $this->request ?>#top"><?= $this->topLink ?></a></p>
        </article>
      <?php endforeach; ?>

    <?php $this->endblock(); ?>
    Geändert von Justd (17.11.2020 um 15:19 Uhr)

  26. #26
    Contao-Nutzer
    Registriert seit
    01.09.2020.
    Ort
    Stuttgart (Germany) / Mastihari (Greece)
    Beiträge
    39

    Standard

    Die JSON wird doch von Google auch akzeptiert wenn sie im Body sitzt.

    Hab mir den Aufwand gespart die in den Head zu bekommen da die Google-Doku sagt im Head oder Inhaltsbereich, und auch die Test-Tools das Markup komplett erkennen.

    Falls ich das in der Google-Doku falsch verstanden habe, lasse ich mich gern korrigieren - auch wenn ich dann an meine Arbeit von gestern nochmal ran muss.

  27. #27
    Contao-Nutzer
    Registriert seit
    26.12.2018.
    Beiträge
    88

    Standard

    Wenn ich das in dieses Script das mit einbauen könnte, wäre es ja im Body-Bereich, da die Texte ja generell im Body-Bereich stehen.

    Aber hier geht es ja nicht darum, WO es hin soll... sondern, wie man sich das vereinfachen und eher automatisieren kann.
    zumindest, was FAQ´s angeht.

    Will man das für die Company / Autor / oder einfach für einen Artikel machen, bleibt einem ohnehin keine andere Wahl als das über Templates -> Module -> einfügen im Artikel selbst dann in Contao.

    Das dumme daran, ändert sich was im Text, oder wie bei mir jetzt.. durch Gesetzliche Änderungen.. auch im Text, dann muss man halt dran denken, es sowohl im Text selbst, als auch im Template zu ändern.

    Deshalb hatte ich gaaanz am Anfang ja auch mal nach ner App gefragt (hatte mir das eventuell als ein addon für z.B. den TinyMCE gedacht).
    So nach dem Motto.. man markiert was im Artikeltext im Editor, sagt dann als Auszeichnung.. (rich-Artikel) verlinkt (so wie man auch beim Link macht), nur das dann der Text maximal im Editor ich sag mal Grün-kursiv dargestellt wird.. und man so (wie beim Link halt blau unterstrichen) und anstatt wie beim link, die URL angeben, halt sagt, was es sein soll.. laut schema.org (Business, Artikel, Rezession.. etc..) und in den feldern drunter, würde man dann noch zusätzlich die notwendigen Agaben machen.. wie Author, url, Name, Company.. etc.. was halt im Rich-Zeug gefordert wird.

    Die Definitionen sind ja klar im Prinzip
    Es gibt ja einige Online Editoren, die eigentlich nichts anderes als ein JSON-LD zu erzeugen.

    Bei meinen Tests habe ich herausgefunden, dass wenn man sowohl einen Rich-Artikel macht, wie auch z.B. einen Rich-Business-card.. usw.. dann wird das am Ende von Google ohnehin zusammengefasst.. egal wo es steht.

    Vielleich tnimmt das ein ambitionierter Entwickler (ich bin leider keiner) mal als ne interessante Aufgabe für sich an. Ich finde, das wäre eine Super Geschichte.. für den TinyMCE.. als AddOn.
    Das wesentlich userfriendly als der WEG über Template erzeugen, Modul erzeugen und Element mit dem Modul dann bei den Artikeln einbinden.

    Ich habe mir inzwischen aus verschiedenen Generatoren, so meine Sammlung zusammengestellt, die ich für unser Projekt haben möchte. Denn nicht jeder Online-Generator kann alle Rich-Typen.. manche die 3-5 üblichen.. aber halt nicht alles Sinnvollen.

  28. #28
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von Justd Beitrag anzeigen
    Deshalb hatte ich gaaanz am Anfang ja auch mal nach ner App gefragt (hatte mir das eventuell als ein addon für z.B. den TinyMCE gedacht).
    So nach dem Motto.. man markiert was im Artikeltext im Editor, sagt dann als Auszeichnung.. (rich-Artikel) verlinkt (so wie man auch beim Link macht), nur das dann der Text maximal im Editor ich sag mal Grün-kursiv dargestellt wird.. und man so (wie beim Link halt blau unterstrichen) und anstatt wie beim link, die URL angeben, halt sagt, was es sein soll.. laut schema.org (Business, Artikel, Rezession.. etc..) und in den feldern drunter, würde man dann noch zusätzlich die notwendigen Agaben machen.. wie Author, url, Name, Company.. etc.. was halt im Rich-Zeug gefordert wird.
    Für die Microdata gibt es keine "gesetzlichen Vorgaben" - letztendlich ist das alles eine Verabredungssache, was was ist... dafür gibt es ja auch sowas wie schema.org

    Mit Deiner Idee, sieht da glaube ich nach kurzer Zeit kein Schwein Redakeur mehr durch ... der muss auch wissen, welche semantischen Vorgaben es gibt.

    Ich würde das immer im Template machen - und dafür einfach das "Doppel-foreach" nochmal durchlaufen und die Sachen generieren... würde das der Übersichtlichkeit halber separat machen

  29. #29
    Contao-Nutzer
    Registriert seit
    26.12.2018.
    Beiträge
    88

    Standard

    Danke für Deine Antwort.. wobei ich mich jetzt Frage, was wohl für einen Redakteur komplizierter ist..

    1. es per Addonn innerhalb seines Textes den er gerade verfasst hat.. etwas zu markieren, genauso wie bei einem Link (das sollte er ja wohl kennen) plus ein oder zwei weitere Angaben (nach denn er gefragt wird) anzugeben und fertig!

    2. oder auf Schema.org.. sich die passende Auszeichnung raus zu suchen, die ganzen Parameter und Optionen zu verstehen, und das dann mit korrekter Syntax in ein Template gießen.. und zusätzlich auch noch ein Modul zu packen und DAS denn erst in seinen Artikel mit einzubauen.
    Anschließend, sicherheitshalber das durch ein Testtool schicken und eventuell Fehler ausmerzen..

    Be Methode 2 frage ich mich, vieviel Zeit der Redakteur jedesmal dafür aufbringen muss?

    Ich meine, ich kann ja verstehen, dass ein Programierer, das mit Schema.org.. durchaus gut versteht.. und weiß von vorneherein ganz genau, wie die Syntax aussehen muss und welche Parameter er braucht um das Ergebnis bei Google gut platzieren kann. Aber ob das ein Redakteur so hin bekommt.. und in welcher Zeit?

    Ich würde ja gerne mit einem Programierer das zusammen mal entwickeln, da ich mich mit Google in diesem Punkt schon viel beschäftigt habe.
    Falls es da also doch jemanden gibt, der das gerne mal ausprobieren würde..

  30. #30
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von Justd Beitrag anzeigen
    Ich meine, ich kann ja verstehen, dass ein Programierer, das mit Schema.org.. durchaus gut versteht.. und weiß von vorneherein ganz genau, wie die Syntax aussehen muss und welche Parameter er braucht um das Ergebnis bei Google gut platzieren kann. Aber ob das ein Redakteur so hin bekommt.. und in welcher Zeit?
    EBEN!

    guck Dir sie Syntax bei Schema.org mal an! da gibt es bestimmte Regeln, was in welcher Hierachie wohin soll - das ist was anderes als im Text hier und da mal was mit Maus kursiv oder fett zu machen!

    Daher müssen dezidierte Werte bzw. Felder her, aus der für das jeweilige Schema passen die JSOn generiert wird

  31. #31
    Contao-Nutzer
    Registriert seit
    26.12.2018.
    Beiträge
    88

    Standard JSON-LD & die Welt der Rich-Snippets

    @Zonky ja, da gebe ich Dir Recht. sowas wie Fett - Kursiv.. oder H2.. das meinte ich auch nicht.

    Schau Dir die Möglichkeiten, die man z.B. bei Bildern hat.. oder selbst einfach Links & Tabellen, da werden ja auch wenn auch deutlich im geringeren Umfang, weitere Eingaben vom User gefordert.

    Dann schau Dir die Online-Generatoren an, die JSON-LD snipets, direkt zum rein kopieren an... auch die können ja mit einem gewissen Optionsumfang von Schema.org umgehen.

    Ja, sie bedienen nicht ALLE Optionen die es gibt. Aber, sie stellen doch zumindest die meist gebrauchten zur Verfügung.

    Es ist ja auch nur eine Anregung/Frage gewesen.

    Und falls Du nun auf die Idee kommst zu sagen, dann nimm doch die von den Generatoren.. ja, mache ich ja auch und erweitere sie sogar um Optionen von Schema.org manuell.
    Ja, klar geht das.
    Aber ich weiß dadurch auch, wie Aufwendig das ist.

    Mein Gedanke dahinter war halt, speziell für die Nutzer von Contao etwas zu haben, damit sich deren Webseiten noch mehr von denen abheben, die solche Features nicht im Angebot haben.
    Denn eben durch die Beschäftigung mit den Rich-Snippets habe ich zum einen gemerkt, wie Sinnvoll das ist!! Ich habe mir aber auch überlegt, wie man das eventuell UI-mäßig umsetzen könnte.

    Leider kann ich nicht programmieren, sonst würde ich es gerne machen. Und ich bin mir sehr sicher, wenn es erst mal so ein Tool geben würde/wird.. DANN wird es auch sehr viel genutzt. Da bin ich mir sicher.
    Denn ich sehe gerade durch meine manuellen Versuche, was DAS schon bringt.

    Die Rich.Snippets alleine sind es natürlich nicht... nein, natürlich nicht.
    Da gehört ein wirklich gut überlegter Inhalt auf der Seite dazu, der nicht zu kkurz ist.
    Da gehören an diversen Stellen gute Tags hin.. Beschreibungen usw. JA.. ganz klar!

    AABER.. diese Rich-Snippets geben dem ganzen noch mal einen ordentlichen Schubs nach vorne. zumindest JETZT noch, wo es nur extrem wenige nutzen, weil es eben nicht so trivial ist, wie es auf den ersten Blick scheint.

    Daher ein Tool, das den Contao-Nutzer massiv dabei unterstützt. Alleine schon, wenn die richtigen Optionenn nacheinander abgefragt werden, um die er sich dann natrülich selbst kümmern muss.

    Ja, sag meinetwegen auch.. das wäre so ein Online-Generator integriert in Contao.. ja.. ist auch OK.
    Wenn aber dazu die Basis an Text, im Tinymce schon mal markiert und dann für weitere (wie beim link) verknüpft ist.
    Sprich, ändere ich den Text im Tinymce, ist er im Snippet dann auch geändert, weil nicht einfach ins snippet kopiert, sondern quasi wie ein Insert-Tag auf den Text als Link zeigt!! DAS wäre ein extremer Fortschritt, den dann NUR Contao bieten würde!!

    Wer für seine Webseite, das SEO selber macht .. nämlich kontinuierlich optimiert.. mittels diversen Auswertungstools.. ob Google-Analytics oder die vielen weiteren die einem noch viele detailierter verraten wo noch Potential drin steckt,... jemand der DAS für sich selbst macht.. der weiß, man muss hin und wieder den Text anpassen.. verändern.. ergänzen.
    Und da dann auch nach 6 Monaten, die Snippets nicht zu übersehen/vergessen.. ist da extrem hilfreich.

    Wie gesagt, falls sich ein Programierer dran versuchen will.. gerne.. und mitunter ist es mir ja auch was Wert, man kann über alles reden.
    Ob man zusammen kommt... ob wir das als ganz kleines Startup den ganzen Betrag zahlen können.. oder ob man das auf Zeiträume verteilt... ist alles Verhandlungssache.
    Das alles ist aber nur dann möglich, wenn sich überhaupt jemand dieser Sache aus Überzeugung annehmen will.
    Geändert von Justd (05.12.2020 um 11:08 Uhr)

  32. #32
    Alter Contao-Hase
    Registriert seit
    12.10.2010.
    Beiträge
    1.026

    Standard Contao 4.10 JSON-LD für jede Seite individuell per Erweiterung möglich?

    Hi Leute,

    gibt es eine Erweiterung, mit der sich strukturierte Daten sowie allgemein gültige Schemata für die Datenstrukturierung in das kompakte JSON-Format / Schema.org einbetten lassen? Und das für jede Seite individuell, so wie es bei einer ER für den Open Graf für die Twitter-Cards möglich ist?

    Wie wäre hier die Herangehensweise?



    Wäre sowas auch für Contao möglich: https://rankmath.com/

  33. #33
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von Schnippel Beitrag anzeigen
    Hi Leute,

    gibt es eine Erweiterung, mit der sich strukturierte Daten sowie allgemein gültige Schemata für die Datenstrukturierung in das kompakte JSON-Format / Schema.org einbetten lassen?
    Scheint so, als hättest Du den Thead nicht gelesen...

  34. #34
    Alter Contao-Hase
    Registriert seit
    12.10.2010.
    Beiträge
    1.026

    Standard

    Hmm, also geht das Ganze noch nicht mit einem Plug In oder einer ER...

    Auch ich bin kein Programmierer und muß mich dann wohl doch bissl mehr in die Thematik hineinarbeiten.
    Also Arme hochkrempeln..

    Was ist mein Ziel?

    Ich möchte auf der Webseite die Daten eines Unternehmens so auszeichnen, daß Google das versteht und die Firma bei den Suchergebnissen in dem Kasten der lokalen Unternehmen positioniert, siehe Beispiel:

    Unbenannt-1.jpg

    Was muß man tun, um dahin zu kommen?

    Ein Gedanke den ich habe folgende Auszeichnung / Strukturierung:

    Code:
    <script type="application/ld+json">
    
    {
    
      "@context": "http://www.schema.org",
    
      "@type": "Organization",
    
      "@id": " http://www. ihre-Domain.com ",
    
      "name": " Ihr Seitentitel oder Ihre Seitenüberschrift ",
    
      "logo": " http://www.ihre-Domain.com/logo.jpg ",
    
    "url": " http://www.ihre-Domain.com ",
    
      "foundingDate": "Jahreszahl",
    
      "founder":
    
      {
    
      "@type": "Person",
    
      "name": "Gründername "
    
      },
    
      "description": " Ihre Meta-Description oder eine Zusammenfassung Ihrer Firmentätigkeit.",
    
      "address": {
    
        "@type": "PostalAddress",
    
    "streetAddress":"Straße und Hausnummer",
    
        "addressLocality": "Ort",
    
        "addressRegion": "Bundesland",
    
        "postalCode": "Postleitzahl",
    
        "addressCountry": "Deutschland"
    
      },
    
      "contactPoint": {
    
        "@type": "ContactPoint",
    
        "contactType": "customer service",
    
        "telephone": "+49-0000-1234567",
    
        "email": "info@ihreDomain.com"
    
      }
    
    }
    
    </script>
    Quelle: https://www.bio-seo.de/json-codes-strukturierte-daten


    Da diese Daten im Script für alle Seiten gilt, sollten diese auch auf jeder Seite / Unterseite enthalten sein.

    Wie muß ich jetzt genau vorgehen?

    Template fe_page ändern?

  35. #35
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    letzendlich kannst Du die ganzen Sachen in ein Template werfen und als CE einbinden...

    dürfte für verschiedene Seiten zu umständlich sein

    Man könnte ein Textfeld den Seiteneigenschaften hinzufügen oder - sofern das Redakteure pflegen sollen - baust eine Eingabemaske per Rock Solid Custom Elements

  36. #36
    Alter Contao-Hase
    Registriert seit
    12.10.2010.
    Beiträge
    1.026

    Standard Wie lassen sich JSON-LD Angaben einbinden?

    Eine Website ist mit folgenden Unterseiten aufgebaut:

    Domain.de
    Domain.de/Dienstleistung A
    Domain.de/Dienstleistung B
    Domain.de/Produkte
    Domain.de/Impressum
    Domain.de/wir über uns
    Domain.de/Kontakt


    Nun sollen die Seiten mit strukturierte Daten ausgezeichnet werden, wobei
    - einige Daten immer gleich sind auf jeder Seite (wie das LOGO, die Firma mit Anschrift, Tel. etc.)
    - jede Seite individuelle strukturierte Daten benötigt


    Für die Seiten, bei denen die strukturierten Daten immer gleich sind, lässt sich das Script für das LOGO, Anschrift etc.
    im Seitenlayout unter zusätzliche Head-Tags einfügen.

    Code:
    <script type="application/ld+json">
    {
      "@context": "http://www.schema.org",
      "@type": "Organization",
      "@id": " http://www. ihre-Domain.com ",
      "name": " Ihr Seitentitel oder Ihre Seitenüberschrift ",
      "logo": " http://www.ihre-Domain.com/logo.jpg ",
      "url": " http://www.ihre-Domain.com ",
      "foundingDate": "Jahreszahl",
      "founder":
      {
      "@type": "Person",
      "name": "Gründername "
      },
      "description": " Ihre Meta-Description oder eine Zusammenfassung Ihrer Firmentätigkeit.",
      "address": {
        "@type": "PostalAddress",
        "streetAddress":"Straße und Hausnummer",
        "addressLocality": "Ort",
        "addressRegion": "Bundesland",
        "postalCode": "Postleitzahl",
        "addressCountry": "Deutschland"
      },
      "contactPoint": {
        "@type": "ContactPoint",
        "contactType": "customer service",
        "telephone": "+49-0000-1234567",
        "email": "info@ihreDomain.com"
      }
    }
    </script>
    Wie aber bekommt den individuellen JSON-LD Angaben auf den Unterseiten rein?
    Hier z.B. für die Produktseite:

    Code:
    <script type="application/ld+json">
    {
      "@context": "http://schema.org/",
      "@type": "Product",
      "name": " Produktbezeichnung ",
      "image": [
        "http://www. ihre-Domain.com/Bild-URL/erstes-produktbild.jpg",
        "http://www. ihre-Domain.com/ Bild-URL/zweites-produktbild.jpg",
        "http://www. ihre-Domain.com/ Bild-URL/drittes-produktbild.jpg",
        "http://www. ihre-Domain.com/ Bild-URL/viertes-produktbild.jpg"
       ],
      "description": " Ihre Meta-Description oder die Produktbeschreibung.",
      "brand": {
        "@type": "Thing",
        "name": " Markenname oder Ihr Firmenname "
      },
      "aggregateRating": {
        "@type": "AggregateRating",
        "ratingValue": "4.4",
        "reviewCount": "89"
      },
      "offers": {
        "@type": "Offer",
        "priceCurrency": "EUR",
        "price": "119.99",
        "availability": "http://schema.org/InStock",
        "seller": {
          "@type": "Organization",
          "name": "Ihr Firmenname",
         "logo": {
          "@type": "ImageObject",
          "url": " http://www.ihre-Domain.com/logo.jpg "
    }
        }
      }
    }
    </script>
    Oder dieser Code, der nur auf die Home-Seite soll
    Code:
    <script type="application/ld+json">
    {
      "@context": "http://schema.org",
      "@type": "WebPage",
      "url": "http://www.ihre-Domain.com/",
      "name": "Ihr Seitentitel oder Ihre Seitenüberschrift ",
    "image": [
        "http://www. ihre-Domain.com/Bild-URL/erstes-seitenbild.jpg",
        "http://www. ihre-Domain.com/ Bild-URL/zweites-seitenbild.jpg",
        "http://www. ihre-Domain.com/ Bild-URL/drittes-seitenbild.jpg",
        "http://www. ihre-Domain.com/ Bild-URL/viertes-seitenbild.jpg"
       ],
       "author": {
          "@type": "Person",
          "name": "Ihr Name"
        },
      "description": " Ihre Meta-Description oder eine Zusammenfassung des jeweiligen Seiteninhalts.",
      "publisher": {
          "@type": "Organization",
          "name": " Ihr Firmenname ",
         "logo": " http://www.ihre-Domain.com/logo.jpg "
    }
        }
    </script>
    Quelle der Scripte: https://www.bio-seo.de/json-codes-strukturierte-daten

    Wie lässt sich das Ganze realsieren?

  37. #37
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von Schnippel Beitrag anzeigen

    Wie lässt sich das Ganze realsieren?
    viele Wege führen nach Rom...

    m.E. können die JSON-Daten für Schema.org aufgeteilt werden

    d.h. du könntest das hier für die individuelle Auszeihnung nehmen https://github.com/trilobit-gmbh/con...dle/tree/1.0.2

    ... oder einen der vielen anderen Wege ;-)

  38. #38
    Alter Contao-Hase
    Registriert seit
    12.10.2010.
    Beiträge
    1.026

    Standard

    Coole ER :-)

    Ich habe das mal im "Zusätzlicher Header-Code"eingebunden, da ist die JSON im Quelltext HEAD-Bereich.
    Wenn ich diese JSON im "Zusätzlicher Footer-Code" einbinden, dann erscheint die im Body-Tag
    Ist das ok? Das google-TEst-Tool https://search.google.com/test findet beide Varianten.

    Noch eine Frage:
    Müssen die JSON alle in einem Script sein? Oder können da mehrere Scripte laufen?
    Bei mir sind 2-JSON-Scripte enthalten, die von mir und die von Contao

    Unbenannt-1.jpg

  39. #39
    Alter Contao-Hase
    Registriert seit
    12.10.2010.
    Beiträge
    1.026

    Standard FAQ-Seite mit JSON / Rich Snippets

    Hi Leute,

    habe auf einer Seite das Modul "mod_faqpage" integriert und die Fragen / Antworten werden da auch angezeigt.
    Jetzt möchte ich die noch nach schema.org JSON-LD auszeichnen.

    Wie muß das Template von mod_faqpage jetzt genau angepasst werden?

    So schaut es standardmäßig aus:

    PHP-Code:
    <?php $this->extend('block_unsearchable'); ?>

    <?php $this->block('content'); ?>

      <?php foreach ($this->faq as $category): ?>
        <article class="<?= $category['class'?>">
          <h2><?= $category['headline'?></h2>

          <?php foreach ($category['items'] as $faq): ?>
            <section class="<?= $faq->class ?>">
              <h3 id="<?= $faq->alias ?>"><?= $faq->question ?></h3>

              <div class="ce_text block">
                <?php if (!$faq->addBefore): ?>
                  <?= $faq->answer ?>
                <?php endif; ?>

                <?php if ($faq->addImage): ?>
                  <?php $this->insert('image', (array) $faq); ?>
                <?php endif; ?>

                <?php if ($faq->addBefore): ?>
                  <?= $faq->answer ?>
                <?php endif; ?>
              </div>

              <?php if ($faq->enclosure): ?>
                <ul class="enclosure">
                  <?php foreach ($faq->enclosure as $enclosure): ?>
                    <li class="download-element ext-<?= $enclosure['extension'?>">
                      <a href="<?= $enclosure['href'?>" title="<?= $enclosure['title'?>"><?= $enclosure['link'?> <span class="size">(<?= $enclosure['filesize'?>)</span></a>
                    </li>
                  <?php endforeach; ?>
                </ul>
              <?php endif; ?>

              <p class="info"><?= $faq->info ?></p>
            </section>
          <?php endforeach; ?>

          <p class="toplink"><a href="<?= $this->request ?>#top"><?= $this->topLink ?></a></p>
        </article>
      <?php endforeach; ?>

    <?php $this->endblock(); ?>
    zonky hatte dieses Script hier mal weiter oben eingestellt:

    PHP-Code:
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "FAQPage",
      "mainEntity": [
      <?php foreach($faqs as $faq): ?>
       {
        "@type": "Question",
        "name": "<?= $faq['question'?>",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "<?= $faq['answer'?>"
           }
        },
      <?php endforeach; ?>
      ]
    }
    </script>
    Frage 1: Wie muß dieses Scrip angepasst werden?

    Frage 2: Wo muß dieses Script eingebunden werden, in das Template von "mod_faqpage" (wenn ja, wo da genau), oder in den Head-Bereich der Seite?

  40. #40
    Alter Contao-Hase
    Registriert seit
    12.10.2010.
    Beiträge
    1.026

    Standard

    Ich hab das Ganze mit der FAQ-Seite statt mit JSON-LD jetzt über Mikrodaten gemacht, und laut Test-Tool funktioniert es.

    Kurz zur Vorgehensweise:
    Ich habe in den Templates das mod_faqpage.html5 kopiert und wie folgt abgeändert:

    PHP-Code:
    <?php $this->extend('block_unsearchable'); ?>

    <?php $this->block('content'); ?>

      <?php foreach ($this->faq as $category): ?>
        <article itemscope itemtype="https://schema.org/FAQPage" class="<?= $category['class'?>">
          <h2><?= $category['headline'?></h2>

          <?php foreach ($category['items'] as $faq): ?>
            <section itemscope itemprop="mainEntity" itemtype="https://schema.org/Question"  class="<?= $faq->class ?>">
              <h3 itemprop="name" id="<?= $faq->alias ?>"><?= $faq->question ?></h3>

              <div itemscope itemprop="acceptedAnswer" itemtype="https://schema.org/Answer" class="ce_text block">
                <div itemprop="text">
                <?php  if (!$faq->addBefore): ?>
                  <?= $faq->answer ?>
                <?php endif; ?>

                <?php if ($faq->addImage): ?>
                  <?php $this->insert('image', (array) $faq); ?>
                <?php endif; ?>

                <?php if ($faq->addBefore): ?>
                  <?= $faq->answer ?>
                <?php endif; ?>
                </div><!-- Ende des DIV für itemprop="text"-->
              </div>

              <?php if ($faq->enclosure): ?>
                <ul class="enclosure">
                  <?php foreach ($faq->enclosure as $enclosure): ?>
                    <li class="download-element ext-<?= $enclosure['extension'?>">
                      <a href="<?= $enclosure['href'?>" title="<?= $enclosure['title'?>"><?= $enclosure['link'?> <span class="size">(<?= $enclosure['filesize'?>)</span></a>
                    </li>
                  <?php endforeach; ?>
                </ul>
              <?php endif; ?>

              <p class="info"><?= $faq->info ?></p>
            </section>
          <?php endforeach; ?>

          <p class="toplink"><a href="<?= $this->request ?>#top"><?= $this->topLink ?></a></p>
        </article>
      <?php endforeach; ?>

    <?php $this->endblock(); ?>
    Laut HTML-Validator ist das ok, und das Testtool https://search.google.com/test/rich-results zeigt ebenfalls grünes Licht und gibt die Fragen / Antwort aus..

    Für Anregungen und Verbesserungsvorschläge bin ich gern offen :-)

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •