Internal Link Rot: Articles Point to Renamed or Deleted Slugs
Half your internal links return 404 because you renamed slugs without redirects. Run linkinator or lychee in CI, add a redirects file, fail prebuild on dangling links.
Thin pages, weak categories, orphan pages, duplicate titles, stale articles, internal link distribution, bilingual drift, too many tag pages, AI content quality, low-value URLs.
Once a content site passes a few hundred articles, the problem shifts from "I can`t write more" to "too many pages, looks repetitive, low indexing rate, AdSense rejection, Search Console flooded with low-value URLs." This hub targets exactly those symptoms: too many thin pages, weak category pages, inflated article counts vs. weak authority, orphan pages, duplicate titles, stale articles, uneven internal links, bilingual drift, shallow topic clusters, a homepage that can`t distribute authority, too many tag-page thin archives, accidentally published drafts, Search Console low-value URL explosions, AI content lacking unique value, many pages but few impressions. Every article explains "is this a real problem, do I need to fix it, and how does the fix affect indexing / AdSense approval / long-term maintainability."
Half your internal links return 404 because you renamed slugs without redirects. Run linkinator or lychee in CI, add a redirects file, fail prebuild on dangling links.
ZH pages have a canonical link pointing at the EN version — Google deindexes the ZH variant. Per-page canonical from current URL, verify with curl + view-source.
Your article has FAQPage JSON-LD but Google never shows the FAQ rich result. Causes: wrong Question/Answer nesting, page noindex, mismatched heading text. Fix and re-test.
Hreflang URLs don't pair, wrong language codes (zh vs zh-CN), missing x-default. Auto-emit from translationKey, validate with hreflang.org, fix at the source.
Articles use img tags with no alt attribute — bad for accessibility, bad for image search, bad for AdSense quality signals. Audit, backfill, enforce via MDX lint.
publishedAt never moves even when content is rewritten. Add updatedAt, use volatile for fast-moving topics, refresh dates only on substantial edits — not cosmetic ones.
Tag pages exist but have 0 published articles after cleanup. Audit tag usage, require minimum 1 article per tag, auto-deindex or 410 the empty archives.
Solo edits drift EN and ZH apart — sections, code blocks, links diverge. Audit pairs by structure, diff bilingual content, and enforce translate-as-you-edit policy.
Your _redirects file is 3,000 lines. Builds are slower, crawlers chase chains, and nobody knows which rules are still needed. How to audit, collapse, and prune.
Your 'Related articles' module shows three near-identical posts on every page. Readers bounce, internal-link equity dilutes. How to detect, score, and de-duplicate.
You shipped a rebuild but production still serves the old article — CDN edge cache, browser cache, or stale HTML referencing old asset hashes.
You added 50 new articles, but Search Console still shows last month's count — sitemap regenerated locally but never reached the crawler.