SEO ZOMBIE SLAYER
Pricing
from $0.50 / 1,000 results
SEO ZOMBIE SLAYER
SEO Zombie Slayer crawls websites to hunt dead links, SEO issues, performance problems, and security risks. Includes Lighthouse audits, competitor comparison, and a fun game mode with XP, levels, and boss battles to turn SEO audits into action
Pricing
from $0.50 / 1,000 results
Rating
5.0
(1)
Developer
ANIRBAN ROY
Actor stats
1
Bookmarked
6
Total users
3
Monthly active users
3 days ago
Last modified
Categories
Share
๐ง SEO Zombie Slayer
Gamified, comprehensive SEO auditing โ because fixing your site should feel like winning.
Transform your website audit into an epic battle. Find broken links, performance zombies, security gaps, and SEO issues across your site and your competitors โ all wrapped in an interactive game with XP, achievements, and boss battles.
What Does It Do?
- Crawls your website and analyzes every page for SEO issues
- Detects 20+ zombie types โ broken links, thin content, missing tags, JS rendering issues, and more
- Runs Google Lighthouse โ Performance, Accessibility, SEO, and Best Practices scores
- Checks Core Web Vitals โ LCP, CLS, FID, INP, TTFB measured directly in the browser
- Audits security headers โ HSTS, CSP, X-Frame-Options, and more
- Validates SSL certificates โ expiry warnings, protocol version, issuer chain
- Resurrects broken links โ searches the Wayback Machine for cached alternatives
- Competitive analysis โ compare up to 5 sites side by side with radar charts
- Generates interactive HTML reports โ Slayer's Bounty score, radar charts, fix roadmap, weapons arsenal
- Full game mode โ XP system, level-ups, achievements, and boss battles
Quick Start
Apify Console
- Open the Apify Console
- Create a task from this Actor
- Fill in Website URL
- Click Start
API
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('YOUR_ACTOR_ID').call({websiteUrl: 'https://example.com',maxPages: 50,analysisMode: 'full_audit',enableLighthouse: true,enableSecurityAudit: true,enableSSLCheck: true,enableGameMode: true,googlePSIApiKey: 'YOUR_FREE_KEY' // Highly recommended});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
CLI
$apify call YOUR_ACTOR_ID --input '{"websiteUrl":"https://example.com"}'
Input Configuration
Required
| Field | Type | Description |
|---|---|---|
websiteUrl | String | Your main website URL (must start with https://) |
Crawl Settings
| Field | Type | Default | Description |
|---|---|---|---|
maxPages | Integer | 50 | Pages to crawl per site (1โ1000) |
maxDepth | Integer | 3 | How deep to follow links (1โ5) |
analysisMode | String | full_audit | full_audit, zombie_hunt, link_resurrector, competitive |
startUrls | Array | [] | Competitor URLs for comparison |
Feature Toggles
| Field | Type | Default | Description |
|---|---|---|---|
enableLighthouse | Boolean | true | Google PageSpeed scores |
enableCoreWebVitals | Boolean | true | LCP, CLS, FID, INP, TTFB |
enableStructuredData | Boolean | true | Schema.org, Open Graph, Twitter Cards |
enableSecurityAudit | Boolean | true | Security headers audit |
enableSSLCheck | Boolean | true | SSL certificate validation |
checkExternalLinks | Boolean | true | Test all outbound links |
includeWayback | Boolean | true | Wayback Machine rescue for broken links |
generateHtmlReport | Boolean | true | Interactive visual report |
enableGameMode | Boolean | true | XP, levels, achievements, boss battles |
Advanced
| Field | Type | Default | Description |
|---|---|---|---|
difficultyLevel | String | normal | See Difficulty Levels below |
googlePSIApiKey | String | null | ๐ Secret field โ get free key below |
webhookUrl | String | null | POST notification on scan completion |
Difficulty Levels
| Level | XP Multiplier | Detection Sensitivity | Pages Multiplier |
|---|---|---|---|
| ๐ Easy | 0.5x | 0.7x | 0.5x |
| ๐ฎ Normal | 1.0x | 1.0x | 1.0x |
| ๐ Hard | 1.5x | 1.3x | 1.5x |
| ๐ Nightmare | 2.0x | 1.5x | 2.0x |
| ๐ฅ Hell | 3.0x | 2.0x | 3.0x |
Zombie Types Detected
Critical (Severity 70โ95)
| Zombie | Severity | Category | Fix |
|---|---|---|---|
| ๐ Hard 404 Zombie | 95 | links | 301 redirect to best matching page |
| โฐ๏ธ Gone 410 Zombie | 90 | links | Remove all internal links or redirect |
| ๐ Redirect Loop Zombie | 90 | links | Break circular redirect chains |
| ๐ฅ DNS Failure Zombie | 88 | links | Remove link or update to working domain |
| ๐ซ NoIndex Zombie | 85 | seo | Remove noindex meta tag if unintended |
| ๐ Canonical Chain Zombie | 80 | seo | Point canonical to self or consolidate pages |
| ๐ SSL Error Zombie | 75 | security | Fix SSL certificate or remove HTTP resources |
| ๐ Broken Internal Link Zombie | 70 | links | Update or remove broken internal link |
| โก Performance Ghoul (Lighthouse) | 70 | performance | Lighthouse performance score below 50 |
High Priority (Severity 50โ69)
| Zombie | Severity | Category | Fix |
|---|---|---|---|
| ๐ป Soft 404 Zombie | 72 | content | Return proper 404 status or add content |
| ๐ค JavaScript Zombie | 68 | technical | Add server-side rendering or prerendering |
| ๐ถ๏ธ Blind Banshee (Lighthouse SEO) | 65 | seo | Lighthouse SEO score below 80 |
| ๐ Slow Zombie | 65 | performance | Optimize images, defer JS, enable CDN |
| โฑ๏ธ Timeout Zombie | 60 | performance | Optimize server response time |
| ๐ฑ Mobile Zombie | 60 | mobile | Add viewport meta tag |
| โฟ Wall-E Zombie (Lighthouse A11y) | 60 | accessibility | Lighthouse accessibility below 70 |
| ๐ No Title Zombie | 55 | seo | Add unique 50โ60 char title tag |
| ๐ Thin Content Zombie | 58 | content | Add valuable content or consolidate pages |
| โฟ Accessibility Zombie | 52 | accessibility | Add alt text to all images |
| ๐ฏ No H1 Zombie | 50 | seo | Add clear, keyword-rich H1 |
Medium / Low Priority (Severity 38โ48)
| Zombie | Severity | Category | Fix |
|---|---|---|---|
| ๐ผ๏ธ Broken Image Zombie | 48 | media | Fix image URLs or remove broken images |
| ๐ Mixed Content Zombie | 45 | security | Update all resources to HTTPS |
| ๐ Schema Zombie | 45 | seo | Add Schema.org JSON-LD |
| ๐ฏ Duplicate Content Zombie | 42 | content | Consolidate or canonicalize |
| ๐ป Orphan Page Zombie | 40 | architecture | Add internal links from relevant pages |
| ๐ Missing Meta Zombie | 38 | seo | Add compelling 150โ160 char description |
Boss Battles
Boss zombies appear automatically when you find enough of their type:
| Boss | Trigger | XP Reward |
|---|---|---|
| ๐ Redirect Hydra | 3+ redirect loops found | 2,000 XP |
| ๐ป Content Phantom | 10+ thin content pages | 1,500 XP |
| ๐ Performance Demon | 5+ slow-loading pages | 1,800 XP |
Game Mode
Level System
| Level Range | Rank Title |
|---|---|
| 1โ4 | ๐ฑ Novice Slayer |
| 5โ9 | ๐ฏ Skilled Slayer |
| 10โ19 | โ๏ธ Veteran Slayer |
| 20โ29 | ๐ฅ Elite Slayer |
| 30โ39 | ๐ Expert Slayer |
| 40โ49 | โญ Master Slayer |
| 50+ | ๐ Legendary Slayer |
Achievements
| Achievement | Requirement | XP |
|---|---|---|
| ๐ฉธ First Blood | Kill your first zombie | 100 |
| ๐ No Mercy | Kill 50 zombies | 900 |
| ๐ Zombie Slayer | Kill 100 zombies | 750 |
| ๐ Critical Hit Master | 25 critical kills | 600 |
| ๐ Resurrector | 10 Wayback rescues | 800 |
| ๐ฅ Combo King | 20x combo | 500 |
| โก Speed Demon | Complete scan in <60s | 500 |
| ๐ Boss Killer | Defeat a boss | 1,500 |
| ๐ Perfectionist | Score below 10 | 1,000 |
| ๐ฅ League Champion | Rank #1 in competitive | 2,000 |
Output Data
Dataset Record Types
Records are separated by dataType field for easy filtering:
| dataType | Description |
|---|---|
site_result | Full analysis per site |
zombie | Individual zombie detected |
lighthouse | Lighthouse scores |
core_web_vitals | CWV measurements |
security_audit | Security headers report |
ssl_check | SSL certificate details |
boss | Boss battle result |
summary | Overall run summary |
Example Site Result
{"dataType": "site_result","site": "https://example.com","zombie_score": 37,"rating": "๐ก Needs Attention","stats": {"pages_crawled": 45,"total_zombies": 12,"critical_zombies": 2},"category_breakdown": {"seo": { "score": 78, "count": 3 },"performance": { "score": 92, "count": 1 },"security": { "score": 100, "count": 0 },"links": { "score": 82, "count": 4 },"content": { "score": 88, "count": 2 },"accessibility":{ "score": 85, "count": 2 },"mobile": { "score": 100, "count": 0 },"technical": { "score": 95, "count": 0 }},"lighthouse": {"mobile": { "scores": { "performance": 85, "seo": 95, "accessibility": 92 } },"desktop": { "scores": { "performance": 92, "seo": 97, "accessibility": 95 } }},"sslCertificate": { "grade": "A+", "daysUntilExpiry": 217 },"securityAudit": { "grade": "B", "score": 72 }}
HTML Report
The interactive report is saved to Key-Value Store as REPORT:
const reportUrl = `https://api.apify.com/v2/key-value-stores/${run.defaultKeyValueStoreId}/records/REPORT`;
The report includes:
- Competitive rankings with score explanations
- ๐ฐ Slayer's Bounty (potential traffic gain estimate)
- โ๏ธ Weapons Arsenal (Lighthouse opportunities translated to plain-English fixes)
- Radar chart comparing sites across all 8 categories
- Security and SSL summaries
- Fix roadmap sorted by priority
- Whack-A-Zombie mini-game
Common Use Cases
Pre-Launch Audit
{"websiteUrl": "https://staging.example.com","maxPages": 100,"maxDepth": 5,"analysisMode": "full_audit","difficultyLevel": "hard"}
Competitive Analysis
{"websiteUrl": "https://yoursite.com","startUrls": [{ "url": "https://competitor1.com" },{ "url": "https://competitor2.com" }],"analysisMode": "competitive","maxPages": 50}
Broken Link Rescue
{"websiteUrl": "https://example.com","analysisMode": "link_resurrector","checkExternalLinks": true,"includeWayback": true,"maxPages": 100}
Quick Health Check
{"websiteUrl": "https://example.com","maxPages": 10,"maxDepth": 1,"enableLighthouse": true,"enableSecurityAudit": true}
Google PageSpeed API Key
Without a key you are limited to 10 Lighthouse requests per day. With a free key you get 25,000 requests per day.
- Go to Google PageSpeed Insights API
- Enable the API and create credentials
- Add the key to input as
googlePSIApiKey(stored as a secret โ never logged)
Webhook Notification
{"websiteUrl": "https://example.com","webhookUrl": "https://your-endpoint.com/seo-results"}
Payload sent on completion:
{"status": "completed","sites_successful": 1,"total_zombies": 12,"average_score": 37,"critical_issues": 2,"execution_time_seconds": 145,"timestamp": "2026-01-28T12:00:00.000Z"}
Troubleshooting
Lighthouse scores showing 0
Cause: Google PSI API rate limit (10/day without key).
Fix: Add a free googlePSIApiKey.
Actor times out
Cause: Too many pages.
Fix: Reduce maxPages to 50 or fewer. Set maxDepth to 2.
SSL check failing
Cause: Certificate issues or network restrictions.
Fix: Set enableSSLCheck: false to skip.
No zombies found
Cause: Detection sensitivity too low.
Fix: Increase difficultyLevel to hard or nightmare.
Performance Guide
| Mode | Pages | Approx. Time | Memory |
|---|---|---|---|
| Quick check | 10, depth 1 | 30โ60s | <100MB |
| Standard | 50, depth 3 | 3โ5 min | 100โ300MB |
| Full audit | 100+, depth 5 | 10โ15 min | 300โ500MB |
CI/CD Integration
# .github/workflows/seo-audit.ymlname: Weekly SEO Auditon:schedule:- cron: '0 9 * * 1'jobs:audit:runs-on: ubuntu-lateststeps:- name: Run SEO Zombie Slayeruses: apify/apify-action@v1with:actor: YOUR_ACTOR_IDinput: |{"websiteUrl": "https://example.com","webhookUrl": "${{ secrets.WEBHOOK_URL }}"}
FAQ
How many sites can I analyze at once?
Up to 5 per run. Use startUrls for competitors.
Does crawling affect my site performance?
No โ default concurrency is 2 requests/second and it respects robots.txt.
Can I schedule audits? Yes โ use Apify Schedules or CI/CD integration above.
Is my API key safe?
Yes โ googlePSIApiKey is marked as a secret field and never appears in logs or outputs.
What about JavaScript-heavy sites? Fully supported โ the crawler uses Playwright with complete JS rendering.
License
Apache License 2.0
๐ Credits
Built with:
Special thanks to the Apify team and community!