Communityライティング&編集github.com

Doc-Scripter/rankmath-skill

RankMathスコア70以上を目標とするWordPress/WooCommerce商品ページの作成・監査用スキル。フォーカスキーワード、スニペット、内部リンク、ハブページなどを最適化します。

rankmath-skill とは?

このスキルは、WordPress/WooCommerceサイト上の商品ページがRankMathプラグインで70点以上を獲得できるように、SEO監査とコンテンツ最適化を支援します。フォーカスキーワードの選定、タイトル・メタディスクリプションのスニペット最適化、内部リンク構造の構築、ハブページとクラスターページの設計など、RankMathが実際にスコアリングする6つの入力フィールドを網羅的に処理します。特に、RankMathがスコアリングするのは「文章」ではなく「フィールド」であるという洞察に基づき、スニペットフィールドを埋めることがスコア向上に直結することを強調しています。また、ページが検索エンジンから適切にリンクされるように、URLインベントリの収集、サイト名テンプレートの計測、フォーカスキーワードの重複チェックなど、サイト固有の設定を自動的に導出します。対応プラットフォームはWordPressおよびWooCommerceで、任意のベースURL(例:https://shop.example.com)から自動的にプラットフォーム情報を取得します。

対応~Claude Code~Codex CLI~Cursor
npx skills add Doc-Scripter/rankmath-skill

Installed? Explore more ライティング&編集 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

RankMath WooCommerce 商品リスト作成

概要

2つのジョブがありますが、スコアリングされるのはそのうちの1つだけです。

  1. RankMathを満足させる。 RankMathが実際に読み取る6つの入力と、実際のページスコアを41/100から84/100に引き上げた本文コピーの仕様。RankMathはフィールドをスコアリングし、文章はスコアリングしません。スニペットフィールドが空の1,000語ページは、それらが埋められた700語ページよりもスコアが低くなります。
  2. ページに到達可能にする。 コピーが強調するすべてのコレクションは実際のリンクに解決されなければならず、ページ自体もプラットフォーム内からリンク可能でなければなりません。RankMathはインバウンドリンクやハブページの存在をスコアリングしません。 ステップ3bと4は、RankMathの数値ではなく、Googleのページの見方を変えます。スコアの上昇は期待しないでください。

ここには特定のサイトにハードコードされたものはありません。ベースURLを指定すると、ホスト、URLインベントリ、サイト名の予算、およびWooCommerceが存在するかどうかは、すべてそこから導出されます(ステップ0)。最後にある1つの実例は匿名化されています。これは説明であり、入力として与えられるものではありません。

ステップ0 - ベースURLからプラットフォームを導出する

すべてのジョブはベースURL(例:https://shop.example.com または https://blog.example.com)から始まります。以下の値を導出します。決して推測しないでください。

情報導出方法
WooCommerceかどうかcurl -sL "$BASE/wp-json/wc/store/products?per_page=1" - 200が返れば「はい」、rest_no_routeが返れば投稿と固定ページのみ。/product/のようなURL構造が存在するとは仮定しない
存在するコンテンツタイプcurl -sL "$BASE/wp-json/wp/v2" でルート名をリストアップ。カスタムタイプ(farm、produce)はここに表示されるため、含める必要がある
完全なURLインベントリscripts/build_link_inventory.sh <base> - x-wp-totalを通じてすべてのコレクションをページングし、_audit/inventory/<host>/{nodes,edges,nav,meta}.tsv に書き込む
サイト名の追加文字数あなたが作成しているページと同じコンテンツタイプのライブページを3つ取得し、<title>値の最長共通サフィックスを取得し、その文字数をカウントする。それが減算する予算。文字数0のサフィックスは「追加なし」を意味しません。テンプレートが異なることを意味するため、1つのタイプ内で再測定する
内部リンクとしてカウントするhrefホストが導出されたホストと一致するか、hrefが相対/プロトコル相対であること。それ以外は外部リンク
編集上のノードとはnodes.tsv からノードの種類を読み取る。サイトがnavigation/menuのようなタイプを公開している場合、その「本文」はメニューであるため、これらはクロームであり、作成対象ではない。インバウンドおよびクラスターカウントから除外する(H5参照)

curl にはどこでも -L が必要です。RankMathが引き継ぐと、WordPressのサイトマップとRESTルートは301リダイレクトします。-L なしの curl -s は空の本文を返すため、これが原因で存在しないURLが発明されることがあります。空のリストは「該当ページなし」のように見え、「フェッチ失敗」とは見えません。

ステップ1 - フォーカスキーワード

  • 1ページあたり1つのキーフレーズ。ショップ全体でユニークであること。無料版RankMathは単一のキーフレーズをスコアリングします。同じフレーズの2つ目のページはランクできません。
  • チェッカーはキーフレーズを grep -oiF(固定文字列)でカウントするため、コピー内のハイフンはマッチを壊します。 10-hectare greenhouse はキーフレーズ 10 hectare greenhouse としてカウントされません。実例: 10ヘクタールのプロジェクトに関する記事で、家スタイルのハイフンが使われている場合、文字通りにそのフレーズを含んでいないため、密度スコアに影響します。ステップ1でコピー全体でどのスペルを使用するかを決定し、キーフレーズがハイフンなしの場合はハイフンなしで記述し、後で編集担当者が「修正」しないようにパックに明記します。
  • キーフレーズは連続して出現する必要があります。HDPE Female Tees はキーフレーズ HDPE tee とマッチしません。この1つの間違いは、他のどのチェックよりも多くのポイントを失わせます。
  • すでにスラッグ内にあるフレーズを優先します。キーワードに合わせて公開済みのスラッグを変更しないでください。既存のランキングとリンクを失います。
  • RankMathの「URLが長すぎる」チェックは、スラッグではなく、パーマリンク全体をカウントします。 実例: スラッグが41文字(6単語)のページの場合: https:// + ホスト = 37、+ / + スラッグ + 末尾の / = 80、そしてパネルには URL is 80 characters long と表示されました。この数字が41文字のスラッグではなく完全なURLと一致していることが、何を測定しているかの証拠です。目標: 75文字以下(2026-10-09にパネルから提供)。したがって、使用可能なスラッグ上限 = 75 - ホストオーバーヘッド。その29文字のホストの場合、上限は36文字です。ホストのオーバーヘッドをサイトごとに1回計算し、パックに記載します。
  • 長いブランドドメインの場合、このチェックはURL内キーワードのチェックと衝突します。これは、タイトル長ルールが長いキーフレーズと衝突するのとまったく同じです。 上限より長いキーワード完全一致フレーズは、スラッグ内で連続性を維持しながら長さチェックをパスすることはできません。公開済みページのデフォルト: 長さをREDとして記録し、受け入れる。決してリネームしない。 キーワード完全一致スラッグは、スコアリングされる数少ないパーマリンク要素の1つです。アドバイス行を短縮すると、ランキング、インバウンドリンクを失い、しばしば衝突サフィックスが付いた重複ページを作成します。所有者が短いURLを好む場合は、どのチェックを採用し、どのチェックを放棄したかを明記し、サイト全体のパーマリンクポリシーとして処理します。インベントリから影響を受けるノードをカウント(そのホストでは83のURLのうち22が75を超えており、すべてキーワード完全一致または郡名が含まれていました)し、1ページだけ編集するのではありません。
  • 書き始める前に、ページにすでに保存されているフォーカスキーワードを読み取り、その正確な形式(単数形か複数形かを含む)を維持します。 HDPE elbows を HDPE elbow に書き換えると、ライブページのスコアが73から37に低下しました。
  • 管理画面にアクセスできない場合、パネルの密度行から保存されたフレーズを復元できます。スラッグから推測しないでください。 パネルの1行、「Keyword Density is 0.15 which is low, the Focus Keyword and combination appears 2 times」は、2つの未知数と1つの方程式です。分母は uses / (density/100) なので、2 / 0.0015 = 約1,333語。ライブ本文内の各候補フレーズの連続出現回数をカウントし、パネルの数値を再現するものを保持します。2026-10-13に /installation-of-pop-up-sprinklers/ で実証済み: スラッグ由来の推測 pop up sprinklers(17文字)は10回使用 / 0.74%を測定したのに対し、installation of pop up sprinklers(33)は2回使用 / 0.15%を測定しました。これはパネルの数値と小数点まで一致しました。 保存されていたフレーズは長い方であり、その推測はすでにパックのタイトル予算、密度目標、H2ルールを犠牲にしていました。
  • 長い保存フレーズは、どのチェックが満たせるかを変更します。そのため、推奨する前に、下流のすべてのフィールドを再評価してください。 33文字のキーフレーズと30文字のサイト名追加では、準拠するタイトルをまったく作成できません。スラッグ由来の17文字フレーズでは可能です。短いフレーズに基づいて作成したタイトルを、長いフレーズを保存しているページに貼り付けないでください。RankMathは「Focus keyword not found in your title」と表示します。
  • 複数形のテキストは単数形のキーフレーズを満たします。なぜなら、HDPE elbows は HDPE elbow を含むからです。逆は真ではありません。不明な場合は、タイトル、H1、最初の文で複数形を使用します。
  • 自然な長いキーフレーズがタイトルウィンドウに収まらない場合、その短い連続した末尾を保存します。 2026-10-14に high volume low pressure irrigation(35文字)と30文字のサイト名追加で実証済み。これにより、1語も書く前に、入力可能なウィンドウは15〜30文字になります。長いフレーズでは、「title内のキーフレーズ」と「titleの長さ」が同時に満たせなくなります。low pressure irrigation(23)を保存しても、コピーにコストはかかりません。なぜなら、包含関係がそちらに働くからです。長い形式の言及はすべて保存されたフレーズを含んでいるため、使用としてカウントされます。選択を主張するのではなく、証明してください。 同じ完成ファイルをフレーズごとに2回スコアリングします。あるドラフトでの測定: 短い方 = 密度0.8%/15回使用、14のH2のうち5つが該当(両方PASS)。長い方 = 0.2%/4回使用、14のH2のうち2つが該当(両方RED)。密度の差は算術的なものであり、スタイルの問題ではありません。6語のフレーズは0.5%を超えるために約10回の繰り返しが必要であり、スパムのように読まれます。両方の数値をパックに記載し、所有者に理由を確認させます。
  • 割り当てる前に、サイトのフォーカスキーワードマップ(デフォルト ./rankmath-focus-keywords.md、RANKMATH_KEYWORDS= で上書き可能)を確認します。ページが重複クラスター内にある場合は、最初にそれを解決します。新しいコピーは役に立ちません。
  • 要求されたキーワードがすでに別のページによって主張されている場合、そのフレーズでリストを作成せず、静かに類義語に切り替えないでください。 競合を報告します。フレーズ、両方のURL、および所有者の実際の選択肢(弱いページを301リダイレクトする、一方のページの角度を差別化する、またはフレーズを移動する)を含め、それが決定された後にのみ作成します。HDPE elbows を HDPE elbow に切り替えて競合を回避することは、箇条書き4と同じ後退であり、間違った理由で選択されただけです。

ステップ2 - フィールドパック

以下のすべてを埋めてください。これらが40点台と80点台の違いです。

フィールドルール場所
商品名(H1)キーフレーズが連続して、前方に近い位置にあることWooCommerce 商品タイトル。その後スラッグを再確認。リネームはスラッグを書き換える可能性がある
SEOタイトルサイト名追加後の合計レンダリング長が45〜60文字、キーフレーズが最初の5単語以内、さらにcheck_title.cjsで価格設定された数字/パワーワード/感情語のトリオを含むRankMath、Edit Snippet、Title。以下のサイト名の落とし穴を参照
メタディスクリプション120〜160文字、キーフレーズが最初の5単語以内、クリック理由で終わるRankMath、Description。空の場合、RankMathは静かにショートディスクリプションにフォールバックする。これが最も一般的な隠れた失敗である
ショートディスクリプション2〜3文、キーフレーズが最初の文にあり、ロングディスクリプションの冒頭を繰り返さないWooCommerce「商品のショートディスクリプション」。自動メタ、抜粋チェック、タブ上のテキストに供給される
注目画像のaltフォーカスキーワード + 市場修飾子(例:「 for sale in kenya」)メディアライブラリ
本文以下の仕様を参照WooCommerce ディスクリプション、Text(HTML)タブ

altを約束する前に、画像が存在するかどうかを確認してください。 curl -sL "$BASE/wp-json/wp/v2/media?search=<topic>&per_page=20" はほとんどのWordPressインストールで公開されており、各ヒットの source_url と alt_text を返します。2026-10-13に /installation-of-pop-up-sprinklers/ で実証済み: pop up、popup、lawn は0件を返し、sprinklerは2枚の雨銃の写真(埋め込み芝生ヘッドとは異なる製品)を返しました。したがって、正しいパック行は「準拠する注目画像は存在しません。実際のサイト写真をアップロードしてください。」であり、誰も持っていない画像のためにalt文字列を書くことではありません。画像を決して発明せず、チェックをグリーンにするためだけに、同じカテゴリでも異なる製品の写真を再利用しないでください。

サイト名の落とし穴

RankMathは、タイトルフィールドに入力した内容にサイト名テンプレートを追加します。そのため、フィールドの長さとレンダリングされた長さは異なります。タイトルの予算を決める前に、ターゲットサイト上の追加部分を測定します。 同じコンテンツタイプのライブページを3つ取得し、その <title> 文字列の最長共通サフィックスを取得します。その文字数がテンプレートのコストです。入力された予算 = 60からその数値を引いた値です。

2つの測定された失敗モードがあるため、数値はタイプごとに扱い、サイトの定数として扱わないでください。

  • 混合テンプレートはサフィックスを0文字に縮小します。 あるライブショップでは、製品は … - Example Online Shop とレンダリングされますが、投稿は壊れています(次の箇条書き)。そのため、タイプをまたいだサンプルでは共通サフィックスが見つかりません。これは「無料予算」と読まれ、間違っています。作成しているコンテンツタイプ内でサンプリングしてください。

  • テンプレートが壊れて、リテラルにレンダリングされる可能性があります。 ショップの投稿 /greenhouse-construction/ は、タイトルを Greenhouse Construction: Framing & Netting Installation - %s としています。これは未置換の printf プレースホルダーです。サフィックスがおかしく見える場合は、予算を信頼する前に、該当ページの生の <title> を読んでください。

  • 同じタイプの3ページでも、異なる追加部分が表示される可能性があります。 テンプレートはRankMathのタイトルフィールドが空のページにのみ適用されます。誰かがタイトルを入力したページでは、その文字列がそのままレンダリングされます。間違ったブランド名も含みます。そのショップの4つの製品で、サフィックスは23、29、11、0文字と測定され、そのうちの1つは企業サイト名を持っていました。したがって、タイプごとのサンプリングはテンプレートを提供しますが、ページごとのものではありません。あなたが作成しているページに対して予算を立てます。 そのページ自身の <title> を取得し、フィールドの内容と差分を取ります。

例: そのショップでは製品テンプレートは23文字を追加するため、48文字の入力タイトルは71文字でレンダリングされ、長さチェックに失敗します。ただし、これはまだテンプレートを使用しているページに限ります。実例を参照してください。追加部分がすべてのタイトルを不足させるのに十分長い場合、構造的な修正は回避策よりも優れています。Rank Mathの「Titles & Meta > Products」でテンプレートを短縮します。

タイトルの読みやすさには3つの異なる要素が必要

RankMathはタイトルを3つの独立したチェックに対してスコアリングし、それらは互換性がありません。3つすべてがローカルでテスト可能になりました。scripts/check_title.cjs は assets/admin/js/analyzer.js の行単位の移植であり、check_listing.sh はそれらをさらに3つのスコアリングされたゲートとして出力します。

  1. 数字 - プラグインのルールは文字通り /\.d+/.test(title) です。任意の数字がカウントされます: 90 Degree、4 Pumps、裸の 10。決して発明しないでください。
  2. パワーワード - 小文字化されたタイトルはスペースで分割され、各単語は rankMath.assessor.powerWords(PHPリスト assets/vendor/powerwords/en.php、1,103エントリ)に対して word === entry または startsWith(word, entry)(最大4文字の追加)としてマッチングされます。確認済みのメンバー: best, easy, proven, affordable, amazing, excellent, essential, ultimate, free, price, quality, expert。top はリストに含まれていません。これは感情のみを伝えるため、Top はこのスキルが以前言っていた内容に関わらず、パワーチェックを通過したことはありません。
  3. 感情語 - バンドルされた sentiment レキシコン(RankMathのアドオンと extra を組み合わせると9,196のラベル付き単語

[生成の都合上、skillMarkdown は続きますが、元データが途中で切れているため、ここで完了します。完全な翻訳が必要な場合は、全文を提供してください。]

関連スキル