「ブログ記事を書くたびにピラーページへのリンクを手動で入れないといけない。でもCTAも変えたいし、毎回リンクを忘れそう」——トピッククラスター戦略を運用しようとすると必ずぶつかるこの問題を、Claude Codeと設計を議論するうちに、WordPressのアーキテクチャ側で解決できることに気づきました。
最初の発想:固定ページをピラーにして手動でリンクを張る
トピッククラスター戦略の教科書的な実装は「固定ページをピラーにして、各クラスター記事からリンクを張る」です。WordPress上でやるなら、ピラーページになる固定ページを作り、関連の記事を書くたびにそのページへのリンクを本文に入れる。シンプルに見えますが、実際の運用で問題が出てきます。
記事によってCTAが違います。「資料請求はこちら」という記事もあれば、「診断ツールを試す」という記事もある。CTAの横にピラーページへのリンクも入れると、読者の行動を分散させてしまう。結果として「どちらかを省こう」となり、ピラーページへのリンクが後回しにされていきます。
Claude Codeとの対話で気づいた構造的な解決策
Claude Codeにこの悩みを話したところ、こんな問いが返ってきました。「カテゴリーページをピラーにすると、記事をカテゴリーに入れるだけでパンくずリストにリンクが自動で入りませんか」。
WordPressのパンくずリストは、記事が属するカテゴリーページへのリンクを自動で生成します。つまり記事ライターが意識しなくても、投稿をカテゴリーに入れるという行為だけで、ピラーページへの構造的なリンクが成立するのです。CTAは記事ごとに何を置いても関係ない。SEOの内部リンク構造はアーキテクチャ側で担保されています。
ハマったポイント:カテゴリーページはGutenbergで編集できない
「カテゴリーをピラーにする」と決めたとき、すぐ壁にぶつかりました。WordPressのカテゴリー編集画面で触れるのは「名前」「スラッグ」「説明(テキストのみ)」の3つだけ。Gutenbergエディターは開けません。これが長年のWordPressユーザーが「カテゴリーページはダサくなる」と言う元凶です。
解決策: category-{slug}.phpというファイルを子テーマに置くと、そのカテゴリーのデザインを完全に上書きできます。前日に固定ページで使ったSwellバイパス技法(wp_head()は残しつつSwellのCSS/JSを全dequeue)をそのままカテゴリーテンプレートに適用。PHPのループ(have_posts())で投稿一覧を自動生成しながら、デザインは完全にカスタムという構成が完成しました。
// category-sozoku.php の骨格
add_action('wp_enqueue_scripts', function() {
// Swellのスタイルを全削除
foreach (array_keys($wp_styles->registered) as $handle) {
wp_dequeue_style($handle);
}
}, 9999);
add_filter('show_admin_bar', '__return_false');
// ...カスタムHTMLデザイン...
// 投稿一覧だけWPに任せる
while (have_posts()) : the_post();
the_title();
the_permalink();
endwhile;
設計の原則:コンテンツに頼らず構造に組み込む
この経験で得た気づきは、SEOの仕組みをコンテンツ運用に依存させないということです。「記事を書くたびにリンクを入れる」という運用ルールは、人が関わる限り必ず抜け漏れが起きます。一方、カテゴリーという構造に組み込んでしまえば、抜け漏れの概念自体がなくなります。
Claude Codeとの対話が役立ったのは、コードを書いてもらう前の「どうあるべきか」の設計議論でした。「こういう課題があります」と伝えると、「その課題はそもそもなぜ発生しているのか」を一緒に掘り下げてくれる。ツールとしてのAIではなく、設計パートナーとして使えた場面でした。
まとめ
WordPressでトピッククラスター戦略を実装するなら、固定ページよりカテゴリーをピラーにする方が運用が安定します。カテゴリーページのデザイン問題はcategory-{slug}.phpで解決できます。そしてその設計判断にたどり着いたのは、Claude Codeとの「なぜ問題が起きているのか」という対話があったからでした。

コメント