kunstmaan/seo-bundle

在当今社会,对于内容进行元数据标注以实现社交分享和SEO优化不容忽视。KunstmaanSeoBundle 包含了对 OpenGraph 数据、元描述、关键词、标题和 Metriweb 标签的默认编辑功能。因为元标记和跟踪选项总是在变化,所以还提供了一个自由字段,可以添加自定义头部信息。

安装量: 117,967

依赖项: 2

建议者: 0

安全性: 0

星标: 24

关注者: 15

分支: 2

类型:symfony-bundle

7.1.1 2024-03-31 20:24 UTC

This package is auto-updated.

Last update: 2024-09-20 20:10:58 UTC


README

Build Status Total Downloads Latest Stable Version Analytics

在当今社会,对于内容进行元数据标注以实现社交分享和SEO优化不容忽视。KunstmaanSeoBundle 包含了对 OpenGraph 数据、元描述、关键词、标题和 Metriweb 标签的默认编辑功能。因为元标记和跟踪选项总是在变化,所以还提供了一个自由字段,可以添加自定义头部信息。

查看更多截图和信息 https://cms.kunstmaan.be

安装

此扩展包与所有 Symfony 3.* 版本兼容。有关安装的更多信息,请参阅安装 Symfony 和所有扩展包的逐行说明,请参阅入门指南并享受完整的体验。

Symfony 2.2

如果您想为 Symfony 2.2 版本使用此扩展包,请使用 2.2 分支。

使用

元数据

在您的模板中定义以下内容以导入所有 SEO 元数据。此 SEO 元数据在后台页面 SEO 标签中设置。

    {% if page is defined %}
        {{ render_seo_metadata_for(page) }}
    {% endif %}

对于标题,有几种选项。有几个 twig 函数可以根据找到的第一个返回标题。如果它们都为空或为空字符串,它将返回一个空字符串。

get_title_for twig 函数使用以下顺序

  • SEO 标题
  • 页面标题 如果没有设置,它将返回一个空字符串。

另一个选项是 get_title_for_page_or_default。此 twig 函数接受一个默认字符串作为回退。

  • SEO 标题
  • 默认字符串
  • 页面标题

您还可以通过 get_seo_for 函数访问原始 SEO 对象。

社交小部件

最后,SEO 扩展包还可以生成“社交小部件”,例如 Facebook 喜欢按钮。目前仅支持 Facebook 喜欢和 LinkedIn 产品。

使用 get_social_widget_for 函数。示例:get_social_widget_for(page, 'linkedin')

您可以覆盖生成 HTML 输出的所有函数的视图。

Google Analytics

SEO 扩展包中添加了一些辅助工具来控制 Google Analytics。

这些辅助工具依赖于此扩展包中提供的 analytics.js 文件的包含。该脚本本身依赖于 jQuery。

    {% javascripts
        'vendor/jquery/jquery.js'
        '@KunstmaanSeoBundle/Resources/public/js/analytics.js'
        output='frontend/footer.js'
    %}
        <script src='{{ asset_url }}'></script>
    {% endjavascripts %}

首先是 google_analytics_initialize,它将在您的配置中查找 Google Analytics 账户 ID。

    parameters:
        google.analytics.account_id: 'UA-XXXXX-1'

您还可以将 account_id 作为参数传递给函数。

    {{ google_analytics_initialize({'account_id': 'UA-XXXXX-1'}) }}

此脚本将设置一个命令队列 (_gaq) 和 Google Analytics 脚本本身 (_ga)。当 Twig 处于调试模式时,它不会初始化脚本,而是将所有请求直接输出到控制台。这样,您可以轻松监控 Google Analytics 在生产环境中计划执行的操作。

脚本将自动跟踪下载、外部链接、电子邮件地址链接和按钮点击。

最后,我们还提供了一个JavaScript函数,您需要在Twitter/Facebook SDK加载完毕后手动调用。这将通过SDK绑定回调,以记录事件。

    googleAnalyticsApi.trackSocial('optional pageurl', 'optional trackername')

我们还添加了电子商务跟踪的辅助工具。您需要设置一个Order对象,并包含其OrderItem,然后将它传递给google_analytics_track_ordertwig函数。这将输出正确格式的Google Analytics语法。

    public function service(ContainerInterface $container, Request $request, RenderContext $renderContext)
    {
        $order = (new Order())
            ->setShippingTotal(5)
            ->setTransactionID('ORD2013-00231');

        $order->orderItems[] = (new OrderItem())
            ->setName('ACME 3000 Starter Kit')
            ->setQuantity(20)
            ->setUnitPrice(13.5)
            ->setTaxes((20 * 13.5) * 0.21)
            ->setCategoryorVariation('World Domination')
            ->setSKU('ACM300-SK');

        $order->orderItems[] = (new OrderItem())
            ->setName('Super Duper Kit')
            ->setQuantity(1)
            ->setUnitPrice(3000)
            ->setTaxes((3000) * 0.21)
            ->setCategoryorVariation('Fun')
            ->setSKU('SDK-3000');

        $renderContext['order'] = $order;
    }
    {{ google_analytics_track_order(order) }}