Gunnar Bittersmann: Schema Datei an der Kopfzeile

Beitrag lesen

@@Schlüsselmax

Ziel ist es in meinem HTML Code …

Mit HTML hat dein Code nicht viel gemeinsam; er ist üble div-Suppe.

Und invalide noch dazu, schon von Anfang an:

<html class="html">
<html lang="de">

Es darf nur ein html-Element geben. Dieses darf sowohl ein lang- als auch ein class-Attribut haben. Allerdings ist class="html" völlig sinnlos.

Der Markup-Checker wird dir noch andere Unstimmigkeiten sagen.

… die Schema Struktur einzufügen

Wie Der Martin schon sagte, dient microdata – und RDFa, dazu gleich mehr – eher dazu, bereits auf der Seite vorhandene Daten semantisch auszuzeichnen.

Und die Daten sind bei dir bereits vorhanden: unten im Footer.
„Copyright 2016 bei Schlüsselmax.at - +43 676 625 76 25 - Graben 12, 1010 Wien, (kein Ladengeschäft) info@schluesselmax.at
Impressum - Schlüsseldienst Wien - Aufsperrdienst Wien“

Das ist die passende Stelle, das Schema.org-Zeugs einzubauen; nicht die Daten nochmal zu duplizieren …

ich habe jetzt folgenden Code nach den Body tag eingefügt jedoch zeigt es mir auf meiner Homepage ([www.schluesselmax.at] an der Kopfzeile an.

… und falls doch duplizieren, sollte ein hidden-Attribut fürs äußere div Wunder wirken:

<div hidden itemscope itemtype="http://schema.org/LocalBusiness">

Diesen Hixie-microdata-Kram sollte es überhaupt nicht geben. Mit RDFa gab es schon einen Standard, und es sollte nicht zwei Standards für dasselbe geben.

Schritte, um microdata in RDFs umzuwandeln:

  1. Ersetze alle itemtype durch typeof sowie alle itemprop durch property. Entferne alle itemscope.

  2. Gib das Vokabular (hier Schema.org) im äußeren Element oder höher an. Dann muss bei Typen und Properties nicht mehr der vollständige URI angegeben werden. Beispiel:

<div hidden vocab="http://schema.org/" typeof="LocalBusiness"><div property="geo" typeof="GeoCoordinates">

Eine gute Stelle, das Vokabular anzugeben, wäre auch ganz oben beim html-Element:

<html lang="de" vocab="http://schema.org/">

Hier der Code

<div>Email: <span itemprop="email">
<a href='mailto:info@schluesselmax.at'>info@schluesselmax.at</a></span></div>

Das span-Element muss hier nicht sein; das itemprop- bzw. property-Attribut kann auch das a-Element haben. In RDFa also bspw.:

<a property='email' href='mailto:info@schluesselmax.at'>info@schluesselmax.at</a>
<meta itemprop="openingHours"  style='display: none'  datetime="Mo,Tu,We,Th,Fr,Sa,Su 0-0" />

Das ist wohl falsch. Es gibt kein datetime-Attribut fürs meta-Element. Entweder das content-Attribut verwenden oder das time-Element.

Und wie gesagt wäre die Auszeichnung der im Footer schon vorhandenen Inhalte sinnvoll. Das kriegst du hin?

Du kannst dir gerne einen Vortrag von mir zu diesem Thema und die Folien dazu ansehen.

LLAP 🖖

--
“The best way to help people learn: answer their coding question an hour later, they’ll have likely figured it out by then.” —Todd Motto
Selfcode: sh:) fo:} ch:? rl:) br:> n4:& va:| de:> zu:} fl:{ ss:| ls:# js:|