打开图表选项卡链接的图表信息

jos*_*736 13 facebook opengraph

将链接直接发布到Facebook页面上的标签页时,

https://www.facebook.com/PAGENAME?sk=app_APPID
Run Code Online (Sandbox Code Playgroud)

Facebook选择了Page的Open Graph <meta>标签,这意味着链接帖子与Page的个人资料图片,名称以及"Page• nlike this" 的描述相关联.

我曾希望Facebook会使用og <meta>应用程序HTML中的标签,允许自定义链接帖子.

在链接帖子中提供带有自定义内容的Facebook页面上特定标签的直接链接的最佳方式是什么?

DMC*_*MCS 9

我可以看到完成此任务的最佳方式是在网站(www.example.com/fb/redirectorForApp.html)上托管重定向器页面,该页面在javascript超时时进行重定向.该重定向器页面包含您要指定的og标记.重定向将使人员登陆https://www.facebook.com/PAGENAME?sk=app_APPID.javascript重定向的优点在于重定向不是由linter运行的,因此它可以拾取正确的og:标签,同时还允许用户直接进入页面选项卡.祝好运!

  • 而不是JS重定向,你也可以使用PHP,所以用户将直接进入目标页面,但Facebook蜘蛛将留在这个页面,并从当前页面读取og标签:`<?if(strpos($ _ SERVER ['HTTP_USER_AGENT'],'facebookexternalhit')=== false){// useragent不是facebook spider标题("location:https://www.facebook.com/PAGENAME/app_APPID" ); }?> ..把你的html和og标签放在这里......` (2认同)

bor*_*kur 5

由于您的页面选项卡的内容位于iFrame内,因此Facebook刮刀将始终首先看到iFrame外部的元标记,这些元标记由Facebook设置并描述您的Facebook页面.尝试使用Facebook工具中的网址,并在页面底部查看抓取工具为您的网址看到的内容.很遗憾,您无法在iFrame中更改这些Facebook元标记.这就是为什么实现你想要的唯一方法是通过重定向.我在使用以下代码之前已完成此操作:

<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en" xmlns:og="http://ogp.me/ns#">
    <head>

        <!-- Facebook meta tags -->
        <meta property="og:title" content="bla"/>
        <meta property="og:url" content="https://yourdomain.com/redirect.html"/>
        <meta property="og:image" content="https://yourdomain.com/thumb.png"/>
        <meta property="og:site_name" content="bla"/>
        <meta property="fb:admins" content="1234"/>
        <meta property="og:description" content="bla"/>
        <meta property="og:type" content="website"/>
        <meta property="og:video" content="https://yourdomain.com/bla.swf?param=bla"/>
        <meta property="og:video:width" content="398"/>
        <meta property="og:video:height" content="224"/>
        <meta property="og:locale" content="de_DE"/>

        <script type="text/javascript" src="swfobject.js"></script>
    </head>
    <body>
        <!--  Check whether inside facebook -->
        <script type="text/javascript">
            function NotInFacebookFrame() {
                return top === self;
            }
            function ReferrerIsFacebookApp() {
                if(document.referrer) {
                    return document.referrer.indexOf("facebook.com") !== -1;
                }
                return false;
            }
            if (NotInFacebookFrame() || ReferrerIsFacebookApp()) {
                top.location.replace("https://www.facebook.com/PAGENAME?sk=app_APPID");
            }
        </script>
        <!-- content here -->
   </body>
</html>
Run Code Online (Sandbox Code Playgroud)