v0.3.0 β OmniRank now knows which file is wrong π― #24
bemoshiur
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
π― v0.3.0 β OmniRank now knows which file is wrong
Every other SEO tool keys its output to a URL, because a URL is the only thing it can see. OmniRank runs inside your repository, so it resolves
That's the whole idea. Screaming Frog, Semrush and Ahrefs can't follow β not because they're slow, but because they've never seen your source.
β‘ Try it
fixwrites nothing in 0.3.0. It prints the diff and stops. Applying arrives in v0.4.0, and that split is deliberate β the locator is the riskiest component in the project, so it ships and gets proven before anything earns write access.π§ The idea underneath
auto_fixableβ a boolean set by four findings, all in one module β is gone. It reflected which file a finding lived in, not whether its fix was safe. Two orthogonal axes replace it:fixTierβ what the correct edit needs:mechanicalΒ·templatedΒ·draftedΒ·advisoryΒ·infrastructureapplicabilityβ whether this instance may be applied:safeΒ·unsafeΒ·display-onlyapplicabilityis amin()over the tier ceiling, how confidently the file was located, the edit's blast radius, and a hard cap on protected surfaces. Every input can demote; none can promote.Because safety isn't a property of the rule. Adding a canonical is trivial on a single-route file and catastrophic on a layout serving 10,000 routes. Same rule, opposite answer, decided by context only a tool inside your repo can see.
Only 4 of 48 findings have a generator. That's the intended answer, not a timid one β OpenRewrite's first principle is "we favour making fewer changes over making wrong changes."
π What review caught
Worth saying plainly, because it's the part that took the longest. Seven real bugs were found before release, each reproduced against real input:
/blogto a_privatefolder withexactconfidence β a URL Next.js 404s on.@slotfolders, which also made it fail to locate the homepage of Next.js's own official parallel-routes example.../OUTSIDEresolved above the repo.<!doctype html>on minified pages, forcing quirks mode.None were found by reading diffs. All came from feeding the thing awkward, real-world input.
π¬ Tell us
omnirank fixon your repo β did the located file match reality? This is the one thing we most need real-world data on.unknownon purpose rather than guessing β say which you'd want next.display-onlyverdict you disagree with is a useful bug report.Full notes in the CHANGELOG Β· Docs Β· Wiki
All reactions