drupal10自定义页面SEO设置
时间:2023-6-9 17:42 作者:wen 分类: 其它
若您想同时添加关键词(keywords)和描述(description)到 Drupal 10 页面的 <head>
部分,您可以使用 #attached
属性来实现。下面是一个示例:
use Drupal\Core\Render\Markup;
/**
* Implements hook_preprocess_HOOK() for page templates.
*/
function mytheme_preprocess_page(&$variables) {
// 设置关键词和描述
$keywords = 'Drupal, SEO, 关键词';
$description = '这是一个示例描述';
// 构建关键词的 meta 标签
$keywordsHtml = '<meta name="keywords" content="' . $keywords . '">';
// 构建描述的 meta 标签
$descriptionHtml = '<meta name="description" content="' . $description . '">';
// 使用 #attached 添加到 head 部分
$variables['#attached']['html_head'][] = [
[
'#type' => 'html_tag',
'#tag' => 'meta',
'#attributes' => [
'name' => 'keywords',
'content' => Markup::create($keywordsHtml),
],
],
'mymodule_seo_keywords', // 关键词附加项的唯一标识符
];
$variables['#attached']['html_head'][] = [
[
'#type' => 'html_tag',
'#tag' => 'meta',
'#attributes' => [
'name' => 'description',
'content' => Markup::create($descriptionHtml),
],
],
'mymodule_seo_description', // 描述附加项的唯一标识符
];
}
在上面的示例中,我们在 mytheme_preprocess_page()
函数中设置了关键词和描述。然后,使用构建的 HTML 标签(<meta>
)分别创建了关键词和描述的标签。
最后,使用 #attached
属性将这些标签添加到 html_head
数组中。每个标签都使用不同的附加项标识符来确保唯一性。
请注意,该示例仅为演示目的,并假设您已经定义了关键词和描述的值。您可以根据实际需求替换关键词和描述的值。
确保将 mytheme
替换为您主题的实际机器名称,并将代码放置在主题的 template.php
文件中或自定义模块中。
标签: drupal10