如何在网页中添加 ISSN 元数据

127 阅读2分钟

2021-09-17 by @edent | html5, metadata, schema.org | 4 comments | Read ~1,927 times.

灵感来自 John Hoare 的博客Dirty Feed blog - 我已经请求大英图书馆为我的博客分配一个 ISSN(International Standard Serial Number)

ISSN 是一个8位数字的代码,用于识别报纸、期刊、杂志和各种印刷和电子媒体。

creenshot of an email from the British Library.

起因?

由于很多人在学术论文中引述我的博客 - 所以我想让未来的学者们更容易使用元数据来追溯我对人类文明的巨大影响。

怎么做?

我在大英图书馆的网站上面填了一份表单,一分钱没花,真的快!

元数据

我可以在每个网页的底部粘贴一些文字 - 但这并不会让网页更容易被自动工具发现和抓取。如何让机器识别出 ISSN?有下面几个方法。

使用 meta 标签

官方列出的 meta 标签名字是有限,这些都是可扩展的,Google Scholar 推荐使用的是 citation_issn,很简单,只需要将下面的代码添加到网页的 标签里面

<meta name="citation_issn" content="1234-5678">

当然还有其它方式。

Schema.org

近年来,Schema.org 已成为在网络上标识元数据的主要方式。主要有两种使用方法:

JSIN-LD

JSON Linked Data 需要你在 HTML 中添加一段 JavaScript 代码,就像这样:

<script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "Blog",
      "issn": "1234-5678"
    }
</script>

如果你不想用这种方式,还可以用直接在网页上添加 ... 的方式

Microdata

microdata specification 使用和 Schema.org 完全一样的数据 - 但是允许你像下面这样直接添加数据到网页中

<body itemscope itemtype="https://schema.org/Blog">
   ...
   ISSN <span itemprop="issn">1234-5678</span>

这可能是添加元数据最简单的方式了。

链接

ISSN 注册商允许你通过网页来查询所有的 ISSN,我的 ISSN 在 portal.issn.org/resource/IS…

万无一失的方法

所以,最后我是这么做的 - 把所有的方式都写上去

<head>
    ...
    <meta name="citation_issn" content="1234-5678">
  </head>
  <body itemscope itemtype="https://schema.org/Blog">
    ...
    ISSN <a href="https://portal.issn.org/resource/ISSN/1234-56789"><span itemprop="issn">1234-5678</span></a>

有其它方法吗

我有漏掉什么吗?有没有比我聪明的人告诉我一种更简单更好更具互操作性的方式