wp_seo_keyword_research
Research SEO keywords and get suggestions based on topic analysis, competition data, and user intent to improve WordPress content visibility.
Instructions
Research keywords and get suggestions based on topic and competition analysis
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| site | No | Site identifier for multi-site setups | |
| seedKeyword | Yes | Seed keyword or topic to research | |
| includeVariations | No | Include keyword variations and long-tail keywords | |
| includeQuestions | No | Include question-based keywords | |
| maxResults | No | Maximum number of keyword suggestions |
Implementation Reference
- src/tools/seo/SEOHandlers.ts:240-250 (handler)The handler function that executes the logic for the 'wp_seo_keyword_research' tool. Currently implemented as a stub that throws an error indicating it's not yet implemented.export async function handleKeywordResearch(client: WordPressClient, args: Record<string, unknown>): Promise<unknown> { const logger = LoggerFactory.tool("wp_seo_keyword_research"); try { // This would need implementation in SEOTools throw new Error("Keyword research not yet implemented"); } catch (error) { logger.error("Failed to perform keyword research", { error, args }); throw error; } }
- The input schema and definition for the 'wp_seo_keyword_research' tool, specifying parameters like seedKeyword, includeVariations, etc.export const keywordResearchTool: Tool = { name: "wp_seo_keyword_research", description: "Research keywords and get suggestions based on topic and competition analysis", inputSchema: { type: "object", properties: { seedKeyword: { type: "string", description: "Seed keyword or topic to research", }, includeVariations: { type: "boolean", description: "Include keyword variations and long-tail keywords", }, includeQuestions: { type: "boolean", description: "Include question-based keywords", }, maxResults: { type: "number", description: "Maximum number of keyword suggestions", }, site: { type: "string", description: "Site identifier for multi-site setups", }, }, required: ["seedKeyword"], }, };
- src/tools/seo/SEOTools.ts:379-392 (registration)The registration mapping that associates the tool name 'wp_seo_keyword_research' with its handler function 'handleKeywordResearch' in the getHandlerForTool method, used by getTools() for MCP registration.const handlers: Record<string, unknown> = { wp_seo_analyze_content: handleAnalyzeContent, wp_seo_generate_metadata: handleGenerateMetadata, wp_seo_bulk_update_metadata: handleBulkUpdateMetadata, wp_seo_generate_schema: handleGenerateSchema, wp_seo_validate_schema: handleValidateSchema, wp_seo_suggest_internal_links: handleSuggestInternalLinks, wp_seo_site_audit: handlePerformSiteAudit, wp_seo_track_serp: handleTrackSERPPositions, wp_seo_keyword_research: handleKeywordResearch, wp_seo_test_integration: handleTestSEOIntegration, wp_seo_get_live_data: handleGetLiveSEOData, };