白龙网之前曾针对网站的SEO配置这个主题写过一篇文章《Drupal8.7.6的标题、描述、关键词如何做SEO布局优化?》,这个方法同样适用于drupal9。
但是,上述方法也有缺陷,譬如,全局(GLOBAL)与首页(FRONT_PAGE)的SEO配置,只能实现首页TDK与列表页TDK不同,但是所有列表页的TDK又全部是相同的。很显然,这是不符合SEO规范的。就网站优化、排名、流量而言,SEOer当然希望每个列表页都有自己独立的、不同的TDK,以布局更多有价值的关键词,做出更好的排名。具体如何实现呢?下面使用drupal9从单页、分类页、列表页TDK单独配置说起。
一、配置单面TDK
类似“关于我们”这样的的单页面,用drupal实现的方法有很多。例如,利用content内容类型发布一篇文章关联到菜单;使用view视图新建一个视图页面关联到导航菜单等。由于第2个方法与我们接下来要分享的列表页TDK配置有一定的相似性,因此暂不赘述。这里重点说一下第1种方法。
在content内容类型中发布一篇文章关联到导航菜单作为单页面,他实质上还是content内容类型的一个内容页、一篇文章。唯一不同的是,这篇内容挂到了或者说是关联到了导航菜单上了。因此,这个“单页面”TDK的配置依然要遵循“管理/配置/Metatag”模块中content内容类型TDK的配置规范:
title:[node:title]-[site:name]---------->调用文章标题;
description:[node:summary]-------------->调用文章概要;
keywords:[node:field_keyword:value]----->调用节点中自定义的关键词字段;
如果内容类型中没有要打印的字段,可以手动添加一个。然后在“管理/配置/Metatag”模块中通过变量[node:field_keyword:value]调用。如此,在内容类型中输入的标题、描述、关键词等内容,就会输出到对应的调用页面。
二、配置分类页面TDK
先说结果,在“管理/配置/Metatag”模块中分类选项下,可以使用以下三个变量分别调用分类页面的标题、描述、关键词。如果使用静态TDK配置分类页面,那么,所有分类页面将使用相同的TDK,这明显不是SEO想要的结果。
title:[term:name]-[site:name]------->调用分类页的标题;
description:[term:description]------>调用分类页的描述;
keywords:[term:field_gjc:value]----->调用分类实体中自定义的关键词字段;
然而,默认情况下,上述drupal变量只能调用“管理/结构/分类/分类实体”中的标题(name)、描述(description),因为分类实体中默认情况下没有关键词(gjc)这一字段。因此,需要手动在“管理/结构/分类/分类实体”中添加关键词字段之后,才能在“管理/配置/Metatag”的分类模块中调用该关键词。
经过上述操作,在“管理/结构/分类/分类实体”中输入的标题、描述、关键词后,就可以通过“管理/配置/Metatag”的分类模块SEO功能把这些TDK打印到前端分类页面中。
三、配置列表页TDK
在用drupal9开发列表页时,如果没有视图页面支撑对应列表页,则标题中会出现“找不到这个页面”的错误提示。即:标题没有正确输出。
可以在列表页对应的区块中添加一个视图页面,然后进入“META_TAGS->BASIC_TAGS”界面,单独配置该栏目的TDK。这里配置的TDK会覆写“管理/配置/Metatag”中的全局TDK配置。按照这个方法,逐一配置每个栏目的TDK,即可优先打印每个栏目自定义的标题、描述、关键词了。
全局TDK可以使用以下变量,也可以使用静态TDK,建议变量与列视图页面中的TDK配合使用。可以实现特定页面自定义TDK,其它页面统一使用全局TDK,让每一个页面都有TDK,利好SEO工作。
title:[current-page:title]-[site:name]
description:[current-page:description]
keywords:[current-page:keywords]
最后,需要强调的是,drupal单面、分类页、列表页TDK的配置,是在SEO_Checklist、Metatag等SEO模块正确安装、配置的前提下实现的。