Liquid Tutorial

theme check — Linting

Source: ShopifyDevs

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 UndefinedObject

Common 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.