Find your landing page message
Connect a product’s value to a specific audience and write a clear first-screen message.
Query keyword rankings, search volume, and SEO metrics via DataForSEO. Use this skill when the user asks about SEO performance, keyword rankings, or organic search data.
--- name: dataforseo-8cdbf873d7d4 description: > Query keyword rankings, search volume, and SEO metrics via DataForSEO. Use this skill when the user asks about SEO performance, keyword rankings, or organic search data. --- # DataForSEO Integration ## Connection - **Base URL**: `https://api.dataforseo.com/v3` - **Auth**: Basic auth — `Base64($DATAFORSEO_LOGIN:$DATAFORSEO_PASSWORD)` - **Env vars**: `DATAFORSEO_LOGIN`, `DATAFORSEO_PASSWORD` - **Caching**: 6-hour in-memory cache, max 50 entries ## Server Lib - **File**: `server/lib/dataforseo.ts` ### Exported Functions | Function | Description | | -------------------------------------------- | -------------------------------------- | | `getRelevantBlogPages(limit?, offset?)` | Blog pages with SEO metrics | | `getAllBlogPagesSeo()` | All blog pages (paginated, up to 1000) | | `getTopBlogKeywords(limit?, offset?)` | Top ranking keywords | | `getAllTopBlogKeywords(maxResults?)` | All top keywords | | `getRankedKeywordsForPage(blogSlug, limit?)` | Keywords for a specific blog post | ## Script Usage ```bash # Top keywords pnpm action seo-top-keywords --fields=keyword,rank_absolute,etv # Search for specific keywords pnpm action seo-top-keywords --grep=remix --fields=keyword,rank_absolute,etv ``` ## Key Patterns & Gotchas - API uses asynchronous tasks model — response has `tasks[]` with `status_code: 20000` for success - Response structure: `tasks[].result[0].items` — code drills into this - Filtering uses SQL-like filter arrays in request body; code filters for `/blog/%` - `getAllBlogPagesSeo` paginates in steps of 100, up to 1000 by default - Errors include DataForSEO task status codes/messages--- name: dataforseo-8cdbf873d7d4 description: > Query keyword rankings, search volume, and SEO metrics via DataForSEO. Use this skill when the user asks about SEO performance, keyword rankings, or organic search data. --- # DataForSEO Integration ## Connection - **Base URL**: `https://api.dataforseo.com/v3` - **Auth**: Basic auth — `Base64($DATAFORSEO_LOGIN:$DATAFORSEO_PASSWORD)` - **Env vars**: `DATAFORSEO_LOGIN`, `DATAFORSEO_PASSWORD` - **Caching**: 6-hour in-memory cache, max 50 entries ## Server Lib - **File**: `server/lib/dataforseo.ts` ### Exported Functions | Function | Description | | -------------------------------------------- | -------------------------------------- | | `getRelevantBlogPages(limit?, offset?)` | Blog pages with SEO metrics | | `getAllBlogPagesSeo()` | All blog pages (paginated, up to 1000) | | `getTopBlogKeywords(limit?, offset?)` | Top ranking keywords | | `getAllTopBlogKeywords(maxResults?)` | All top keywords | | `getRankedKeywordsForPage(blogSlug, limit?)` | Keywords for a specific blog post | ## Script Usage ```bash # Top keywords pnpm action seo-top-keywords --fields=keyword,rank_absolute,etv # Search for specific keywords pnpm action seo-top-keywords --grep=remix --fields=keyword,rank_absolute,etv ``` ## Key Patterns & Gotchas - API uses asynchronous tasks model — response has `tasks[]` with `status_code: 20000` for success - Response structure: `tasks[].result[0].items` — code drills into this - Filtering uses SQL-like filter arrays in request body; code filters for `/blog/%` - `getAllBlogPagesSeo` paginates in steps of 100, up to 1000 by default - Errors include DataForSEO task status codes/messages
Imported from the listed AgentSkill.sh category. Complete supplied package files and notices are retained. Required external tools and credentials are not installed. No bundled code was executed during import. Individual agent task behavior has not been tested.