当前位置: 首页 > news >正文

wordpress不同页面调用不同keywords和description

在WordPress的header.php文件中,可以通过判断当前页面的类型(如首页、文章页、分类页等),然后动态地为每个页面设置不同的keywords和description。以下是一个示例代码,展示如何实现这一功能:

<!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head><meta charset="<?php bloginfo('charset'); ?>"><meta name="viewport" content="width=device-width, initial-scale=1"><title><?php wp_title('|', true, 'right'); ?></title><link rel="profile" href="https://gmpg.org/xfn/11"><link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>"><?php// 获取当前页面的类型if (is_home()) {// 首页$keywords = "首页关键词1, 首页关键词2, 首页关键词3";$description = "这是网站首页的描述内容";} elseif (is_single()) {// 文章页$keywords = get_post_meta(get_the_ID(), 'keywords', true); // 假设文章自定义字段中有关键词$description = get_post_meta(get_the_ID(), 'description', true); // 假设文章自定义字段中有描述if (!$keywords) {$keywords = "文章关键词1, 文章关键词2, 文章关键词3"; // 默认值}if (!$description) {$description = "这是文章的默认描述内容"; // 默认值}} elseif (is_category()) {// 分类页$cat_id = get_query_var('cat');$cat = get_category($cat_id);$keywords = $cat->name . ", 分类关键词1, 分类关键词2";$description = "这是分类页面的描述内容";} elseif (is_page()) {// 页面$keywords = "页面关键词1, 页面关键词2, 页面关键词3";$description = "这是页面的描述内容";} else {// 其他页面$keywords = "通用关键词1, 通用关键词2";$description = "这是通用页面的描述内容";}?><meta name="keywords" content="<?php echo esc_attr($keywords); ?>"><meta name="description" content="<?php echo esc_attr($description); ?>"><?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>

说明

is_home():判断是否是首页。

is_single():判断是否是文章页。这里通过文章的自定义字段(keywords和description)获取内容,如果没有则使用默认值。

is_category():判断是否是分类页。通过分类的名称和一些默认关键词生成keywords。

is_page():判断是否是页面(如“关于我们”、“联系我们”等)。

wp_head():WordPress的钩子函数,用于加载插件和主题的头部代码。

注意事项

如果你希望更灵活地管理keywords和description,可以使用WordPress插件(如 Yoast SEO),这些插件提供了更强大的功能来管理每个页面的SEO元数据。但是这些插件带来的弊端也非常多,最好不要使用这些插件。

如果你需要为文章或页面添加自定义字段(如keywords和description),可以在文章或页面编辑页面中使用“自定义字段”功能。

通过这种方式,你可以为WordPress站点的不同页面动态设置keywords和description,从而优化SEO。

原文

http://www.gaomozi.com/jianzhan/7117.html

http://www.dtcms.com/a/328840.html

相关文章:

  • STM32CubeMX + HAL 库:用FSMC接口与IS62WV51216芯片实现stm32外部SRAM扩展
  • csp知识基础——贪心算法
  • Java协程深度教程:从概念到Spring Boot实战
  • XCZU6CG-2FFVC900I Xilinx FPGA AMD ZynqUltraScale+ MPSoC
  • 【计算机网络】王道考研笔记整理(4)网络层
  • 【C++】哈希的应用:位图和布隆过滤器
  • VMD+皮尔逊+降噪+重构(送报告+PPT)Matlab程序
  • Java Record 类 — 简化不可变对象的写法
  • MATLAB 绘图速查笔记
  • 模式设计:策略模式及其应用场景
  • Vue3 中 <script setup> 场景下,需要手动导入和不需要手动导入的内容整理
  • HarmonyOS Navigation路由跳转的完整示例
  • 【Qt开发】常用控件(三) -> geometry
  • 重生之我在公司写前端 | “博灵语音通知终端” | 登录页面
  • Swift 实战:从数据流到不重叠区间的高效转换
  • 《书写范式》——代码如诗,诗娟代码(Python)(附精巧“九九表”生成代码)
  • 《Linux基础知识-2》
  • 【2025】Datawhale AI夏令营-多模态RAG-Task3笔记-解决方案进阶
  • HGDB的分区表实现SQL Server的分区视图
  • 邀您参与 “直通乌镇” Spring AI Alibaba 开源竞技挑战赛!
  • 2025 最应避免的摄影陷阱以及解决方案
  • 八月补丁星期二:微软修复 111 个漏洞
  • String里常用的方法
  • Vue项目生产环境性能优化实战指南
  • 服务器查看 GPU 占用情况的方法
  • mac环境下安装git并配置密钥等
  • 搜索引擎核心机制解析
  • RabbitMQ面试精讲 Day 21:Spring AMQP核心组件详解
  • 详解Windows(二十)——恶意软件清除
  • CV 医学影像分类、分割、目标检测,之【腹腔多器官语义分割】项目拆解