Static Analysis with Theme Check
Theme Check scans your theme for Liquid syntax errors, deprecated tags, accessibility issues, and performance anti-patterns. It runs locally via CLI and in CI pipelines. Many Shopify Theme Store requirements map directly to Theme Check rules.
BASH
# Run all checks
shopify theme check
# List available checks
shopify theme check --list
# Auto-fix safe issues (deprecated filters, etc.)
shopify theme check --auto-correct
# Fail CI on errors only
shopify theme check --fail-level error
# Run specific check
shopify theme check --include UndefinedObjectCommon Violations
- Missing {{ content_for_header }} in layout/theme.liquid
- Deprecated {% include %} — migrate to {% render %}
- Parser-blocking <script> in <head> without async/defer
- img tags missing width and height attributes
- Hardcoded /cart and /account URLs instead of routes
- Unused snippets, locales, and assign variables
- RemoteAsset — loading assets from non-Shopify CDNs
Fix Theme Check errors before theme push. Warnings (performance suggestions) should be addressed for Theme Store submission but may be acceptable for custom client themes.
Tip: Add a .theme-check.yml config to disable rules that do not apply to your project, but document why each disabled rule is intentional.