
Element Code: LI-034
What this check flags
This check fires when a meaningful share of your internal links point at a login page or at URLs that bounce unauthenticated visitors to one: /login, /wp-login.php, /account/signin?redirect_to=..., members-only articles, customer portals, gated dashboards. A crawler follows the link, hits an authentication wall, and the road ends. Googlebot does not have your password and will never fill in the form.
One "Log in" link in the header is normal and harmless. The check exists for the pattern beyond that: hundreds of content links funneling into gated destinations, or a login URL that mutates into thousands of parameterized variants because every protected page generates its own ?redirect_to= address.
Why this matters
Three separate problems hide under this one flag, and they have different price tags.
Crawl budget bleed. The redirect parameter is the sneaky one. If /premium/article-123 redirects to /login?redirect_to=%2Fpremium%2Farticle-123, then every gated URL manufactures a unique login URL. Crawl a site with 20,000 protected pages and you have handed Googlebot 20,000 worthless variants of the same form. I have seen log files where a double digit percentage of Googlebot hits went to login variants while new product pages waited days to be discovered. That is a genuinely stupid way to spend your crawl budget.
Invisible content. Whatever sits behind the wall does not exist to search engines unless you deliberately expose it. If your best material is members-only and you link to it heavily, you are voting PageRank into pages that can never rank, while the crawler sees your "most important" links dead-ending.
Wrong page ranking. When enough internal links concentrate on /login, that page accumulates authority and starts showing up in the SERPs for brand queries, sometimes above the pages you would rather a new visitor land on. A bare login form is a lousy front door for a first impression.
How to detect it
Crawl the site with Screaming Frog and sort by inlink count: a login URL sitting in your top 20 most-linked pages is the tell. Then filter the crawl for URLs containing login, signin, auth, or a redirect_to style parameter and count the unique variants; more than a handful means the parameter is spawning duplicates. Cross-check server logs for how often Googlebot actually requests those URLs, and search site:yourdomain.com inurl:login to see whether any variants made it into the index. In Search Console, the Pages report will often show them under "Crawled, currently not indexed" or "Page with redirect," which is Google politely telling you it keeps visiting a door it can never open.
| Scenario | What the crawler experiences | Right move |
|---|---|---|
| Header "Log in" link | One extra URL per crawl, trivial | Leave the link; disallow the page in robots.txt |
| Gated articles 302ing to login with redirect params | Thousands of unique dead-end URLs | Disallow the login path, decide per section: preview + paywall schema, or stop linking from public pages |
| Members-only forum or community | Large link graph it cannot enter | Keep public landing pages that describe the value; gate the threads cleanly behind one disallowed path |
| Publisher paywall content | Blocked from the full text | Serve full text to users behind the wall, mark it up with isAccessibleForFree: false per Google's paywalled content guidelines |
| /login ranking for brand queries | Utility page outranking content | Noindex the login page, rebalance internal links toward real landing pages |
How to fix it, step by step
1. Inventory every URL pattern involved: the login page itself, its parameter variants, and each gated section that redirects there. The Screaming Frog inlinks export gives you the linking templates in one pass.
2. Disallow the login path in robots.txt (Disallow: /login, plus /wp-login.php on WordPress). This stops the crawl waste immediately, including all parameter variants. Add a noindex header or meta on the page for the variants already indexed, and remember a page must be crawlable for noindex to be seen, so apply noindex first if cleanup matters, robots block second.
3. Decide, per gated section, what you want from search. If the content should rank: expose a preview (headline, lead paragraphs, key takeaways) to everyone, keep the rest behind the wall, and add isAccessibleForFree: false with a hasPart block in your Article schema so Google understands this is a legitimate paywall rather than cloaking. If it should not rank: stop linking it from public templates entirely and let it live behind the single disallowed gateway.
4. Strip or canonicalize the redirect parameter so all login variants resolve to one clean /login URL server side.
5. Recrawl and re-check logs after two weeks. Success is boring: Googlebot's login requests drop to near zero and the reclaimed budget shows up as faster discovery of new pages.
- Disallow login and account paths in robots.txt so bots skip them entirely
- Use paywall structured data when gated content should still rank
- Give members-only sections a public, indexable landing page that sells the value
- Collapse redirect_to parameter variants into one canonical login URL
- Check server logs to confirm bot hits on login URLs actually fell
- Cloak by showing Googlebot full content while users hit a hard wall with no markup
- Let every protected page mint its own ?redirect_to= login variant
- Blast hundreds of public internal links at URLs bots can never enter
- Robots-block URLs you simultaneously need noindexed; the directive goes unread
- Assume the login wall "only affects logged-out users"; every crawler is logged out
What good looks like
The login page carries exactly the links users need, sits behind a robots.txt disallow, and never appears in the index. Gated content either shows a marked-up preview that ranks and converts, or stays fully private by design instead of by accident. Your log files show Googlebot spending its visits on content, and this check returns a handful of intentional utility links instead of a four-digit count.
FAQ
Is a normal header login link an SEO problem?
Should I nofollow internal links to the login page?
How do I get paywalled content indexed without being flagged for cloaking?
My login page outranks my homepage for brand searches. Why?
Does this affect AI crawlers too?
An advanced SEO audit includes log file analysis that shows exactly where Googlebot spends its visits, which gated URLs it hammers, and a prioritized plan to route that budget back into content that ranks.
Claude Vincent is a technical SEO consultant focused on crawlability, rendering, and AI-search visibility. He writes the field guides and case studies at SEO ProCheck, with a bias toward the durable, unglamorous work that decides whether search engines and AI answer engines can actually read and cite a site.
About SEO ProCheck
Technical SEO consulting and GEO strategy with 20 years of enterprise experience. Case studies, resources, and tools for search and AI visibility.
Work With Me
Technical SEO audits, GEO strategy, site migrations, and international SEO. Hourly consulting for teams who need hands-on support, not just reports.







