Open Graph использует URL в качестве идентификатора объекта, поэтому невозможно иметь несколько объектов на одной странице, страница является объектом.
Вместо этого вам потребуется URL для каждого объекта, и HTML-код этого URL должен содержать правильную разметку OG.
Вы можете разместить несколько одинаковых кнопок на одной странице и сделать так, чтобы они указывали на каждый из ваших объектов, указав параметр «href» для каждой кнопки «Нравится».
Однако, если вы хотите, чтобы пользователь снова оказался на той же странице, когда он нажимал на ссылку на каждый из этих объектов, вы можете сделать это, но это немного сложно ...
На страницах ваших объектов, на вашем сервере, посмотрите на useragent входящего запроса. Если useragent содержит строку «facebookexternalhit», то визуализируйте HTML и разметку OG - это то, как скребок Facebook видит вашу страницу. Если useragent не содержит эту строку, выполните перенаправление 302 на страницу, которую должен видеть пользователь.
Результат? Много объектов, но только одна видимая пользователю страница. Win.
А вот как бы вы это сделали:
<?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...