$npx -y skills add norahe0304-art/30x-seo --skill 30x-seo-keywordsComprehensive keyword research and analysis using DataForSEO API. Discover keyword opportunities, analyze search volume and difficulty, find related keywords, track rankings, and identify content gaps. Use when user says "keywords", "keyword research", "search volume", "keyword d
| 1 | # SEO Keywords Analysis |
| 2 | |
| 3 | Comprehensive keyword research and analysis using DataForSEO API via direct curl calls. |
| 4 | |
| 5 | ## API Configuration |
| 6 | |
| 7 | Credentials stored in `~/.config/dataforseo/auth` (Base64 encoded). |
| 8 | |
| 9 | ```bash |
| 10 | # Read auth token |
| 11 | AUTH=$(cat ~/.config/dataforseo/auth) |
| 12 | ``` |
| 13 | |
| 14 | ## Quick Reference |
| 15 | |
| 16 | | Command | What it does | |
| 17 | |---------|-------------| |
| 18 | | `/seo keywords research <seed>` | Generate keyword ideas from seed keyword | |
| 19 | | `/seo keywords volume <keyword1, keyword2, ...>` | Get search volume for keywords | |
| 20 | | `/seo keywords difficulty <keyword1, keyword2, ...>` | Analyze keyword difficulty scores | |
| 21 | | `/seo keywords site <domain>` | Find keywords a site ranks for | |
| 22 | | `/seo keywords gap <your-domain> <competitor>` | Find keyword opportunities | |
| 23 | | `/seo keywords intent <keyword1, keyword2, ...>` | Analyze search intent | |
| 24 | | `/seo keywords trending` | Find trending search queries | |
| 25 | | `/seo keywords history <keyword>` | Historical search volume data | |
| 26 | |
| 27 | ## API Endpoints |
| 28 | |
| 29 | ### Keyword Ideas |
| 30 | ```bash |
| 31 | curl -s -X POST "https://api.dataforseo.com/v3/dataforseo_labs/google/keyword_ideas/live" \ |
| 32 | -H "Authorization: Basic $(cat ~/.config/dataforseo/auth)" \ |
| 33 | -H "Content-Type: application/json" \ |
| 34 | -d '[{"keywords": ["SEED_KEYWORD"], "location_name": "United States", "language_code": "en", "limit": 50}]' |
| 35 | ``` |
| 36 | |
| 37 | ### Keyword Suggestions (Autocomplete) |
| 38 | ```bash |
| 39 | curl -s -X POST "https://api.dataforseo.com/v3/dataforseo_labs/google/keyword_suggestions/live" \ |
| 40 | -H "Authorization: Basic $(cat ~/.config/dataforseo/auth)" \ |
| 41 | -H "Content-Type: application/json" \ |
| 42 | -d '[{"keyword": "SEED_KEYWORD", "location_name": "United States", "language_code": "en", "limit": 50}]' |
| 43 | ``` |
| 44 | |
| 45 | ### Related Keywords |
| 46 | ```bash |
| 47 | curl -s -X POST "https://api.dataforseo.com/v3/dataforseo_labs/google/related_keywords/live" \ |
| 48 | -H "Authorization: Basic $(cat ~/.config/dataforseo/auth)" \ |
| 49 | -H "Content-Type: application/json" \ |
| 50 | -d '[{"keyword": "SEED_KEYWORD", "location_name": "United States", "language_code": "en", "limit": 50}]' |
| 51 | ``` |
| 52 | |
| 53 | ### Bulk Keyword Difficulty |
| 54 | ```bash |
| 55 | curl -s -X POST "https://api.dataforseo.com/v3/dataforseo_labs/bulk_keyword_difficulty/live" \ |
| 56 | -H "Authorization: Basic $(cat ~/.config/dataforseo/auth)" \ |
| 57 | -H "Content-Type: application/json" \ |
| 58 | -d '[{"keywords": ["kw1", "kw2", "kw3"], "location_name": "United States", "language_code": "en"}]' |
| 59 | ``` |
| 60 | |
| 61 | ### Search Volume (Google Ads Data) |
| 62 | ```bash |
| 63 | curl -s -X POST "https://api.dataforseo.com/v3/keywords_data/google_ads/search_volume/live" \ |
| 64 | -H "Authorization: Basic $(cat ~/.config/dataforseo/auth)" \ |
| 65 | -H "Content-Type: application/json" \ |
| 66 | -d '[{"keywords": ["kw1", "kw2"], "location_code": 2840, "language_code": "en"}]' |
| 67 | ``` |
| 68 | |
| 69 | ### Ranked Keywords (Site Analysis) |
| 70 | ```bash |
| 71 | curl -s -X POST "https://api.dataforseo.com/v3/dataforseo_labs/google/ranked_keywords/live" \ |
| 72 | -H "Authorization: Basic $(cat ~/.config/dataforseo/auth)" \ |
| 73 | -H "Content-Type: application/json" \ |
| 74 | -d '[{"target": "example.com", "location_name": "United States", "language_code": "en", "limit": 100}]' |
| 75 | ``` |
| 76 | |
| 77 | ### Search Intent |
| 78 | ```bash |
| 79 | curl -s -X POST "https://api.dataforseo.com/v3/dataforseo_labs/google/search_intent/live" \ |
| 80 | -H "Authorization: Basic $(cat ~/.config/dataforseo/auth)" \ |
| 81 | -H "Content-Type: application/json" \ |
| 82 | -d '[{"keywords": ["kw1", "kw2"], "language_code": "en"}]' |
| 83 | ``` |
| 84 | |
| 85 | ### Historical Keyword Data |
| 86 | ```bash |
| 87 | curl -s -X POST "https://api.dataforseo.com/v3/dataforseo_labs/google/historical_search_volume/live" \ |
| 88 | -H "Authorization: Basic $(cat ~/.config/dataforseo/auth)" \ |
| 89 | -H "Content-Type: application/json" \ |
| 90 | -d '[{"keywords": ["KEYWORD"], "location_name": "United States", "language_code": "en"}]' |
| 91 | ``` |
| 92 | |
| 93 | ## Analysis Modes |
| 94 | |
| 95 | ### 1. Keyword Research (Ideas Generation) |
| 96 | |
| 97 | Generate keyword ideas from a seed keyword: |
| 98 | |
| 99 | ``` |
| 100 | Input: seed keyword (e.g., "coffee maker") |
| 101 | Output: |
| 102 | - Related keyword ideas |
| 103 | - Search volume per keyword |
| 104 | - CPC and competition data |
| 105 | - Keyword difficulty score |
| 106 | - Search intent classification |
| 107 | ``` |
| 108 | |
| 109 | ### 2. Search Volume Analysis |
| 110 | |
| 111 | Get accurate search volume data: |
| 112 | |
| 113 | ``` |
| 114 | Input: list of keywords |
| 115 | Output: |
| 116 | - Monthly search volume |
| 117 | - Search volume trend (12 months) |
| 118 | - CPC estimate |
| 119 | - Competition level (0-1) |
| 120 | - Seasonal patterns |
| 121 | ``` |
| 122 | |
| 123 | ### 3. Keyword Difficulty Assessment |
| 124 | |
| 125 | Analyze ranking difficulty: |
| 126 | |
| 127 | ``` |
| 128 | Input: list of keywords |
| 129 | Output: |
| 130 | - Difficulty score (0-100) |
| 131 | - SERP feature presence |
| 132 | - Top 10 competitor strength |
| 133 | - Estimated effort to rank |
| 134 | ``` |
| 135 | |
| 136 | **Difficulty Interpretation:** |
| 137 | - 0-20: Easy (new sites can rank) |
| 138 | - 20-40: Moderate (some authority needed) |
| 139 | - 40-60: Hard (established |