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

umairmsm/wp-seo

WordPressサイトのSEO(タイトル・メタ・正規URL・JSON-LD・サイトマップ・リダイレクト)と多言語対応(Polylang・hreflang・翻訳)を一元管理するステージ5スキルです。

wp-seo とは?

このスキルは、WordPressサイト構築プロジェクト「wp-site-kit」のステージ5として、SEOと多言語展開を自動化・標準化します。検索エンジンとAIアシスタントが全ページを正しく理解し、古いURLは適切にリダイレクトされることを保証します。Rank Math(デフォルト)がタイトル・メタ・サイトマップ・メインの構造化データグラフを担当し、コアのschema.phpがサイト固有の型を追加。重複スキーマを抑制して単一グラフを維持します。全ページが`npm run test:seo`に合格し、タイトル長・説明文・正規URL・H1・lang属性・Google Fonts排除をチェック。リダイレクトはプロジェクトルールに従い、301・302を適切に使い分け、旧URLマップをテストします。多言語はPolylangを基盤に、パイロット(hreflang・.po/.mo文字列)→ネイティブレビュー→公開の段階を踏み、未公開言語は302リダイレクトで元言語に誘導し、サイトマップやhreflangに含めません。Search Console・Bingへの検証とサイトマップ送信、16ヶ月データの早期エクスポートも推奨。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/umairmsm/wp-site-kit/tree/HEAD/skills/wp-seo

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

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

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

ドキュメント

ステージ5: SEOと言語

目標:検索エンジンとAIアシスタントがすべてのページを正しく理解できるようにする。古いURLは適切な場所にリダイレクトされる。 追加された各言語は、オリジナルと同様に正確であること。

SEOの手順

  1. ジョブごとに1つの所有者を設定する。
    • SEOプラグイン(デフォルトではRank Math)が、タイトル、メタ、サイトマップ、メインのスキーマグラフを所有する。
    • コアの schema.php は、サイト独自の型をそのグラフに追加する。
    • 独自のスキーマを出力するドメインプラグインはすべて無効化し、矛盾する2つのグラフではなく、1つのグラフのみにする。
  2. tests/helpers/site.ts 内のすべてのページが npm run test:seo に合格すること:
    • タイトル 10~65文字;
    • 説明文 50~160文字;
    • 絶対パスの正規URL;
    • H1が1つ;
    • lang 属性;
    • Google Fontsリクエストがゼロ。 チェックリストと執筆ルール:references/seo-checklist.md
  3. 構造化データ:
    • Organization(またはLocalBusiness)は1回のみ。
    • ページごとにアイテムタイプ(Service, Product, TouristTrip, Course, …)。
    • パンくずリスト。
    • FAQは、そのページで実際に回答されている質問のみ。
    • 価格なしの Offer は絶対に使用しない。
    • GoogleのリッチリザルツテストとSchema.orgバリデーターで検証する。
  4. Robots、サイトマップ、llms.txt:
    • 本番環境ではクロールを許可しサイトマップを表示する;ステージング環境ではすべてをブロックする(コアが行う);
    • /llms.txt はコアが提供する;
    • AIクローラーがサイトを読み取ることを許可するかどうかを目的に応じて決定し、エッジがデフォルトでブロックしていないことを確認する(wp-ship > cloudflare-edge.md)。
  5. リダイレクト: プロジェクトの docs/reference/REDIRECT_RULES.md に従う。トラフィックまたはバックリンクがあるすべての旧URLを、最も近い新しいページにマッピングする(301、1ホップ)。各リダイレクトをテストする。
  6. 大きな変更前のパリティチェック。 リデザイン、移行、言語ローンチの前に、すべてのURLのタイトル、説明文、正規URL、H1をキャプチャする。各ステップの後で比較する。意図した変更に対してのみ再キャプチャし、その理由をコミットに記録する。
  7. Search ConsoleとBing:
    • 両方でサイトを確認する;
    • サイトマップを送信する;
    • 最初の1ヶ月間は週次でページインデックスを監視する;
    • Search Consoleはデータを16ヶ月しか保持しないため、早期にエクスポートするか一括エクスポートを有効にする。

言語の手順(各言語は最初パイロットとして扱う)

references/multilingual.md に従う。要約:

  1. ルールゼロ: オリジナル言語は変更しない。そのURL、タイトル、正規タグ、テキストは同一のままとする(パリティチェックで証明する)。
  2. パイロット: 言語基盤(Polylang、スイッチャー、hreflang、.po/.mo ファイルの文字列)、次に主要ページとトップアイテム。その後、ステージングでネイティブスピーカーレビューを実施し、公開する。
  3. 残りは バッチごとに進め、それぞれ同じレビュープロセスを経る。
  4. まだ公開されていない言語は オリジナル言語に 302 リダイレクトし、サイトマップ、hreflang、メニュー、スイッチャーには一切表示しない。

ゲート(SITE_STATUS.md にチェック)

  • npm run test:seo がステージングでグリーン;各種タイプの1ページでリッチリザルツテストがクリーン
  • 本番環境でサイトマップ、robots.txt、llms.txt が正しい
  • 旧URLリダイレクトマップが配置されテスト済み(または「該当なし」)
  • 各追加言語:パイロット合格、ネイティブレビュー完了、hreflangペア完全、言語ごとに正規URLあり

過去に発生したバグ(確認事項)

  • 翻訳されたホームページの正規URLが元のホームページを指していたため、Googleがフランス語結果から /fr/ を削除してしまうことがあった。翻訳ページの正規URLは翻訳後のURLであるべき。
  • フランス語ページに英語のJSON-LDが含まれていた:スキーマはページの言語に従うか、翻訳されるまで除外する必要がある。
  • 未公開言語をホームページに301リダイレクトしていたゲート。ゲートは302であるべき。

Individual skills in this repo

This repo contains 7 individual skills — each has its own dedicated page.

umairmsm/wp-build

Stage 3 of a wp-site-kit WordPress build - local DDEV site, the core must-use plugin (modules), the presentation-only child theme with skins, the content model (custom post types, meta, WP_Query, render functions), and the enquiry pipeline that saves leads before forwarding. Use when building or changing features, templates, content types, forms or plugin modules on a wp-site-kit site.

umairmsm/wp-content

Stage 4 of a wp-site-kit WordPress build - real copy and photos. Content truth (facts only from the owner), AI drafts and owner approval, claims audits, banned words and fake proof, legal pages, the photo pipeline (dedupe, real-only, EXIF strip, WebP sizes, alt text, AI image register), and recorded content changes. Use for "write the copy", "add photos", "the owner sent new photos", "check for duplicates", "update prices or text on the live site", "legal pages".

umairmsm/wp-design

Stage 2 of a wp-site-kit WordPress build - design direction, a static HTML/CSS prototype with design tokens, owner sign-off with screenshots, self-hosted fonts, and porting the approved look into a swappable WordPress skin. Use for "design the site", "new look", "redesign", "change colours or fonts", "make a new skin", "port the prototype to WordPress".

umairmsm/wp-kickoff

Stage 1 of a wp-site-kit WordPress build. Use when starting a new WordPress website or taking over or rebuilding an existing one - discovery brief, stack decision, creating the project with bin/wp-site-new, locked decisions, private repo and credentials inventory. Triggers - "new WordPress site", "start a client website", "rebuild this site", "take over this WordPress site".

umairmsm/wp-operate

Stage 8 of a wp-site-kit WordPress build and everything after launch - backups with an off-machine copy, restore drills, the disaster-recovery runbook, credentials inventory, update policy, alerts, and working from more than one machine (bridge file, workstation doctor, encrypted state bundle, rescuing unpushed work). Use for "backup", "restore", "move to a new machine/server", "update plugins", "what if the server dies", "work from the cloud box", "set up a second machine".

umairmsm/wp-ship

Stage 7 of a wp-site-kit WordPress build - staging behind Cloudflare Access, server hardening, safe deploys from a commit (scripts/deploy-safe.sh), database content changes, the launch audit, DNS cutover without breaking a running business, and the first week after launch. Use for "deploy", "set up staging", "go live", "launch", "cutover", "move DNS", "harden the server".

umairmsm/wp-site

Start here for any WordPress website built with wp-site-kit, from an empty folder to a live site. Use when someone says "build a WordPress site", "new website for a client", "where are we on the site", "what is next before launch", or asks to continue a site project. Finds the current stage from SITE_STATUS.md, applies the hard rules, and hands over to the right stage skill.

関連スキル