SEO ZOMBIE SLAYER avatar

SEO ZOMBIE SLAYER

Under maintenance

Pricing

from $0.50 / 1,000 results

Go to Apify Store
SEO ZOMBIE SLAYER

SEO ZOMBIE SLAYER

Under maintenance

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

ANIRBAN ROY

Maintained by Community

Actor stats

1

Bookmarked

6

Total users

3

Monthly active users

3 days ago

Last modified

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.

Apify Actor License: Apache 2.0


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

  1. Open the Apify Console
  2. Create a task from this Actor
  3. Fill in Website URL
  4. 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

FieldTypeDescription
websiteUrlStringYour main website URL (must start with https://)

Crawl Settings

FieldTypeDefaultDescription
maxPagesInteger50Pages to crawl per site (1โ€“1000)
maxDepthInteger3How deep to follow links (1โ€“5)
analysisModeStringfull_auditfull_audit, zombie_hunt, link_resurrector, competitive
startUrlsArray[]Competitor URLs for comparison

Feature Toggles

FieldTypeDefaultDescription
enableLighthouseBooleantrueGoogle PageSpeed scores
enableCoreWebVitalsBooleantrueLCP, CLS, FID, INP, TTFB
enableStructuredDataBooleantrueSchema.org, Open Graph, Twitter Cards
enableSecurityAuditBooleantrueSecurity headers audit
enableSSLCheckBooleantrueSSL certificate validation
checkExternalLinksBooleantrueTest all outbound links
includeWaybackBooleantrueWayback Machine rescue for broken links
generateHtmlReportBooleantrueInteractive visual report
enableGameModeBooleantrueXP, levels, achievements, boss battles

Advanced

FieldTypeDefaultDescription
difficultyLevelStringnormalSee Difficulty Levels below
googlePSIApiKeyStringnull๐Ÿ”‘ Secret field โ€” get free key below
webhookUrlStringnullPOST notification on scan completion

Difficulty Levels

LevelXP MultiplierDetection SensitivityPages Multiplier
๐Ÿ˜Š Easy0.5x0.7x0.5x
๐ŸŽฎ Normal1.0x1.0x1.0x
๐Ÿ˜ˆ Hard1.5x1.3x1.5x
๐Ÿ’€ Nightmare2.0x1.5x2.0x
๐Ÿ”ฅ Hell3.0x2.0x3.0x

Zombie Types Detected

Critical (Severity 70โ€“95)

ZombieSeverityCategoryFix
๐Ÿ’€ Hard 404 Zombie95links301 redirect to best matching page
โšฐ๏ธ Gone 410 Zombie90linksRemove all internal links or redirect
๐ŸŒ€ Redirect Loop Zombie90linksBreak circular redirect chains
๐Ÿ”ฅ DNS Failure Zombie88linksRemove link or update to working domain
๐Ÿšซ NoIndex Zombie85seoRemove noindex meta tag if unintended
๐Ÿ”— Canonical Chain Zombie80seoPoint canonical to self or consolidate pages
๐Ÿ”’ SSL Error Zombie75securityFix SSL certificate or remove HTTP resources
๐Ÿ’” Broken Internal Link Zombie70linksUpdate or remove broken internal link
โšก Performance Ghoul (Lighthouse)70performanceLighthouse performance score below 50

High Priority (Severity 50โ€“69)

ZombieSeverityCategoryFix
๐Ÿ‘ป Soft 404 Zombie72contentReturn proper 404 status or add content
๐Ÿค– JavaScript Zombie68technicalAdd server-side rendering or prerendering
๐Ÿ•ถ๏ธ Blind Banshee (Lighthouse SEO)65seoLighthouse SEO score below 80
๐ŸŒ Slow Zombie65performanceOptimize images, defer JS, enable CDN
โฑ๏ธ Timeout Zombie60performanceOptimize server response time
๐Ÿ“ฑ Mobile Zombie60mobileAdd viewport meta tag
โ™ฟ Wall-E Zombie (Lighthouse A11y)60accessibilityLighthouse accessibility below 70
๐Ÿ“ No Title Zombie55seoAdd unique 50โ€“60 char title tag
๐Ÿ“„ Thin Content Zombie58contentAdd valuable content or consolidate pages
โ™ฟ Accessibility Zombie52accessibilityAdd alt text to all images
๐ŸŽฏ No H1 Zombie50seoAdd clear, keyword-rich H1

Medium / Low Priority (Severity 38โ€“48)

ZombieSeverityCategoryFix
๐Ÿ–ผ๏ธ Broken Image Zombie48mediaFix image URLs or remove broken images
๐Ÿ”“ Mixed Content Zombie45securityUpdate all resources to HTTPS
๐Ÿ“Š Schema Zombie45seoAdd Schema.org JSON-LD
๐Ÿ‘ฏ Duplicate Content Zombie42contentConsolidate or canonicalize
๐Ÿ‘ป Orphan Page Zombie40architectureAdd internal links from relevant pages
๐Ÿ“‹ Missing Meta Zombie38seoAdd compelling 150โ€“160 char description

Boss Battles

Boss zombies appear automatically when you find enough of their type:

BossTriggerXP Reward
๐Ÿ‰ Redirect Hydra3+ redirect loops found2,000 XP
๐Ÿ‘ป Content Phantom10+ thin content pages1,500 XP
๐Ÿ˜ˆ Performance Demon5+ slow-loading pages1,800 XP

Game Mode

Level System

Level RangeRank 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

AchievementRequirementXP
๐Ÿฉธ First BloodKill your first zombie100
๐Ÿ˜ˆ No MercyKill 50 zombies900
๐Ÿ† Zombie SlayerKill 100 zombies750
๐Ÿ’€ Critical Hit Master25 critical kills600
๐Ÿ”„ Resurrector10 Wayback rescues800
๐Ÿ”ฅ Combo King20x combo500
โšก Speed DemonComplete scan in <60s500
๐Ÿ‘‘ Boss KillerDefeat a boss1,500
๐Ÿ’Ž PerfectionistScore below 101,000
๐Ÿฅ‡ League ChampionRank #1 in competitive2,000

Output Data

Dataset Record Types

Records are separated by dataType field for easy filtering:

dataTypeDescription
site_resultFull analysis per site
zombieIndividual zombie detected
lighthouseLighthouse scores
core_web_vitalsCWV measurements
security_auditSecurity headers report
ssl_checkSSL certificate details
bossBoss battle result
summaryOverall 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
}
{
"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.

  1. Go to Google PageSpeed Insights API
  2. Enable the API and create credentials
  3. 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

ModePagesApprox. TimeMemory
Quick check10, depth 130โ€“60s<100MB
Standard50, depth 33โ€“5 min100โ€“300MB
Full audit100+, depth 510โ€“15 min300โ€“500MB

CI/CD Integration

# .github/workflows/seo-audit.yml
name: Weekly SEO Audit
on:
schedule:
- cron: '0 9 * * 1'
jobs:
audit:
runs-on: ubuntu-latest
steps:
- name: Run SEO Zombie Slayer
uses: apify/apify-action@v1
with:
actor: YOUR_ACTOR_ID
input: |
{
"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!