コンテンツにスキップ

SEO とパフォーマンス最適化

ドキュメントは人に読んでもらうために書くものですが、その前提になるのは、検索で見つかることと、開くのが速いことです。EpoCanvas Docs はビルドのレイヤーに、初期設定なしですぐ使える SEO 機能とパフォーマンス機構を組み込んでいます。このページでは、それぞれが何なのか、どう検証するか、そして公開後にやっておくべきことを説明します。


組み込みの SEO 機能

以下の機能はすべてビルド時に自動で有効になり、追加設定は不要です:

機能実装方法検証方法
ページタイトル<title>記事タイトル | EpoCanvas Docs</title>。Frontmatter から取得ページのソースまたはブラウザのタブで確認
ページの説明<meta name="description">。Frontmatter の description から取得ソースを確認
Open Graph タグog:title、og:type、og:url、og:locale、og:description。SNS にシェアしたときにカードを表示リンクをチャットツールに貼り付けてプレビューを確認
Canonical リンク各ページに <link rel="canonical"> を自動生成し、メインドメインを指すソースを確認
Sitemapビルド時に sitemap-index.xml を自動生成/sitemap-index.xml にアクセス
robots.txtプロジェクトに public/robots.txt を同梱。すべてのクローラーを許可し、sitemap の場所を宣言/robots.txt にアクセス

Canonical とミラードメイン

サイトのメインドメインは docs.epocanvas.com で、<site> の設定もこれに一致させています。各ページの canonical と og:url はメインドメインを指します。内容が epocanvas-docs.pages.dev のミラーからも同時に閲覧できる場合でも、検索エンジンは評価をメインドメインに一本化し、重複コンテンツとは判定しません。


パフォーマンス機構

純粋な静的出力、フレームワークのランタイムなし

ビルド成果物は純粋な HTML + CSS です。ページのナビゲーション、閲読、目次のスクロールハイライトには、どのフロントエンドフレームワークもダウンロードする必要がなく(React/Vue などのランタイムのサイズはゼロ)、検索・テーマ切替・言語切替などのインタラクティブなコンポーネントだけが必要に応じて少量のスクリプトを読み込みます。初回レンダリングは JavaScript を待たないため、遅い回線や低スペックの端末でも同じようにスムーズです。

画像のサイズはソースの時点で制御

本サイトではビルド時の画像処理を有効にしていません。astro.config.mjs で image.service を passthroughImageService() に設定しているため、public/ 内の画像は圧縮もリサイズもされず dist/ にそのままコピーされます。sharp を採用していないのは、pnpm の分離ディレクトリ構造ではネイティブ依存を解決できず、キャッシュが空の状態(CI や初回ビルド)で MissingSharp によりビルドが中断されるからです。そのためサイズはコミット前に制御しており、画面スクリーンショットは幅 1440 ピクセルに統一して事前に圧縮し、構成図はすべて SVG のベクター画像としています。

検索 index の必要時ロード

Pagefind は pnpm run build のときに高圧縮の index シャードを生成します。読者がページを開くときに index は一切ダウンロードされず、実際にサイト全体検索を使ったときにのみ、ブラウザがキーワードに応じて該当するシャード(数 KB〜数十 KB)を取得します。初回表示の速度には影響しません。

パフォーマンスの検証方法

  1. ブラウザ開発者ツールの Network パネルを開き、ページをリロードして、初回表示の転送サイズを確認します。
  2. Chrome のシークレットウィンドウで Lighthouse 監査(Performance カテゴリ)を実行し、スコアを確認します。
  3. curl -sI https://docs.epocanvas.com で、応答ヘッダーの Cache-Control など CDN のキャッシュポリシーが有効になっているかを確認します。

公開後にやっておきたい 3 つのこと

デプロイが完了したら(Cloudflare Pages へのデプロイ を参照)、順番に以下を行うことをおすすめします:

1. Sitemap を Google Search Console に登録する

  1. Google Search Console を開き、リソース docs.epocanvas.com を追加します。
  2. 画面の案内に従い、DNS TXT レコードでドメインの所有権を確認します(ドメインを Cloudflare で管理していれば、数分で反映されます)。
  3. 左側の「サイトマップ」で https://docs.epocanvas.com/sitemap-index.xml を送信します。

2. インデックス登録の効果を確認する

公開から 1 週間後、Google で site:docs.epocanvas.com を検索して、記事がインデックス登録されているかを確認します。Search Console の「ページ」レポートで、インデックス登録されたページ数がドキュメント数と一致しているかを確認します。

3. 定期的にリンク切れをチェックする

ドキュメントの改訂やパスの改名の後、外部から張られた古いリンクが無効になることがあります。Search Console の「ページ」レポートで「見つかりませんでした (404)」の項目を確認し、astro.config.mjs の redirects テーブルで、アクセスの多い無効なパスにリダイレクトを追加してください。