GhostのGoogleインデックス:Ghostコンテンツを検索結果に届ける完全ガイド
Ghostは、速度、シンプルさ、読者体験を重視するコンテンツクリエイター向けに構築されています。クリーンなアーキテクチャと最小限の肥大化により、本質的に検索に優しいですが、信頼性の高いインデックスのためには適切な設定が依然として不可欠です。本ガイドでは、Ghost固有のすべての必要事項を解説します。
このガイドの内容
Ghostは、プロのブロガー、ニュースレタークリエイター、コンテンツ駆動のビジネス向けに特別に構築されたオープンソースの公開プラットフォームです。WordPressのような汎用CMSとは異なり、Ghostはコンテンツ作成と配信に集中しています。この集中により、Ghostのアーキテクチャは本質的にSEOフレンドリーです:最小限のJavaScriptを使ったサーバーサイドレンダリングHTML、プラグインによる肥大化のない高速なページロード、クリーンなセマンティックマークアップ、自動メタタグ生成。
Ghostは、独立系パブリッシャー、メディアスタートアップ、開発者ブログ、ナレッジベースサイトの間で大幅な採用を獲得しています。組み込みのメンバーシップとサブスクリプション機能(無料および有料ティア)により、コンテンツのマネタイズを望むクリエイターに特に人気があります。ただし、メンバーシップシステムには独自のインデックスの課題があります:ペイウォール背後のコンテンツはGooglebotにアクセスできないため、特定の回避策を実装しない限り、有料コンテンツはインデックスできません。
Ghostには2つのフレーバーがあります:Ghostがすべてのサーバー設定を処理するマネージドホスティングサービスのGhost(Pro)と、独自のサーバーにGhostをインストールして管理するセルフホストGhostです。SEOの基本は同じですが、セルフホストGhostでは、SSL、リバースプロキシ設定、ドメイン管理などのサーバーレベルの設定に追加の注意が必要です。
本ガイドでは、Ghost(Pro)とセルフホスティングインストールの両方をカバーし、インデックスに影響するすべての設定ポイントを解説します。新しいGhost出版物を起動する場合でも、WordPressから移行する場合でも、Ghost投稿がGoogleに表示されない理由をトラブルシューティングする場合でも、ここの手順と修正はGhostのアーキテクチャと機能に固有のものです。
Ghostの組み込みSEO機能
Ghostには、プラグインや拡張機能なしで、堅牢な組み込みSEO機能が含まれています。プラットフォームは自動的に、設定可能なパターンを持つ投稿タイトルからのタイトルタグ(Ghost管理画面のSettings > Generalで編集可能)、投稿の抜粋またはカスタムメタディスクリプションからのメタディスクリプションタグ、すべての投稿とページのcanonical URL、/sitemap.xmlでのXMLサイトマップ(投稿、ページ、タグ、著者のサブサイトマップを含む)、Articleの構造化データ(JSON-LD、著者、パブリッシャー、datePublished、画像を含む)、ソーシャル共有のためのOpen GraphとTwitter Cardメタタグ、すべてのクローラーを許可するrobots.txtファイルを生成します。
GhostのHTML出力は非常にクリーンです。典型的なGhost投稿ページには、<article>要素内のセマンティックHTMLでの投稿コンテンツ、投稿タイトル用のh1から始まる適切な見出し階層、<head>内のschema.org構造化データ、最小限のJavaScriptが含まれています — Ghostのフロントエンドは主にサーバーレンダリングHTMLで、検索やコメントなどのインタラクティブ機能にはオプションのJavaScriptです。
このクリーンなアーキテクチャは、Ghostに大きな速度の利点をもたらします。Ghostページは通常、Ghost(Pro)では100ms以下、適切に構成されたセルフホスティングインストールでは200ms以下のTime to First Byteで、1秒未満でロードします。Googleのクローラーは、より多くのクロールバジェットを割り当て、ページをより速く処理することで、高速なサイトに対してポジティブに反応します。
Ghostはまた、Amperizeライブラリを通じてAMP(Accelerated Mobile Pages)をネイティブでサポートしていますが、AMPの採用は大幅に低下しています。さらに重要なのは、Ghostのデフォルトのモバイルパフォーマンスは、AMPがインデックス目的で追加の恩恵をほとんど提供しないほど優れていることです。
Ghostでメタタグとcanonical URLを設定する
Ghostのすべての投稿とページには、SEOカスタマイズ専用のフィールドがあります。投稿エディターで、歯車アイコンをクリックして投稿設定サイドバーを開き、「Meta data」セクションまでスクロールします。ここでは、カスタムMetaタイトル(<title>タグ内の投稿タイトルを上書き)、カスタムMetaディスクリプション(自動生成された抜粋を上書き)、カスタムCanonical URL(デフォルトの自己参照canonicalを上書き)を設定できます。
Metaタイトルフィールドは、Google検索結果に表示されるタイトルを最適化する機会です。投稿タイトルはクリエイティブまたは長文(「Why We Rebuilt Our Entire Infrastructure in Rust and What We Learned」)かもしれませんが、Metaタイトルは簡潔でキーワード最適化されたもの(「Rebuilding Infrastructure in Rust: Lessons Learned」)にすべきです。検索結果での完全な表示のために、60文字未満に保ちます。
Canonical URLフィールドは、再公開されたコンテンツに特に重要です。元々Mediumアカウント、Substack、または別のプラットフォームに表示された投稿をGhostに公開する場合、重複コンテンツのペナルティを避けるためにCanonical URLを元の公開のURLに設定します。逆に、Ghostが元の公開で、他のプラットフォームに配信する場合、それらのプラットフォームはGhost投稿に戻るcanonicalタグを設定する必要があります。
Ghostのタグページ(/tag/tagname/)は自動的に「Tag Name - Site Name」形式のタイトルタグを取得し、メタディスクリプションはタグのディスクリプションフィールド(Ghost管理画面のTagsで設定した場合)から引っ張ってきます。著者ページ(/author/authorname/)も同じパターンに従います。これらのアーカイブページはデフォルトでサイトマップに含まれており、複数著者の出版物には適切ですが、著者ページがメインインデックスの単なる重複である単一著者ブログには、薄いコンテンツページを作成する可能性があります。
GhostのCode Injection機能(Settings > Code injection > Site Header)を通じて、サイト全体でカスタムメタタグを追加することもできます。これは、Google Search Console用の確認メタタグ、カスタム構造化データ、またはサイト全体のロボットディレクティブを追加するのに便利です。
routes.yamlファイルとURL構造
GhostのURL構造は、コンテンツの整理と提供方法を定義する強力な設定ファイルであるroutes.yamlファイルによって制御されます。デフォルトでは、Ghostはシンプルなl URL構造を使用しています:投稿は/slug/、ページは/slug/、タグアーカイブは/tag/slug/、著者アーカイブは/author/slug/にあります。
routes.yamlファイルでは、これを完全にカスタマイズできます。タグ、著者、またはカスタム属性によって投稿をフィルタリングし、カスタムURLパスで提供するカスタムコレクションを作成できます。たとえば、それぞれ異なるタグ付き投稿を表示する/news/、/tutorials/、/reviews/の別々のセクションを作成できます。カスタムタクソノミーを作成したり、古いURLをリダイレクトしたり、ホームページコンテンツを定義したりすることもできます。
インデックスにとって、routes.yamlの設定は重要です。なぜなら、それがあなたのURL構造を決定し、Googleはこれをサイトアーキテクチャのシグナルとして使用するからです。論理的なパス(/tutorials/getting-started、/news/product-update)を持つよく整理されたURL構造は、Googleがコンテンツの階層を理解するのに役立ちます。
ライブサイトでroutes.yamlを変更するには、慎重な計画が必要です。URLを再構築する場合、リダイレクトを追加しない限り、すべての古いURLは404エラーを返します。Ghostには、301リダイレクトを管理するための組み込みのredirects.yaml(またはredirects.json)ファイルがあります。Settings > Labs > Redirectsを通じてこのファイルをアップロードします。
リダイレクトファイルは正規表現パターンをサポートしているため、SquarespaceやWebflowのリダイレクトツールよりも強力です。たとえば、セクション全体を一度にリダイレクトするには、^/old-section/(.*)$を/new-section/$1へのリダイレクトパターンを作成できます。誤設定されたリダイレクトが無限ループを作成する可能性があるため、本番環境にデプロイする前に正規表現パターンを慎重にテストしてください。
Ghost(Pro)ユーザーの場合、routes.yamlとリダイレクトはGhost管理インターフェースを通じて管理されます。セルフホストGhostの場合、これらのファイルはGhostコンテンツディレクトリにあり、ファイルシステムを介して直接編集するか、管理画面を通じてアップロードできます。
メンバー限定コンテンツとインデックス
Ghostのメンバーシップシステムは、その特徴的な機能の1つです。無料メンバーシップ(メール必須)または有料サブスクリプションティア背後にコンテンツをゲートすることができます。これによりSEOとの根本的な緊張が生じます:ペイウォールコンテンツは、Googleがアカウントを作成したり支払い資格を提供したりできないため、Googlebotには見えません。
アクティブなセッションのない訪問者がメンバー限定投稿にアクセスする場合、Ghostは何も表示しない(投稿全体が非表示)、コンテンツプレビュー(最初の数段落が表示され、残りはCTA背後に隠される)、またはペイウォールメッセージ(サインアップまたはサブスクライブを促すプロンプト)のいずれかを表示するように構成できます。動作はテーマとGhostコンテンツ設定に依存します。
インデックスにとって、プレビュー動作は重要です。Googleがコンテンツのないペイウォールメッセージのみを認識する場合、ページにはインデックス可能なテキストがなく、薄いコンテンツとして分類される可能性が高いです。Googleが意味のあるテキストを含むコンテンツプレビューを認識する場合、フルコンテンツの代表的なスニペットとしてプレビューをインデックスできます。
メンバー限定投稿のコンテンツプレビューを設定するには、Ghostのコンテンツ可視性設定を使用します。投稿エディターで、歯車アイコンをクリックし、「Access」セクションに移動し、可視性レベルを選択します。「Members only」または「Paid members only」に設定された投稿の場合、Ghostは<!--members-only-->マーカーの下のコンテンツ(Cardエディターを使用している場合)または設定可能な数の段落の後を隠します。
GoogleのFlexible Samplingプログラムでは、特定の構造化データを実装することで、パブリッシャーがペイウォールコンテンツをGooglebotに表示できます。Ghostは、isAccessibleForFree: falseを含むカスタムJSON-LDと、どのセクションが無料でどのセクションがペイウォールされているかを定義するhasPartプロパティを通じてこれをサポートしています。実装するには、GhostテーマまたはCode Injectionを通じてカスタムコードが必要です。
ほとんどのGhostパブリッシャーへの実践的な推奨事項:すべてのメンバー限定投稿の最初の2〜3の実質的な段落を、認証されていない訪問者に表示します。これにより、Googleが意味のあるスニペットをインデックスし、関連するクエリでページをランクするのに十分なコンテンツが提供されます。検索を通じて投稿を見つけた読者はプレビューを見て、フル記事を読むためにメンバーになるよう促されます。このアプローチは、インデックスとコンバージョンの両方を最大化します。
セルフホストGhost:サーバーレベルのSEO設定
セルフホストGhostインストールでは、Ghost(Pro)が自動的に処理するサーバー設定に注意が必要です。インデックスにとって最も重要な設定ポイントは以下のとおりです:
SSL/HTTPS:Ghostは、Googleがサイトを信頼して優先するためにHTTPSで提供される必要があります。セルフホストGhostは通常、SSL終端を処理するリバースプロキシ(Nginx、Caddy、またはApache)の背後で実行されます。無料SSL証明書にはLet's Encryptを使用し、自動更新を設定します。Ghostのconfig.production.jsonでは、urlプロパティをHTTPS URL(https://yourdomain.com、http://ではなく)に設定する必要があります。このURLが間違っている場合、Ghostは間違ったプロトコルでcanonicalタグとサイトマップURLを生成し、インデックスを破壊します。
リバースプロキシ設定:GhostはNode.jsサーバー(通常はポート2368)でリバースプロキシの背後で実行されます。プロキシ設定は、正しいHostヘッダーをGhostに渡す必要があります。さもなければ、Ghostは公開ドメインの代わりにサーバーの内部ホスト名に基づいてURLを生成します。Nginxでは、これはlocationブロックにproxy_set_header Host $http_host;とproxy_set_header X-Real-IP $remote_addr;を含めることを意味します。
サーバーパフォーマンス:Ghostはそれ自体で非常に高速ですが、性能不足のサーバーはこの利点を打ち消す可能性があります。Ghostは快適な動作のために少なくとも1GBのRAMが必要です。512MB以下のサーバーでは、Ghostはトラフィック急増中にディスクへのスワップが発生し、応答時間が5秒以上に急増し — 効率的なGoogleクロールには遅すぎます。サーバーのメモリ使用量を監視し、Ghostが利用可能なRAMの80%以上を継続的に使用している場合はアップグレードしてください。
データベース設定:GhostはMySQLまたはSQLiteをデータベースとして使用します。本番サイトの場合、MySQLが推奨されます。接続プールが小さい、またはメモリ割り当てが不十分な誤設定されたMySQLインスタンスは、複数のページが同時にリクエストされたとき(Googleクロール中に発生する)に断続的な500エラーを引き起こす可能性があります。MySQL設定が少なくとも10の同時接続を許可し、適切なバッファプールサイズを持っていることを確認してください。
CDN設定:多くのセルフホストGhostサイトは、キャッシュとパフォーマンスのためにCDN(Cloudflare、Bunnyなど)を使用しています。CDNがHTMLページをキャッシュしすぎないようにしてください。さもないと、投稿への変更(メタタグの更新を含む)は何時間もGoogleに見えないままになります。HTMLキャッシュを短いTTL(5〜10分)に設定するか、コンテンツが変更されたときに特定のページをパージするためにキャッシュタグを使用してください。
GhostテーマとそれがSEOに与える影響
GhostテーマはサイトのHTML出力を制御します。デフォルトのテーマ(Casper)は、適切な見出し階層、セマンティックマークアップ、構造化データ、レスポンシブデザインを備えた、SEOに最適化されています。ただし、テーマ開発者が検索エンジンフレンドリーさを優先しなかった場合、カスタムテーマはSEOの問題を引き起こす可能性があります。
一般的なテーマ関連のSEOの問題には、欠落または不正な構造化データが含まれます — 一部のテーマはGhostのデフォルトのJSON-LDを、エラーがあるか必須プロパティを省略する可能性のある独自の実装で上書きします。壊れた見出し階層 — テーマがサイトタイトルにh1を使用し、投稿タイトルにh2を使用すると、メインコンテンツの見出しがh3以下に押し下げられる可能性があります。不正なcanonicalタグ — Ghostの組み込み{{ghost_head}}ヘルパーを使用する代わりに独自のcanonicalロジックを実装するテーマは、間違ったcanonical URLを生成する可能性があります。欠落したメタタグ — テーマがその<head>セクションに{{ghost_head}}ヘルパーを含めない場合、Ghostの自動メタタグ(タイトル、ディスクリプション、canonical、OGタグ、構造化データ)は出力されません。
Ghostテーマがdefault.hbsテンプレートの<head>セクションに{{ghost_head}}を含めていること、および閉じ</body>タグの前に{{ghost_foot}}を含めていることを必ず確認してください。これらのヘルパーは不可欠です — Ghostのすべての自動SEOタグを出力します。テーマがどちらかを欠いている場合、SEOインフラストラクチャ全体が壊れています。
Ghostでテーマを切り替える場合、視覚的なデザインは変わりますが、コンテンツ、URL、メタデータはそのまま残ります(新しいテーマがGhostヘルパーを含む限り)。ただし、古いテーマにテンプレートにカスタム構造化データまたはメタタグがあった場合、テーマを切り替えるとそれらは失われます。テーマを変更する前に、古いテーマのSEO出力を監査し、新しいテーマが同等以上のSEO機能を提供することを確認してください。
カスタムGhostテーマを構築する開発者には、GhostはSEO用の包括的なHandlebarsヘルパーセットを提供しています:{{meta_title}}、{{meta_description}}、{{canonical_url}}、およびオールインワンの{{ghost_head}}ヘルパー。テーマがGhostのSEOシステムで正しく動作することを保証するために、メタタグをハードコーディングするのではなく、これらのヘルパーを使用してください。
ステップバイステップガイド
SSLとURL設定を確認する
Ghost(Pro)の場合:SSLは自動的に処理されます。サイトにアクセスし、URLバーに鍵アイコン付きのHTTPSが表示されることを確認します。セルフホストGhostの場合:config.production.jsonファイルを確認し、「url」プロパティが完全なHTTPS URL(例:https://yourdomain.com)に設定されていることを確認します。サイトにアクセスし、HTTPSが機能することを確認します。SSLが構成されていない場合は、リバースプロキシ(NginxまたはCaddy)を通じてLet's Encryptを設定します。次に、yourdomain.com/sitemap.xmlにアクセスし、サイトマップ内のすべてのURLがHTTPSを使用していることを確認します。サイトマップURLがHTTPを表示する場合、GhostのURL設定が間違っています。
サイトマップをGoogle Search Consoleに送信する
Google Search ConsoleにGhostサイトをプロパティとして追加します。確認には、HTMLタグメソッドを使用します:Google Search Consoleから確認用メタタグをコピーし、次にGhost管理画面のSettings > Code injection > Site Headerに移動して、メタタグを貼り付けます。確認後、Google Search ConsoleのSitemapsに移動し、yourdomain.com/sitemap.xmlを送信します。Ghostのサイトマップは、投稿、ページ、タグ、著者のサブサイトマップを含むサイトマップインデックスです。送信後、サイトマップが受け入れられたことを確認し、発見されたURLの数を確認します。
すべての投稿とページのメタタイトルとディスクリプションを設定する
Ghostエディターで、各投稿の設定サイドバー(歯車アイコン)を開き、「Meta data」セクションまでスクロールします。すべての投稿について、ターゲットキーワードを含む60文字未満のカスタムMetaタイトルと、クリックを促す155文字未満のカスタムMetaディスクリプションを書きます。すべてのページ(About、Contactなど)についても同じことを行います。タグページの場合は、Ghost管理画面のTagsに移動し、各タグを編集してディスクリプションを追加します — このディスクリプションは、タグアーカイブページのメタディスクリプションとして使用されます。ホームページの場合は、Settings > General > Meta dataでサイトメタタイトルとディスクリプションを設定します。
メンバー限定投稿のコンテンツ可視性を設定する
Ghostのメンバーシップ機能を使用している場合、認証されていない訪問者(およびそれゆえGooglebot)にどれだけのコンテンツを表示するかを決定します。最大のインデックス可能性を得るには、テーマまたは投稿設定を構成して、すべてのメンバー限定投稿の最初の2〜3の段落を無料プレビューとして表示します。投稿エディターで、<!--members-only-->カードディバイダーを使用して、無料コンテンツが終わり、メンバー限定コンテンツが始まる場所をマークします。シークレットブラウザウィンドウでメンバー限定投稿にアクセスして、非メンバー(およびGooglebot)が何を見るかを正確に確認します。プレビューが短すぎるか、ペイウォールメッセージのみが表示される場合は、ディバイダーの位置を調整してください。
URL変更のためのリダイレクトを設定する
投稿スラッグを変更した、routes.yamlを再構築した、または別のプラットフォームから移行した場合、301リダイレクトを設定します。Ghost管理画面で、Settings > Labs > Redirectsに移動し、redirects.jsonまたはredirects.yamlファイルをアップロードします。ファイル形式は、正確なパスマッチングと正規表現パターンをサポートしています。たとえば:{"from": "/old-post-slug", "to": "/new-post-slug", "permanent": true}。正規表現リダイレクトには:{"from": "^/old-section/(.*)", "to": "/new-section/$1", "permanent": true}。アップロード後、古いURLにアクセスし、正しい新しいURLに到達することを確認することで、各リダイレクトをテストします。
テーマのSEO出力を確認する
Ghostサイトのホームページといくつかの投稿にブラウザでアクセスします。ページソースを表示し、以下を確認します:(1)<title>タグが設定されたメタタイトルと一致している、(2)<meta name="description">タグが構成されたディスクリプションとともに存在する、(3)<link rel="canonical">タグが正しいURLを指している、(4)JSON-LD構造化データが<script type="application/ld+json">ブロックに存在する、(5)Open Graphメタタグが存在する。これらのいずれかが欠落している場合、テーマに{{ghost_head}}ヘルパーが含まれていない可能性があります。テーマのdefault.hbsファイルを編集し、<head>セクション内に{{ghost_head}}を追加してください。
GhostコンテンツのインデックスをIndexBoltで加速する
Ghostブログはしばしば鶏と卵の問題に直面します:新しい出版物は成長するために検索トラフィックが必要ですが、Googleは確立されたオーソリティのないサイトをインデックスするのが遅いのです。すべての技術的構成を完了した後、IndexBolt経由で公開された投稿URLを送信します。最初にランクさせたい包括的で高価値の投稿である中核コンテンツから始めます。次に、新しい投稿を公開するたびに送信します。Ghostの高速ページロードとクリーンなHTMLにより、GoogleはIndexBoltの送信を迅速に処理し、Ghostページを送信から数時間以内にインデックスします。
よくある問題と解決方法
セルフホストGhostのURLがHTTPSではなくHTTPで設定されている
原因: Ghostの`config.production.json`のurlプロパティが、`https://yourdomain.com`ではなく`http://yourdomain.com`に設定されています。リバースプロキシ(Nginx/Caddy)がSSL終端を行い、HTTPSでサイトを提供していても、Ghostは構成されたURLを使用してすべてのcanonicalタグ、サイトマップURL、内部リンクを生成します。HTTPの場合、これらのすべての参照は間違ったプロトコルを指します。
解決方法: `config.production.json`ファイルを編集し、urlプロパティを`https://yourdomain.com`に変更します。変更を反映するためにGhostを再起動します(`ghost restart`)。次に、`/sitemap.xml`にあるサイトマップにアクセスして、すべてのURLがHTTPSを使用していることを確認します。また、ページソースを表示してcanonicalタグを確認します。長期間間違ったURLを使用していた場合、GoogleはHTTPのURLをインデックスしている可能性があります — Google Search Consoleを監視し、canonicalタグが時間とともに自然にこれを修正させます。
メンバー限定コンテンツがGooglebotに完全に見えない
原因: 認証されていない訪問者にコンテンツプレビューを表示しないメンバー限定投稿は、Googlebotに完全に見えません。Googleはページを認識しますが、ペイウォールメッセージまたは空のコンテンツエリアのみを見つけ、ページは薄いコンテンツとして分類されるか、まったくインデックスされない可能性があります。コンテンツの潜在的な検索可視性はすべて失われます。
解決方法: 各メンバー限定投稿を、認証されていない訪問者に意味のあるコンテンツプレビュー(最低2〜3段落)を表示するように構成します。投稿エディターで`<!--members-only-->`コンテンツディバイダーを使用して、無料プレビューが終わる場所を定義します。テーマがメンバー限定投稿のコンテンツプレビューをサポートしていない場合は、テーマを更新します。有料コンテンツの場合、コンテンツが存在するがペイウォールされていることをGoogleにシグナルするためにGoogleのFlexible Sampling構造化データを実装することを検討してください。
Ghostテーマが{{ghost_head}}ヘルパーを欠いている
原因: `<head>`セクションに`{{ghost_head}}` Handlebarsヘルパーを含まないカスタムGhostテーマは、Ghostの自動SEOタグのいずれも出力しません:タイトルタグなし、メタディスクリプションなし、canonical URLなし、構造化データなし、Open Graphタグなし。サイトは見た目は問題なく見えるかもしれませんが、検索エンジンに対して深刻にハンディキャップされています。
解決方法: テーマの`default.hbs`(またはテーマ構造によっては`base.hbs`)を編集し、`<head>`セクション内、通常は閉じ`</head>`タグの直前に`{{ghost_head}}`を追加します。また、閉じ`</body>`タグの直前に`{{ghost_foot}}`を追加します。Ghost管理画面 > Settings > Design > Change Theme > Upload Themeを通じて、更新されたテーマをアップロードします。アップロード後、サイトのページソースを表示してSEOタグが存在することを確認してください。
routes.yamlのルート変更が大量の404エラーを引き起こす
原因: URLパターンを変更するために`routes.yaml`を変更すると(例:ブログ投稿を`/post-slug/`から`/blog/post-slug/`に移動する)、影響を受けるすべてのコンテンツのURLが即座に変更されます。対応するリダイレクトがないと、すべての古いURLは404を返します。古いパスを指す外部リンク、ブックマーク、またはインデックスされたURLは壊れます。
解決方法: `routes.yaml`を変更する前に、サイトマップから現在のすべてのURLのリストをエクスポートします。`routes.yaml`を変更した後、すべての古いURLパターンから新しいパターンへの301リダイレクトを含む`redirects.json`ファイルを作成します。一括パターンには正規表現リダイレクトを使用します:`{"from": "^/(?!blog/)([a-z0-9-]+)/$", "to": "/blog/$1/", "permanent": true}`。Settings > Labs > Redirectsを通じてリダイレクトファイルをアップロードします。古いURLにアクセスして、新しい場所にリダイレクトされることを確認することでテストします。
薄いコンテンツのタグおよび著者アーカイブページ
原因: Ghostは、すべてのタグと著者に対して自動的にアーカイブページを作成します。単一著者ブログでは、著者アーカイブページは基本的にメインインデックスの重複です。1〜2件しか投稿のないタグは、薄いアーカイブページを作成します。これらのページはデフォルトでサイトマップに含まれており、Googleはそれらを発見してクロールしますが、独自の価値は追加しません。
解決方法: 単一著者ブログの場合、著者ページにホームページを指すcanonicalタグを追加します(テーマのカスタマイズが必要)。投稿が少ないタグの場合、より広いタグに統合して、より実質的なアーカイブページを作成することを検討してください。薄いタグページが多い場合は、Ghost管理画面の各タグのディスクリプションフィールドにユニークな序文コンテンツを追加します(テーマがサポートしている場合、タグページに表示されます)。あるいは、テーマの`tag.hbs`と`author.hbs`テンプレートのカスタムコードを通じて、薄いアーカイブページにnoindexタグを追加します。
プロのヒント
よくある質問
Ghostは最初から優れたSEOを備えていますか?+
はい、Ghostは優れた組み込みSEOを備えています。タイトルタグ、メタディスクリプション、canonical URL、XMLサイトマップ、JSON-LD構造化データ、Open Graphタグを自動的に生成します。サーバーサイドレンダリングと最小限のJavaScriptにより、Googleが瞬時に解析できる高速ページロードとクリーンなHTMLが実現します。ほとんどのGhostユーザーはSEOプラグインや拡張機能は不要です — 組み込み機能ですべての技術的SEO要件をカバーします。手動設定が役立つ主な領域は、各投稿のカスタムメタタイトルとディスクリプションを書くことです。
GoogleはGhostのメンバー限定コンテンツをインデックスできますか?+
GoogleはGhostのメンバーシップゲート背後のコンテンツにアクセスできません。投稿がメンバー限定または有料メンバー限定に設定されている場合、Googlebotは認証されていない訪問者が見るものだけを見ます。メンバー限定コンテンツを部分的にインデックス可能にするには、投稿を構成して、最初の2〜3段落をプレビューとして非メンバーに表示します。これにより、Googleはページをインデックスしてランクするのに十分なコンテンツを得ますが、読者はフル記事にアクセスするためにメンバーになる必要があります。
より優れたSEOのために、Ghost(Pro)とセルフホストGhostのどちらを使用すべきですか?+
両方のオプションは同一のSEO出力を生成します — 同じHTML、サイトマップ、メタタグ、構造化データ。Ghost(Pro)には、マネージドSSL、自動更新、グローバルCDN、ゼロサーバーメンテナンスという利点があり、インデックスに影響する可能性のあるサーバーレベルの誤設定の機会が少なくなります。セルフホストGhostは、サーバーヘッダー、キャッシュ、カスタムリダイレクトに対するより多くの制御を提供します。ほとんどのユーザーにとって、Ghost(Pro)は、サーバー設定を変数として排除するため、SEOにとってより安全な選択です。
Ghostブログを再構築する際にURL変更をどう処理しますか?+
GhostはURL構造に`routes.yaml`ファイルを使用し、リダイレクトの管理に`redirects.json`(または`redirects.yaml`)ファイルを使用します。`routes.yaml`を変更する前に、現在のすべてのURLを文書化します。ルート構造を変更した後、影響を受けるすべてのURLに対してリダイレクトファイルに301リダイレクトを作成します。Ghostは正規表現リダイレクトをサポートしているため、1つのルールでURLパターン全体をリダイレクトできます。Settings > Labs > Redirectsを通じてリダイレクトファイルをアップロードします。アップロード後は必ずリダイレクトをテストしてください。
Ghostのタグページがインデックスされないのはなぜですか?+
Ghostのタグアーカイブページはデフォルトでサイトマップに含まれていますが、薄いコンテンツである場合、Googleはインデックスしないことを選択する可能性があります。1〜2件しか投稿のないタグページは、インデックスを正当化するのに十分なユニークコンテンツを提供しません。さらに、Ghost管理画面のタグのディスクリプションフィールドが空の場合、タグページにはユニークなテキストがありません — 他の場所に表示される投稿の抜粋のリストだけです。タグにユニークなディスクリプションを追加し、薄いタグを統合するか、テーマカスタマイズを通じて低価値のアーカイブにnoindexタグを追加してください。
新しいGhostブログ投稿がGoogleに表示されるまでどのくらいかかりますか?+
定期的な公開スケジュールとそれなりのドメインオーソリティを持つ確立されたGhostブログの場合、新しい投稿は1〜3日でGoogleに表示されることがあります。新しいGhost出版物の場合は、1〜4週間かかる場合があります。Ghostの高速ページロードとクリーンなHTMLが役立ちます — Googleがページをクロールすると、迅速に処理してインデックスします。IndexBoltを使用して新しい投稿URLを送信すると、ブログのオーソリティレベルに関係なく、時間を数時間に短縮できます。