如何在站点主页上显示元描述

How to display a meta description on a site's homepage

我想做什么:

向我的 WordPress 网站主页添加元描述。

在什么条件下:

主页通常有我最新的 post 内容,因此搜索引擎会选择最新博客 post 上的描述作为网站本身的元描述。

我的目标是只为主页指定一个元描述,而不是任何其他 posts/pages。

此描述必须是网站其他区域不可用的文本(即不在 bloginfo() 函数中)。

我正在尝试使用我自己的插件来执行此操作,这样我就不必直接修改 header.php 文件(因为这意味着每次更新 WP 时我都必须修改它),这样我就不必使用外部插件了。

关于该主题存在一些现有问题(例如 this one),但其中 none 解释了如何准确地做到这一点。

解决方案是使用一个动作挂钩,将必要的代码插入 header:

<?php    
function add_meta_home() { 
    if (is_home() || is_front_page()) { ?>
        <meta name="description" content="Lorem ipsum dolor sit amet."/>
        <?php
        }
    }
add_action('wp_head', 'add_meta_home');
?>

以下代码是此代码的类似变体,它实现了相同的目标,但上面的版本更可取:

<?php    
function add_meta_home() { 
if( is_home() || is_front_page() ){
    $meta_des = "Lorem ipsum dolor sit amet.";
    echo '<meta name="description" content="' . $meta_des . '" />';
    }
}
add_action('wp_head', 'add_meta_home');
?>

This question解释了is_home和is_front_page的区别。我指定了两者,因为我想为网站的主页显示相同的元描述,而不管其配置如何。

要检查此解决方案是否有效,请转到您的主页并右键单击 -> 'Page source' 并在那里搜索元描述。要 double-check,您还可以使用一个网站来确认您的网站具有指定的元描述。

此外,应用此更改后,请确保您查看的不是网站的缓存版本,否则您将看不到更改。