Twig 模板添加 JSON-LD 副本

Twig template adds JSON-LD duplicate

我有这个主页,当我执行我的模板时,JSON-LD 脚本在我的页面内重复(1 个在 HEAD 中,1 个在页面中间)。

我只是不明白为什么这个脚本是运行另一次在页面中间...

所以这是我的代码:header,我在其中引入了 JSON-LD 脚本和 bodyContent 块,您可以在其中找到页面内容。

{% block header %}
    {% block head_javascript %}
        <script type="application/ld+json">
            {
                "@context": "http://schema.org",
                "@type": "WebSite",
                "url": "",
                "description": "",
                "name": ""
            }
        </script>
    {% endblock%}
{% endblock %}

{% block bodyContent %}
   {# TAG | SELECTION #}
    <div>

        <h2> {{ 'title' }} </h2>
        <p> {{ 'desc' }} </p>

    </div>

    <div>

        <div>

            <h1>{{ 'create.title' }}</h1>
            <p>
                {{ 'create.desc' }}
            </p>

            <div>

                <div>
                    {% set texte %}{{ 'create.step.one' }}{% endset %}
                    {% set svg %}svg:cursor-mkp.svg.twig{% endset %}
                    {% set number %}1{% endset %}
                    {{ include(':step.html.twig') }}
                </div>

                <div>
                    {% set texte %}{{ 'create.step.two' }}{% endset %}
                    {% set svg %}svg:mkp.svg.twig{% endset %}
                    {% set number %}2{% endset %}
                    {{ include('idea-step.html.twig') }}
                </div>
            </div>
            <a href="{{path('path.mkp')}}">
                <button>{{ 'create.button' }}</button>
            </a>
        </div>

    </div>

{% endblock %}

我在 Google Structured Data Testing Tool 中发现了这个错误。确实,我已经看到两次相同的结构化数据。

这对某人有帮助吗:

在我的控制器中,我的 header 块正在生成比我看到的更多的代码,在我将我的 jsonld 脚本移出 header 块之前我无法检查它。

现在它运行良好,我没有 2 次相同的代码段。

{% block header %}
{% endblock %}

{% block head_javascript %}
    <script type="application/ld+json">
        {
            "@context": "http://schema.org",
            "@type": "WebSite",
            "url": "",
            "description": "",
            "name": ""
        }
    </script>
{% endblock%}