【问题标题】:Dynamic social meta tags in urlurl 中的动态社交元标记
【发布时间】:2015-12-29 06:25:09
【问题描述】:

这就是我面临的挑战。

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

    <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

谢谢。

【问题讨论】:

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


    【解决方案1】:

    首先,我想重申一下,我几乎可以肯定您的问题是由于您传递给调试器的 url 不是动态生成的。 url 标签本质上是一个重定向器。除非它与您正在测试的 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] ?>"/>
    

    您似乎还把所有东西都塞进了 url,这很危险,可能会引起巨大的头痛,这可能是这里的问题。相反,只推一件事,例如 ?type=bistro 然后从数据库传播必要的数据。

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

    如果您对 OG 有疑问,请不要犹豫,将它们作为新问题而不是 cmets 发布,因为我保证其他人也有同样的问题。

    Refer This Page

    【讨论】:

    • 感谢您的回答ivin。但我的问题不是向元标记添加动态内容。我的问题是如何生成整个 标记行。就像我说的想象我有一个没有元标记占位符的模板。换句话说,我无法将值传递给 中的内容属性。有没有其他方法可以生成元标记并通过 HTTP 响应传递它们?如果是,响应字符串应该是什么样子?谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-12
    • 2017-01-19
    • 1970-01-01
    • 1970-01-01
    • 2019-10-21
    • 2022-01-10
    • 1970-01-01
    相关资源
    最近更新 更多