SEOgent's scanner runs in the cloud. That means it can't reach localhost:3000 or 127.0.0.1 — those addresses only exist on your machine. This guide covers two ways to work around that: exposing your local site with a tunnel, or scanning your live site and fixing issues locally.
Both approaches give you the same result: a fast loop where you scan, fix, and verify without waiting for a full deploy.
A tunnel gives your local computer a temporary public URL. When SEOgent's scanner visits that URL, the request is routed through the tunnel back to your machine. Your local dev server handles the request and sends the response back.
Think of it like a phone extension — the public URL is the main number, and the tunnel forwards the call to your desk.
ngrok works with any stack and is the most widely used tunnel service.
1. Install ngrok
# macOS
brew install ngrok
# or via npm
npm install -g ngrok
2. Sign up and add your auth token
Create a free account at ngrok.com, then:
ngrok config add-authtoken <your-token>
3. Start the tunnel
Point ngrok at your local dev server's port:
ngrok http 3000
ngrok prints a public URL like https://a1b2c3d4.ngrok-free.app. Copy it.
4. Scan with SEOgent
seogent scan https://a1b2c3d4.ngrok-free.app
Tip: The free tier gives you a random URL that changes each time you restart ngrok. Paid plans offer stable custom domains.
Expose is built for the PHP/Laravel ecosystem. If you use Laravel Herd, it's even simpler — Herd has a built-in "Share" button that creates an Expose tunnel with one click.
Using Laravel Herd (easiest)
seogent scan https://your-site.sharedwithexpose.com
Using Expose directly
# Install globally
composer global require beyondcode/expose
# Share your local site
expose share http://my-site.test
Expose prints a public URL. Copy it and scan.
If you already work in VS Code, you can forward a port to a public URL without installing anything extra.
1. Start your local dev server as usual
2. Open the Ports panel in VS Code (Terminal > Ports tab, or Cmd+Shift+P > "Ports: Focus on Ports View")
3. Forward your port — Click "Forward a Port" and enter your dev server's port (e.g., 3000)
4. Set visibility to Public — Right-click the forwarded port and change visibility from "Private" to "Public"
5. Copy the forwarded URL and scan:
seogent scan https://your-forwarded-url.devtunnels.ms
Tip: You'll need to sign in with a GitHub or Microsoft account. The tunnel stays active as long as VS Code is running.
| Feature | ngrok | Expose | VS Code Tunnels |
|---|---|---|---|
| Best for | Any stack | Laravel / PHP | VS Code users |
| Setup | npm or brew | Composer | Built into VS Code |
| Free tier | Yes (limited) | Yes | Yes |
| Custom domains | Paid | Paid | No |
| HTTPS | Automatic | Automatic | Automatic |
All three services provide HTTPS by default, which means SEOgent's scanner can check your site the same way it checks a production site.
If tunnels aren't practical — maybe your network blocks them, or you just want a simpler workflow — you can scan your production site and apply fixes in your local codebase.
1. Scan your live site
seogent scan https://your-live-site.com
2. Review the results
seogent results <scan_id> --issues-only
3. Fix issues in your local project
Open your codebase and make changes — add missing meta tags, fix heading hierarchy, add alt text to images, etc.
4. Deploy and verify
Push your changes, then re-scan to confirm the fixes:
seogent scan https://your-live-site.com
Or, if you've set up a tunnel (Method 1), verify locally first before deploying:
seogent scan https://your-tunnel-url.ngrok-free.app
Tip: Use manual mode to re-scan only the pages you fixed, instead of crawling the entire site again:
seogent scan https://your-site.com --mode manual --urls https://your-site.com/about --urls https://your-site.com/blog
The fastest way to improve your SEO score is a tight feedback loop. Here's what it looks like in practice:
1. Scan — Run a scan against your site (live or via tunnel)
seogent scan https://your-site.com --max-pages 20
2. Review — Filter to the issues that matter most
seogent results <scan_id> --issues-only --min-severity high
3. Fix — Edit your source files to resolve the issues
4. Re-scan — Verify your fixes worked
seogent scan https://your-tunnel-url --mode manual --urls https://your-tunnel-url/fixed-page
5. Compare — Check that your scores improved
Repeat until you're satisfied. During development, use --max-pages to keep scans fast and focused.
Tunnel URL changed? Tunnel URLs are ephemeral — they change every time you restart the tunnel (on free tiers). Just start a new scan with the new URL. Your previous scan results are still saved under their original scan ID.
Firewall blocking tunnels? Some corporate networks block outbound tunnel connections. Use Method 2 (scan live, fix locally) instead, or ask your network admin about allowlisting your tunnel service.
Need HTTPS? All three tunnel services in this guide provide HTTPS automatically. No extra setup needed.
Large site, slow scans?
Use --max-pages to limit how many pages SEOgent discovers during development:
seogent scan https://your-tunnel-url --max-pages 10
You can always run a full scan later once your fixes are in place.
Local site shows different content than production? Make sure your local database and assets are up to date. SEOgent scans what it sees — if your local site is missing content, the scan results will reflect that.