L'Open Graph utilizza l'URL come identificativo dell'oggetto, quindi non è possibile avere più oggetti su una pagina, la pagina è l'oggetto.
Invece, avrete bisogno di un URL per ogni oggetto e quell'URL dell'URL dovrebbe contenere il markup OG corretto.
È possibile inserire più pulsanti simili in una pagina e farli puntare su ciascun oggetto specificando il parametro "href" per ciascun pulsante simile.
Tuttavia, se si desidera che l'utente per finire di nuovo la pagina stessa cosa quando si clicca sul link per ognuno di questi oggetti, si può fare questo, ma è un po 'furbata ...
Sul pagine oggetto, sul tuo server, guarda la richiesta in entrata useragent. Se useragent contiene la stringa 'facebookexternalhit', quindi esegui il rendering dell'HTML e del markup OG - questo è il modo in cui il raschietto di Facebook vede la tua pagina. Se useragent non contiene questa stringa, esegui un reindirizzamento 302 alla pagina che desideri venga visualizzata dall'utente.
Risultato? Molti oggetti, ma solo una pagina visibile all'utente. Vincere.
e questo è come si dovrebbe fare:
<?php
if ($_SERVER["HTTP_USER_AGENT"] != "facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)") {
redirect('http://www.somesite.com', 302);
}
function redirect($url, $type=302) {
if ($type == 301) header("HTTP/1.1 301 Moved Permanently");
header("Location: $url");
die();
}
?>
<html...
fonte
2011-10-05 10:15:24