SitePulse avatar
SitePulse

Pricing

Pay per event

Go to Apify Store
SitePulse

SitePulse

Instant SEO & technical audit for 100+ pages. Finds broken links, missing alts, slow pages + gives SEO score & fixes in JSON. Perfect for agencies & devs. Pay-per-use. Schedule weekly.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Astral Shard

Astral Shard

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

9 days ago

Last modified

Share

SEO Audit Beast πŸš€

A production-ready Apify Actor that performs comprehensive SEO audits on websites by crawling pages and analyzing key SEO metrics. Perfect for agencies, developers, and businesses looking to improve their website's search engine optimization.

Features

  • πŸ” Comprehensive SEO Analysis: Analyzes titles, meta descriptions, headings, images, links, and page speed
  • ⚑ Dual Mode: Fast Cheerio mode (HTML parsing) or Puppeteer mode (JavaScript-rendered pages)
  • πŸ€– Robots.txt Respect: Automatically respects robots.txt rules
  • 🎯 Rate Limiting: Intelligent rate limiting (1 request/second per domain) to avoid overwhelming servers
  • πŸ”— Broken Link Detection: Identifies broken internal and external links
  • πŸ“Š SEO Scoring: Calculates a 0-100 SEO score for each page with actionable fixes
  • 🎨 Actionable Fixes: Provides specific recommendations for improving SEO
  • πŸ“ˆ Scalable: Handles large websites with configurable depth and page limits

Quick Start

Input Schema

{
"startUrl": "https://example.com",
"maxDepth": 3,
"maxPages": 100,
"includeSubdomains": false,
"renderJs": false
}

Parameters

  • startUrl (required): The website URL to audit (e.g., https://example.com)
  • maxDepth (default: 3): Maximum crawl depth from the start URL (1-10)
  • maxPages (default: 100): Maximum number of pages to crawl (10-1000)
  • includeSubdomains (default: false): Whether to include subdomains in the crawl
  • renderJs (default: false): Use Puppeteer to render JavaScript-rendered pages (slower but more accurate)

Output

  • HTML Report: View in Key-value store β†’ REPORT (beautiful, shareable)
  • JSON Data: Full details in Dataset tab (free download)

Hero Example

Input

{
"startUrl": "https://example.com",
"maxDepth": 2,
"maxPages": 50,
"renderJs": false
}

Output

Each page returns a JSON object like this:

{
"url": "https://example.com",
"statusCode": 200,
"title": "Example Domain",
"titleLength": 14,
"metaDescription": "This domain is for use in illustrative examples in documents.",
"metaDescriptionLength": 62,
"metaDescriptionMissing": false,
"h1Count": 1,
"h2Count": 3,
"imageCount": 5,
"imagesWithoutAlt": 2,
"internalLinks": 12,
"externalLinks": 3,
"brokenLinks": ["https://example.com/old-page"],
"pageSpeedScore": 85,
"seoScore": 72,
"fixes": [
"Add alt text to 2 image(s)",
"Meta description is too short (recommended: 120-160 characters)"
]
}

Use Cases

1. Agency SEO Audits

Perfect for digital marketing agencies performing regular SEO audits for clients. Schedule weekly audits to track improvements and identify new issues.

2. Pre-Launch Website Checks

Before launching a new website or major update, run a comprehensive audit to ensure all SEO best practices are in place.

3. Competitive Analysis

Audit competitor websites to understand their SEO strategy and identify opportunities for your own site.

4. Content Quality Assurance

Ensure all pages have proper titles, meta descriptions, and heading structures before publishing.

5. Technical SEO Monitoring

Regularly monitor your website for broken links, missing alt tags, and other technical SEO issues.

Sample Output

Good SEO Score Example

{
"url": "https://example.com/about",
"statusCode": 200,
"title": "About Us - Example Company | Leading Provider of Solutions",
"titleLength": 57,
"metaDescription": "Learn about Example Company, a leading provider of innovative solutions. We've been serving customers since 2010 with excellence and dedication.",
"metaDescriptionLength": 142,
"metaDescriptionMissing": false,
"h1Count": 1,
"h2Count": 4,
"imageCount": 8,
"imagesWithoutAlt": 0,
"internalLinks": 15,
"externalLinks": 5,
"brokenLinks": [],
"pageSpeedScore": 92,
"seoScore": 95,
"fixes": []
}

Needs Improvement Example

{
"url": "https://example.com/products",
"statusCode": 200,
"title": "Products",
"titleLength": 8,
"metaDescription": "",
"metaDescriptionLength": 0,
"metaDescriptionMissing": true,
"h1Count": 0,
"h2Count": 2,
"imageCount": 20,
"imagesWithoutAlt": 12,
"internalLinks": 8,
"externalLinks": 2,
"brokenLinks": ["https://example.com/discontinued"],
"pageSpeedScore": 45,
"seoScore": 23,
"fixes": [
"Add a page title",
"Add a meta description",
"Add an H1 heading",
"Add alt text to 12 image(s)",
"Improve page load speed (optimize images, minify CSS/JS)"
]
}

SEO Metrics Explained

Title

  • Optimal Length: 30-60 characters
  • Importance: Critical for SEO and click-through rates
  • Score Impact: 25 points

Meta Description

  • Optimal Length: 120-160 characters
  • Importance: Influences click-through rates from search results
  • Score Impact: 20 points

H1 Heading

  • Optimal Count: Exactly 1 per page
  • Importance: Primary heading that helps search engines understand page content
  • Score Impact: 15 points

Images with Alt Text

  • Optimal: 100% of images should have alt attributes
  • Importance: Accessibility and SEO for image search
  • Score Impact: 15 points

Page Speed

  • Optimal Score: 90-100
  • Calculation: Based on estimated load time from HTML size and asset count
  • Score Impact: 25 points

Pro Tips

πŸ• Schedule Weekly Audits

Use the Apify Scheduler to automatically run SEO audits weekly. This helps you:

  • Track SEO improvements over time
  • Catch new issues early
  • Maintain consistent SEO quality

How to Schedule:

  1. Go to your Actor in Apify Console
  2. Navigate to the "Schedules" tab
  3. Click "Create Schedule"
  4. Set frequency to weekly
  5. Configure your input parameters

⚑ Performance Optimization

  • Use renderJs: false for faster audits (most websites work fine)
  • Use renderJs: true only for single-page applications (SPA) or heavily JavaScript-dependent sites
  • Adjust maxPages and maxDepth based on your website size

🎯 Focus Areas

  • Critical Issues: Fix pages with SEO scores below 50 first
  • High-Traffic Pages: Prioritize homepage, product pages, and landing pages
  • Broken Links: Fix broken links immediately as they hurt user experience and SEO

Technical Details

Crawling Behavior

  • Respects robots.txt rules
  • Skips non-HTML files (PDFs, images, videos, etc.)
  • Rate limited to 1 request/second per domain
  • Maximum concurrency: 5 pages at a time
  • Handles redirects, 404s, and timeouts gracefully

Browser Mode (Puppeteer)

When renderJs: true:

  • Uses headless Chrome
  • Waits for network idle before analyzing
  • Captures JavaScript-rendered content
  • More accurate for SPAs but slower

Fast Mode (Cheerio)

When renderJs: false:

  • Pure HTML parsing (no browser)
  • Much faster execution
  • Works for most traditional websites
  • Lower resource usage

Deployment

Prerequisites

  • Node.js 16+
  • Apify account

Deploy to Apify

  1. Install Apify CLI (if not already installed):

    $npm install -g apify-cli
  2. Login to Apify:

    $apify login
  3. Create Actor:

    $apify create

    Select "Empty" template and name it "seo-audit-beast"

  4. Copy files:

    • Copy main.js to the actor directory
    • Copy package.json to the actor directory
    • Copy input_schema.json to the actor directory
  5. Push to Apify:

    $apify push
  6. Test in Apify Console:

    • Go to your Actor in Apify Console
    • Test with a sample URL
    • Review the output dataset

Actor Quality Score

This Actor is designed to achieve a quality score of 70+ by:

  • βœ… Proper error handling
  • βœ… Comprehensive input validation
  • βœ… Respecting robots.txt
  • βœ… Rate limiting to avoid server overload
  • βœ… Clear, actionable output
  • βœ… Production-ready code structure
  • βœ… Proper use of Apify SDK features

Support

For issues, questions, or contributions:

  • Check the Apify documentation: https://docs.apify.com
  • Review the Actor logs in Apify Console
  • Ensure your input parameters are valid

License

ISC


Made with ❀️ for better SEO