{"id":4678,"date":"2012-09-21T12:00:46","date_gmt":"2012-09-21T10:00:46","guid":{"rendered":"http:\/\/notizblog.org\/?p=4678"},"modified":"2022-03-31T18:15:01","modified_gmt":"2022-03-31T16:15:01","slug":"schema-org-what-ive-learned-so-far","status":"publish","type":"post","link":"https:\/\/notiz.blog\/2012\/09\/21\/schema-org-what-ive-learned-so-far\/","title":{"rendered":"Schema.org &#8211; what I&#8217;ve learned so far"},"content":{"rendered":"\n<div class=\"wp-block-image\"><figure class=\"alignright\"><img decoding=\"async\" src=\"https:\/\/notiz.blog\/wp-content\/uploads\/2012\/09\/html5-badge-h-semantics.png\" alt=\"HTML5 Semantics Badge\"\/><\/figure><\/div>\n\n\n\n<p>Beim &#8222;basteln&#8220; an <a href=\"https:\/\/notiz.blog\/2012\/09\/06\/ive-made-a-wordpress-theme-kind-of\/\">SemPress<\/a>, meinem ersten WordPress Theme, habe ich das erste Mal praktische Erfahrungen mit <a href=\"https:\/\/schema.org\/\">Schema.org<\/a> gesammelt und mir sind vor allem zwei Dinge klar geworden: 1. Warum Schema.org nach einer Art &#8222;Vererbungs&#8220;-Prinzip aufgebaut ist und 2. Wie Google mit Schema.org umgeht.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The http:\/\/schema.org\/Thing<\/h2>\n\n\n\n<p>Das &#8222;einfachste&#8220; Schema ist ein &#8222;<a href=\"http:\/\/www.schema.org\/Thing\">Thing<\/a>&#8220; und hat folgende Attribute:<\/p>\n\n\n\n<figure class=\"wp-block-table alignwide\"><table><tbody><tr><th><code>description<\/code><\/th><td>TEXT<\/td><td>A short description of the item.<\/td><\/tr><tr><th><code>image<\/code><\/th><td>URL<\/td><td>URL of an image of the item.<\/td><\/tr><tr><th><code>name<\/code><\/th><td>TEXT<\/td><td>The name of the item.<\/td><\/tr><tr><th><code>url<\/code><\/th><td>URL<\/td><td>URL of the item.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Da alle anderen Objekte auf dem &#8222;Thing&#8220; aufbauen, kann man davon ausgehen dass man mind. auf diese vier Eigenschaften zugreifen kann und genau <strong>das<\/strong> ist der ganze Sinn hinter dieser Struktur.<\/p>\n\n\n\n<p>Vor allem Google setzt massiv auf Schema.org, sei es beim Einsatz in der Suche (\u00fcber die sogenannten <a href=\"http:\/\/support.google.com\/webmasters\/bin\/answer.py?hl=en&amp;answer=99170&amp;topic=21997&amp;ctx=topic\">Rich-Snippets<\/a>)&#8230;<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/notiz.blog\/wp-content\/uploads\/2012\/09\/richsnippet-schema-example.png\" alt=\"rich snippets example\"\/><\/figure><\/div>\n\n\n\n<p>&#8230;oder beim Anreichern der, \u00fcber <a href=\"https:\/\/web.archive.org\/web\/20130117015514\/https:\/\/developers.google.com\/+\/plugins\/snippet\/\">Google+ oder den +1 Button<\/a> geteilten Links.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/notiz.blog\/wp-content\/uploads\/2012\/09\/googleplus-schema-example.png\" alt=\"Google+ Example\"\/><\/figure><\/div>\n\n\n\n<p>Um das Parsen der Webseiten (zumindest f\u00fcr diese eher einfachen Ausgaben) auf ein Minimum zu reduzieren, ist die Grundstruktur immer gleich und alles dar\u00fcber hinaus ist reine K\u00fcr. Wahrscheinlich werden aber 90% aller Anwendungen mit Titel (name), Beschreibung, Bild und URL auskommen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Googles Umgang mit Schema.org<\/h2>\n\n\n\n<p>Wer seine Seite mit Schema.org auszeichnen m\u00f6chte, sollte vor allem eines Beachten: <strong>Google+ (wahrscheinlich aber auch alle anderen Google Produkte) interpretiert immer das erste im Quellcode verwendete Schema!<\/strong><\/p>\n\n\n\n<p>Bei meiner ersten Implementierung von Schema.org habe ich mich etwas zu sehr an RSS bzw. Atom orientiert und folgenden Aufbau gew\u00e4hlt: Ein umschlie\u00dfendes Objekt um den Blog zu beschreiben und ein oder mehrere referenzierte Artikel.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"HTML, XML\" data-shcb-language-slug=\"xml\"><span><code class=\"hljs language-xml\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">body<\/span> <span class=\"hljs-attr\">itemscope<\/span> <span class=\"hljs-attr\">itemtype<\/span>=<span class=\"hljs-string\">\"http:\/\/schema.org\/Blog\"<\/span>&gt;<\/span>\n...\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">header<\/span> <span class=\"hljs-attr\">id<\/span>=<span class=\"hljs-string\">\"branding\"<\/span> <span class=\"hljs-attr\">role<\/span>=<span class=\"hljs-string\">\"banner\"<\/span>&gt;<\/span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">hgroup<\/span>&gt;<\/span>\n      <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">h1<\/span> <span class=\"hljs-attr\">id<\/span>=<span class=\"hljs-string\">\"site-title\"<\/span> <span class=\"hljs-attr\">itemprop<\/span>=<span class=\"hljs-string\">\"name\"<\/span>&gt;<\/span><span class=\"php\"><span class=\"hljs-meta\">&lt;?php<\/span> bloginfo( <span class=\"hljs-string\">'name'<\/span> ); <span class=\"hljs-meta\">?&gt;<\/span><\/span><span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">h1<\/span>&gt;<\/span>\n      <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">h2<\/span> <span class=\"hljs-attr\">id<\/span>=<span class=\"hljs-string\">\"site-description\"<\/span> <span class=\"hljs-attr\">itemprop<\/span>=<span class=\"hljs-string\">\"description\"<\/span>&gt;<\/span><span class=\"php\"><span class=\"hljs-meta\">&lt;?php<\/span> bloginfo( <span class=\"hljs-string\">'description'<\/span> ); <span class=\"hljs-meta\">?&gt;<\/span><\/span><span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">h2<\/span>&gt;<\/span>\n    <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">hgroup<\/span>&gt;<\/span>\n  <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">header<\/span>&gt;<\/span>\n...\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">article<\/span> <span class=\"hljs-attr\">itemprop<\/span>=<span class=\"hljs-string\">\"blogPost\"<\/span> <span class=\"hljs-attr\">itemscope<\/span> <span class=\"hljs-attr\">itemtype<\/span>=<span class=\"hljs-string\">\"http:\/\/schema.org\/BlogPosting\"<\/span>&gt;<\/span>\n  ...\n  <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">article<\/span>&gt;<\/span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">article<\/span> <span class=\"hljs-attr\">itemprop<\/span>=<span class=\"hljs-string\">\"blogPost\"<\/span> <span class=\"hljs-attr\">itemscope<\/span> <span class=\"hljs-attr\">itemtype<\/span>=<span class=\"hljs-string\">\"http:\/\/schema.org\/BlogPosting\"<\/span>&gt;<\/span>\n  ...\n  <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">article<\/span>&gt;<\/span>\n...\n<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">body<\/span>&gt;<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">HTML, XML<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">xml<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Egal ob es jetzt um mehrere Artikel (Startseite) oder nur einen Artikel (Post oder Page) gehandelt hat.<\/p>\n\n\n\n<p>Das hat bei Google+ dazu gef\u00fchrt, dass die notizBlog-Links immer mit dem Titel, der Beschreibung und dem Bild des Blogs und nicht mit denen des Artikels verkn\u00fcpft wurden. Es ist also gerade f\u00fcr Blogs wichtig, dass das <a href=\"https:\/\/schema.org\/Blog\">Blog-Schema<\/a> nur auf den \u00dcbersichtsseiten benutzt wird und die Einzelansichten lediglich mit &#8222;http:\/\/schema.org\/BlogPosting&#8220; bzw. &#8222;http:\/\/schema.org\/WebPage&#8220; ausgezeichnet werden.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Beim &#8222;basteln&#8220; an SemPress, meinem ersten WordPress Theme, habe ich das erste Mal praktische Erfahrungen mit Schema.org gesammelt und mir sind vor allem zwei Dinge klar geworden: 1. Warum Schema.org nach einer Art &#8222;Vererbungs&#8220;-Prinzip aufgebaut ist und 2. Wie Google mit Schema.org umgeht. The http:\/\/schema.org\/Thing Das &#8222;einfachste&#8220; Schema ist ein &#8222;Thing&#8220; und hat folgende Attribute: [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"webmentions_disabled_pings":false,"webmentions_disabled":false,"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":4,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"","footnotes":""},"categories":[2],"tags":[5171,123,956,973,874],"class_list":{"0":"post-4678","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-web","7":"tag-fediblog","8":"tag-google","9":"tag-schema-org","10":"tag-sempress","11":"tag-websemantics","12":"h-entry","13":"hentry"},"_links":{"self":[{"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/posts\/4678","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/comments?post=4678"}],"version-history":[{"count":4,"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/posts\/4678\/revisions"}],"predecessor-version":[{"id":21853,"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/posts\/4678\/revisions\/21853"}],"wp:attachment":[{"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/media?parent=4678"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/categories?post=4678"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/notiz.blog\/wp-api\/wp\/v2\/tags?post=4678"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}