要求
建议
- AMP主题 - 提供可以使用的主题或AMP主题的子类。如果您的自定义主题不需要它,则不需要,您知道它与AMP兼容。
- Schema.org元数据 - AMP模块不需要运行,但是必须创建有效的AMP标记。
- AMP CSS Tree Shaking - 不是必需的,但可以减少页面上CSS的大小。
- 如果您启用了核心工具栏模块,还可以启用AMP工具栏模块。
- 如果启用了核心RDF模块,则还要启用AMP RDF模块。
介绍
AMP模块旨在将Drupal页面转换为符合AMP标准的页面。此时,仅转换节点页面。
安装AMP模块后,可以为任何节点类型启用AMP。此时,AMP内容可用于URL,例如`node / 1?amp`或`node / article-title?amp`。还有用于输出适当AMP组件的文本,图像和视频字段的特殊格式化程序。
安装Drup for Drupal
使用Composer,将AMP工具添加到站点项目就像使用Composer添加其他模块或主题一样。在命令行上,在项目根目录中输入以下命令:
composer require drupal/amp
如果要创建自定义AMP主题,请将该主题添加到/ themes目录。
启用AMP
- 启用AMP模块。
- 安装至少一个AMP主题,可以是amptheme中包含的ExAMPle子主题或您创建的自定义AMP主题。
- 要通过用户界面安装AMP子主题,请转到`/ admin / appearance`。
- 安装AMP主题,但不要将其设为默认主题。AMP主题将仅在AMP页面上自动使用。
- 转到主题设置页面,`/ admin / appearance / settings / {AMP-SUBTHEME-NAME}`。取消选中此框以使用主题的默认徽标并上传AMP子主题的徽标,然后保存该更改。AMP徽标不应大于60px高和600px宽,因此您可能需要与主要主题不同的徽标。
提供初始AMP配置
转到`/ admin / config / services / amp`并选择您的AMP配置选项:
主题
- 选择AMP页面的主题。您在上一步中安装的子主题应作为选项显示,这是您应该选择的选项。
- 选择并保存选项。
内容类型
- 在“AMP配置”页面顶部找到您的内容类型列表。
- 单击“启用”链接。
- 打开“自定义显示设置”字段集,选中AMP,单击“保存”按钮(这会返回AMP配置表单)。
- 点击该内容类型的“配置”,即可返回AMP查看模式字段设置页面。
- 在AMP视图模式下,您可以控制每个内容类型在AMP页面上显示的字段。例如,您可能只想在该视图模式下使用标题,图像和正文。
- 文本,图像和iframe字段有特殊的格式化程序,以便输出AMP组件,因此请务必在AMP视图模式下使用它们。如果正文有可能包含无效元素(如图像或Facebook帖子),请务必使用AMP Text格式化程序作为正文字段。
- 单击“保存”按钮(这会返回AMP配置表单)。
- 要在以后更改这些内容,请转到`/ admin / structure / types / manage / {CONTENT-TYPE} / display / amp`并设置每种内容类型的AMP版本的字段。
设置AMP页面的块
转到`/ admin / structure / block / list / {AMP-SUBTHEME-NAME}`并设置AMP页面的块。
重要! 请务必从AMP主题中删除核心系统品牌块,而不是使用AMP系统品牌块。
删除可能影响AMP页面验证的所有块,例如搜索块。关于在AMP中支持表单存在一个问题,但在此之前,页面上的任何表单都会阻止它进行验证。页面上可能还有其他元素会产生问题,您需要检查任何验证错误消息。
配置AMP的结构化数据
AMP页面要求将Schema.org元数据作为JSON-LD提供在页面的头部。这可以使用Schema.org元数据模块完成。请参阅其项目页面上的文档链接和其他说明。
该模块包含许多子模块,可用于显示各种内容的Schema.org元数据。至少,启用Schema.org Metatag基础模块和Schema.org文章模块。然后配置文章内容类型以显示文章元数据。
- 将您的JSON与文章指南进行比较。
- 如果没有可供Google阅读的公开页面,您只需将脚本标记复制到结构化数据测试工具中 即可验证所有信息是否符合要求。
模块架构概述
AMP主题
该主题旨在生成AMP标准所需的非常具体的标记。在“放大器”路径上传送的任何节点都会触发AMP主题。与任何Drupal主题一样,AMP主题可以使用子主题进行扩展,从而允许发布者尽可能灵活地自定义AMP页面的显示方式。您可能希望使用自己的样式创建自己的自定义AMP子主题。
AMP 8.3中的一项新功能是能够将AMP主题创建为主要主题的子主题,而不是使用基本AMPTheme。一个例子包含在AMP主题的AMP主题中,它是Bartik的次主题,而不是AMPTheme。您的子主题应该仔细遵循该主题中的示例,以确保它仍然有效。
AMP PHP库
该库将用户输入的HTML分析为富文本字段,并报告可能使HTML不符合AMP标准的问题。该库尽可能地对HTML进行更正,并自动将图像和iframe转换为AMP等效项。PHP库是CMS不可知的,旨在使Drupal模块的Drupal 8和Drupal 7版本以及非Drupal PHP项目都可以使用它。只要在命令中附加`--with-dependencies`,Composer安装就会在添加AMP模块时添加此库。
AMP模块
该模块负责提供Drupal页面的AMP版本的基本功能,包括以下任务:
- 提供AMP视图模式,因此用户可以决定哪些字段应在页面的AMP版本上以哪种顺序显示。
- 提供AMP路径,在AMP路径上显示AMP视图模式(即`node / 1?amp = 1`)。
- 提供常用字段的格式化程序,如文本,图像,视频和iframe,可在AMP视图模式下使用,以显示这些字段的AMP组件。
- 提供AMP配置页面,用户可以在其中识别哪个主题是AMP主题。
- 提供AMP视图模式,用户可以识别哪些内容类型应提供AMP页面。
- 确保不应用作AMP页面的路径生成404而不是损坏的页面。
- 确保别名路径正常工作,因此如果`node / 1`的别名是`my-page`,`node / 1?amp = 1`的别名为'my-page?amp = 1`。
- 创建一个系统,以便用户可以预览AMP页面。
body字段存在一个特殊问题,因为它可能包含大量无效标记,尤其是嵌入的图像,视频,推文和iframe。没有简单的方法可以将带有无效标记的blob文本转换为AMP标记。与此同时,这是其他项目将遇到的常见问题。我们的解决方案是一个独立的,独立的AMP PHP库,可以尽可能地将标记从不兼容的HTML转换为AMP。正文的AMP文本字段格式化程序将使用该库在AMP视图模式下呈现正文
如何禁用AMP
如果您选择在您的网站上为一种或所有内容类型禁用AMP,您可以通过位于`/ admin / config / services / amp`的AMP配置页面执行此操作。
- 查看启用AMP的内容类型列表。
- 对于您要禁用的每个启用AMP的内容类型,请单击“启用/禁用”链接。
- 打开“自定义显示设置”字段集,取消选中AMP,然后单击“保存”按钮(这会返回AMP配置表单)。
禁用AMP视图模式后,当“?amp = 1”附加到该内容的URL时,该内容类型将不再显示AMP格式的页面。
评论