Website SEO Audit — Shopify, WordPress, Wix & More avatar

Website SEO Audit — Shopify, WordPress, Wix & More

Pricing

from $10.00 / 1,000 audited pages

Go to Apify Store
Website SEO Audit — Shopify, WordPress, Wix & More

Website SEO Audit — Shopify, WordPress, Wix & More

Crawl any website and get a 0–100 SEO score, ranked findings with step-by-step fixes written for the site's actual platform, a 'handled by your platform' list so nothing is flagged falsely, a 30-day fix plan, and a branded HTML report.

Pricing

from $10.00 / 1,000 audited pages

Rating

0.0

(0)

Developer

Jeremy

Jeremy

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

21 hours ago

Last modified

Categories

Share

Website SEO Audit — platform-aware

Point it at a website and get back a 0–100 SEO score, ranked findings with fixes written for the platform the site actually runs on (Shopify, WordPress, Wix, Squarespace, Webflow), a list of checks the platform already handles for you so nothing is flagged falsely, a week-by-week 30-day fix plan, and a branded single-file HTML report you can send to a client as-is.

Most audit tools shout "no sitemap!" at a Shopify store that has always had one, or tell a WordPress owner to "add a canonical tag" with no idea which admin screen that lives on. This one detects the platform first, downgrades anything the platform manages automatically, and phrases every fix as where to click.

What it checks

Per page: title (present, unique, length), meta description (present, length), exactly one H1, mobile viewport, canonical, lang, image alt text (an empty alt="" counts as missing — that's what Shopify emits when nobody wrote one), word count / thin content, JSON-LD structured data (present and valid), Open Graph tags, HTTP errors.

Site-wide: robots.txt, XML sitemap (robots-declared location, /sitemap.xml, /sitemap_index.xml, /wp-sitemap.xml, sitemap indexes expanded), server response time (TTFB), identical documents served for different URLs, empty JavaScript app shells.

Platform extras: Shopify password page, .myshopify.com primary domain, the four standard /policies/ pages; WordPress version exposure and missing SEO plugin (Yoast / Rank Math / AIOSEO / SEOPress detected).

How pages are chosen

The audit reads the sitemap and samples pages across every section of the site (products, collections, blog, pages…) so 25 pages still represent a 2,000-page store, then follows internal links to fill any remaining budget. Pages disallowed for all crawlers in robots.txt are skipped (unless you turn that off for a site you own). Add extraUrls to force specific pages in.

Input

FieldMeaning
startUrlThe homepage. https:// is assumed if omitted. The crawl never leaves this domain.
maxPagesPages to audit (1–500, default 25). Each audited page is one billable event.
includePageRowsDefault on: one dataset row per page in addition to the summary. Off = summary row only.
extraUrlsSame-domain pages that must be included.
respectRobotsDefault on.
concurrency, delayMsPoliteness controls (default 4 at once, 250 ms between batches).

Output

Dataset — first row is the summary:

{
"type": "summary",
"site": "https://example.com",
"platform": "shopify",
"score": 88,
"categoryScores": { "Technical": 100, "Metadata": 80, "Content": 60, "Mobile": 100, "Performance": 100 },
"pagesCrawled": 25,
"totalSiteUrls": 203,
"findings": [
{ "severity": 2, "severityLabel": "High", "area": "Metadata", "title": "Missing meta descriptions on 11/25 pages",
"detail": "…", "fix": "In Shopify Admin, open each page or product → \"Search engine listing\" → Edit …", "key": "metadesc" }
],
"handledByPlatform": [ { "check": "XML sitemap", "why": "Shopify auto-generates and serves /sitemap.xml for every store." } ],
"fixPlan": [ { "week": "Week 1 (Days 1-7)", "items": [ { "title": "…", "fix": "…" } ] } ],
"reportUrl": "https://api.apify.com/v2/key-value-stores/…/records/report.html"
}

then one "type": "page" row per page: url, status, title, titleLength, metaDescription, metaDescriptionLength, h1Count, h1, hasViewport, noindex, canonical, lang, imageCount, imagesMissingAlt, wordCount, structuredData, hasOpenGraph, internalLinks, htmlBytes, error.

Key-value storereport.html (the branded report: score ring, category bars, findings with fixes, handled-by-platform table, 30-day plan, page-by-page table; printable) and SUMMARY (the summary row as JSON).

Scoring

Five categories start at 100. Each finding deducts from its category by severity: Critical −35, High −20, Medium −10, Low −5. Findings the platform normally handles are capped at Low. Server response over 1.2 s costs Performance 20; over 2.5 s costs 40. Overall = average of the five. It's a consistent yardstick for tracking a site over time and comparing pages — not a prediction of Google rankings.

Common uses

  • Agencies and freelancers: run it on a prospect's site before the first call; send the report as the pitch.
  • Store owners: audit before and after a theme change, an app install, or a migration.
  • Monitoring: schedule it monthly and diff the summary rows.
  • Bulk: feed a list of domains through the API and rank them by score.

Limits and honesty

It reads the HTML your server sends to crawlers and does not execute JavaScript, so structured data or content injected client-side is not counted — the report says so, and the WordPress/Shopify fix text tells you to confirm with Google's Rich Results Test before acting. It does not measure Core Web Vitals (only server response time). Very large sites are sampled, not exhausted; the coverage line in the report says exactly how many of how many.

Pricing

Pay per event: a small charge per run plus a charge per page audited. maxPages is your cost control, and the actor honours the max-charge limit you set on a run — it will audit fewer pages rather than exceed it.


Built and maintained by Anywhere Web Repair (anywherewebrepair.com) — the same checks and platform fix guidance behind our human-reviewed audits. If you'd rather have a person go through the findings, write the fix plan and implement it in your admin, that's what we do.