janit/ez-amp-bundle

提供加速移动页面(AMP)支持的eZ平台插件包

安装: 723

依赖: 0

建议者: 0

安全: 0

星标: 3

关注者: 2

分支: 2

开放问题: 0

语言:Twig

类型:ezplatform-bundle

v0.14.0 2017-12-10 09:11 UTC

This package is auto-updated.

Last update: 2024-09-08 05:23:53 UTC


README

这是一个对eZ平台CMS的扩展,提供了加速移动页面(AMP)支持。

加速移动页面是谷歌为了加快移动浏览速度而发起的一项计划。AMP是一种基于HTML的开放标准。它通过限制功能来强制执行性能,并通过谷歌的远程缓存来允许快速嵌入到搜索结果中。

鉴于谷歌持续的统治地位,出版商和CMS供应商都需要考虑AMP。此插件包使得eZ Platform安装能够快速访问内容对象的AMP格式版本。

安装

安装类似于大多数Symfony插件包

使用Composer安装

composer require janit/ez-amp-bundle

这将从Packagist(ez-amp-bundle)下载并安装包到您的本地环境

更新AppKernel

打开应用程序内核并添加插件包


<?php
// app/AppKernel.php

// ...
class AppKernel extends Kernel
{
    public function registerBundles()
    {
        $bundles = array(
            // ...
            new Janit\EzAmpBundle\EzAmpBundle(),
        );
    }

    // ...
}

这将加载并启用eZ AMP插件包,在应用程序启动时。

添加路由

将以下内容添加到您的app/config/routing.yml

ez_amp:
    resource: "@EzAmpBundle/Controller/"
    type:     annotation
    prefix:   /

这将加载提供自定义AMP内容生成的路由

添加内容头部链接(以使AMP页面可被发现)

为了启用发现,找到您的主布局模板,并在head部分中输入以下片段

	{% if content is defined %}
		<link rel="amphtml" href="{{ url('ez_amp', {'objectId': content.versionInfo.contentInfo.id }) }}" />
	{% endif %}

</head>

这将允许机器人自动发现您的AMP版本。

验证安装和故障排除

打开您的浏览器并导航到

http://example.com/ez-amp/1

这应该显示一个简单的首页版本,所有字段都被循环遍历。

在此之后,验证您的页面头部应该包含对AMP版本的引用

<link rel="amphtml" href="http://example.com/ez-amp/1337" />

AMP版本还应包含一个指向网站主版本的链接

<link rel="canonical" href="http://example.com/jared-leet-o" />

有了这些链接,搜索引擎爬虫现在将找到您内容页面的AMP版本。如果您在生产环境中这样做,那么谷歌移动搜索结果页面很快就会开始显示指向您的AMP版本的链接。

下一步,如果尚未这样做,请在谷歌网站管理员工具上验证您的网站,并跟踪AMP验证的状态。您可能遇到的错误之一是失败的图像,因为AMP不允许使用标准的HTML <img>标签,而是使用自己的<amp-img>标签。

<amp-img
	src="/var/site/storage/images/8/8/2/0/288-8-eng-GB/blog3.jpg"
	alt=""
	width="1840"
	height="1232"
	layout="responsive">
</amp-img>

在某些情况下,此自定义图像标签模板可能无法正常渲染。如果这种情况发生在常规模板或嵌入模板中,建议查看您插件包的配置中的竞争field_templates定义。

使用插件包继承覆盖

虽然此插件包旨在默认提供有效的AMP输出,但它目前非常原始。如果您想使用这个版本,您可以使用Symfony插件包继承来覆盖模板,以获得更令人愉悦的布局,并可能扩展您自定义网站所需的功能。

缺失的功能

还有一些事情应该添加到插件包中,以便使其功能完整,包括eZ平台和AMP方面的内容,其中一些包括

  • 允许按内容类型配置模板
  • 允许配置内容类型作为AMP提供
  • 支持JSON-LD元数据
  • 支持分析
  • 支持广告

免责声明和许可

这只是一个业余项目,主要是练习。可能会有更新,也可能不会有更新。没有任何保证,但代码是在MIT许可证下提供的,因此您可以自由使用和滥用。

eZ Platform 现已更名为 Ibexa DXP

从版本 3.2 开始,eZ Platform(企业版)将被称为 Ibexa DXP 技术,这是三个产品的基座:Ibexa 内容Ibexa 体验Ibexa 商务。由于 Ibexa DXP 是 eZ Platform 的一次进化而非革命,此代码中的说明应适用。更多内容请参阅 Ibexa DXP v3.2 发布文章Ibexa 开发者门户