使用drupal8.7.6开发的网站,默认情况下,首页、列表页、内容页、分类页SEO元素是非常简洁的,例如,拿白龙网来说,drupal环境下,首页的标题就是“Home | 白龙网”,列表页的标题是“当前栏目名称 | 白龙网”,内容页的标题是“文章标题 | 白龙网”,分类页标题与列表页标题类似,而且首页、列表页、内容页、分类页仅仅有标题,没有相应的描述、关键词可 配置。这种情况下网站是不利于搜索引擎检索、收录的,不利于SEO排名。
白龙捣鼓drupal8.7.6有一个多月了,发现了一个规律,drupal8.7.6系统有的功能,可以拿来就用;没有的功能,就使用模块来实现;要么到官网去寻找、下载现成的模块,要么自己开发需要的模块。基于这个思路,白龙SEO选择了到drupal官网去寻找SEO对应的模块。还真有!!!
一、下载模块SEOChecklist
SEOChecklist涵盖了drupal8.7.6需要的SEO功能,譬如全局、首页、内容页、分类页面标题、描述、关键词等元数据的设置等。该模块可以在https://www.drupal.org/project/seo_checklist下载,安装即可。
二、配置模块
1.SEOChecklist安装成功之后,会在“管理->配置->搜索及元数据”出现“SEOChecklist”菜单;

2.进入SEOChecklist菜单,勾选SEO相关的Metatag等模块,然后下载Metatag模块,并安装;

3安装Metatag模块之后,会遇到该模块无法启动的情况,原因在于Metatag模板依赖的相关模块没有安装。这个时候,需要在“管理->扩展”中搜索到Metatag模块,点击三角箭头,在弹出的下拉页查看Metatag所依赖的模块;与meta有依赖关系的模块有token、checklistapi,提前安装启动即可;

4.在模块的下载页面,逐个找到与drupal版本号兼容的SEO模块及其依赖模块,安装启动;只有当Metatag模块所依赖的所有模块安装成功并启动,你才能成功启用Metatag模块。

三、配置TDK
在“管理->配置->搜索及元数据->Metatag”中配置全局、首页、内容页、分类页的标题、描述、关键词。
1.全局元数据
(1)如果只设置全局的标题、描述、关键词,不设置首页、内容页、分类页等元数据,则整个网站所有页面的标题、描述、关键词都显示全局的配置;
(2)默认显示[current-page:title] | [site:name]变量;可通过“编辑”自定义全站页面标题、描述、关键词。
(2)默认显示[current-page:title] | [site:name]变量;可通过“编辑”自定义全站页面标题、描述、关键词。

2.首页元数据
(1)设置了全局元数据TDK,同时又设置了首页元数据TDK,则首页元数据TDK会覆写全局元数据中的TDK,即输出首页元数据TDK;
(2)默认显示[site:url]变量,可通过“编辑”自定义首页标题、描述、关键词。
(2)默认显示[site:url]变量,可通过“编辑”自定义首页标题、描述、关键词。

3.内容页元数据
(1)设置了全局元数据TDK,同时又设置了内容页元数据TDK,则内容页元数据TDK会覆写全局元数据中的TDK,即输出内容页元数据TDK。
(2)默认显示[node:title] | [site:name]、[node:summary]两个字段;如果要输出关键词字段,则可在内容类型中定义一个字段keyword,然后在metatag中使用[node:field_keyword:value]变量调用即可;
(2)默认显示[node:title] | [site:name]、[node:summary]两个字段;如果要输出关键词字段,则可在内容类型中定义一个字段keyword,然后在metatag中使用[node:field_keyword:value]变量调用即可;

4.列表页元数据
(1)没有定义的列表页元数据,默认情况下是显示全局的TDK的;可以通过“Add default meta tags”把自定义的列表添加进metatag中,然后用常量或者变量的方式自定义标题、描述、关键词。
或者,在meta模块中,启用Metatag: Views功能,则在视图页面视图/区块视图中就会出现一个Meta tags选项,点击进去即可配置列表页的标题、描述、关键词等SEO信息。
分类页面、403页面、404页面、用户页面TDK的配置与列表页TDK的配置类同,只需要了解自定义字段变量与调用变量的方法即可。
此外,设置了全局、首页、内容页元数据TDK,则首页、内容页元数据正常输出;没有设置TDK的列表页,则显示全局元数据的TDK。
四、显示TDK
在网页中,查看源代码,你会发现,head区域已经有了标题、描述、关键词等元数据。
