Facebook Meta-Tags in validem XHTML 1.1

Um die Nutzung der Social Plugins von Facebook zu verbessern, kann man selber bestimmen, welches Bild Facebook als Miniaturbild nutzen soll. Dies geschieht über die Angabe von bestimmten Meta-Tags.

Diese sind nicht XHTML 1.1 valide. Dort kann aber nachgebessert werden, sodass der W3C-Validator nicht meckert.

Zusätzliche Meta-Angaben für Facebook, wie auf der Seite des Social Plugins „Like-Button“ zu sehen, zeigen Facebook beispielsweise welches Bild als Miniaturbild genutzt werden soll. Außerdem ist es möglich einen zusätzlichen Titel für die Seite anzugeben, den Facebook anstatt dem <title>-Tag nutzen soll.

Die folgenden, dort gezeigten Meta-Tags sind nicht XHTML valide.

<meta property="og:title" content="The title of your page" />
<meta property="og:site_name" content="The name of your web site" />
<meta property="og:image" content="The URL of the best picture for this page" />

Das Problem wird umgangen, indem wir diese Meta-Tags nur dann anzeigen lassen, wenn Facebook die Seite durchsucht. Dazu benötigen wir den Browser-Agent von Facebook.

Dieser lautet:facebookexternalhit/1.0 (+http://www.facebook.com/externalhit_uatext.php)


Update:

Nun lautet der Facebook Browser-Agent wie folgt:facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)


Nun folgen zwei Beispiele für den Lösungsweg. Einmal für normale PHP-Seiten, einmal für TYPO3 per TypoScript.

<html>
<head>
	 <?php
	 if($_SERVER['HTTP_USER_AGENT'] == 'facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)') { ?>
		  <meta property="og:title" content="The title of your page" />
		  <meta property="og:site_name" content="The name of your web site" />
		  <meta property="og:image" content="The URL of the best picture for this page" />
	 <?php } ?>
</head>
<body>
...
[useragent = facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)]
page.headerData.15 = HTML
page.headerData.15.value (
	<meta property="og:title" content="The title of your page" />
	<meta property="og:site_name" content="The name of your web site" />
	<meta property="og:image" content="The URL of the best picture for this page" />
)
[global]

Nun sollte Facebook eure explizit bereitgestellten  Informationen abrufen können und der W3C-Validator nichts mehr zu meckern haben.

Ist das Klasse?

Bis demnächst!

 

Bewerte diese Seite

 
 
 
 
 
 
 
Bewerten
 
 
 
 
 
 
8 Bewertungen
88 %
1
5
4.4
 

Veröffentlicht von

Kevin Lieser

Kevin Lieser

Kevin Lieser ist ausgebildeter Mediendesigner und seit 2008 mit der TYPO3 Agentur KA Mediendesign unternehmerisch tätig. Seine Leidenschaften sind gutes Webdesign und die PHP Programmierung. Als App Entwickler und Autor mehrerer TYPO3 Extensions engagiert er sich aktiv für die Weiterentwicklung von Webapplikationen und mobilen Anwendungen.