使用 Google 标签管理器在 JSON-LD 中转义字符串时出现问题

问题描述 投票:0回答:1

要从元标记中检索描述字符串:

<meta name="description" content="Impara a creare dati strutturati senza l'uso di plugin">

我使用以下 JavaScript 函数:

function() {
     var metaElement = document.querySelector('meta[name="description"]');
    return metaElement ? metaElement.getAttribute('content') : '';
}

接下来,我会将之前保存在 Google 跟踪代码管理器触发器中的变量注入到 JSON-LD 结构化数据中:

<script type="application/ld+json">
    {
        "@context": "http://schema.org",
        "@type": "BlogPosting",
        "description": "{{MetaDescription blogposting}}"
    }
</script>

但是,当字符串注入时,出现了这个问题:

"description": "Impara a creare dati strutturati senza l\x27uso di plugin"

我该如何解决这个问题,因为数据在注入到json-ltd时由于某种原因被某些东西修改了

javascript json google-tag-manager meta-tags rich-snippets
1个回答
0
投票

首先,您不应该通过标签管理系统注入模式标记。特别是,不是通过 GTM。这是一种不好的做法,有几个原因。这应该通过正常的前端手段来完成。通过 TMS 进行此操作可能是一种代价高昂的黑客行为。

不过,你的问题是微不足道的。您只需要在注入之前对字符串进行 url 解码即可。如果它是 JS,请更正

MetaDescription blogposting
变量,或者创建另一个对其进行解码的变量,如下所示:

function(){
  return decodeURIComponent({{MetaDescription blogposting}});
}
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.