Repository navigation
v0.0.58: five findings from dogfooding, fixed
Found by auditing a plain static site with 0.0.56 and 0.0.57 and reading the source behind each finding.
- An inline
<style>is not a render-blocking resource (#19).RENDER_BLOCKING_RESOURCESrecommended inlining critical CSS and then counted the inline block, so a page with any CSS at all was flagged for good. An inline style costs no network round-trip before first paint; it is no longer counted, and the recommendation names the actual remedies. - A 401, 403, 405 or 429 is not a broken external link (#21). HEAD is refused by many hosts and a 403 or 429 is bot protection or a rate limit; Medium answers 403 to every crawler and every link to it was "broken". Those statuses are retried once with a browser-like GET and, if still refused, treated as indeterminate, like a timeout. A definite 4xx or 5xx on either request still counts.
/index.htmlis the homepage (#23). A site whose brand link points atindex.htmlhad its homepage keyed two ways, the link graph looked up the one the crawl had not stored, andNAV_NOT_IN_HTMLreported zero links over ten static ones.canonicalPageUrlfolds/index.htmlinto/, the graph falls back to the first audited page when the entry URL is not among the keys, and a page's link to itself is not a link to another page.- Two recommendations now say what the checks accept (#24).
FAQ_SCHEMA_MISSINGasks forFAQPageonly where each question heading is followed by its answer; a question mark is not evidence of a FAQ, and Google restricts the markup to real FAQ content.PLAINTEXT_EMAILrecommends amailto:link with descriptive text instead ofname[at]domain.com, which breaks the link for readers and screen readers. - The auto-fixer's structured-data fix states only what the page states (#20). It wrote a
SoftwareApplicationwith a freeOfferinto every page that lacked schema. It now writes aWebSitefor the site root and aWebPageelsewhere, named from the page's own title with its meta description, and never anOffer. - A lazy-loaded image's origin does not need a preconnect.
MISSING_PRECONNECTno longer counts an origin used only by an image withloading="lazy"orfetchpriority="low", which the browser fetches after the critical path.
Packages: @rankcli/cli 0.0.58, @rankcli/agent-runtime 0.0.46, @rankcli/mcp-server 0.0.31.
Install
npm install -g @rankcli/cli # or: brew install integrallis/tap/rankcliStandalone binaries for macOS, Linux and Windows and the Claude Desktop extension (.mcpb) are attached below.