在精简优化博客的过程中,发现html源代码里有很多itemprop相关的代码,搜索发现,原来是有关SEO的结构化数据,也就是结构化数据。之前也写过SEO基本原则,写的主要是文章内容方面对SEO的作用,虽然各大搜索引擎也都强调内容最重要,但博客网站其他的设置优化还是有必要做一下的。

结构化数据

结构化数据就是在原有的HTML元素基础上,通过设置若干专门给机器识别的HTML属性,让搜索引擎可以更好地理解这一块的数据。主要由谷歌、微软、雅虎和Yandex创建,致力于在互联网、网页、电子邮件等平台上创建、维护和推广结构化数据的模式,具体内容都在schema.org这个网站。

既然是规范标准,那必然意味着不能随便使用,结构化数据词汇只能对特定的物体或事件进行描述,具体词汇表,可以去schema.org这个网站自行搜索。

Schema.org词汇可以与许多不同的编码一起使用,包括RDFa、Microdata和JSON-LD。这些词汇涵盖了实体、实体和操作之间的关系,并且可以通过记录良好的扩展模型轻松扩展。截至2024年,超过4500万个网络域名用超过4500亿个Schema.org对象标记了他们的网页。来自谷歌、微软、Pinterest、Yandex等的许多应用程序已经使用这些词汇来提供丰富、可扩展的体验。

结构化数据重要性

在网页性能测试里,SEO部分也有相关的提示,提示需要手动检查结构性数据,所以即使没有设置结构化数据也不会影响SEO分数。

图片

如果想把博客精简到底,直接全部删除这些代码也不会有什么影响。目前国内网站对结构化数据的应用并不多,我搜了很多网站基本都没有配置,因此,删除与否,看个人喜好吧。当然如果你的博客没有这些数据也可以加上,对SEO更好。

结构化数据内容修改

目前我的博客并没有删除这些结构化数据,只是进行简单改了一下,主要是想要更加精简博客体积。

作者的超链接删除

个人博客都是一个人写,留着作者的链接页面也没啥用,可删。

修改前

<li itemprop="author" itemscope itemtype="http://schema.org/Person"><?php _e('作者: '); ?><a itemprop="name" href="<?php $this->author->permalink(); ?>"rel="author"><?php $this->author(); ?></a></li>

修改后

<li itemprop="author" itemscope itemtype="http://schema.org/Person">作者: <span itemprop="name"><?php $this->author(); ?></span></li>

记得把主题目录下index.phparchive.phppost.php同步修改。

首页文章列表移除 itemprop="articleBody"

由于文章列表内容部分只是摘要,而itemprop="articleBody标注则应该是文章正文,所以用这个标注不太合适,容易给搜索引擎造成干扰,删除。

文章页增加最后编辑时间

在微数据结构里也有最后编辑时间的标签,谷歌官方说明里也说了建议增加这个,因为对于搜索引擎来说更容易识别文章的内容是不是最新的,当然如果没有这个微数据结构,搜索引擎也可以根据对比前后版本来判断。

由于我的博客是极简风格,加上这个功能后,感觉有点多余,于是又删除了,以下修改做个记录吧,留作备用。

打开主题文件的post.php,放到想要展示的位置,比如文章末尾或者标题下面都可以。

<li>
    最后编辑时间: 
    <time datetime="<?php echo date('c', $this->modified); ?>" itemprop="dateModified">
      <?php echo date('Y-m-d', $this->modified); ?>
    </time>
  </li>

如果不想加微数据结构标注,直接用以下代码更简洁一些。

<li>最后编辑时间: <?php echo date('Y-m-d' , $this->modified); ?></li>

结构化数据验证

打开该网址validator.schema.org或者search.google.com,输入你的网站链接或者html代码就可以进行测试验证了。我的测试结果如下图,一切正常完美,都可以识别出来。

图片

转载请注明出处,本文原始链接:https://wangrufei.com/archives/278/