url中的动态社交元标记

时间:2015-10-01 09:03:21

标签: html facebook-graph-api meta-tags

所以这就是我所面临的挑战。

我有一堆后端控制器来获取请求并生成一些响应。 我知道前端人员可以使用这些响应并动态生成所需的社交元标记。例如,他们可以在模板中生成以下代码段:

    <meta property="og:url" content="" >
    <meta property="og:description" content="" >
    <meta property="og:image" content="" >

但我的问题是,无论如何我可以通过URL发送社交标签。 换句话说,我不希望有一个模板与社交标签的一些占位符。我只想在请求特定URL并通过URL传递它们时动态生成它们。

类似于:http://example.com/api/action?og:image=someimage.png

谢谢。

1 个答案:

答案 0 :(得分:0)

首先,我想重申,我几乎肯定你的问题是由于你传入调试器的url不是动态生成的。 url标记基本上充当重定向器。除非它是完全相同的(意味着url元对象上的元标记与您传入的网址上的元标记相同)作为您正在测试的网址,否则您将无法获得您正在寻找的结果。

元标记

<meta property="og:url"> 

需要动态生成。调试器被重定向到您的默认索引页而不是动态生成的页面。

例如,我为我正在使用的每个对象分配一个id,所以我有类似下面的内容

<meta property="og:url" content="http://Example.com/index.php?id=<?php echo $_GET['id'] ?>"/>

我将确切的url传入调试器,因此调试器所在的最后一页将是那个确切的URL。

另外,在下面的

<meta property="og:type" content=""/>

如何动态生成属性?您是否记得在实际代码中设置如下内容?

<meta property="og:type" content="<?php echo _GET['type] ?>"/>

你似乎也把所有东西推到了网址中,这很危险并且可能引起巨大的麻烦,这可能是这里的问题。相反,只推一件事,例如?type = bistro,然后从DB传播必要的数据。

我建议基于object_id动态生成大多数OG标记。存储每个object_id的相关OG信息,然后在访问时传播它们。这样,您还可以轻松扩展和编辑OG更新时使用的标记。

如果你遇到OG问题,你应该毫不犹豫地将它们作为新问题而不是评论发布,因为我保证其他人也会遇到同样的问题。

Refer This Page