WordPress模板插件定制

您现在的位置是:首页 > WordPress教程WordPress教程

WordPress JSON-LD设置

查看 WP集市 的更多文章WP集市 2025-09-09 【WordPress教程】 1980人已围观

  1. 先别急着关页面,我知道JSON-LD听起来像某种外星代码,但其实它就是给搜索引擎喂饭的小纸条。WordPress自己其实会吐点基础结构化数据,但经常喂不饱Google。比如你写了一篇菜谱,但搜索引擎可能以为你在写化学实验手册——这时候就得手动加JSON-LD了。

  2. 举个栗子,你肯定见过搜索结果的五星评分和面包屑导航对吧?那都是JSON-LD在背后捣鬼。用代码说话的话,一个基础的文章结构化数据长这样:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "<?php the_title(); ?>",
  "datePublished": "<?php echo get_the_date('c'); ?>",
  "author": {
    "@type": "Person",
    "name": "<?php the_author(); ?>"
  }
}
</script>
  1. 但别傻乎乎地把这段代码直接扔进文章编辑器!WordPress的正确打开方式是挂接到wp_head钩子。就像这样在functions.php里搞:
add_action('wp_head', function() {
    if (is_single()) {
        $json = [
            '@context' => 'https://schema.org',
            '@type' => 'Article',
            'headline' => get_the_title(),
            'datePublished' => get_the_date('c'),
            'author' => [
                '@type' => 'Person',
                'name' => get_the_author()
            ]
        ];
        echo '<script type="application/ld+json">' . json_encode($json) . '</script>';
    }
});
  1. 突然想到个骚操作——如果你在卖猫薄荷,记得把Product类型的priceCurrency和availability字段写上。不然谷歌可能会以为你在免费发放,然后引来一堆薅羊毛的用户。不过WordPress WooCommerce用户其实可以用插件搞定,但自己写代码更带感不是吗?

  2. 说到插件,其实有Rank Math这样的SEO插件能自动生成大部分结构化数据。但如果你有特殊需求,比如给虚拟主播的直播片段加BroadcastEvent类型,还是得自己动手。这时候可以用is_singular()判断特定页面:

if (is_singular('vtuber_events')) {
    $json['@type'] = 'BroadcastEvent';
    $json['name'] = get_field('live_title'); // 假设用了ACF
}
  1. 测试工具一定要用Google的Rich Results Test,把页面URL扔进去就能看到搜索引擎眼里你的页面长什么样。有时候你会惊喜地发现,它把你的技术博客识别成了菜谱——因为你在文章里写了"五分钟搞定"和"步骤分解"这样的关键词。

  2. 最后提醒个坑:json_encode()函数默认不转义中文unicode,可能会输出\u4e2d\u6587这样的鬼画符。虽然搜索引擎能读懂,但调试时眼睛会瞎。可以加参数JSON_UNESCAPED_UNICODE,不过其实不影响最终效果。

  3. 其实最实用的还是BreadcrumbList类型,能大幅提高移动端搜索点击率。Yoast SEO其实会自动生成,但如果你非要自己造轮子:

$crumbs = [
    '@type' => 'BreadcrumbList',
    'itemListElement' => [
        [
            '@type' => 'ListItem',
            'position' => 1,
            'name' => '首页',
            'item' => home_url()
        ],
        [
            '@type' => 'ListItem',
            'position' => 2,
            'name' => get_the_category()[0]->name,
            'item' => get_category_link(get_the_category()[0]->term_id)
        ]
    ]
];
  1. 突然意识到忘记说FAQPage类型了,这玩意现在能直接显示在搜索结果里像手风琴一样展开收起。但谷歌最近要求必须用户触发才能显示内容,所以别想着堆关键词骗点击了。

  2. 其实WordPress的rest api也能输出JSON-LD,通过wp-json接口提供结构化数据。不过那样搜索引擎得发起两次请求,可能还没爬到就放弃了。所以还是老实在html头部输出比较稳妥。

  3. 最后扔个冷知识:schema.org其实有HowTo类型,包含步骤时间和工具材料。适合教程类网站,但千万别写"第一步:打开WordPress;第二步:崩溃;第三步:喝咖啡"这样的真实工作流。

  4. 其实不用太焦虑,就算JSON-LD写得稀烂,最多也就是失去富媒体搜索结果展示机会。但要是把ratingValue写成5/10这种分母形式,可能会显示成五星里的两星——那才是真正的社会性死亡。

(完)

Tags:

WordPress模板插件定制

WP集市

V管理员
文章 723 篇 | 评论 0 次
最新文章