<h1 class="admin-page-title">パイプライン</h1> <p class="admin-page-meta">各データソースのヘルスと更新手順。</p>
<h2 class="admin-section-title">データソース状態</h2>
<table class="pipeline-table"> <tbody> <tr> <td>SEO(GSC)</td> <td> {% if site.data.seo.generated_at %} <span class="badge badge--ok">ok</span> {% else %} <span class="badge badge--warn">未取得</span> {% endif %} <span style="font-family:var(--font-family-mono);font-size:12px;">{{ site.data.seo.generated_at | default: "—" }}</span> </td> </tr> <tr> <td>GEO(GA4)</td> <td> {% if site.data.geo.generated_at %} <span class="badge badge--ok">ok</span> {% else %} <span class="badge badge--warn">未取得</span> {% endif %} <span style="font-family:var(--font-family-mono);font-size:12px;">{{ site.data.geo.generated_at | default: "—" }}</span> </td> </tr> <tr> <td>記事ツリー</td> <td> {% if site.data.articles.generated_at %} <span class="badge badge--ok">ok</span> {% else %} <span class="badge badge--warn">未生成</span> {% endif %} <span style="font-family:var(--font-family-mono);font-size:12px;">{{ site.data.articles.generated_at | default: "—" }}</span> </td> </tr> <tr> <td>タクソノミー</td> <td> {% if site.data.taxonomy.categories and site.data.taxonomy.categories.size > 0 %} <span class="badge badge--ok">ok</span> <span style="font-family:var(--font-family-mono);font-size:12px;margin-left:8px;">{{ site.data.taxonomy.categories | size }} カテゴリ / {{ site.data.taxonomy.tags | size }} タグ</span> {% else %} <span class="badge badge--warn">未生成</span> {% endif %} </td> </tr> </tbody> </table>
<h2 class="admin-section-title">データ更新コマンド</h2>
<p style="font-size:13px;color:var(--color-fg-secondary);margin-bottom:0.75rem;"> <code>~/src/til/seo/</code> ディレクトリから実行してください。 </p>
<pre class="pipeline-code">cd ~/src/til/seo npm run dashboard:all npm run seo:build npm run geo:build npm run articles:build # build-articles-tree.mjs</pre>
<p style="font-size:12px;color:var(--color-fg-muted);margin-bottom:2rem;"> 実行後、<code>_data/*.json</code> を commit して GitHub Pages へ push すると本ダッシュボードに反映されます。 </p>
<h2 class="admin-section-title">既知の観測限界</h2>
{% if site.data.geo.notes.limitations_jp %} <ul style="font-size:13px;color:var(--color-fg-secondary);line-height:1.8;padding-left:1.25rem;"> {% for note in site.data.geo.notes.limitations_jp %} <li>{{ note }}</li> {% endfor %} </ul> {% endif %}
<p style="font-size:12px;color:var(--color-fg-muted);margin-top:1rem;"> Cloudflare 前段導入により AI クローラ(GPTBot / ClaudeBot / PerplexityBot 等)の直接アクセス数も計測可能になります。 </p>