php redirect url с og metatag (открытый график)

У меня есть страница перенаправления на стороне сервера в PHP redirect.php Эта страница перенаправляет пользователя с помощью функции PHP header() :

 header( 'location: mypage.html?test' ); 

Есть ли способ добавить некоторые метатеги OG (Open Graph) таким образом, что когда кто-то поделится страницей redirect.php на Facebook и аналогичных веб-сайтах, эти свойства будут применены?

 <meta property="og:title" content="Facebook should load this when shared redirect.php"/> 

Поскольку redirect.php переадресовывается всякий раз, когда к нему обращаются или / и выполняется, это было бы невозможно, но с помощью простого оператора if мы можем разрешить Facebook Debugger читать метатеги OG страницы, как показано ниже

PHP

 <?php if (in_array($_SERVER['HTTP_USER_AGENT'], array( 'facebookexternalhit/1.1 (+https://www.facebook.com/externalhit_uatext.php)', 'facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)' ))) { header("HTTP/1.1 200 OK"); print '<html prefix="og: http://ogp.me/ns#"> <head> <title>{title}</title> <meta property="og:title" content="{OG Title}" /> <meta property="og:type" content="website" /> <meta property="og:url" content="http://example.com" /> <meta property="og:image" content="http://example.com/og_img.jpg" /> </head> </html>'; } else { // You're not Facebook agent '__' header('Location: mypage.html?test'); } 

Имейте в виду, что это работает только с ботом Facebook, который вызывает проблемы с индексацией этой страницы в Google или Twitter, поэтому я предлагаю вам использовать JavaScript location.href вместо этого.

Справка

  • Как распознать Facebook-агент