Worterkennung bei span und oder div etc.

  • Sagt mal, hat einer Erfahrungen damit, was Google da genau auswertet oder eben als "erkannt" betrachtet, wenn man Worte per <span> oder <div> trennt? Doofe Frage, ich weiß, ich versuche es mal mit Bilder zu erklären.

    Hier erst mal die Suchergebnisse, die mich eben zu der Frage bringen.

    Es geht dort speziell um die "m²max" und das "Schlafzimmerab". Sollte fett markiert sein im Bild, hoffe, man erkennt es. Das Problem hier ist, wertet Google dieses "Schlafzimmerab" eben als solches, also als "Schlafzimmerab" oder als "Schlafzimmer ab"?

    Die Quelle schaut so aus. Ist nun eine andere, also die Werte stimmen nicht, aber da kommt es her:

    Da sind also drei Bereiche. Links, Mitte und rechts. Die sind ganz normal per width 33% positioniert, mobil auch mit absoluten Positionen. HTML ist so aufgebaut

    <!-- links ->

    <span class="shortinfo">

    Ferienwohnung<br>

    45 m²

    </span>

    <!-- mitte ->

    <span class="shortinfo">

    max. 4 Personen<br>

    1 Schlafzimmer

    </span>

    <!-- rechts ->

    <span class="shortinfo">

    ab 40,00 €<br>

    3 Personen / Nacht

    </span>

    Also die <br> scheint Google zu erkennen und in den Suchergebnissen jeweils durch ein "Leerzeichen" zu ersetzen. Aber die Wechsel von einem span ins andere nicht, da rücken die Begriffe in den Suchergebnissen zusammen. Frage nun: Ist das nur eine optische Sache oder wertet Google da auch als "zusammengesetzte Begriffe"?

    Habe es auch schon mit "div" anstelle von span versucht, es bleibt dabei.

    Derartige Konstellationen habe ich aber öfters, daher die Frage. Auch in der Navigation, z.B. etwas wie "<span>Reitland</span><span> 4</span>". Das ist quasi Link in der Navi + die Ziffer dahinter als Anzahl an Objekten. Ist aber nur eine Ziffer, mehr nicht. Wird nur anders formatiert. Nun habe ich da extra schon immer ein "Leerzeichen" davor, aber sowohl FF als auch Chrome filtern das automatisch in der Quellcode-Ansicht heraus. Nun habe ich den Verdacht, dass Google das auch machen könnte und daraus dann eben nicht "Reitland 4" wird, sondern "Reitland4".

    So, hoffe einer versteht, was ich meine.....

    Wenn ein Mensch nicht um dich kämpft, hat er nur gewartet, dass du gehst. ;(

  • Jaaaaa - <span> ist natuerlich ein inline element ("fliesstext"), und hat per se auch keinen abstand zum naechsten inline-element - dazu muesstest du schon ein blockelement wie z.b. <div>, <p> oder <address> nutzen. Deswegen zieht google die beiden texte wohl auch zusammen.

    Dein markup ist fuer diesen zweck auch unpassend, ich wuerde es imho als <ul> oder <dl> formatieren.

    In den schema.org daten kannst du auch noch 'petsAllowed' angeben. Und ich wuerde diese gaestezimmer eher als LodgingBusiness eintragen, nicht als Hotel. Weiter unten auf der seite findest du noch andere (genauere) unterkunftstypen.

  • Danke Dir! Ja, das mit dem Span dachte ich mir schon, alleine im Sinne von <span>b</span><span>u</span><span>n</span><span>t</span>

    Allerdings hat das mit <div> auch nicht funktioniert. Der Code oben ist, wie es vorher immer war. Seit ein paar Wochen ist der schon auf <div> umgestellt und alles was Google neu aufnimmt, ist genauso "zusammengeschrieben".

    <ul>, besser gesagt, <li> funktionieren, das weiß ich von anderer Stelle. <p> auch. Allerdings wollte ich das nicht wirklich alles da drinnen haben, sondern so einfach wie möglich. Müsste da alles per CSS umformatieren, damit <ul>/<li> da vernünftig angezeigt wird. Testen kann ich es aber mal.

    Wegen "LodgingBusiness". Danke für den Hinweis. Allerdings kennt Google "LodgingBusiness" nicht. Das einzige, was in dem Fall überhaupt von Google verwendet wird ist "Hotel". Es gäbe da auch noch "Accomodation", oder verfeinert als "Apartment" oder "House", aber auch das kennt Google alles nicht.

    Wenn ein Mensch nicht um dich kämpft, hat er nur gewartet, dass du gehst. ;(

  • Äh, nachfragen muss. Wie würdest Du das denn mit <li> machen? Mit 6 <li> oder mit 3 <li>? 6 stelle ich gerade fest, geht ja nicht wirklich. Die Blöcke "links, mitte und rechts", also immer diese zwei Werte untereinander, müssen so zusammen bleiben. Die ändern auch die Positionen, bei anderen Auflösungen. Also 6 <li> und dann floaten lassen geht z.B. nicht, dann passt die Reihenfolge nicht mehr unbedingt. Zudem könnte es dann auch leere <li> geben, wäre auch doof. z.B. "Wohnfläche, Schlafzimmer oder Preis", ist nicht überall vorhanden, der jeweilige Block an sich aber schon, denn einen Wert davon gibt es immer.

    Also so könnte das mit ul funktionieren, tut es auch:

    <ul class="shortinfo">

    <li class="shortinfobox">Ferienhaus<br>90&nbsp;m²</li>

    <li class="shortinfobox">max. 6 Personen<br>2 Schlafzimmer</li>

    <li class="shortinfobox preis">für <span class="bold">89,00 €</span><br>3 Personen / Nacht</li>

    </ul>

    Aber passt das dann vom Inhalt her? Steht dann ja mehreres in einem <li>??

    Wenn ein Mensch nicht um dich kämpft, hat er nur gewartet, dass du gehst. ;(

  • Wegen dem "Hotel". Da muss ich erst mal zurückrudern..... Verfluchter Mist, schon wieder eine Änderung bei Google. Der zeigt das ja gar nicht mehr wirklich an. Vorher war das alles da, also die Bewertungen, die Preisspanne etc. Weiß noch genau, ich habe fast zwei Wochen dafür gebraucht, bis dann endlich mal so dar war, wie es sollte. Und vor allem dann auch bei Bing, denn Google macht ja alles völlig anders.

    War mehr oder weniger eine Kopie von einem anderen großen Portal, die ich da umsetzte. Aber ja, ich sehe, die Daten sind nicht mehr da und Google liefert bei der Prüfung 3 Fehler. Fehler, die vorher, ohne Änderung von mir, nicht da waren.

    Ich habe da auch das Gefühl, dass ich mit dem Schema-Zeug Wochen vergeude, damit das endlich mal bei allen passt und dann ändert wieder einer was, vor allem Google. Wie oft muss man das eigentlich anpassen? Wie oft eigentlich Inhalte doppelt und dreifach auszeichnen? Spinnen die? Mal "image" mal "photo", mal "title", mal "name". Jetzt fehlt angeblich bei der "Organization" das Bild. Das Bild ist da! Extra ausgezeichnet, so wie Google das vorher wollte! Als "@photo", nun wollen sie aber eben "image". Die Adresse fehlt angeblich auch, dabei ist die ebenso da, als "@location -> address" inkl. Straße, Nummer, Ort, @GEO -> Koordinaten etc.

    Und die anderen, wie Facebook, Pinterest und Twitter sollen natürlich auch noch gehen. Alles kein Problem, die anderen bekommt man schnell unter einen Hut, aber dann geht GOOGLE nicht!

    Wenn ein Mensch nicht um dich kämpft, hat er nur gewartet, dass du gehst. ;(

  • Allerdings hat das mit <div> auch nicht funktioniert. Der Code oben ist, wie es vorher immer war. Seit ein paar Wochen ist der schon auf <div> umgestellt und alles was Google neu aufnimmt, ist genauso "zusammengeschrieben".

    Hm - hast du schon versucht einfach mal ein <br/> am ende einzufuegen?

    <ul>, besser gesagt, <li> funktionieren, das weiß ich von anderer Stelle. <p> auch. Allerdings wollte ich das nicht wirklich alles da drinnen haben, sondern so einfach wie möglich. Müsste da alles per CSS umformatieren, damit <ul>/<li> da vernünftig angezeigt wird. Testen kann ich es aber mal.

    Schematisch ist es eben falsch wie ich finde, da es an der stelle ja mehr oder weniger eine liste (<ul>) oder aufzaehlung von eigenschaften (description list) <dl> ist.

    Ansonsten kannst du aber auch <p> entsprechend formatieren, siehe die beschreibung in den einzelnen kontakten hier.

  • Ich habe da ehrlich gesagt schon alles versucht, bis ich dann letztendlich mal dort gelandet war, wo ich nun war, also bei den <span> und dann <div>. Also <br> oder auch feste Leerzeichen etc. waren da sicherlich mal drinnen. Ob es da das Problem gab, weiß ich nicht, das ist schon viele Jahre her.

    Das habe ich aber alles im Laufe der Zeit bei diversen Umstellungen entfernt. Also alles raus, was nicht unbedingt gebraucht wird. Also auch ein <br> am Ende eines Satzses (in dem Fall Wortes) oder eben Leerzeichen. Sagte mir dann immer, das soll padding und margin machen. Teils auch Umstellungen und Änderungen beim Wechsel von float auf flex. Da waren also vorher teilweise auch "clearfix" drinnen. Aber auch da keine Ahnung, wie Google das handhabte. Wobei das ja aber eben auch reines CSS ist. Eben auch, alles so wenig wie möglich. Also auch keine extra TAGs, die ich dann erst mal mit 10 Zeilen CSS umstylen muss, wenn es anders auch ohne oder nur mit einer Zeile geht.

    Aktuell habe ich es mal mit <li> drinnen. Aber noch mal die Frage an Dich, wie würdest Du das mit <li> machen? Also so wie jetzt, drei <li>, also quasi <span> bzw. <div> einfach mit <li> ersetzen? So habe ich das jetzt seit gestern online. Semantisch scheint mir das aber mit <li> nicht so ganz korrekt. Siehe meinen Post oben drüber mit dem HTML-Code.

    Semantisch passend wäre es mit 6 <li>, aber das geht technisch nicht, siehe oben. Die Blöcke müssen öfters neu ausgerichtet werden und da eben teils "blockweise" und teilweise "wertweise". So mit den drei <li> geht das, schaut aus wie vorher, aber ob das so nun semantisch stimmt?

    <dl> muss mich da erst mal wieder einarbeiten, wie das geht. Das habe ich die letzten Jahre immer rausgeworfen aus den Systemen. Bei alten habe ich das noch bei Bildern im Sinne von Bild + Titel + Description.

    <p> wäre aber wirklich noch eine Option. Wobei ich die auch nicht nutzte bisher, weil ich mir immer sagte, warum da ein <p> komplett umstylen, wenn es auch anders geht. Naja, geht ja nicht wirklich ;)

    Wenn ein Mensch nicht um dich kämpft, hat er nur gewartet, dass du gehst. ;(

  • Huhu, Du hast mich auf eine ganz neue Idee gebracht. Ich bräuchte ohnehin nur 5 <li> und keine 6. Das "ab 40,00 € 3 Personen / Nacht" muss so bleiben, also mit einem <br> dazwischen. Das gehört zusammen, ist nur ein <br> drinnen, damit es an der richtigen Stelle umbricht.

    Mein neuer Freund könnte GRID werden :) Ist nun so schon mal online, mit 5 <li> und eben Grid. Im FF schaut das sehr gut aus, genauso wie vorher. (Bei CanIUse schaue ich lieber erst später mal rein ;) )

    https://www.hund-und-herrchen.de/unterkuenfte/region-Harz/

    Und so ganz nebenbei noch "column-count" (Multiple column) gefunden. Das könnte an einer anderen Stelle passen, wie eine ewig lange <ul><li> in zwei Spalten dargestellt werden muss. Das berechne ich aktuell noch vorab und trenne die manuell in zwei <ul> auf, ist aber wohl überflüssig. Hier aktuell passt das leider nicht, auch wenn das noch einfacher wäre. Es können, wie gesagt, Werte (<li>) fehlen. Dann müsste ich da leere <li> ausliefern, das will ich auch nicht.

    Wenn ein Mensch nicht um dich kämpft, hat er nur gewartet, dass du gehst. ;(

  • Aktuell habe ich es mal mit <li> drinnen. Aber noch mal die Frage an Dich, wie würdest Du das mit <li> machen? Also so wie jetzt, drei <li>, also quasi <span> bzw. <div> einfach mit <li> ersetzen? So habe ich das jetzt seit gestern online. Semantisch scheint mir das aber mit <li> nicht so ganz korrekt. Siehe meinen Post oben drüber mit dem HTML-Code.

    Semantisch passend wäre es mit 6 <li>, aber das geht technisch nicht, siehe oben. Die Blöcke müssen öfters neu ausgerichtet werden und da eben teils "blockweise" und teilweise "wertweise". So mit den drei <li> geht das, schaut aus wie vorher, aber ob das so nun semantisch stimmt?

    Ich habs nicht ausprobiert, aber du muesstest die <li> dann auch auf display:block (oder inline-block?) umstellen damit du ihnen width:33% zuweissen kannst, und dann den platz mit padding einstellen. Vielleicht gehts auch mit diesem neumodischen flex irgendwie.

    Wenns nur schnell gehen soll und funktionieren muss einfach alles mit <table> formatieren :)

  • Float geht da leider nicht so einfach. Wie gesagt, einzelne Bereiche können auch leer sein und die anderen müssen dann dennoch da sein, wo sie sein sollen. Würde also bedeuten, ich müsste einen leeren Bereich mit einem leeren <li> angeben.

    Zudem ist die Reihenfolge im HTML-Code anders.

    Da ist

    1

    2

    3

    4

    5

    6

    Daraus muss werden

    1 3 5

    2 4 6

    Eben, wie gesagt, es können Bereiche fehlen, z.B. 2 und/oder 4, 6 muss aber rechts unten bleiben. Oder 4 muss in der Mitte unten bleiben, auch wenn 2 fehlt.

    Und mobil muss das daraus werden

    1 5

    2 6

    3

    4

    Mit <li> und Grid geht das aber sehr gut :)

    Wenn ein Mensch nicht um dich kämpft, hat er nur gewartet, dass du gehst. ;(

  • Also ich hasse Google. Habe nun ja eine Seite umgestellt auf "Grid". Andere auf "Div" und wieder andere bei "Span" belassen.

    Das drecks Google macht was es will. Selbst innerhalb einer Domain, wo alles identisch gemacht wird, sehen die Snippets anders aus.

    Gleiche Liste, gleiche Art, die Daten einzubinden.... Mal so, mal so...

    Zitat

    Waldhaus Weinberg, der Traum von absoluter Erholung · Ferienwohnung · 71 m² · max. 4 Personen · 1 Schlafzimmer · ab 54,00 € 4 Personen / Nacht.

    Ferienwohnung; 45 m²; max. 2 Personen; 1 Schlafzimmer; ab 355,00 € 2 Personen / Woche ... 4 Personen; 2 Schlafzimmer; ab 60,00 € 2 Personen / Nacht.

    Es nervt gewaltig, wenn Google da immer irgendwas "optimiert", ohne dass der Inhaber der Daten überhaupt einen Einfluss darauf hat, was Google mit den fremden Daten macht. Teilweise sind die Snippets so gänzlich sinnlos oder falsch, dass ich, würde ich danach suchen und einen mit so einen Snippet finden, mich fragen würde, ob der eigentlich noch alle Tassen im Schrank hat, was der Scheiß soll. Dabei ist das ja Google, das den Scheiß baut.

    Ich will in dem Zitat oben weder einen bescheuerten "Punkt" haben, noch ein "Semikolon". Am besten ein Leerzeichen oder wenn es sein muss, ein Komma.

    Wenn ein Mensch nicht um dich kämpft, hat er nur gewartet, dass du gehst. ;(