Sep 22, 2026 · by Akash Priyadarshi · View source

jev-seo

Free Rust CLI SEO/GEO auditor, no subscription needed

jev-seo

Editorial analysis

The $130/month SEO tax is finally getting audited — and social teams should be paying attention

Here’s the thing nobody tells you when you take a job running social for a brand: half your job is now SEO, and the other half is explaining to your CMO why the blog post you repurposed into twelve TikToks isn’t showing up in ChatGPT answers. The line between “content creator” and “search operator” has been dissolving for two years, and tools like jev-seo — a free, local, open-source SEO auditing CLI that launched on Product Hunt — are a useful mirror for where the creator-economy tooling stack is heading. I don’t cover pure SEO tools very often on this blog. But this one matters to social operators for a specific, non-obvious reason: the same crawl logic that decides whether GPTBot can read your landing page is the same logic that decides whether your Instagram bio link destination gets cited by an AI assistant when someone asks “best cold brew subscription.” If you’re publishing across Instagram, TikTok, YouTube, LinkedIn, and Threads and you’ve never once checked what an AI crawler sees when it hits your link-in-bio, you’re flying blind. So let’s talk about what this tool actually does, where it fits against Ahrefs, Semrush, and Screaming Frog, and where I think it falls short for anyone who isn’t already comfortable in a terminal.

What jev-seo actually solves — and who it’s really for

The maker, Akash Priyadarshi, frames the pitch bluntly: he got “tired of the idea that checking your own site’s SEO health needs a $130/month subscription.” That’s the thesis. The tool crawls your site, audits your docs, validates schema and sitemaps, and checks what AI crawlers like GPTBot and ClaudeBot can see — all locally, no API key required for the deterministic checks. There’s an optional layer that uses TypeSafe’s Jev model for semantic scoring (search intent, AI-citation likelihood), and that part needs a free key. It’s also an MCP server, meaning if you’re running Claude Code or another agent, it can call the same tools directly. Install is a single cargo install jev-seo. Solo project, built out of Patna, India — no funding announcement, no team page, no pricing tier disclosed because there isn’t one.

Now, if you’re a social media manager who has never touched a command line, your eyes just glazed over. Fair. But stay with me, because the underlying insight is more relevant to you than the tool itself.

Why this matters more to TikTok and YouTube creators than to LinkedIn ones

LinkedIn posts get indexed by Google reasonably well and LinkedIn’s own internal search is where most of the discovery happens — so a creator’s LinkedIn strategy is far less dependent on whether a crawler can parse their off-platform site. TikTok and YouTube are different. A huge share of TikTok creators I’ve worked with drive their entire funnel through a single link-in-bio page — a Linktree, a Beacons, a self-hosted landing page — and that page is the only thing standing between a viral video and a newsletter signup. If that page is a JavaScript-rendered single-page app with no server-side HTML, GPTBot sees an empty shell. If it’s a Shopify storefront with a sitemap that hasn’t been regenerated since you renamed your product line, you’re invisible to AI shopping queries. The tool’s AI-crawler check is exactly the diagnostic a TikTok creator needs and almost never runs.

The maker confirmed in the thread that jev-seo fetches raw HTML only, no JavaScript rendering, no diff between the two. That’s a real limitation and I’ll come back to it — but for a creator whose link-in-bio is plain HTML, raw HTML is all you need.

How it stacks up against the incumbents you’re probably already paying for

Let’s be honest about the competitive set. If you’re a social operator at an agency or a mid-size brand, you’re probably paying for one of the big suites. Semrush starts around $130/month for the Pro tier and bundles keyword research, backlink analysis, PPC intelligence, and a site audit. Ahrefs is in a similar bracket. Screaming Frog is the closest technical analog — a desktop crawler that does deep site audits — and its free tier caps at 500 URLs, which is fine for a portfolio site and useless for a 10,000-product store. Sitebulb and ContentKing sit in the same neighborhood.

What jev-seo is doing differently is unbundling the boring deterministic checks — crawl, schema validation, sitemap validation, robots.txt inspection, AI-crawler visibility — from the paid intelligence layer. As one commenter, Gal Dayan, put it: “the ‘no subscription for the deterministic checks’ framing is honest and rare — most tools in this space bundle the boring crawl/schema/robots stuff with the paid layer just because they can.” That’s a sharp observation and I think it’s the most important thing about this launch. The deterministic checks are cheap to run. There is no marginal cost to crawling a website and validating a sitemap. The reason Semrush charges for them is bundling, not compute.

My take: this is the same unbundling wave that hit social scheduling. Five years ago you paid Hootsuite or Sprout Social for a monolithic suite because that’s how the category was sold. Then Buffer, Later, and Metricool started unbundling — you want just scheduling? Just analytics? Just link-in-bio? Here’s a $6/month plan. The SEO category is going through the same disassembly, just two or three years behind.

Where the math breaks

Here’s where I’d push back on the “free replaces $130/month” framing. The $130/month you pay Semrush isn’t buying you a crawler. It’s buying you backlink data — a continuously refreshed index of who links to whom across the entire web, which requires a crawler fleet the size of a small country. jev-seo cannot and does not attempt to replace that. It also doesn’t replace keyword volume data, SERP tracking, or competitor gap analysis. If your job is “grow organic traffic to the blog,” you still need one of the paid suites. What jev-seo replaces is the technical audit slice of the pie — and for a lot of creators and small teams, that slice was the only reason they were paying.

The AI-crawler check is the sleeper feature — but read the fine print

The most interesting exchange in the launch thread comes from Anton Kylikov, who runs a job board with thousands of listings expiring weekly across 11 languages. He describes a scenario that should terrify anyone running a content site: hreflang clusters pointing at translations that had already been noindexed, closed listings returning HTTP 200 with a “this job is closed” block (soft 404s that sat in the sitemap as thin pages for weeks), and — the kicker — a robots.txt check that happily reported GPTBot was allowed while the homepage only filled in its content after JavaScript, so the crawler was getting “mostly an empty shell.”

That last one is the whole ballgame. A robots.txt check is necessary but wildly insufficient. Robots.txt tells you whether a crawler is permitted to fetch a URL. It says nothing about whether the crawler can understand what it fetched. If your site is a React SPA with client-side rendering and no SSR, GPTBot will fetch a <div id="root"></div> and call it a day. Then your brand doesn’t show up when someone asks an AI assistant about your category, and you have no idea why.

The maker’s response was refreshingly candid: “raw html only, no rendering, no diff. if gptbot skips js you’re fine, if not, same blind spot you hit.” He also admitted the tool’s soft-404 catch “hasn’t been run against your exact ‘job closed’ block, might miss it,” and that “hreflang into a noindexed page isn’t checked at all.” Then he called it “better bug report than half my backlog.”

That is the correct way to handle a critical thread on your own launch. No defensiveness, no “we’ll consider it for the roadmap,” just a straight acknowledgment of the gap and a note that it might ship. I’ve watched a lot of Product Hunt launches where the maker argues with the critic. This is the opposite.

Why the raw-HTML limitation matters for social teams specifically

If you’re running link-in-bio pages on Linktree or Beacons, those are server-rendered and you’re fine. If you built a custom landing page in Webflow or Framer, you’re also probably fine. If you built it in Next.js with client-side rendering and forgot to configure SSR, you have a problem jev-seo will detect (it’ll see the empty shell) but won’t fully diagnose (it won’t render the JS to show you what a real browser sees). The fix is to run the same URL through a headless browser check — Google Search Console’s URL Inspection tool renders JS and shows you the rendered HTML, and it’s free. So the workflow I’d actually recommend: run jev-seo for the crawl and schema layer, then spot-check your top five revenue-driving URLs in Search Console to catch the JS-rendering gaps.

What social operators should borrow from this launch

Strip away the SEO-specific mechanics and there are three transferable lessons here for anyone running social accounts.

First, deterministic checks should be free and local. The reason so many social teams don’t audit their own link destinations is that the tools that would let them are priced for SEO departments. If you’re a solo creator, you don’t have $130/month to spend on checking whether your link-in-bio is crawlable. The unbundling argument applies just as much to social: do you really need the full Sprout Social seat, or do you need Buffer’s $6/month per-channel plan plus a free Metricool account for analytics? Most creators I know are overpaying for suites they use 20% of.

Second, “what AI crawlers see” is the new “what Google sees.” I’ve written before about the shift from search-first to answer-first discovery, and this launch is a data point in that trend. The creator economy’s distribution model has been “post on platform, drive to owned property, convert.” That model assumed the owned property was discoverable via Google. Increasingly it needs to be discoverable via ChatGPT, Claude, Perplexity, and whatever Google’s AI Overviews evolve into. If your landing page is a JS shell, you’re invisible to all of them.

Third, the MCP server angle is the real tell. The fact that jev-seo ships as an MCP server — meaning AI agents can call its tools directly — is a signal about where creator tooling is going. I’d bet that within 18 months, the standard workflow for a social operator will be: an agent reads your content calendar, drafts the posts, checks the link destinations for crawlability, schedules them, and reports back. The tools that expose themselves as MCP servers will be the ones that plug into that workflow. The ones that don’t will be the ones you have to open in a browser tab and click through manually. CapCut and Canva have both been moving in this direction with their AI features; the scheduling tools are next.

Where I think it falls short

Three real limitations, in order of how much they’d affect a social operator.

No basic auth support. Gal Dayan asked the right question: “does it handle sites that are behind basic auth or still on a staging subdomain?” The maker’s answer: staging alone works, but basic auth is missing — “no –user/–pass flag yet.” That’s a real gap because, as Dayan noted, “that’s usually exactly when a team wants an SEO/AI-crawler audit, before the site is public.” If you’re a social team prepping a campaign landing page before launch, you can’t audit it with this tool until it’s public. That’s backwards.

No JavaScript rendering. Covered above. For modern SPAs and heavily-JS-dependent sites, the AI-crawler check is only half a check.

No backlink or keyword data. This isn’t a flaw so much as a category boundary, but it’s worth stating plainly: this is a technical audit tool, not an SEO platform. If you need to know who’s linking to you or what keywords your competitors rank for, you still need Ahrefs or Semrush.

Who this is NOT for

If you’re a social media manager who has never opened a terminal, this tool will frustrate you. There’s no GUI, no dashboard, no “click here to fix.” You install it via Rust’s Cargo package manager, which means you need Rust installed, which means you’re already in developer territory. If that’s not you, the practical move is to ask your dev or your agency’s SEO lead to run it as a pre-launch check — not to try to learn Rust on a Tuesday afternoon because a blogger told you to.

Also: if you’re running a large e-commerce site with tens of thousands of URLs, a local CLI crawler will work but won’t give you the scheduling, alerting, and historical tracking that ContentKing or Sitebulb provide. The free tool is a spot-check, not a monitoring system.

What I’d watch / test next

Concrete things I’d do this week if I were running social for a brand with any organic search dependency:

  1. Run jev-seo against your three highest-intent landing pages — the ones your TikTok and Instagram bios actually link to. Install it with cargo install jev-seo, point it at the URLs, and read the AI-crawler output. If GPTBot sees an empty shell, you have a problem that’s costing you real conversions and you didn’t know it.

  2. Cross-check the same URLs in Google Search Console’s URL Inspection to catch the JS-rendering blind spot jev-seo admits to. Compare the raw HTML jev-seo sees against the rendered HTML Search Console shows. If they differ substantially, your page needs SSR or prerendering.

  3. Audit your link-in-bio stack. If you’re on Linktree or Beacons, you’re probably fine on rendering but check whether the platform lets you set proper schema and canonical tags. If you built custom, run the audit.

  4. Watch the maker’s changelog for basic auth and hreflang support. He said both are “going in” — if they ship, this becomes a genuinely useful pre-launch tool for campaign landing pages, which is exactly when social teams need it.

  5. Test the MCP server angle if you’re already using Claude Code or another agent for content ops. Wiring an SEO audit into your content workflow is a small experiment that tells you a lot about whether agent-driven content ops is real or hype.

The bigger story here isn’t jev-seo specifically. It’s that the tooling layer underneath content work is being unbundled and made local, and the creators who figure that out first will run leaner stacks than the ones still paying for suites they use a fifth of. That’s the same playbook that worked when Buffer undercut Hootsuite, and it’s going to keep working as long as the incumbents keep pricing deterministic checks like they’re proprietary intelligence.

Ready to Create Your Own?

Join thousands of brands creating high-performing video ads with FLOWNIB. No editing skills required.

Start Creating for Free