ページ単位のメタデータ(コンテンツタイプ、関連プロダクト、最終更新、単語数)があると、コンテンツを広く戦略的に見渡せます。
次のような問いに答えやすくなります。
- ライターとして:
- コンテンツ戦略で、明らかな抜けはないか?
- 今すぐ更新すべきページはどれか?
- あるチュートリアルは、ほかのチュートリアルと比べてどうか? ベースラインよりトラフィックが多いか?
- マネージャーとして:
- 特定のプロダクト領域、または特定のコンテンツタイプに、投資しすぎ/不足していないか?
- このプロダクト群のトラフィックは、別の群と比べてどうか?
- より大きな傾向をステークホルダーにどう伝えるか?
こうした問いには、ページを横断して集計したレポートが必要です。それはメタデータがあって初めて得られます。
Cloudflare では、ページについて次の情報を追跡します。
| 値 | 説明 | 例 |
|---|---|---|
| Description | <meta name="description"> タグに入る 1〜2 文の要約。pcx_content_type がある全ページで必須です。 |
frontmatter のガイダンス を参照してください。 |
| Product | ページのトップレベルサブフォルダー。 | dns、bots |
| Product Group | 各プロダクトが属する主な領域。 | Application Performance、Developer Platform |
| Content type | ページの主な目的。掲載している コンテンツタイプ に対応します。 | how-to、faq |
| Last modified | このページを最後に更新してから何日か。 | 63 |
| Last reviewed(任意) | このページを最後にレビューしてから何日か。 | 100 |
これらの値のなかで、Last reviewed には少し違いがあります。Last reviewed は Last modified と異なり、レビューの方が更新より徹底しています。レビューは、ページの内容すべてが正確か確認済みであることを意味します。
この追加の手間のため、Last reviewed は、ユーザージャーニーで特に重要で、追加のメンテナンスが必要なコンテンツタイプだけ追跡します。現時点では チュートリアル です。
これらの値は、フォルダーレベルとページレベルの 2 段階で設定します。
フォルダーレベルでは Product と Product Group の 2 つを設定します。フォルダー内の全ページに当てはまると考えてよいからです。
たとえば、DNS フォルダー ↗ の内容は次のとおりです。
name: DNS
product:
title: DNS
url: /dns/
group: Application performance
meta:
title: Cloudflare DNS docs
description: Cloudflare DNS provides the fastest, most resilient, and simplest
managed DNS platform to meet your needs.
author: "@cloudflare"
resources:
community: https://community.cloudflare.com/tags/c/reliability/7/none
dashboard_link: https://dash.cloudflare.com/?to=/:account/:zone/dns
learning_center: https://www.cloudflare.com/learning/dns/what-is-dns/ページレベルの属性は、主に ページの frontmatter で設定します。
たとえば、Build a Slackbot チュートリアル に設定している値は次のとおりです。
---
updated: 2024-06-05
difficulty: Beginner
pcx_content_type: tutorial
title: Build a Slackbot
tags:
- Hono
languages:
- TypeScript
---ただし、last_modified の値は、ファイルの git 履歴から自動で取得します。
ページレベルでは、必須の products frontmatter が関連する Cloudflare プロダクトを列挙します。これはフォルダーレベルの Product 属性とは別です。
これらの値は、各ページの特定の meta プロパティとして描画します。
たとえば、AI Crawl Control - Get Started ページ の meta プロパティと値は次のとおりです。
<meta name="pcx_content_group" content="Core platform" >
<meta name="pcx_product" content="AI Crawl Control" >
<meta name="pcx_content_type" content="get-started" >
<meta name="pcx_last_modified" content="7" >これらの値は、Head.astro ↗ のカスタムオーバーライドで描画します。特定の値が設定されていれば、それを meta タグとしてページに追加します。
if (product.data.product.title) {
["pcx_product", "algolia_product_filter"].map((name) => {
metaTags.push({
name,
content: product.data.product.title,
});
});
}この構造には、主に 2 つの利点があります。
1 つ目は、ページをクロールする誰でもメタデータを簡単に使えることです。当初は Algolia の検索設定と社内レポート向けでしたが、コンテンツを AI システム向けに使うほかのチームとも共有するようになりました。
2 つ目は、GitHub リポジトリが常に正(source of truth)になることです。別の場所でスプレッドシートや対応表を更新する必要はありません。正は常にリポジトリにあり、複数の正を維持する場合より正確になりやすいです。
description frontmatter フィールドは、HTML head の <meta name="description"> タグに入ります。AI での見つけやすさにとって、最も重要なメタデータフィールドです。検索エンジン、AI クローラー、llms.txt の frontmatter ブロックは、ページを引用するかを決めるときにこの値を使います。
pcx_content_type があるページには、必ず description を入れてください。よい description は、プロダクト名を述べ、読者がそのページで何ができるかを示し、ページから抜き出しても単独の回答スニペットとして成立します。
書き方と例は description の書き方 を参照してください。
AI システムへコンテンツを提供する方法の詳細は AI での利用しやすさ を参照してください。
この種のメタデータでは誤りを避けにくいです。個々のファイルの frontmatter に自由記述で入力するからです。
Astro サイトでは Zod スキーマ ↗ を多用しています。定義は src/schemas/ ↗ にあります。
これにより、ローカル開発で IDE を使うコントリビューターに Intellisense のガイダンス ↗ を提供できます。
