Det semantiske web og din hjemmeside

Det er sjældent, at man ser de store søgemaskiner arbejde tæt sammen. Men det skete faktisk for ganske nylig, hvor Google, Bing og Yahoo! slog pjalterne sammen og blev enige om et format for semantisk data markup. Det lyder nørdet, og det er også! Men det er en beslutning, som kan få temmelig stor betydning for, hvordan søgemaskiner forstår indholdet på din hjemmeside, og det er en beslutning, som kan få vidtrækkende konsekvenser for “intelligensen” af de søgeresultater, som eksempelvis Google kan producere.

Det semantiske web

Vi er blevet vant til temmelig intelligente søgemaskiner, som er i stand til at finde frem til information på millisekunder. Søgemaskinerne indekserer milliarder af hjemmesider, og præsenterer et imponerende søgeresultat lynhurtigt. Men pointen er, at søgemaskinen ikke “forstår” dine søgeord. Den kender ikke betydningen af hverken søgeordet eller søgeresultatet – i stedet scanner søgemaskinen alle de sider, der er i dens indeks, for at finde sider med det søgeord, som du har indtastet.

Det semantiske web ændrer på dette. I stedet for at skrive “Red hot chilli peppers billet Herning”,og muligvis få en temmelig lang liste af søgeresultater, så kunne jeg skrive “Hvornår spiller Red hot chilli peppers i Herning?”. Når vi kan skrive og tale til en søgemaskine, og vide, at den rent faktisk fatter, hvad vi spørger den om, så vil hele vores interaktion med søgemaskinen ændre sig ganske drastigt, og det vil give mulighed for helt nye typer af produkter fra søgemaskinerne. Tænk på den dag, hvor vi kan stille et spørgsmål til vores smartphone, og smartphonen reagerer ved at komme med et fyldestgørende svar med det samme!

Fremtiden er her – næsten – allerede

Google har igennem nogen tid eksperimenteret med dette. Prøv eksempelvis at søge på “Chicken pasta” på Google.com’s nye opskriftssøgning (http://www.google.com/search?q=chicken+pasta&tbs=rcp%3A1). Når du søger på disse søgeord, så returnerer Google en lang række opskrifter fra en masse forskellige websites.

Læg også mærke til i ovenstående screenshot, at Google viser søgeresultatet anderledes, end hvis det blot var et almindeligt søgeresultat. Brugeren får væsentligt flere informationer end normalt – man kan eksempelvis se en liste med ingredienser, hvor lang tid retten tager at lave, man kan se andre brugeres anmeldelser af retten, og man kan ikke mindst se et billede af retten. Alt i alt hjælper man derfor brugeren til at foretage et bedre valg allerede i Google.

Et lignende eksempel kan ses, hvis du tager din smartphone, og søger på eksempelvis “Frisør”. Google ved, at hvis du står i Vejle, så er du nok interesseret i frisører i Vejle, og ikke i Korsør, og derfor returnerer Google primært resultater fra Vejle.

Hvilken betydning har det for mig?

Der er en vigtig årsag til, at Google er i stand til at præsentere opskrifter på den ovenstående strukturerede facon. Denne årsag er de såkaldte microdata, som er en endnu ikke vedtaget standard, som følger med HTML5. Men at standarden endnu ikke er officielt vedtaget er de tre søgemaskiner altså temmelig ligeglade med!

Microdata er HTML-markup, som beskriver informationerne på en side. Med denne markup kan man eksempelvis beskrive, at en overskrift i virkeligheden er navnet på en person, og at et nummer er et telefonnummer til en bestemt person. Et eksempel på dette kan ses af følgende HTML:

<div itemscope="itemscope" itemtype="http://schema.org/Person">
<div itemprop="jobTitle">
Partner</div>
<div itemprop="name">
Peter Terkildsen
</div>
<div>
<span>Telefon</span><span itemprop="telephone">29479109</span></div>
<div>
<span>Email</span><span itemprop="email">email@email</span></div>
</div>

Læg mærke til de attributter, som er tilføjet til HTML’en: “itemscope”, “itemtype” og “itemprop”. Disse attributter benyttes til at beskrive den information, som følger. I ovenstående HTML fortæller jeg således, at der er tale om en person, og at det er personens navn, jobtitel, telefon og e-mail, som står i teksten.

På den måde kan man beskrive forskellige typer af objekter. Her og nu er der standarder for:

  • Kreativ udgivelse (bøger, film, musik)
  • Event
  • Organisation
  • Person
  • Lokation
  • Produkt
  • Anmeldelse

Under de forskellige typer er der forskellige undertyper. Eksempelvis er der på en lokation mulighed for at angive, at der er tale om en turistattraktion. Google, Bing og Yahoo! har lavet en fælles hjemmeside, som beskriver disse nærmere: http://schema.org/docs/gs.html#microdata_itemscope_itemtype

Pointen er, at der er tale om mange forskellige typer, og har du – som ejer af en hjemmeside – information, som kan klassificeres som en af disse typer, så kan du med fordel markere informationen op. Har du eksempelvis et e-handels website, så vil det give rigtig god mening at klassificere produkterne korrekt ved hjælp af semantisk data markup, da Google dermed vil vide, at der er tale om produkter med dertil hørende information. Eksempel fra Googles dokumentation:

<pre><div itemscope itemtype="http://data-vocabulary.org/Product">
  <span itemprop="brand">ACME</span> <span itemprop="name">Executive
    Anvil</span>
  <img itemprop="image" src="anvil_executive.jpg" />

  <span itemprop="description">Sleeker than ACME's Classic Anvil, the
    Executive Anvil is perfect for the business traveler
    looking for something to drop from a height.
  </span>
  Category: <span itemprop="category" content="Hardware > Tools > Anvils">Anvils</span>
  Product #: <span itemprop="identifier" content="mpn:925872">
    925872</span>
  <span itemprop="review" itemscope itemtype="http://data-vocabulary.org/Review-aggregate">
    <span itemprop="rating">4.4</span> stars, based on <span itemprop="count">89
      </span> reviews
  </span>

  <span itemprop="offerDetails" itemscope itemtype="http://data-vocabulary.org/Offer">
    Regular price: $179.99
    <meta itemprop="currency" content="USD" />
    $<span itemprop="price">119.99</span>
    (Sale ends <time itemprop="priceValidUntil" datetime="2010-11-05">
      5 November!</time>)
    Available from: <span itemprop="seller">Executive Objects</span>
    Condition: <span itemprop="condition" content="used">Previously owned,
      in excellent condition</span>
    <span itemprop="availability" content="in_stock">In stock! Order now!</span>
  </span>
</div></pre>

Med ovenstående markup vil du sikre dig, at Google får præcis information om dit produkt. Google (og de andre søgemaskiner) vil lære væsentlige detaljer såsom navnet, anmeldelser, priser, lagerbeholdning og meget andet. Det vil ikke give dig en bedre placering i Google, men det vil give brugeren af Google væsentlig flere informationer, og dermed kan du måske lokke flere brugere ind på websitet.

Ovenstående er et screenshot, som er taget fra http://www.google.com ved en søgning efter en Iphone. Funktionen er endnu ikke kommet til Danmark, så vi må nøjes med at se fremtiden i USA. Som du kan se fra ovenstående, så bliver produkterne præsenteret allerede i søgeresultatet med billede, produktkategori, pris og anmeldelser, og Google har bygget en decideret prissammenligningsfunktion, så man hurtigt kan finde frem til billigste produkt. Læg også mærke til de mange muligheder, der er for at filtrere søgeresultatet i venstre side.

Så hvis man skal prøve at summere op, hvorfor dette er interessant for dig, som ejer af en hjemmeside, så er der følgende argumenter:

  • Dine informationer bliver præsenteret væsentligt pænere i Google. Har du produktoplysninger vil disse oplysninger kunne blive præsenteret allerede i søgeresultatet.
  • I dag har semantisk data markup ingen betydning for placeringen i Google. Men man kan sagtens forestille sig, at det får en betydning i den nærmeste fremtid. Det handler derfor om at gøre sig klar til fremtiden.
  • Hvis du anvender Bleau Google Site Search på din egen hjemmeside, så vil du kunne præsentere informationer på samme vis, som Google gør det, og dermed skabe et endnu bedre søgeresultat.

Hvordan gør jeg?

Det lyder enormt bøvlet, at man skal indsætte diverse HTML-kode for at få dette vil at virke. Men hvis du har dine data i en database eller i et CMS, så behøver det slet ikke at være besværligt. I så tilfælde er det blot at bede en udvikler om at tilføje HTML‘en til den HTML, der allerede er lavet.  I Bleau har vi lavet de nødvendige rettelser til vores telefonbogsmodul, så alle medarbejdere tagges korrekt op, og vi laver snarest en rettelse til Dynamicweb eCommerce, så også produkter bliver gjort tilgængelige. Man kunne hurtigt gøre det samme med eksempelvis Dynamicwebs kalendermodul.

Man kan håbe på, at de enkelte CMS-producenter snarest tager dette til sig, og bygger det ind over alt i deres produkter. Jeg ved, at Drupal allerede er på vej – men hvad med Sitecore, Umbraco og Dynamicweb?

Indtil det sker, så er det dog temmelig let at implementere, så det er bare om at komme i gang!

Links

Hvis du vil vide mere, så er der her et par links:

Advertisements

4 thoughts on “Det semantiske web og din hjemmeside

  1. Hej Peter

    Tak for en god letforståelig gennemgang. Jeg er også ganske sikker på at man ligeså godt kan komme i gang med at “spice” sin markup op med microdata. Som altid er søgemaskinerne ude på at hjælpe de søgende, og hjælper du søgemaskinerne med at finde det mest relevante til de søgende, så vil søgemaskinerne belønne dig med en højere ranking. Så på sigt er jeg sikker på at f.eks. microdata vil have indflydelse på ranking. Det ville bare være fedt hvis man havde en specifikation at arbejde ud fra 🙂

    Vi arbejder udelukkende med Umbraco i LAIT, og i og med at Umbraco ikke definerer noget omkring præsentation og markup, så er det udelukkende et spørgsmål om at vi som udviklere bygger nogen mere semantik ind i vores præsentations-kode. Jeg tror det er tilfældet i stort set alle seriøse CMS’er. Således er det nok mere udviklerne end CMS’erne du er ude efter med sætningen “Man kan håbe på, at de enkelte CMS-producenter snarest tager dette til sig, og bygger det ind over alt i deres produkter.”.

    Mvh. Anders

  2. Kom selv mere tæt ind på microdata, da jeg læste bogen Adaptive Web Design af Aaron Gustafson.

    Jeg synes absolut vi bør tænke meget mere i formatet, fordi det giver mange flere muligheder, men også fungerer som et af flere lag i progressive enhancement. Hvorfor ikke give den ekstra oplevelse til dem, som kan få gavn af det? Som du selv er inde på, så kræver det ikke ret meget.

  3. Hej Anders,

    Tak for din kommentar og de rosende ord. 🙂

    Du har 100 % ret i, at vi som udviklere/konsulenter selv kan gøre rigtig meget, og at bolden langt hen ad vejen ligger hos os. Jeg tror dog, at der visse steder kunne være god mening i, at CMS-producenterne også lagde det ind fra start. Jeg arbejder f.eks. en del med Dynamicweb CMS (på godt og ondt), som har et rigtig godt e-handelsmodul. I dette modul kunne man egentlig godt forvente, at det lå indbygget – f.eks. i en standardtemplate. Så slipper vi for at skulle huske det. 🙂

    Jeg kan se, at i bygger på Umbraco. Det er et fedt system!

  4. Hej Michael,

    Jeg kan se, at der er en bog, der er gået min næse forbi. Den er hermed købt! 🙂

    En eller anden dag må jeg se at få tygget mig igennem alle de bøger, jeg efterhånden får samlet sammen. Det bliver godt med en god lang ferie!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s