ongboit.com — Content Portfolio Audit
Start Here — Your Top 3 Fixes
These problems recur across the most articles, so fixing them once (as a site-wide template change) lifts the whole portfolio at once:
- #1 — Thin external sourcing / unsourced stats (17 of 18 articles)
- #2 — No speakable schema (13 of 18 articles)
- #3 — FAQPage schema missing (FAQ present, no JSON-LD) (12 of 18 articles)
Then refresh first: /cdn-la-gi/ — highest refresh priority (see the 90-Day Roadmap for the full order).
Executive Summary
This Content Portfolio Audit scores all 200 published articles across five quality dimensions (Quality & E-E-A-T, GEO citability, on-page SEO, schema, sourcing) plus portfolio-wide health — content decay, cannibalization, internal-link structure, and topic clusters. It surfaces the highest-leverage fixes first, then a 90-day refresh roadmap ranked by ROI.
Audited 19 article(s) across 12 dimensions. Surfaced 317 findings (33 critical). Portfolio Health: 68/100 (Fair).
Pillar Scores
Mean score per dimension across 19 scored articles. Readability rolls up under Quality; Content Decay is scored portfolio-wide (Decay Map + Refresh Queue).
📖 How to Read This Report
Ordered by what to do, in 3 tiers:
- ACT (top) — what to fix, in order: Start Here Top-3 · Pillar scores · Priority Fixes · Findings by severity · Top-20 Refresh Queue · 90-Day Roadmap · 🤖 Apply with Claude Code (copy-paste prompt).
- INVESTIGATE (middle) — drill down: per-article scorecard · cross-article maps (Decay / Cluster / Cannibalization / Internal Links / Anchor) · GSC data · charts · per-skill cards.
- TRUST (bottom) — confidence the run was sound: Portfolio Strengths · Cross-Skill Validation · Methodology timeline · Appendix (formulas, tools, capability).
To apply fixes: hand Claude Code the report MD + the fixes/ folder, then paste the prompt in the "🤖 Apply These Fixes with Claude Code" section below.
Glossary — what the terms mean
Content decay — An article losing search traffic/rankings over time — stale content, lost links, or a competitor overtaking it. The Decay Map flags articles with ≥2 decay signals.
Cannibalization — Two or more of YOUR pages competing for the same query, so Google splits ranking between them. Fix = merge them or differentiate their intent.
Cluster (authority flow) — A group of articles on one topic. A strong cluster has a pillar page linked to/from its supporting 'spoke' articles, concentrating topical authority.
Orphan — An article with zero internal links pointing to it — hard for readers and crawlers to find. Add links from related articles.
Striking distance — Keywords ranking on page 2 (positions 11-20) with real impressions — small improvements can push them to page 1.
Reciprocal links — Two articles that link to each other (mutual), vs one-way links. Healthy clusters have some reciprocity.
Anchor diversity — How varied the clickable text is across internal links to a page. Low diversity (same exact phrase every time) reads as keyword over-optimization.
Pillar score — The mean 0-100 score for one of the 5 audit dimensions across all articles (Quality / GEO / On-page / Schema / Sourcing).
⚡ Top Quick Wins (small effort, high impact)
Highest ROI fixes — small effort, high impact. Ship these first.
#1. Stat inconsistency: '151K reactions' vs '135K stars' in same article
📈 Immediate credibility damage; a reader noticing this discrepancy will distrust the entire article
#2. Primary subject (github.com/anthropics/skills repo) existence unconfirmed
📈 If repo does not exist or stats are wrong: complete article invalidation, E-E-A-T collapse, potential Google Quality penalty
#3. Meta description absent
📈 Missing meta description means Google auto-generates one, losing control of SERP click text. CTR typically drops 5-10%.
#4. Meta description missing — SEO critical
📈 Direct SERP CTR loss; Google auto-generates snippet from body which may truncate badly for this long-form article.
#5. FAQPage schema not confirmed — 4 FAQ pairs eligible, rich results not captured
📈 FAQPage rich results in SERP expand click area and increase CTR by estimated 20-30%; AI citation engines extract Q&A pairs from schema preferentially
Critical — fix immediately (4 recurring patterns, 22 one-off, 56 total occurrences)
Thin external sourcing / unsourced stats
17 articlesEvidence + 17 affected articles
/anthropic-skills-repo-deep-dive//best-claude-code-skills//cdn-la-gi//claude-code-gia-bao-nhieu//claude-code-gioi-han-su-dung//claude-code-la-gi//claude-code-plugins//claude-code-seo-content//claude-code-skills//claude-md-la-gi//dataforseo-la-gi//geo-seo-claude//llm-la-gi//migration-notion-to-obsidian//n8n-la-gi//obsidian-vs-notion-vs-logseq-2026//tiet-kiem-token-claude-code/
FAQPage schema missing (FAQ present, no JSON-LD)
12 articlesEvidence + 12 affected articles
/anthropic-skills-repo-deep-dive//cdn-la-gi//claude-code-dynamic-workflows//claude-code-gia-bao-nhieu//claude-code-la-gi//claude-code-seo-content//claude-code-skills//claude-md-la-gi//dataforseo-la-gi//geo-seo-claude//n8n-la-gi//obsidian-vs-notion-vs-logseq-2026/
Meta description absent
3 articlesEvidence + 3 affected articles
/best-claude-code-skills//claude-code-gia-bao-nhieu//claude-code-plugins/
Meta description missing
2 articlesEvidence + 2 affected articles
/claude-code-plugins//claude-md-la-gi/
+ 22 one-off findings (single article each) — click to expand
Each appears on a single article — low priority. Fix opportunistically when you next refresh that article; no site-wide action needed.
- Core factual claims unverifiable / likely fabricated
/anthropic-skills-repo-deep-dive/ - Stat inconsistency: '151K reactions' vs '135K stars' in same article
/anthropic-skills-repo-deep-dive/ - Primary subject (github.com/anthropics/skills repo) existence unconfirmed
/anthropic-skills-repo-deep-dive/ - No JSON-LD structured data detected
/best-claude-code-skills/ - OG and Twitter Card meta tags not confirmed
/best-claude-code-skills/ - Meta description missing — SEO critical
/best-claude-code-skills/ - OG and Twitter meta tags unconfirmed/absent
/best-claude-code-skills/ - Zero structured data on a 9,200-word comparison article
/best-claude-code-skills/ - OG meta tags and Twitter Card absent or unverifiable
/claude-code-plugins/ - Zero structured data — no schemas of any type detected
/claude-code-plugins/ - Internal star-count contradictions — likely fabricated or stale GitHub stats
/claude-code-seo-content/ - GitHub star count contradiction: Bhanunamikaze/Agentic-SEO-Skill
/claude-code-seo-content/ - GitHub star count contradiction: aaron-he-zhu/seo-geo-claude-skills
/claude-code-seo-content/ - Sub-skill count contradiction: AgriciDaniel/claude-seo
/claude-code-seo-content/ - Anthropic '$2.5B annually' claim not supported by cited URL
/claude-code-skills/ - No meta description detected
/claude-md-la-gi/ - No canonical URL tag found
/claude-md-la-gi/ - No Open Graph or Twitter Card meta tags detected
/claude-md-la-gi/ - Canonical tag absent
/claude-md-la-gi/ - OG + Twitter Card absent
/claude-md-la-gi/ - Zero schema markup — all 12 criteria fail
/claude-md-la-gi/ - 3 unverifiable claims about non-existent 'Opus 4.7' and 'Tokenizer v3'
/tiet-kiem-token-claude-code/
High Priority — fix this week (6 recurring patterns, 50 one-off, 82 total occurrences)
Meta / title length
11 articlesEvidence + 11 affected articles
/anthropic-skills-repo-deep-dive//claude-code-gia-bao-nhieu//claude-code-gioi-han-su-dung//claude-code-la-gi//claude-code-seo-content//claude-code-skills//claude-md-la-gi//geo-seo-claude//llm-la-gi//obsidian-vs-notion-vs-logseq-2026//tiet-kiem-token-claude-code/
No speakable schema
13 articlesEvidence + 13 affected articles
/anthropic-skills-repo-deep-dive//claude-code-dynamic-workflows//claude-code-gia-bao-nhieu//claude-code-gioi-han-su-dung//claude-code-seo-content//claude-code-skills//dataforseo-la-gi//geo-seo-claude//llm-la-gi//migration-notion-to-obsidian//n8n-la-gi//obsidian-vs-notion-vs-logseq-2026//tiet-kiem-token-claude-code/
Two banned AI-detectable phrases detected
2 articlesEvidence + 2 affected articles
/anthropic-skills-repo-deep-dive//claude-code-la-gi/
Canonical URL not confirmed
2 articlesEvidence + 2 affected articles
/best-claude-code-skills//claude-code-plugins/
No JSON-LD schema detected
2 articlesEvidence + 2 affected articles
/cdn-la-gi//claude-code-gia-bao-nhieu/
Word count below pillar threshold
2 articlesEvidence + 2 affected articles
/claude-code-dynamic-workflows//migration-notion-to-obsidian/
+ 50 one-off findings (single article each) — click to expand
Each appears on a single article — low priority. Fix opportunistically when you next refresh that article; no site-wide action needed.
- BlogPosting missing articleBody and wordCount properties
/anthropic-skills-repo-deep-dive/ - Image alt text stat inconsistency (135K vs 151K) appears in ImageObject caption
/anthropic-skills-repo-deep-dive/ - Internal stat contradiction: 151K reactions vs 135K stars in same page
/anthropic-skills-repo-deep-dive/ - No hero image — only 2 images total (both logo/avatar)
/best-claude-code-skills/ - Question-phrased H2 ratio very low (1/18 = 5.5%)
/best-claude-code-skills/ - Two numeric claims have zero sourcing ('90% invocation rate', '30-50 tokens per skill')
/best-claude-code-skills/ - Internal stat contradiction on frontend-design install count
/best-claude-code-skills/ - No external links in article body
/cdn-la-gi/ - Article schema not confirmed — authorship and publish date not surfaced in structured data
/cdn-la-gi/ - Stat density below GEO threshold
/claude-code-dynamic-workflows/ - Publish date 'May 28, 2026' stated in body text but not hyperlinked or cited
/claude-code-dynamic-workflows/ - Meta description missing or not extractable
/claude-code-gia-bao-nhieu/ - OG / Twitter Card meta tags not detected
/claude-code-gia-bao-nhieu/ - OG and Twitter Card tags absent
/claude-code-gia-bao-nhieu/ - Message limit numbers (45/window, 900/window) are unlinked quantitative claims
/claude-code-gia-bao-nhieu/ - Cursor Pro+ $60/month price likely incorrect
/claude-code-gia-bao-nhieu/ - Meta description too short and mismatched vs title intent
/claude-code-la-gi/ - Answer-first structure inconsistent — 45% of H2 sections bury the lead
/claude-code-la-gi/ - Three high-value stats cited without traceable source links
/claude-code-la-gi/ - All H2 headings in Vietnamese — mixed-language heading schema
/claude-code-plugins/ - AI-detectable burstiness — 3 banned phrases detected
/claude-code-plugins/ - Only 33% of H2s are question-format — below 50% GEO target
/claude-code-plugins/ - Install counts dated April 2026 — may be stale by publication date June 2026
/claude-code-plugins/ - No direct-answer opening — intro is context-narrative, not answer-first
/claude-code-seo-content/ - '98% marketer tăng ngân sách AI' — Typeface.ai, no URL
/claude-code-seo-content/ - 'CTR giảm 61% khi AI Overviews xuất hiện' — Seer Interactive, no URL
/claude-code-seo-content/ - 'AI Overviews trong 25.11% lượt tìm kiếm' — Digital Applied Q1 2026, no URL
/claude-code-seo-content/ - 'AI tăng output lên 3.8x' — AllAboutAI.com, no URL
/claude-code-seo-content/ - Only 21% of H2s are questions — low for AI Overview triggering
/claude-code-skills/ - OG image dimensions 1024×572, below recommended 1200×630
/claude-code-skills/ - '/graphify 450K PyPI downloads' has no primary source
/claude-code-skills/ - '500K tokens wasted monthly' — calculated estimate with no visible methodology
/claude-code-skills/ - Publish/modified dates not machine-readable
/claude-md-la-gi/ - Hero image absent from DOM — exists only in OG/schema
/dataforseo-la-gi/ - Low block-level citability — most sections open with framing rather than direct answer
/dataforseo-la-gi/ - Hero image not present as <img> tag — fails image alt requirement
/dataforseo-la-gi/ - Answer-first rate below 70% threshold for AI citability
/geo-seo-claude/ - 16-model comparison table uses model version names that require immediate verification
/llm-la-gi/ - Stat density very low (0.008 stats/word) — no externally-verifiable data points
/migration-notion-to-obsidian/ - Missing HowTo schema for 5-phase migration procedure
/migration-notion-to-obsidian/ - 230,000 users stat sourced to third-party aggregator, not primary
/n8n-la-gi/ - 230,000 users figure sourced to non-primary flowlyn.com aggregator
/n8n-la-gi/ - Performance benchmarks have no primary sources
/obsidian-vs-notion-vs-logseq-2026/ - Notion '$10B valuation 2024' — year is likely wrong
/obsidian-vs-notion-vs-logseq-2026/ - No JSON-LD schema on page
/tiet-kiem-token-claude-code/ - Meta description too short and missing primary keyword phrase
/tiet-kiem-token-claude-code/ - Banned/AI-burstiness phrases detected
/tiet-kiem-token-claude-code/ - Stat density 0.031 stats/word — below 0.04 target for AI citability
/tiet-kiem-token-claude-code/ - H2 question format only 47% — below 60% target for GEO
/tiet-kiem-token-claude-code/ - 6 stats attributed to 'Nate Herk (2026)' without specific URLs or timestamps
/tiet-kiem-token-claude-code/
Medium Priority — fix this month (0 recurring patterns, 80 one-off, 80 total occurrences)
+ 80 one-off findings (single article each) — click to expand
Each appears on a single article — low priority. Fix opportunistically when you next refresh that article; no site-wide action needed.
- Hero image missing from article body (present only in OG)
/anthropic-skills-repo-deep-dive/ - Content depth: no comparison table, no code output sample
/anthropic-skills-repo-deep-dive/ - Stats are specific but unattributed — AI engines cannot cite them safely
/anthropic-skills-repo-deep-dive/ - Contradictory install count for frontend-design (124K vs 277K)
/best-claude-code-skills/ - No Table of Contents (9,200-word article)
/best-claude-code-skills/ - Soft attribution for r/ClaudeAI community claims
/best-claude-code-skills/ - Stats are well-distributed but lack ISO dates in-line
/best-claude-code-skills/ - FAQ section at H3 depth loses AI passage-extraction benefit
/best-claude-code-skills/ - Stat density very low — only 3 data points in ~2,400 words
/cdn-la-gi/ - Single external source cited (Cloudflare) with no link
/cdn-la-gi/ - TL;DR block is strong but lacks a specific, citable stat
/cdn-la-gi/ - Canonical tag unconfirmed — requires manual verification
/cdn-la-gi/ - Cloudflare '4 benefits' claim cited but not linked
/cdn-la-gi/ - publish_date equals last_modified — no visible update history
/claude-code-dynamic-workflows/ - Primary keyword not frontloaded in title tag
/claude-code-dynamic-workflows/ - BlogPosting missing explicit url and wordCount properties
/claude-code-dynamic-workflows/ - '90% developer chỉ cần Pro' claim — source link resolves to cost docs but stat not confirmed at destination
/claude-code-gia-bao-nhieu/ - Competitor pricing data timestamped March 2026 — potentially stale
/claude-code-gia-bao-nhieu/ - Two H2 sections bury the primary answer
/claude-code-gia-bao-nhieu/ - '$14B revenue / $2.5B Claude Code' framing — funding announcement, not audited revenue
/claude-code-gia-bao-nhieu/ - H1 differs from title tag
/claude-code-gioi-han-su-dung/ - Stat density high but attribution density lagging
/claude-code-gioi-han-su-dung/ - H1 / title tag mismatch
/claude-code-la-gi/ - Person schema missing url field for author and lacks @type Person on author node within BlogPosting
/claude-code-la-gi/ - Stat density at 0.09 is borderline — key comparison section lacks quantified evidence
/claude-code-la-gi/ - Primary keyword 'claude code là gì' absent from meta description
/claude-code-la-gi/ - Title pixel-width risk due to Vietnamese diacritics
/claude-code-la-gi/ - BlogPosting missing 'image' array — only single @id reference
/claude-code-la-gi/ - Pragmatic Engineer stat links to newsletter homepage, not source article
/claude-code-la-gi/ - Image alt-text issue
/claude-code-plugins/ - Stat density 1.9/100 words — below 2.5 GEO target
/claude-code-plugins/ - Block-level citability 38% — structured lists and tables present but many narrative blocks lack discrete factual claims
/claude-code-plugins/ - Workflow sections lack concrete terminal output — claims unverifiable
/claude-code-seo-content/ - Image alt texts strip Vietnamese diacritics — accessibility and indexing gap
/claude-code-seo-content/ - Article age risk: published 71 days ago in fast-moving AI tools niche
/claude-code-seo-content/ - Alt text quality: diacritics stripped in 3 content images
/claude-code-seo-content/ - 'SEO audit từ 18-26h xuống ~2h' — attributed to claude-world.com
/claude-code-seo-content/ - '68% doanh nghiệp báo cáo ROI nội dung tăng' — no source named
/claude-code-seo-content/ - No hreflang tag — Vietnamese article missing locale signal
/claude-code-skills/ - '/graphify 450K PyPI downloads' claim has no primary source link
/claude-code-skills/ - '500K tokens wasted monthly' is a calculated estimate with no methodology
/claude-code-skills/ - Reddit r/ClaudeCode '65 skills / 13 used' stat has no link
/claude-code-skills/ - Block-level citability at 42% — several sections lack standalone extractable answers
/claude-code-skills/ - Reddit '65 skills/13 used' stat missing thread URL
/claude-code-skills/ - H1 duplicates title tag exactly — weak differentiation
/claude-md-la-gi/ - Many H2 headings are statements, not questions — reduces People-Also-Ask signal
/claude-md-la-gi/ - Author lacks in-article biography / credentials block
/dataforseo-la-gi/ - Heading hierarchy: H3 sections appear as visual peers to H2 sections without parent H2 wrapper
/dataforseo-la-gi/ - No dedicated 'What is DataForSEO' single-paragraph definition block
/dataforseo-la-gi/ - '4.8B keyword database, 230+ locations' — no direct URL to DataForSEO 2025 Year in Review
/dataforseo-la-gi/ - No explicit TL;DR block marked up for AI extraction
/geo-seo-claude/ - Stack Overflow 2025 survey stat cited without URL
/llm-la-gi/ - Model version names may not match official release nomenclature
/llm-la-gi/ - TL;DR section not machine-readable as a distinct schema entity
/llm-la-gi/ - FAQ question headings lack H4 semantic markup
/llm-la-gi/ - Stack Overflow 2025 survey stats need hyperlink
/llm-la-gi/ - DataForSEO 2400 searches/month stat needs linked evidence
/llm-la-gi/ - Banned phrase detected: 'feel familiar' (AI-detectable formulaic transition)
/migration-notion-to-obsidian/ - Banned phrase detected: 'feel productive' (AI-detectable phrase)
/migration-notion-to-obsidian/ - No explicit author bio or credentials section in article body
/migration-notion-to-obsidian/ - Two 'Similar Posts' widget images have non-descriptive / keyword-stuffed alt text
/migration-notion-to-obsidian/ - WebPage schema missing mainEntity reference to BlogPosting
/migration-notion-to-obsidian/ - Banned AI-detection phrase detected: 'toàn diện'
/n8n-la-gi/ - Banned AI-detection phrase: 'Phụ thuộc vào' opener in FAQ
/n8n-la-gi/ - Article section @type is BlogPosting, not Article — limits rich result eligibility
/n8n-la-gi/ - Comparison section lacks citable tabular summary block
/n8n-la-gi/ - Stat density low in introduction (first 300 words)
/n8n-la-gi/ - OG image dimensions below 1200x630 recommendation
/n8n-la-gi/ - H1 more verbose than SEO title — misalignment reduces keyword match
/n8n-la-gi/ - Person author schema has @id pointing to author archive, not a dedicated person page
/n8n-la-gi/ - BlogPosting lacks 'wordCount' and 'articleBody' properties
/n8n-la-gi/ - Hetzner CX22 pricing stated as €3.79/tháng — verify current price
/n8n-la-gi/ - Word count 1,834 is light for a 3-tool comparison pillar
/obsidian-vs-notion-vs-logseq-2026/ - stat_density is moderate but stats lack inline attribution
/obsidian-vs-notion-vs-logseq-2026/ - BlogPosting missing 'articleBody' property
/obsidian-vs-notion-vs-logseq-2026/ - Obsidian ARR sourced to getlatka.com (estimated data, low authority)
/obsidian-vs-notion-vs-logseq-2026/ - Section H2 'Opus 4.7' references an unverified model version
/tiet-kiem-token-claude-code/ - No hreflang tags despite Vietnamese-language content
/tiet-kiem-token-claude-code/ - Answer-first 61% — acceptable but improvable
/tiet-kiem-token-claude-code/ - Date mismatch: OG image URL says April 2026, byline says May 2026
/tiet-kiem-token-claude-code/
Low Priority — backlog (0 recurring patterns, 41 one-off, 41 total occurrences)
+ 41 one-off findings (single article each) — click to expand
Each appears on a single article — low priority. Fix opportunistically when you next refresh that article; no site-wide action needed.
- URL slug does not signal year for time-sensitive content
/anthropic-skills-repo-deep-dive/ - Author image reuses site logo (not a person photo)
/best-claude-code-skills/ - Author bio lacks verifiable credentials link
/cdn-la-gi/ - question_h2_pct at 44% — room to improve
/cdn-la-gi/ - Hero image alt text is English on a Vietnamese article
/cdn-la-gi/ - No third-party performance benchmarks — all quantitative data is self-measured
/cdn-la-gi/ - Single-keyword BlogPosting schema — keywords field not expanded
/claude-code-dynamic-workflows/ - No hreflang — Vietnamese-only signals not explicit
/claude-code-dynamic-workflows/ - No hreflang tag for Vietnamese language
/claude-code-dynamic-workflows/ - Token cost claim ('tốn nhiều hơn đáng kể') is qualitative — no quantitative benchmark cited
/claude-code-dynamic-workflows/ - Cursor Pro+ price stated as $60/month — does not match public pricing
/claude-code-gia-bao-nhieu/ - No author bio page link from article
/claude-code-gioi-han-su-dung/ - answer_first_pct at 65% — below 75% GEO target
/claude-code-gioi-han-su-dung/ - BlogPosting missing articleSection
/claude-code-gioi-han-su-dung/ - TechCrunch source dated 2025-07-28 — verify not a dead link
/claude-code-gioi-han-su-dung/ - ImageObject schema missing for 5 of 7 body images
/claude-code-la-gi/ - ImageObject schema covers only hero — 5 section images undeclared
/claude-code-la-gi/ - pl-01-top9.webp and pl-02-comparison.webp may lack descriptive alt
/claude-code-plugins/ - Commercial CTA section lacks disclosure — potential trust signal gap
/claude-code-seo-content/ - No explicit publish date visible in article body
/claude-code-seo-content/ - Banned AI-detection phrases detected (2 instances)
/claude-code-skills/ - H2 'Lịch sử phát triển' appears as both H2 and H3 — duplicate heading text
/claude-code-skills/ - No llms.txt or AI-crawler-specific directives referenced
/claude-code-skills/ - Stack Overflow 2025 survey stat '84% use AI tools daily' — verify exact wording
/claude-code-skills/ - 110,000+ GitHub Stars — verify current accuracy
/claude-md-la-gi/ - BlogPosting schema missing wordCount and articleBody fields
/dataforseo-la-gi/ - BlogPosting missing wordCount and articleBody
/dataforseo-la-gi/ - No hreflang — Vietnamese article with no language signal
/geo-seo-claude/ - article:author in OG meta points to Facebook page, not Person schema
/geo-seo-claude/ - Author photo is site logo, not personal face photo
/llm-la-gi/ - H2 count (15) exceeds recommended ceiling for word count
/llm-la-gi/ - 38% of H2 sections do not open with a direct answer sentence
/llm-la-gi/ - Person sameAs includes publisher homepage URL
/llm-la-gi/ - articleBody property absent from BlogPosting
/llm-la-gi/ - Article categorized under 'Claude Code' but topic is Obsidian migration — category mismatch
/migration-notion-to-obsidian/ - External link rel attribute status unconfirmed
/migration-notion-to-obsidian/ - BlogPosting articleSection set to 'Claude Code' but content is Obsidian/Notion migration
/migration-notion-to-obsidian/ - 6,274 AI workflow templates stat has no access date
/n8n-la-gi/ - No explicit author bio / credentials section in article body
/n8n-la-gi/ - No hreflang self-referential vi annotation
/n8n-la-gi/ - Author schema jobTitle is 'DevOps Engineer and AI Vibe Coder' — 'Vibe Coder' is informal
/obsidian-vs-notion-vs-logseq-2026/
🎯 Top 20 Refresh Queue
Ranked by ROI: (Search Volume × Position Potential) × Commercial Intent × Content Strength Inverse × Decay Severity
--gsc on a connected property for volume/position-driven ROI.#1. /cdn-la-gi/
#2. /anthropic-skills-repo-deep-dive/
#3. /claude-code-plugins/
#4. /claude-code-dynamic-workflows/
#5. /claude-code-seo-content/
#6. /claude-md-la-gi/
#7. /migration-notion-to-obsidian/
#8. /obsidian-vs-notion-vs-logseq-2026/
#9. /tiet-kiem-token-claude-code/
#10. /best-claude-code-skills/
#11. /claude-code-gia-bao-nhieu/
#12. /claude-code-skills-developers/
#13. /claude-code-skills/
#14. /claude-code-la-gi/
#15. /n8n-la-gi/
#16. /claude-code-gioi-han-su-dung/
#17. /geo-seo-claude/
#18. /dataforseo-la-gi/
#19. /llm-la-gi/
90-Day Action Roadmap
Refresh in this order (highest ROI first). The note after each
article is its top issue to fix on that pass — full per-article findings are in the scorecard, and
ready-to-apply artifacts are in the fixes/ folder.
Weeks 1-2: Top 5 Refresh Candidates
/cdn-la-gi/— FAQPage schema not confirmed — 4 FAQ pairs eligible, rich results not captured (priority 270)/anthropic-skills-repo-deep-dive/— Core factual claims unverifiable / likely fabricated (priority 255)/claude-code-plugins/— Meta description absent (priority 255)/claude-code-dynamic-workflows/— Word count below pillar threshold (priority 240)/claude-code-seo-content/— Internal star-count contradictions — likely fabricated or stale GitHub stats (priority 240)
Weeks 3-6: Next 10
/claude-md-la-gi/— No meta description detected (priority 240)/migration-notion-to-obsidian/— Word count below pillar threshold (2,398 vs 3,000+ expected for how-to migration guide) (priority 240)/obsidian-vs-notion-vs-logseq-2026/— FAQPage Q4 answer truncated — live structured data is invalid (priority 232)/tiet-kiem-token-claude-code/— 3 unverifiable claims about non-existent 'Opus 4.7' and 'Tokenizer v3' (priority 218)/best-claude-code-skills/— Meta description absent (priority 202)/claude-code-gia-bao-nhieu/— Zero structured data — no Article, FAQPage, or BreadcrumbList schema (priority 195)/claude-code-skills-developers/(priority 188)/claude-code-skills/— Anthropic '$2.5B annually' claim not supported by cited URL (priority 172)/claude-code-la-gi/— Meta description too short and mismatched vs title intent (priority 165)/n8n-la-gi/— 230,000 users stat sourced to third-party aggregator, not primary (priority 165)
Weeks 7-12: Long-tail Refresh
/claude-code-gioi-han-su-dung/— Meta description 8 chars below 150-char floor (priority 135)/geo-seo-claude/— Answer-first rate below 70% threshold for AI citability (priority 128)/dataforseo-la-gi/— Hero image absent from DOM — exists only in OG/schema (priority 120)/llm-la-gi/— 16-model comparison table uses model version names that require immediate verification (priority 120)
🤖 Apply These Fixes with Claude Code
Most teams apply these with Claude Code. Hand Claude just
the report MD blog-portfolio_ongboit.com_2026-06-16_blog-audit-pipeline.md (plus the fixes/ folder for ready-to-apply
artifacts) — not the whole folder — then paste the prompt below. The 30-second version is in
FIX-INSTRUCTIONS.md in this audit folder.
You are a senior content + SEO editor applying a content portfolio audit for the SITE OWNER (not a developer). COMMUNICATE PLAINLY - The person running you is the site owner and is NOT technical. Before each change, explain in ONE plain sentence what you'll change and why it helps; when you ask them to approve, give a simple yes/no recommendation. Don't assume they know SEO terms — define any jargon in a few words. CONTEXT - Read the report: blog-portfolio_ongboit.com_2026-06-16_blog-audit-pipeline.md (Start Here Top-3, findings by severity, per-article scorecard, 90-Day Refresh Roadmap). - Ready-to-apply artifacts are in the fixes/ folder (schema JSON-LD, meta, snippets). - Site: ongboit.com (WordPress -> apply via WP MCP). Almost everything here is editable inside WordPress — no server access needed. WORKFLOW 1. Read the report. Summarize the Top 3 Fixes (the patterns hitting the most articles) + the top articles in the Refresh Queue, in plain language. Change nothing yet. 2. Propose a simple plan — fix SITE-WIDE patterns first (e.g. add FAQ markup to the articles that have a FAQ), then per-article by refresh priority. Wait for my OK. 3. When fixing each article (all inside WordPress): - Schema / FAQ / meta -> create a REVISION/DRAFT, NEVER publish live. I click Publish myself. - Content (thin, unsourced, missing internal links) -> show me the proposed edit, I approve. 4. After each article, VERIFY using the exact signal the finding measured (schema present, FAQ present, internal links added) and report pass/fail in plain language. RULES - Don't fabricate or weaken a fix to make it "pass". Evidence-only. - NEVER publish or delete anything live -> always a draft/revision for my review. - Keep a simple checklist: [article] -> done / drafted / skipped + why.
Per-Article Scorecard (19 articles)
Click a column to sort. Quality = 5-dimension composite · Citable = AI-quotable blocks · Unsourced = stats with no citation · Schema = JSON-LD types · Priority = refresh rank (higher = sooner).
| Slug ▲▼ | Quality ▲▼ | Words ▲▼ | Int ▲▼ | Ext ▲▼ | Alt % ▲▼ | Citable ▲▼ | Unsourced ▲▼ | Schema ▲▼ | Priority ▲▼ |
|---|---|---|---|---|---|---|---|---|---|
/cdn-la-gi/ | 58 | — | — | — | — | — | 1 | — | 270.0 |
/anthropic-skills-repo-deep-dive/ | 63 | — | — | — | — | — | [{'claim': 'github.com/anthropics/skills đã đạt 151 ngàn lượt phản hồi (tính đến 15/6/2026)', 'source_provided': False, 'verifiability': 'unverified — repo existence not confirmed in audit', 'risk': 'high'}, {'claim': "Claude Code v2.1.139 với lệnh '/plugin marketplace add anthropics/skills'", 'source_provided': False, 'verifiability': 'unverified — version string not found in public docs', 'risk': 'high'}, {'claim': 'academic-research-skills đạt 82 điểm trên Hacker News tháng 5/2026', 'source_provided': False, 'verifiability': 'unverified — no HN thread linked', 'risk': 'high'}, {'claim': 'Dung lượng cài đặt khoảng 150-250 MB', 'source_provided': False, 'verifiability': 'author estimate — not labeled as such', 'risk': 'medium'}, {'claim': 'testing-web-apps covers 60-70% of boilerplate test cases', 'source_provided': False, 'verifiability': 'author estimate — not labeled as such', 'risk': 'medium'}, {'claim': 'Anthropic heavily invested in Web Testing group from Q1 2026', 'source_provided': False, 'verifiability': 'no source; no release notes or blog post cited', 'risk': 'medium'}, {'claim': 'Enterprise Workflow group shipped Q2 2026', 'source_provided': False, 'verifiability': 'no release notes or changelog link', 'risk': 'medium'}] | — | 255.0 |
/claude-code-plugins/ | 55 | — | — | — | — | — | [{'claim': '9,000+ extensions (community marketplace)', 'context': 'Community plugins section discussing marketplace size', 'source_provided': False, 'severity': 'P1'}, {'claim': '2,300+ skills (claudemarketplaces.com) — no access date', 'context': 'Marketplace section comparing skill counts', 'source_provided': False, 'severity': 'P2'}, {'claim': '425 plugins at tonsofskills.com', 'context': 'Third-party marketplace reference', 'source_provided': False, 'severity': 'P2'}, {'claim': '2,810 skill curated community', 'context': 'Community curation stat', 'source_provided': False, 'severity': 'P2'}] | — | 255.0 |
/claude-code-dynamic-workflows/ | 75 | — | — | — | — | — | 1 | — | 240.0 |
/claude-code-seo-content/ | 64 | — | — | — | — | — | 7 | — | 240.0 |
/claude-md-la-gi/ | 55 | — | — | — | — | — | 2 | — | 240.0 |
/migration-notion-to-obsidian/ | 68 | — | — | — | — | — | [{'claim': '4-12 hours for 200-2,000 pages', 'location': 'TL;DR summary table and opening paragraph', 'source_provided': False, 'verdict': 'UNSOURCED_ASSERTION', 'note': 'Author personal estimate; plausible but not externally verified. Should be labeled as estimated or cite community reports.'}, {'claim': 'Personal migration of 800 pages in 9 hours across three sessions, 90% successful import, 10% manual fixes', 'location': 'Body text in author experience section', 'source_provided': False, 'verdict': 'FIRST_PARTY_PERSONAL_DATA', 'note': 'Acceptable as personal experience claim IF clearly labeled as such. Currently presented as implicit benchmark without explicit first-person framing.'}, {'claim': '2-4 weeks before feel familiar with Obsidian; productivity exceeds Notion baseline after month 1', 'location': "FAQ answer: 'Mất bao lâu trước khi feel familiar với Obsidian?'", 'source_provided': False, 'verdict': 'UNSOURCED_ASSERTION', 'note': 'No link to Obsidian community survey, Reddit thread, or user study. Pure author assertion.'}, {'claim': 'Dual-run >3 months creates friction switching context, not recommended', 'location': "FAQ answer: 'Có thể dual-run Notion + Obsidian cùng lúc không?'", 'source_provided': False, 'verdict': 'OPINION_NOT_LABELED', 'note': "Stated as fact without evidence. Should be labeled as 'theo kinh nghiệm cá nhân' or cite community consensus."}] | — | 240.0 |
/obsidian-vs-notion-vs-logseq-2026/ | 73 | — | — | — | — | — | [{'claim': 'Obsidian vault opens 2-3 seconds', 'location': 'Performance section', 'source_provided': False, 'risk': 'HIGH — specific timing claim with no test methodology or source'}, {'claim': 'Notion opens 3-5 seconds, search 1-2 seconds', 'location': 'Performance section', 'source_provided': False, 'risk': 'HIGH — specific timing claim with no test methodology or source'}, {'claim': 'Logseq opens 4-6 seconds', 'location': 'Performance section', 'source_provided': False, 'risk': 'HIGH — specific timing claim with no test methodology or source'}, {'claim': 'Notion handles 50K pages smoothly', 'location': 'Performance section', 'source_provided': False, 'risk': 'MEDIUM — threshold figure with no source'}, {'claim': 'Obsidian graph smooth to 5000 notes', 'location': 'Performance section', 'source_provided': False, 'risk': 'MEDIUM — community-reported but no source cited'}, {'claim': 'Obsidian $2M ARR (2025)', 'location': 'Philosophy/business comparison', 'source_provided': 'PARTIAL — getlatka.com link in external links but not inline', 'risk': 'MEDIUM — getlatka.com is an estimates aggregator, not primary source'}, {'claim': 'Notion $10B valuation 2024', 'location': 'Philosophy/business comparison', 'source_provided': False, 'risk': "HIGH — Notion's last public valuation was $10.3B in Oct 2021 Series C; '2024' date is unverified"}, {'claim': 'Obsidian Bases covers 70-80% of Notion database use cases', 'location': 'FAQ — Bases vs Notion', 'source_provided': False, 'risk': 'MEDIUM — editorial estimate, no methodology'}] | — | 232.5 |
/tiet-kiem-token-claude-code/ | 55 | — | — | — | — | — | [{'claim': 'Opus 4.7 pricing: $4/$20 (down 20% from $5/$25)', 'source_cited': 'None', 'verifiable': False, 'severity': 'P0', 'note': "'Opus 4.7' does not appear in Anthropic pricing docs as of 2026-06-16. Current model is claude-opus-4-5. Pricing figures are unverified."}, {'claim': 'Tokenizer v3 reduces input tokens 35% for Vietnamese', 'source_cited': 'None', 'verifiable': False, 'severity': 'P0', 'note': "No 'Tokenizer v3' exists in Anthropic public documentation. This claim appears fabricated or speculative."}, {'claim': 'Cache hit rates improved from 60-65% to 75-82% in Opus 4.7', 'source_cited': 'None', 'verifiable': False, 'severity': 'P0', 'note': 'Model-specific cache hit rate benchmarks not published by Anthropic. Unverified.'}, {'claim': '98.5% of tokens in a session are spent rereading history, not processing new tasks', 'source_cited': 'Nate Herk (2026), 7,000 session analysis', 'verifiable': 'partial', 'severity': 'P1', 'note': 'Source cited (Nate Herk YouTube) but the 7,000-session figure and exact 98.5% stat need verification against the actual video. External link provided; auditor should verify.'}, {'claim': 'Message #30 costs 31x more than Message #1', 'source_cited': 'Nate Herk (2026)', 'verifiable': 'partial', 'severity': 'P1', 'note': "Plausible given quadratic token accumulation, but 31x is a very specific figure. Needs cross-check against Nate Herk's actual published analysis."}, {'claim': 'Retrieval accuracy: 92% at 256K context, 78% at 1M tokens', 'source_cited': 'Nate Herk (2026)', 'verifiable': 'partial', 'severity': 'P1', 'note': "These are likely from Anthropic's own model card / technical report, not Nate Herk. Attribution appears misassigned."}, {'claim': 'Thinking depth drops 67% in long sessions (18,000 thinking blocks analyzed)', 'source_cited': 'Nate Herk (2026)', 'verifiable': 'partial', 'severity': 'P1', 'note': "'67%' thinking depth drop is a strong claim. 18,000 thinking blocks is plausible for a prolific tester. Verify against linked YouTube video."}, {'claim': 'CLAUDE.md optimization gives 62% startup cost reduction', 'source_cited': 'Anthropic Docs', 'verifiable': 'partial', 'severity': 'P2', 'note': 'Anthropic Docs are cited but no specific URL/section. The 62% figure is not found in standard Anthropic documentation. May be an experimental community estimate.'}, {'claim': 'File-to-Markdown conversion: 90% reduction for HTML, 65-70% for PDF, 33% for DOCX', 'source_cited': 'Nate Herk (2026)', 'verifiable': 'partial', 'severity': 'P2', 'note': 'Plausible compression ratios, but precise percentages need citation to a specific test/benchmark.'}, {'claim': 'Sub-agents use 7x tokens', 'source_cited': 'Anthropic Docs', 'verifiable': 'partial', 'severity': 'P2', 'note': "'7x' overhead for sub-agents is a community estimate; Anthropic Docs warn of higher costs but do not publish a specific multiplier. Check current docs.anthropic.com/claude-code for accuracy."}, {'claim': 'User saw costs balloon from $345/month to $42,000/month', 'source_cited': 'Nate Herk (2026)', 'verifiable': 'partial', 'severity': 'P2', 'note': 'Dramatic anecdote; plausible for enterprise misuse but $42,000/month implies ~2 million tokens/hour sustained. Should link to specific source (tweet/video timestamp).'}] | — | 217.5 |
/best-claude-code-skills/ | 58 | — | — | — | — | — | [{'claim': 'description field quyết định 90% invocation rate', 'location': 'Power-user insights section', 'source_given': None, 'severity': 'P1', 'fix': 'Link to Anthropic docs or skill author post, or reframe as personal observation with qualifier.'}, {'claim': 'mỗi skill load tiêu tốn 30-50 tokens context', 'location': "FAQ: 'Cài nhiều skills có làm chậm Claude Code không?'", 'source_given': None, 'severity': 'P1', 'fix': "Cite a Claude Code docs page or CLAUDE.md behavior reference, or add '(ước tính cá nhân, chưa xác minh chính thức)' qualifier."}, {'claim': 'frontend-design: 277K installs (contradicts 124K-277K range given elsewhere)', 'location': 'TL;DR vs. skill entry #6', 'source_given': 'Claude Code Docs implied', 'severity': 'P1', 'fix': 'Pick one figure with date stamp. Remove the range.'}, {'claim': '80% skill cài không bao giờ invoke — 65 skills, 13 with invocations', 'location': 'Power-user insights section', 'source_given': 'một dev trên r/ClaudeCode (no link)', 'severity': 'P2', 'fix': "Add direct link to the specific Reddit post, or add '(community self-report, no peer review)' qualifier."}, {'claim': '/graphify 71x token saving', 'location': 'TL;DR and skill entry #21', 'source_given': 'r/ClaudeAI + obra/superpowers GitHub (but graphify is a separate tool)', 'severity': 'P2', 'fix': 'Link to the specific r/ClaudeAI post where the 71x benchmark was reported, or the graphify README if it documents this.'}] | — | 202.5 |
/claude-code-gia-bao-nhieu/ | 65 | — | — | — | — | — | [{'claim': 'Pro plan: 45 messages per 5-hour window', 'status': 'unsourced', 'note': 'Anthropic does not publish this number officially; no link provided'}, {'claim': 'Max 20x: ~900 messages per 5-hour window', 'status': 'unsourced', 'note': 'Derived from 45×20 but no official source'}, {'claim': 'Claude tokenizer uses 35% more tokens on 4.7+', 'status': 'unsourced', 'note': "Attributed to 'theo Anthropic' without specific link or document"}, {'claim': 'Pro plan provides $160–180/month API equivalent value', 'status': 'inferred', 'note': 'Math-derived from $6/day × 30 = $180; inference not clearly labeled as such'}, {'claim': 'Cursor Pro+ priced at $60/month', 'status': 'likely_incorrect', 'note': 'cursor.com/pricing shows Pro at $20/month and Business at $40/month as of 2026; $60 tier not found'}] | — | 195.0 |
/claude-code-skills-developers/ | 65 | — | — | — | — | — | [{'claim': '89K Installs feature-dev (also shown as 89K in comparison table)', 'location': 'Stats box, comparison table, feature-dev section text', 'source_cited': 'None — no URL or date provided for this install count', 'severity': 'P1'}, {'claim': 'obra/superpowers: 55K Stars in H2/text vs 228K Stars in comparison table — internal contradiction', 'location': "H2 heading says '55K Stars', body text says '55.000 stars (2026)', comparison table row 7 says '228K stars'", 'source_cited': 'GitHub repo cited but no snapshot date; figures contradict each other', 'severity': 'P0'}, {'claim': "'Top 10 Most-Installed developer skills' install counts (116, 65, 49, 36, 32, 30, 27, 21, 17, 16)", 'location': "Top 10 table, '2026-05 Update' section", 'source_cited': "'Agensi 2026 ranking' — vague, no URL or methodology provided", 'severity': 'P1'}, {'claim': "vercel-labs repo has '19.500 stars'", 'location': 'vercel-labs React section body text', 'source_cited': 'No URL or retrieval date cited; only GitHub mentioned generically', 'severity': 'P2'}, {'claim': "Total time savings '~10 giờ/tuần ~ 1 ngày dev/tuần' from combining 5 skills", 'location': 'Top 5 Time-Savers section', 'source_cited': 'Author estimate — no study or methodology cited', 'severity': 'P2'}, {'claim': "alirezarezvani Engineering Core: '36 Skills' and mentioned as '223 skills' in conclusion", 'location': "H3 heading '36 Skills'; conclusion text 'như alirezarezvani (223 skills)' — internal contradiction", 'source_cited': 'No version date or repo link in text context', 'severity': 'P1'}] | — | 187.5 |
/claude-code-skills/ | 74 | — | — | — | — | — | 3 | — | 172.5 |
/claude-code-la-gi/ | 73 | — | — | — | — | — | [{'claim': '18% developer adoption globally (2026)', 'context': "H3 section 'Skills Marketplace Mở Rộng: 1 → 8 Sites Trong 6 Tháng'", 'source_link_present': False, 'risk': 'medium'}, {'claim': '20.8 million commits contributed to 1M+ repos (Q1 2026)', 'context': 'Ecosystem section', 'source_link_present': False, 'risk': 'medium'}, {'claim': "46% 'most loved AI tool' (Pragmatic Engineer 2026)", 'context': 'Comparison section', 'source_link_present': True, 'source_url': 'https://newsletter.pragmaticengineer.com/', 'source_quality': 'links to homepage not specific article', 'risk': 'medium'}, {'claim': '91% CSAT, NPS 54', 'context': 'Ecosystem section', 'source_link_present': False, 'risk': 'medium'}, {'claim': '135K+ feedback responses for Skills', 'context': 'Ecosystem / 2026 updates section', 'source_link_present': False, 'risk': 'low'}, {'claim': '10,000+ MCP servers available', 'context': 'Ecosystem section', 'source_link_present': True, 'source_url': 'https://github.com/modelcontextprotocol/servers', 'risk': 'low'}, {'claim': 'Weekly quota increased 50% until July 13, 2026', 'context': 'Update section', 'source_link_present': True, 'source_url': 'https://apidog.com/blog/claude-code-weekly-limits-50-percent-increase-july-2026/', 'risk': 'low'}, {'claim': 'Anthropic Academy 16 free courses', 'context': 'Ecosystem section', 'source_link_present': True, 'source_url': 'https://www.anthropic.com/learn', 'risk': 'low'}] | — | 165.0 |
/n8n-la-gi/ | 77 | — | — | — | — | — | 2 | — | 165.0 |
/claude-code-gioi-han-su-dung/ | 82 | — | — | — | — | — | [{'claim': 'Opus cạn nhanh gấp 10x so với Sonnet', 'context': "H2 section header and surrounding body text — '10x' compute cost ratio stated as fact", 'citation_present': False, 'nearest_source': 'Anthropic Help Center pricing article linked elsewhere in page but not anchored to this specific claim', 'risk': 'medium — plausible from Anthropic API pricing page (Sonnet vs Opus token costs), but not directly cited at claim site'}, {'claim': 'Pro: 40-80h Sonnet/tuần', 'context': "Usage table in 'Bảng giới hạn theo plan' section", 'citation_present': True, 'source': 'support.claude.com/en/articles/11145838', 'risk': 'low'}, {'claim': 'SpaceX Colossus 1 deal và $200B Google', 'context': "Section 'Cú Hích Compute Phía Sau'", 'citation_present': True, 'source': 'Engadget, MindStudio, Ars Technica, Anthropic news all linked', 'risk': 'low'}, {'claim': 'DeepClaude + Qwen 3.6 27B chạy local — tiết kiệm quota', 'context': "Section 'Cách 8' — practical tip", 'citation_present': False, 'nearest_source': 'Internal link to /claude-deepclaude-qwen-local/ article', 'risk': 'low — internal cross-link exists, first-party claim'}] | — | 135.0 |
/geo-seo-claude/ | 82 | — | — | — | — | — | [{'claim': '89% of domains that ChatGPT and Perplexity reject even when SEO tools score them high', 'severity': 'P1', 'source_given': None, 'verifiable': False, 'finding': {'severity': 'P1', 'title': '89% domain rejection claim has no source', 'evidence': 'Article states approximately 89% of domains are rejected by ChatGPT and Perplexity despite high SEO tool scores. No citation provided. This is a high-impact, verifiable-sounding statistic that appears to be original content without backing.', 'effort': 'S', 'impact': 'Unsourced key claim damages E-E-A-T. AI fact-checkers (Perplexity, etc.) will not cite a page that asserts unverifiable statistics.', 'confidence': 'high', 'fix': "Either cite the original source (if exists — possibly Similarweb AI search study or BrightEdge) or reframe as first-party observation: 'In our audit of X sites using geo-seo-claude, we found that...'"}}, {'claim': '69% zero-click searches (May 2025)', 'severity': 'P2', 'source_given': 'Similarweb 5/2025', 'verifiable': True, 'finding': {'severity': 'P2', 'title': 'Similarweb zero-click stat cited without direct report URL', 'evidence': "Claim: '69% Zero-Click Searches' attributed to Similarweb May 2025. No hyperlink to the Similarweb report page provided in the article.", 'effort': 'S', 'impact': 'AI crawlers prefer traceable sources. Without a URL, the citation is weaker for AI extraction and fact-checking.', 'confidence': 'high', 'fix': "Add hyperlink to Similarweb's Digital Research 2025 report or the specific blog post where they published this stat."}}, {'claim': '11% of domains cited by both ChatGPT and Google AI Overviews simultaneously', 'severity': 'P2', 'source_given': 'Similarweb 2025', 'verifiable': True, 'finding': {'severity': 'P2', 'title': 'Dual-citation overlap stat (11%) lacks direct URL', 'evidence': 'Claim: only 11% of domains appear in both ChatGPT and Google AI Overview citations. Attributed to Similarweb 2025 with no hyperlink.', 'effort': 'S', 'impact': 'Same as above — cite the source URL for verifiability.', 'confidence': 'high', 'fix': 'Link to the Similarweb AI Trends report that published this finding.'}}, {'claim': '+527% AI-referred traffic growth in first 5 months of 2025', 'severity': 'P2', 'source_given': 'Similarweb 2025', 'verifiable': True, 'finding': {'severity': 'P2', 'title': '+527% AI traffic growth stat lacks direct URL', 'evidence': 'Stat appears in hero stats bar. Attributed to Similarweb. No hyperlink to the underlying report.', 'effort': 'S', 'impact': 'Headline stat — the most visible unlinked claim on the page. Should be the first to get a citation URL.', 'confidence': 'high', 'fix': "Link to Similarweb's 'AI Search Soars' or equivalent 2025 industry report page."}}] | — | 127.5 |
/dataforseo-la-gi/ | 80 | — | — | — | — | — | 3 | — | 120.0 |
/llm-la-gi/ | 79 | — | — | — | — | — | [{'claim': 'từ 2024 đến 2026, giá API LLM đã giảm khoảng 80% trung bình', 'location': 'FAQ — Tại sao có nhiều LLM mới ra liên tục?', 'source_provided': False, 'risk': 'P1 — unverified market claim presented as fact'}, {'claim': 'Stack Overflow 2025 (n=33,662), 84% developer dùng AI tools hàng ngày; chỉ 3% tin AI có thể thay thế họ', 'location': 'FAQ — LLM có thay thế lập trình viên không?', 'source_provided': 'inline mention only — no hyperlink', 'risk': 'P2 — verifiable stat but no link provided'}, {'claim': "2,400 lượt search 'llm là gì'/tháng tại VN", 'location': 'Body introduction section', 'source_provided': 'attributed to DataForSEO 2026 verbally, no link', 'risk': 'P2 — primary stat supporting article relevance needs linked evidence'}, {'claim': 'Gemini 3 Pro Preview đã bị discontinued 26/3/2026', 'location': 'FAQ — Nên chọn LLM nào cho developer?', 'source_provided': False, 'risk': 'P2 — specific product discontinuation claim with no citation'}, {'claim': 'Model version names: GPT-5.4, Gemini 3.1 Pro, Grok 4.1, Claude Opus 4.7, Claude Sonnet 4.6', 'location': '16-model comparison table', 'source_provided': 'Pricing links to official pages present, but model name strings cannot be independently verified against official documentation at time of audit (2026-06-16)', 'risk': 'P1 — model name accuracy is foundational to the entire comparison table; one wrong version name undermines the full comparison'}] | — | 120.0 |
Decay Map
Cluster Authority Flow
Cannibalization Map
Reciprocal Links
Anchor Diversity
📊 Visualizations
Chart breakdown of findings + per-skill performance + quick wins ROI.
Findings by Priority
Per-Skill Score Radar
Mean score per dimension across 19 scored articles.
Top 5 Quick Wins — ROI Ranking
/anthropic-skills-repo-deep-dive/
63/100
Fair
▸ click to expand 5 skill cards
blog-analyze
6 findings — see full list grouped by severity above.
blog-geo
3 findings — see full list grouped by severity above.
blog-seo-check
2 findings — see full list grouped by severity above.
blog-schema
4 findings — see full list grouped by severity above.
blog-factcheck
2 findings — see full list grouped by severity above.
/best-claude-code-skills/
58/100
Poor
▸ click to expand 5 skill cards
blog-analyze
11 findings — see full list grouped by severity above.
blog-geo
3 findings — see full list grouped by severity above.
blog-seo-check
2 findings — see full list grouped by severity above.
blog-schema
1 findings — see full list grouped by severity above.
blog-factcheck
2 findings — see full list grouped by severity above.
/cdn-la-gi/
58/100
Poor
▸ click to expand 5 skill cards
blog-analyze
5 findings — see full list grouped by severity above.
blog-geo
3 findings — see full list grouped by severity above.
blog-seo-check
3 findings — see full list grouped by severity above.
blog-schema
2 findings — see full list grouped by severity above.
blog-factcheck
2 findings — see full list grouped by severity above.
/claude-code-dynamic-workflows/
75/100
Good
▸ click to expand 5 skill cards
blog-analyze
4 findings — see full list grouped by severity above.
blog-geo
3 findings — see full list grouped by severity above.
blog-seo-check
2 findings — see full list grouped by severity above.
blog-schema
3 findings — see full list grouped by severity above.
blog-factcheck
2 findings — see full list grouped by severity above.
/claude-code-gia-bao-nhieu/
65/100
Fair
▸ click to expand 5 skill cards
blog-analyze
10 findings — see full list grouped by severity above.
blog-geo
2 findings — see full list grouped by severity above.
blog-seo-check
3 findings — see full list grouped by severity above.
blog-schema
1 findings — see full list grouped by severity above.
blog-factcheck
4 findings — see full list grouped by severity above.
/claude-code-gioi-han-su-dung/
82/100
Good
▸ click to expand 5 skill cards
blog-analyze
4 findings — see full list grouped by severity above.
blog-geo
3 findings — see full list grouped by severity above.
blog-seo-check
1 findings — see full list grouped by severity above.
blog-schema
2 findings — see full list grouped by severity above.
blog-factcheck
2 findings — see full list grouped by severity above.
/claude-code-la-gi/
73/100
Fair
▸ click to expand 5 skill cards
blog-analyze
8 findings — see full list grouped by severity above.
blog-geo
3 findings — see full list grouped by severity above.
blog-seo-check
3 findings — see full list grouped by severity above.
blog-schema
4 findings — see full list grouped by severity above.
blog-factcheck
2 findings — see full list grouped by severity above.
/claude-code-plugins/
55/100
Poor
▸ click to expand 5 skill cards
blog-analyze
8 findings — see full list grouped by severity above.
blog-geo
4 findings — see full list grouped by severity above.
blog-seo-check
2 findings — see full list grouped by severity above.
blog-schema
1 findings — see full list grouped by severity above.
blog-factcheck
2 findings — see full list grouped by severity above.
/claude-code-seo-content/
64/100
Fair
▸ click to expand 5 skill cards
blog-analyze
10 findings — see full list grouped by severity above.
blog-geo
3 findings — see full list grouped by severity above.
blog-seo-check
4 findings — see full list grouped by severity above.
blog-schema
3 findings — see full list grouped by severity above.
blog-factcheck
9 findings — see full list grouped by severity above.
/claude-code-skills-developers/
65/100
Fair
▸ click to expand 5 skill cards
blog-analyze
0 findings — see full list grouped by severity above.
blog-geo
0 findings — see full list grouped by severity above.
blog-seo-check
0 findings — see full list grouped by severity above.
blog-schema
0 findings — see full list grouped by severity above.
blog-factcheck
0 findings — see full list grouped by severity above.
/claude-code-skills/
74/100
Fair
▸ click to expand 5 skill cards
blog-analyze
10 findings — see full list grouped by severity above.
blog-geo
3 findings — see full list grouped by severity above.
blog-seo-check
2 findings — see full list grouped by severity above.
blog-schema
2 findings — see full list grouped by severity above.
blog-factcheck
5 findings — see full list grouped by severity above.
/claude-md-la-gi/
55/100
Poor
▸ click to expand 5 skill cards
blog-analyze
8 findings — see full list grouped by severity above.
blog-geo
3 findings — see full list grouped by severity above.
blog-seo-check
3 findings — see full list grouped by severity above.
blog-schema
1 findings — see full list grouped by severity above.
blog-factcheck
3 findings — see full list grouped by severity above.
/dataforseo-la-gi/
80/100
Good
▸ click to expand 5 skill cards
blog-analyze
6 findings — see full list grouped by severity above.
blog-geo
2 findings — see full list grouped by severity above.
blog-seo-check
1 findings — see full list grouped by severity above.
blog-schema
3 findings — see full list grouped by severity above.
blog-factcheck
3 findings — see full list grouped by severity above.
/geo-seo-claude/
82/100
Good
▸ click to expand 5 skill cards
blog-analyze
5 findings — see full list grouped by severity above.
blog-geo
3 findings — see full list grouped by severity above.
blog-seo-check
2 findings — see full list grouped by severity above.
blog-schema
3 findings — see full list grouped by severity above.
blog-factcheck
0 findings — see full list grouped by severity above.
/llm-la-gi/
79/100
Good
▸ click to expand 5 skill cards
blog-analyze
6 findings — see full list grouped by severity above.
blog-geo
3 findings — see full list grouped by severity above.
blog-seo-check
2 findings — see full list grouped by severity above.
blog-schema
3 findings — see full list grouped by severity above.
blog-factcheck
4 findings — see full list grouped by severity above.
/migration-notion-to-obsidian/
68/100
Fair
▸ click to expand 5 skill cards
blog-analyze
6 findings — see full list grouped by severity above.
blog-geo
3 findings — see full list grouped by severity above.
blog-seo-check
2 findings — see full list grouped by severity above.
blog-schema
4 findings — see full list grouped by severity above.
blog-factcheck
1 findings — see full list grouped by severity above.
/n8n-la-gi/
77/100
Good
▸ click to expand 5 skill cards
blog-analyze
6 findings — see full list grouped by severity above.
blog-geo
4 findings — see full list grouped by severity above.
blog-seo-check
3 findings — see full list grouped by severity above.
blog-schema
4 findings — see full list grouped by severity above.
blog-factcheck
4 findings — see full list grouped by severity above.
/obsidian-vs-notion-vs-logseq-2026/
73/100
Fair
▸ click to expand 5 skill cards
blog-analyze
5 findings — see full list grouped by severity above.
blog-geo
3 findings — see full list grouped by severity above.
blog-seo-check
1 findings — see full list grouped by severity above.
blog-schema
3 findings — see full list grouped by severity above.
blog-factcheck
3 findings — see full list grouped by severity above.
/tiet-kiem-token-claude-code/
55/100
Poor
▸ click to expand 5 skill cards
blog-analyze
7 findings — see full list grouped by severity above.
blog-geo
4 findings — see full list grouped by severity above.
blog-seo-check
2 findings — see full list grouped by severity above.
blog-schema
1 findings — see full list grouped by severity above.
blog-factcheck
2 findings — see full list grouped by severity above.
Portfolio Strengths (16 patterns)
What the portfolio already does well (count = articles). Top: Author E-E-A-T present (strength) (2) · No speakable property in BlogPosting or WebPage (2) · No speakable property in BlogPosting (1) · TL;DR is present but not structurally first-answer formatted (1).
+ 8 more strength patterns
✅ Cross-Skill Validation (14) — issues independently flagged by 2+ skills (high confidence)
Methodology
Deterministic + LLM-handoff phases. Bar = share of total wall-clock. Total work: 15m 59s.
Appendix
A · Scoring formulas
- Portfolio Health = mean per-article composite (quality + GEO + on-page + schema + sourcing).
- Decay Risk Inverse = 100 − share of articles with ≥2 decay signals. Higher = healthier.
- Refresh ROI Potential = how many top-20 refresh candidates have high impact ÷ effort.
priority = (search_volume × position_potential) × commercial_intent × content_strength_inverse × decay_signal_severity × 100
B · Tools & versions
- Kit: Claude-Growth v1.2.1 · pipeline skill v0.5.21
- Per-article: blog-analyze, blog-geo, blog-seo-check, blog-schema, blog-factcheck
- Cross-article: blog-decay, blog-cluster, blog-cannibalization, blog-internal-links, blog-anchor-quality
- gsc-cannibalization, gsc-audit (GSC enrichment)
C · Reproducibility & capability
- Audit timestamp: 2026-06-16T05:15:11.059059Z
- Duration (sum of phases): 15m 59s
- Mode: fast
- Capability tier: T1 — GSC + DataForSEO
Coverage at this tier: ~95-100% coverage — real GSC truth + DataForSEO SERP data; every signal available.
- ✓ Google Search Console (GSC)
- ✓ Google Analytics 4 (GA4 CLI)
- ✓ DataForSEO MCP
- ✓ Firecrawl MCP
- ✗ WordPress MCP
Missing a connector lowers coverage — see the setup guide: ongboit.com/claude-growth-setup-tool-api-mcp.
D · Modes
full = whole portfolio (5 per-article + 5 cross-article skills) · fast = top-20 by sitemap priority, cross-article skipped · article = single post (cross-article skipped).