Diagnose blockers.
Ship fixes.
A practical library for the SEO, GEO, AEO, crawler access, structured data, and performance problems Serpwise audits and helps deploy at the edge.
Use Learn as the diagnostic layer before the execution layer.
Each guide explains what breaks, how to detect it, and what usually needs to change. The goal is not more theory. The goal is knowing which fixes are worth shipping.
The issues that most often hide a site from crawlers and answer engines.
These are the problems that turn good content into a weak search surface: blocked bots, client-side rendering gaps, bad status codes, and missing source signals.
AI bots are blocked from your site
GPTBot, ClaudeBot, and PerplexityBot blocked at robots.txt or WAF means your brand is invisible inside ChatGPT, Claude, and Perplexity. Audit and unblock.
JavaScript rendering failures for crawlers
Hydration errors, content loaded after user interaction, lazy-loaded sections not in initial HTML, and SPA routing patterns that look like soft 404s — how client-side rendering quietly hides content from crawlers.
Pages returning HTTP errors
404, 410, 451, 500, 503 each tell a crawler something different. Pick the right code, find the patterns, fix the source — don't paper over with redirects.
AI & Bot Visibility
AI bots are blocked from your site
GPTBot, ClaudeBot, and PerplexityBot blocked at robots.txt or WAF means your brand is invisible inside ChatGPT, Claude, and Perplexity. Audit and unblock.
AI bots see different content than your visitors
Most AI crawlers don't run JavaScript. If your page renders client-side, GPTBot and ClaudeBot see an empty shell while users see a full page.
JavaScript rendering failures for crawlers
Hydration errors, content loaded after user interaction, lazy-loaded sections not in initial HTML, and SPA routing patterns that look like soft 404s — how client-side rendering quietly hides content from crawlers.
Crawling & Indexing
Broken internal links
Internal 404s leak link equity and burn crawl budget. Find them, decide redirect vs remove, fix at the template — not URL by URL.
Pages returning HTTP errors
404, 410, 451, 500, 503 each tell a crawler something different. Pick the right code, find the patterns, fix the source — don't paper over with redirects.
robots.txt mistakes beyond AI bots
Blocking JS/CSS kills rendering. `Disallow: /` deindexes the site. robots.txt is not regex, not enforcement, and not the right tool to hide secrets.
Slow page response times
TTFB above 600 ms throttles Google's crawl and degrades INP, LCP, and FCP. Diagnose origin work vs network. Fix with caching at the right layer.
XML sitemap hygiene issues
Stale URLs, oversized files, lying lastmod dates, and sitemaps listing non-indexable URLs all degrade the signal. How to keep a sitemap that Google trusts.
Page Metadata
Duplicate title tags
Identical titles across pages are almost always a template bug. Find the source, template a unique title per page, don't paper over with noindex.
Missing title tag
Without a <title>, Google synthesizes one from page text. The generated version is usually worse than what you would write and erodes CTR.
Title tag too long
Google truncates SERP titles past ~600 pixels (roughly 60 characters). Truncation cuts your value prop and lowers CTR. Front-load the keyword.
Missing H1 heading
<h1> is the page landmark for search engines and assistive tech. Exactly one per page, semantic markup, separate from visual styling.
Missing meta description
Google rewrites descriptions on ~60% of queries, but a good one still wins CTR on the ones it keeps. Write for the SERP, not for the algorithm.
Structured Data
Invalid structured data
Invalid JSON-LD costs rich-result eligibility and can quietly trip quality signals. Read the validator, fix required properties, re-test.
Missing structured data
JSON-LD teaches search engines and LLMs what a page actually is. Article, Product, Organization, BreadcrumbList — these still earn rich results in 2026.
Performance & Core Web Vitals
Cumulative Layout Shift (CLS)
CLS measures unexpected layout movement during page lifecycle. Threshold for 'good' is 0.1. The fix is almost always reserving space — images with dimensions, fonts with metric overrides, ad slots with min-height.
Interaction to Next Paint (INP)
INP replaced FID as a Core Web Vital in March 2024. It measures the worst observed interaction delay, not the first. How to find long tasks and fix them.
Largest Contentful Paint (LCP)
LCP measures when the main content of a page becomes visible. The 2.5s threshold for 'good' is failed by the median web. How to find the LCP element and fix the four causes.
Canonicalization
Cross-domain canonical tag
A canonical pointing to another domain tells Google to rank that domain instead. Usually a bug from a stale copy-paste or unfinished migration.
Missing canonical tag
Without an explicit canonical, Google picks one — often the URL with tracking params, a paginated variant, or a duplicate. Add a self-referential canonical.
International & Mobile
Mobile and desktop content parity
Mobile-first indexing means the mobile version IS the canonical version. Hidden content, different DOM trees, or simplified mobile navigation can drop entire sections from the index.
Hreflang mistakes that break international targeting
Missing return tags, mismatched language codes, region-without-language, and other hreflang implementation bugs that quietly break geo-targeted indexing.
Site Architecture
Security & HTTPS
Images & Media
Find the issue. Ship the fix.
Use Learn to understand the problem, then run Serpwise against your own site to see what can be approved and deployed.