Internal Link Rot: Articles Point to Renamed or Deleted Slugs
Half your internal links 404 because you renamed slugs without redirects. Add host-level 301s, run lychee in CI, and fail prebuild on any link that points at a slug that does not resolve.
Articles tagged with #Content ops
Half your internal links 404 because you renamed slugs without redirects. Add host-level 301s, run lychee in CI, and fail prebuild on any link that points at a slug that does not resolve.
ZH pages carry a canonical that points at the EN version, so Google deindexes the ZH variant. Fix: self-referential per-page canonical, verify with curl + view-source.
Your FAQPage JSON-LD looks right but the FAQ rich result never shows. As of May 7 2026 Google deprecated FAQ rich results for everyone. Confirm it, then decide keep vs remove.
Hreflang pairs don't reciprocate, language codes don't match (zh vs zh-CN), x-default missing. Auto-emit from translationKey, validate with the Merkle hreflang tester, fix at the source.
Hundreds of images with no alt attribute hurt accessibility, image search, and AdSense quality. Audit by category, backfill by traffic, then fail the build on regressions.
Your publishedAt never moves so SERP shows an old date. Add updatedAt, show ONE date, match schema to the visible date, and bump only on substantial edits.
A 3,000-line _redirects file slows builds, makes crawlers chase chains, and silently drops rules past your host's cap. How to audit, collapse chains, and prune safely.
Your 'Related articles' panel shows three near-identical posts on every page. Detect the leak, score 'related but not duplicate' with MMR, and stop recommending duplicates to yourself.
Tag pages render but have 0 published articles after a cleanup. Audit tag counts, set a minimum-per-tag prebuild rule, and 410 the empty archives so Google drops them fast.
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 in CI.
Ship one article edit on a 3,000-page Astro site without rebuilding everything: Content Layer caching, on-demand routes, hash-gated CI, and per-file CDN purge. Tested patterns for June 2026.
A 4-hour quarterly review template that surfaces traffic drift, topical decay, and rank loss before they compound, with the exact GSC queries, AI Overview checks, and decision rules to use (June 2026).
What roles a content site needs at solo, 2, 3, and 5 people — with 2026 freelance writer, editor, and VA rates — and which hire unblocks growth instead of just adding payroll.
Screenshots show last year's UI and steps don't match what the reader sees — trust drops, bounce rises. Audit by platform, version-stamp, then automate captures so they never rot again.
AI articles read fine but rank position 47 and get AdSense-rejected for "low value content." The fix is information gain: add 3 of 6 concrete additions (experience, data, contrarian POV, expert quote, proprietary screenshot, unique synthesis).
"We have 800 articles!" — but 60% are bilingual duplicates, drafts, or thin redirects. Count what matters: unique, indexable, substantive URLs.
EN updated 5 times, ZH once: stale screenshots, broken cross-links, hreflang ignored. Audit drift with a script, decide per pair, automate the sync. June 2026.
Your category page is a title plus cards, so Google sees navigation, not content. Add a 300-word editorial intro, a curated "start here," and a real take to turn it into a rankable hub article.
Pages still marked `draft: true` got built, deployed, and indexed with placeholder text. Audit, deindex with 410, then add CI guards so the build can't produce a draft in production.
An audit flags 80 pages sharing one `<title>` — usually template fallback, pagination, or a bilingual collision. Diagnose the bucket, rewrite for specificity, and add a CI check so it never recurs.
200 outbound links on the homepage split its PageRank ~200 ways. Cut to ~30 deliberate destinations and route long lists through index pages so authority concentrates where you want rankings.
Top 10 pages hold 80% of internal inlinks; 200 pages have 0-2. Audit inlinks in Screaming Frog, add body-text links to the starved 20%, and replace 'latest 5' with a smart related widget.
500 articles, top 20 pages get 80% of impressions, the tail gets 0-5/month. Power-law is normal; a dead tail is the bug. Validate keywords, fix intent and links, and tell impression-dead from click-dead in the AI Overviews era.
Pages with zero internal inbound links rarely rank. Find true orphans with a crawler or a script, then decide per page: reintegrate with body links or remove with 410/noindex.
"Crawled — currently not indexed" balloons to thousands of `?sort=`, `?page=`, tag-combo URLs. Triage by source, block via robots.txt / canonical / noindex, and reclaim crawl budget — without the common mistake that hides your noindex tag.
100 articles in 3 months, same structure and same examples? That's templated thinking, and as of 2026 it's exactly what Google's scaled-content-abuse policy targets. Audit, rotate templates, force a unique angle per piece.
Half your articles are 3+ years old and reference tools that changed. Refresh the high-traffic ones with real edits (not date-bump tricks) so they rank and get cited again.
800 tags, 600 with 1-2 articles each = 600 thin archive pages Google won't index. Set a per-tag article threshold, merge synonyms, noindex the rest, keep them out of the sitemap.
500+ pages and Google indexes few. Audit by word count + impressions, tag each page expand / merge / noindex / 410, and cut the weakest 20-40% to lift site-wide quality.
1 pillar + 2 supporting articles isn't a cluster — it's a stub. Real clusters run 8-12 supporting pages, ship over 2-3 months, and link bidirectionally. Here's how to design, build, and wire one.
Taxonomy and URL design for content sites: 4-8 hubs, an Astro 5 content schema, hub-page templates, and sitemap config that scales from 50 to 1000 articles without a refactor.
Structure a Markdown / MDX content site to scale from 50 to 1000+ articles on Astro 6. Content Layer schema, component map, link checker, and the brace gotcha.
Depth-first vs breadth-first for a new content site in 2026: a stage-based decision rule, a paste-ready content-plan template, and the exact Search Console check that tells you when to flip.
Design a long-tail content site so taxonomy, slugs, and internal links scale from article 1 to 500 without a rebuild. Includes a content-plan template, slug regex, and 2026 indexing checks.
A go/no-go decision for bilingual content sites: the Search Console country signal that proves demand, a self-referencing hreflang template, and a 30-article re-evaluation gate.
A repeatable June 2026 workflow for auditing and upgrading old articles with AI — what to ask, what to ignore, and how to turn a backlog into a refresh queue.
A field-tested 2026 guide to App Store listing copy: exact character limits, the name, subtitle, keywords, promotional text, screenshots, and description that convert browsers into installs.
Past a few hundred articles, duplication quietly kills indexing. Here is the script-driven workflow to catch it before Google does — with real embedding costs and Search Console signals.
The exact signals that flag AI-written articles as low-quality, what Google's 2026 scaled-content-abuse policy actually penalizes, and a 20-minute edit pass that fixes both.
Volume buys coverage, quality buys rankings. Use this Search Console decision flow and a build-enforced quality floor to choose the right move each month.
Google crawled your page and decided not to index it. The reasons are almost always quality, duplication, or authority — not technical. The real fix list.
A June 2026 workflow for using AI to spot the articles your site should have but doesn't, built from your own sitemap, Search Console data, and a topic pillar map.
A reproducible checklist for when you publish a page and Google ignores it. Run the steps in order, stop at the first failure. Verified for June 2026.
Past 1,000 articles you manage with scripts, not willpower. A generated content index, duplicate scanner, link checker, and Search Console retire-shelf workflow, with current 2026 API limits.
A specific 30-day plan for a brand-new content site: get indexed in Search Console, lock your URL structure, ship 15-20 clustered articles, and skip what doesn't matter yet.
Encode pillar/cluster relationships in your content schema, not your head. Includes a Zod schema, auto-generated link blocks, an orphan-audit script, and 2026 anchor-text targets.
A scripted quarterly content audit: URL inventory, Search Console join, dead-page and near-ranker flags, duplicate scanner, linkinator broken-link check, and a diff-able decision log.
A 2026 framework for publishing dozens of AI-assisted articles a month that survive Google's March 2026 core update, the scaled-content-abuse policy, and AdSense review.
Pick a sustainable publishing cadence from your real 8-week git log, with a 0.8x floor formula, a backlog-buffer script, and a weekly streak check you drop into your repo.
Refresh only what's worth it: the Search Console query that surfaces position 8-20 pages, a refresh template, and the 2026 re-indexing flow that actually works.