メタタグ仕様書

Publication Network によって出力されるAMPおよびインスタント記事を元記事とペアリングするためには、元記事の HTML 内に専用のメタタグを挿入いただく必要があります。このドキュメントでは、挿入するメタタグの仕様について記載します。なお、メタタグ仕様は今後変更があり得ることをご了承ください。

  
 

メタタグ仕様

インスタント記事

全ページ共通のメタタグ : 元サイトのトップページに、Facebook と連携させるためのメタタグを設置します。次の <meta> タグを <head> 要素内に追加してください。元サイトのトップページのURLのタイプについては、こちらのドキュメントをご参照ください。 
 
<meta property="fb:pages" content="[FACEBOOK_PAGE_ID]" />
 
 
[FACEBOOK_PAGE_ID] の部分には、インスタント記事出力用に使用するFacebookページの ID を記載します。ページ ID は Facebook ページの「ページ情報 > ページ ID」から確認できます。
 
 

AMP

記事ページ毎のメタタグ: 各記事ページには、Publication Network が作成する AMP HTML とペアリングするためのメタタグを挿入します。次の形式で、記事毎に固有の <link> タグを <head> タグの中に出力してください。
<link rel="amphtml" href="https://[PUBLICATION_ID].publication.network/amp/[ARTICLE_HASH_ID]" />
 
 
  • [PUBLICATION_ID] の部分には、Publication Network 登録時に取得する Publication ID(媒体 ID)を記載します。Publication IDが不明な場合は、担当者までご連絡ください。
  • [ARTICLE_HASH_ID] の部分には、Article ID(元記事の ID)を SHA-256 で変換した64文字のハッシュ文字列(全て小文字)を記載します。

 

変換用フィードとしてSmartFormatを使用する際の注意点

変換用フィードとしてSmartFormatを使用する場合、RSS 2.0 であれば <guid> の値Atom であれば <id> の値を Article ID として、その値に SHA-256 を適用したものが Article Hash ID となります。

メタタグを挿入する記事の対象について

2016年3月16日以降にSmartFormatに出力され、かつ、記事の削除フラグが送られてたことの無い記事を対象にAMPページを変換します。この対象となっている記事にのみAMPのメタタグを挿入することを推奨しております。対象範囲について詳しくはフォーマット変換の対象範囲についてをご参考ください。

詳しくは「Article Hash ID 計算のサンプルコード」を参照ください。Hash ID が実装できない場合は弊社エンジニアがサポートしますので、担当者までお問い合わせください。

 

メタタグのサンプル

以下の例は、
 
Facebook Page ID
1878923819022031
Publication ID
mysite
Article ID
https://mysite.com/my/article/canonical/url
Article Hash ID
1f88ef0caf2b553d9bf87df6045dd0d6fd1e7b7a404adce9ffb1f33294a8e54a
 
AMPとインスタント記事の両方に対応する場合の、記事ページにおけるメタタグのサンプルです。
 

トップページ


  <!DOCTYPE html>
  <html>
    <head>
      ...
     < meta property="fb:pages" content="1878923819022031" />
   </head>
   <body>
      ...
  </body>
  </html>
 

記事ページ


  <!DOCTYPE html>
  <html>
    <head>
      ...     
      <meta property="fb:pages" content="1878923819022031" />
      <link rel="amphtml" href="http://mysite.publication.network/amp/7b15624ff80b2812cf22276284c15a101ffbefbf2c9926bbb0019253f84cda2c" />
    </head>
    <body>
      ...
   </body>
  </html>
  

Article Hash ID 計算のサンプルコード

以下に、Article ID が https://mysite.com/my/article/canonical/url である場合の、Article Hash ID を計算するサンプルコードを記載します。
 
Article Hash ID を計算するために使用する Article ID(元記事の ID)は、入稿に SmartFormat を使用する場合、RSS 2.0 であれば <guid> の値、Atom であれば <id> の値です。この値は一意な ID であればよく、URL 形式でなくても問題ありません。
 
ハッシュ化の際の注意点については、ハッシュ化に伴うよくあるトラブルも併せてご参考ください。
 

PHP

$article_hash_id = hash('sha256', 'https://mysite.com/my/article/canonical/url');
 

Perl

use Digest::SHA;
my $article_hash_id = Digest::SHA::sha256_hex('https://mysite.com/my/article/canonical/url');

Ruby

require 'digest/sha2'
article_hash_id = Digest::SHA256.hexdigest 'https://mysite.com/my/article/canonical/url'

Python

import hashlib
article_hash_id = hashlib.sha256('https://mysite.com/my/article/canonical/url').hexdigest()
 

Node.js

const crypto = require('crypto')
const articleHashId = crypto.createHash('sha256').update('https://mysite.com/my/article/canonical/url').digest('hex')
 
これらは全て、1f88ef0caf2b553d9bf87df6045dd0d6fd1e7b7a404adce9ffb1f33294a8e54a という64文字のハッシュ値を出力し、これが Article Hash ID となります。
 

バージョン

  • 0.0.2-20181001 AMP, インスタント記事の記述について一部修正
  • 0.0.1-20171201 公開