Localhost Crawling
The SEO Crawler can analyze applications running on your local machine. This is useful for testing SEO before deployment.
Web UI
Simply enter your localhost URL in the domain input:
localhost:3000
The crawler automatically uses http:// for localhost
addresses. You can also use:
localhost:3000http://localhost:3000127.0.0.1:3000http://127.0.0.1:8080
SDK CLI
Use the --url flag with a localhost address:
seo-crawler --mode=full --url=http://localhost:3000
With auto-start
The SDK can start your dev server before crawling:
seo-crawler --mode=full \
--start-cmd="npm run dev" \
--wait-for=http://localhost:3000 \
--url=http://localhost:3000 \
--wait-timeout=60s
Rules to Ignore for Localhost
Some rules will always fail on localhost because they check for
production requirements. Add these to your
.seo-crawler.yml ignore list:
| Rule | Why it fails on localhost |
|---|---|
uses_https |
Localhost typically runs on HTTP |
hsts_header |
HSTS is a production HTTPS feature |
mixed_content |
Mixed content warnings are HTTP vs HTTPS |
security_csp |
CSP headers are usually set at the CDN/proxy level |
security_permissions |
Permissions-Policy is a production header |
Example config for localhost testing
# .seo-crawler.yml
mode: full
url: http://localhost:3000
start_cmd: "npm run dev"
wait_for: http://localhost:3000
wait_timeout: 60s
fail_on: high
ignore:
- uses_https
- hsts_header
- mixed_content
- security_csp
- security_permissions
- security_referrer
- security_xcto
- security_xfo
Frameworks
Next.js
seo-crawler --mode=full \
--start-cmd="npm run dev" \
--wait-for=http://localhost:3000 \
--url=http://localhost:3000
Astro
seo-crawler --mode=full \
--start-cmd="npm run dev" \
--wait-for=http://localhost:4321 \
--url=http://localhost:4321
Nuxt
seo-crawler --mode=full \
--start-cmd="npm run dev" \
--wait-for=http://localhost:3000 \
--url=http://localhost:3000
Static sites (Vite, Gatsby, Hugo)
For static site generators, use static mode with the output directory:
# Build first
npm run build
# Then scan
seo-crawler --mode=static --dir=./dist