{
  "schema_version": "1.0",
  "generated_at": "2026-07-18T21:05:10.774Z",
  "site": {
    "name": "Niko Alho",
    "url": "https://nikoalho.fi/",
    "language": "en",
    "description": "Agentic SEO and custom AI builds for B2B companies.",
    "author": "Niko Alho"
  },
  "endpoints": {
    "llms": "https://nikoalho.fi/llms.txt",
    "llms_full": "https://nikoalho.fi/llms-full.txt",
    "rss": "https://nikoalho.fi/rss.xml",
    "sitemap": "https://nikoalho.fi/sitemap-index.xml",
    "search": "https://nikoalho.fi/search/?q={query}",
    "opensearch": "https://nikoalho.fi/opensearch.xml",
    "topical_authority_audit": "https://nikoalho.fi/tools/topical-authority-audit/",
    "resources": "https://nikoalho.fi/resources/",
    "technical_seo_field_kit": "https://nikoalho.fi/resources/technical-seo-checklist/",
    "ai_recommendation_datasets": "https://nikoalho.fi/data/ai-recommendation-index/index.json"
  },
  "document_count": 81,
  "documents": [
    {
      "type": "home",
      "title": "Home",
      "language": "en",
      "summary": "Agentic SEO and custom AI builds for B2B companies.",
      "canonical_url": "https://nikoalho.fi/",
      "markdown_url": "https://nikoalho.fi/index.md"
    },
    {
      "type": "about",
      "title": "About Niko Alho",
      "language": "en",
      "summary": "Background, operating principles and experience.",
      "canonical_url": "https://nikoalho.fi/about/",
      "markdown_url": "https://nikoalho.fi/about/index.md"
    },
    {
      "type": "services",
      "title": "Services",
      "language": "en",
      "summary": "Agentic SEO retainers and custom AI builds.",
      "canonical_url": "https://nikoalho.fi/services/",
      "markdown_url": "https://nikoalho.fi/services/index.md"
    },
    {
      "type": "service",
      "title": "Agentic SEO",
      "language": "en",
      "summary": "Autonomous B2B content and search operations.",
      "canonical_url": "https://nikoalho.fi/services/agentic-seo/",
      "markdown_url": "https://nikoalho.fi/services/agentic-seo/index.md"
    },
    {
      "type": "service",
      "title": "Custom AI builds",
      "language": "en",
      "summary": "Scoped AI systems shipped into client infrastructure.",
      "canonical_url": "https://nikoalho.fi/services/custom-ai/",
      "markdown_url": "https://nikoalho.fi/services/custom-ai/index.md"
    },
    {
      "type": "collection",
      "title": "Writing",
      "language": "en",
      "summary": "Articles and field notes on SEO, AI and automation.",
      "canonical_url": "https://nikoalho.fi/writing/",
      "markdown_url": "https://nikoalho.fi/writing/index.md"
    },
    {
      "type": "collection",
      "title": "Open resources",
      "language": "en",
      "summary": "Versioned tools, datasets, field kits and reproducible methods.",
      "canonical_url": "https://nikoalho.fi/resources/",
      "markdown_url": "https://nikoalho.fi/resources/index.md"
    },
    {
      "type": "resource",
      "title": "Technical SEO Field Kit",
      "language": "en",
      "summary": "A 35-check PDF, XLSX and CSV technical SEO audit system with evidence standards.",
      "canonical_url": "https://nikoalho.fi/resources/technical-seo-checklist/",
      "markdown_url": "https://nikoalho.fi/resources/technical-seo-checklist/index.md"
    },
    {
      "type": "tool",
      "title": "Free topical authority audit",
      "language": "en",
      "summary": "Local-first topic coverage, intent, depth and internal-link audit.",
      "canonical_url": "https://nikoalho.fi/tools/topical-authority-audit/",
      "markdown_url": "https://nikoalho.fi/tools/topical-authority-audit/index.md"
    },
    {
      "type": "contact",
      "title": "Contact",
      "language": "en",
      "summary": "Contact details and enquiry routes.",
      "canonical_url": "https://nikoalho.fi/contact/",
      "markdown_url": "https://nikoalho.fi/contact/index.md"
    },
    {
      "type": "booking",
      "title": "Book an intro call",
      "language": "en",
      "summary": "Book a 20-minute scoping call.",
      "canonical_url": "https://nikoalho.fi/book/",
      "markdown_url": "https://nikoalho.fi/book/index.md"
    },
    {
      "type": "article",
      "title": "Canonical tags: align every signal to one URL owner",
      "slug": "canonical-tags",
      "language": "en",
      "published_at": "2026-07-18",
      "updated_at": "2026-07-18",
      "summary": "A testable canonicalization protocol for redirects, rel=canonical, internal links, sitemaps, variants, and conflicting URL signals.",
      "category": "Technical SEO",
      "tags": [
        "Technical SEO",
        "canonical tags",
        "canonical tag seo",
        "rel canonical",
        "canonical url",
        "duplicate content seo",
        "shopify",
        "wordpress",
        "woocommerce"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/canonical-tags/",
      "markdown_url": "https://nikoalho.fi/writing/canonical-tags/index.md"
    },
    {
      "type": "article",
      "title": "Crawling, rendering, and indexing: diagnose the exact failure",
      "slug": "crawl-index-render",
      "language": "en",
      "published_at": "2026-07-18",
      "updated_at": "2026-07-18",
      "summary": "A URL-level diagnostic for discovery, HTTP fetching, JavaScript rendering, canonical selection, indexing, and search serving.",
      "category": "Technical SEO",
      "tags": [
        "Technical SEO",
        "crawling indexing rendering",
        "crawl vs index",
        "javascript rendering seo",
        "page not indexed",
        "technical seo diagnosis",
        "shopify",
        "wordpress",
        "woocommerce"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/crawl-index-render/",
      "markdown_url": "https://nikoalho.fi/writing/crawl-index-render/index.md"
    },
    {
      "type": "article",
      "title": "Domain Authority vs Domain Rating: what the scores mean",
      "slug": "domain-authority-vs-domain-rating",
      "language": "en",
      "published_at": "2026-07-18",
      "updated_at": "2026-07-18",
      "summary": "DA, DR, and Authority Score are different vendor metrics. Learn how to check, compare, and improve them without mistaking them for Google scores.",
      "category": "Topical Authority",
      "tags": [
        "Topical Authority",
        "domain authority",
        "domain rating",
        "domain authority checker",
        "ahrefs domain authority",
        "good domain authority score",
        "increase domain authority"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/domain-authority-vs-domain-rating/",
      "markdown_url": "https://nikoalho.fi/writing/domain-authority-vs-domain-rating/index.md"
    },
    {
      "type": "article",
      "title": "Robots.txt vs noindex: choose the control by outcome",
      "slug": "robots-txt-vs-noindex",
      "language": "en",
      "published_at": "2026-07-18",
      "updated_at": "2026-07-18",
      "summary": "A decision protocol for crawl rules, noindex, X-Robots-Tag, snippet controls, canonicals, and real access protection.",
      "category": "Technical SEO",
      "tags": [
        "Technical SEO",
        "robots.txt vs noindex",
        "noindex robots.txt",
        "robots meta tag",
        "X-Robots-Tag",
        "block indexing",
        "shopify",
        "wordpress",
        "woocommerce"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/robots-txt-vs-noindex/",
      "markdown_url": "https://nikoalho.fi/writing/robots-txt-vs-noindex/index.md"
    },
    {
      "type": "article",
      "title": "Semantic HTML for SEO: make the document legible",
      "slug": "semantic-html-seo",
      "language": "en",
      "published_at": "2026-07-18",
      "updated_at": "2026-07-18",
      "summary": "Use landmarks, headings, links, lists, tables, and native controls to expose meaning in HTML — without turning semantics into a ranking myth.",
      "category": "Technical SEO",
      "tags": [
        "Technical SEO",
        "semantic html seo",
        "html semantics seo",
        "semantic markup seo",
        "html structure seo",
        "semantic elements"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/semantic-html-seo/",
      "markdown_url": "https://nikoalho.fi/writing/semantic-html-seo/index.md"
    },
    {
      "type": "article",
      "title": "Technical SEO: make every search signal observable",
      "slug": "technical-seo",
      "language": "en",
      "published_at": "2026-07-18",
      "updated_at": "2026-07-18",
      "summary": "A practical technical SEO system for discovery, crawling, rendering, indexing, serving, and measurement — with tests for every state.",
      "category": "Technical SEO",
      "tags": [
        "Technical SEO",
        "technical seo",
        "technical seo guide",
        "technical seo audit",
        "technical seo checklist",
        "crawl index render",
        "shopify",
        "wordpress",
        "woocommerce"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/technical-seo/",
      "markdown_url": "https://nikoalho.fi/writing/technical-seo/index.md"
    },
    {
      "type": "article",
      "title": "XML sitemaps for SEO: publish an inventory contract",
      "slug": "xml-sitemap-seo",
      "language": "en",
      "published_at": "2026-07-18",
      "updated_at": "2026-07-18",
      "summary": "Build XML sitemaps as testable inventories of canonical, indexable URLs — with eligibility rules, accurate lastmod, segmentation, and evidence.",
      "category": "Technical SEO",
      "tags": [
        "Technical SEO",
        "xml sitemap seo",
        "sitemap best practices",
        "sitemap index",
        "lastmod sitemap",
        "technical seo sitemap",
        "shopify",
        "wordpress",
        "woocommerce"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/xml-sitemap-seo/",
      "markdown_url": "https://nikoalho.fi/writing/xml-sitemap-seo/index.md"
    },
    {
      "type": "article",
      "title": "AI Recommendation Index: what six models recommend",
      "slug": "ai-recommendation-index",
      "language": "en",
      "published_at": "2026-07-17",
      "updated_at": "2026-07-17",
      "summary": "A transparent index of 144 AI answers across four software categories, with share of voice, first-pick results, methodology, and study limitations.",
      "category": "GEO",
      "tags": [
        "GEO",
        "ai recommendation index",
        "ai recommendations",
        "llm share of voice",
        "ai brand visibility",
        "ai citation research"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/ai-recommendation-index/",
      "markdown_url": "https://nikoalho.fi/writing/ai-recommendation-index/index.md"
    },
    {
      "type": "article",
      "title": "LLM SEO: how to optimize for AI search and citations",
      "slug": "llm-seo",
      "language": "en",
      "published_at": "2026-07-17",
      "updated_at": "2026-07-18",
      "summary": "A practical LLM SEO system for crawl access, source selection, citable passages, entity clarity, and measurement across ChatGPT, Perplexity, and Google.",
      "category": "GEO",
      "tags": [
        "GEO",
        "llm seo",
        "seo for llms",
        "ai search optimization",
        "llm optimization",
        "chatgpt seo",
        "ai citations"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/llm-seo/",
      "markdown_url": "https://nikoalho.fi/writing/llm-seo/index.md"
    },
    {
      "type": "article",
      "title": "Which accounting software does AI recommend?",
      "slug": "ai-accounting-software-recommendations-2026",
      "language": "en",
      "published_at": "2026-06-23",
      "updated_at": "2026-07-17",
      "summary": "Which accounting software do AI assistants recommend? Results from 36 answers across six models, with rankings, share of voice, and citations.",
      "category": "GEO",
      "tags": [
        "GEO",
        "best accounting software 2026",
        "which accounting software does ai recommend",
        "quickbooks vs xero vs wave ai",
        "ai accounting recommendations"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/ai-accounting-software-recommendations-2026/",
      "markdown_url": "https://nikoalho.fi/writing/ai-accounting-software-recommendations-2026/index.md"
    },
    {
      "type": "article",
      "title": "Which CRM does AI recommend? 36 answers, 6 models",
      "slug": "ai-crm-software-recommendations-2026",
      "language": "en",
      "published_at": "2026-06-23",
      "updated_at": "2026-07-17",
      "summary": "Which CRM do AI assistants recommend? A 36-answer test across six models, with brand frequency, first-pick share, and citation sources.",
      "category": "GEO",
      "tags": [
        "GEO",
        "best crm software 2026",
        "which crm does ai recommend",
        "ai crm recommendations",
        "hubspot vs salesforce ai"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/ai-crm-software-recommendations-2026/",
      "markdown_url": "https://nikoalho.fi/writing/ai-crm-software-recommendations-2026/index.md"
    },
    {
      "type": "article",
      "title": "AI ecommerce picks in Finland: 36 answers, 6 models.",
      "slug": "ai-ecommerce-platform-recommendations",
      "language": "en",
      "published_at": "2026-06-23",
      "updated_at": "2026-07-17",
      "summary": "I ran 6 AI models against 6 Finnish buying questions and counted every platform named. Shopify leads, MyCashflow is #2 — and Finqu is invisible on ChatGPT.",
      "category": "GEO",
      "tags": [
        "GEO",
        "ai ecommerce platform recommendations",
        "generative engine optimization",
        "ai search visibility",
        "share of voice llm",
        "finnish ecommerce platforms"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/ai-ecommerce-platform-recommendations/",
      "markdown_url": "https://nikoalho.fi/writing/ai-ecommerce-platform-recommendations/index.md"
    },
    {
      "type": "article",
      "title": "Which project management software does AI recommend?",
      "slug": "ai-project-management-software-recommendations-2026",
      "language": "en",
      "published_at": "2026-06-23",
      "updated_at": "2026-07-17",
      "summary": "Which project management tools do AI assistants recommend? A 36-answer study across six models, with share of voice and source data.",
      "category": "GEO",
      "tags": [
        "GEO",
        "best project management software 2026",
        "which project management software does ai recommend",
        "asana vs clickup vs jira ai",
        "ai project management recommendations"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/ai-project-management-software-recommendations-2026/",
      "markdown_url": "https://nikoalho.fi/writing/ai-project-management-software-recommendations-2026/index.md"
    },
    {
      "type": "article",
      "title": "How to measure AI share of voice: the practitioner's method.",
      "slug": "how-to-measure-ai-share-of-voice",
      "language": "en",
      "published_at": "2026-06-23",
      "updated_at": "2026-06-23",
      "summary": "Measure AI share of voice with a fixed prompt set, repeatable runs, brand scoring, citations, confidence intervals, and a reporting cadence.",
      "category": "GEO",
      "tags": [
        "GEO",
        "ai share of voice",
        "ai search visibility metrics",
        "ai citation tracking",
        "ai search visibility",
        "measure llm visibility"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/how-to-measure-ai-share-of-voice/",
      "markdown_url": "https://nikoalho.fi/writing/how-to-measure-ai-share-of-voice/index.md"
    },
    {
      "type": "article",
      "title": "AI agents for SEO operations: what actually ships.",
      "slug": "ai-agents-seo-operations",
      "language": "en",
      "published_at": "2026-05-26",
      "updated_at": "2026-05-26",
      "summary": "Five practical AI agent patterns for SEO operations, including inputs, guardrails, failure modes, human review, and production readiness.",
      "category": "Custom AI Builds",
      "tags": [
        "Custom AI Builds",
        "ai agents for seo",
        "ai agents seo",
        "seo automation agents",
        "seo agent pipeline",
        "ai seo operations"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/ai-agents-seo-operations/",
      "markdown_url": "https://nikoalho.fi/writing/ai-agents-seo-operations/index.md"
    },
    {
      "type": "article",
      "title": "Build vs buy: the AI SEO tooling decision framework.",
      "slug": "build-vs-buy-ai-seo",
      "language": "en",
      "published_at": "2026-05-26",
      "updated_at": "2026-05-26",
      "summary": "Most teams buy an AI SEO SaaS when they should build a thin custom pipeline — or build when an off-the-shelf tool would do. Here is a real decision framework.",
      "category": "Custom AI Builds",
      "tags": [
        "Custom AI Builds",
        "build vs buy ai",
        "ai tooling build vs buy",
        "build vs buy seo software",
        "ai seo decision framework",
        "custom ai vs saas seo"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/build-vs-buy-ai-seo/",
      "markdown_url": "https://nikoalho.fi/writing/build-vs-buy-ai-seo/index.md"
    },
    {
      "type": "article",
      "title": "The eval-first AI build: why most AI projects fail QA.",
      "slug": "eval-first-ai-build",
      "language": "en",
      "published_at": "2026-05-26",
      "updated_at": "2026-05-26",
      "summary": "Define pass-fail criteria before building AI. A practical eval-first workflow for datasets, rubrics, thresholds, monitoring, and release gates.",
      "category": "Custom AI Builds",
      "tags": [
        "Custom AI Builds",
        "why ai projects fail",
        "ai project failure",
        "ai eval",
        "eval-first development",
        "ai quality assurance",
        "llm evaluation"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/eval-first-ai-build/",
      "markdown_url": "https://nikoalho.fi/writing/eval-first-ai-build/index.md"
    },
    {
      "type": "article",
      "title": "Perplexity optimization: how to get cited in answer engines.",
      "slug": "perplexity-optimization",
      "language": "en",
      "published_at": "2026-05-26",
      "updated_at": "2026-05-26",
      "summary": "Optimize content for Perplexity citations through crawl access, direct answers, source quality, entity clarity, and repeatable citation tracking.",
      "category": "GEO",
      "tags": [
        "GEO",
        "perplexity seo",
        "perplexity optimization",
        "get cited in perplexity",
        "answer engine optimization",
        "perplexity sonar"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/perplexity-optimization/",
      "markdown_url": "https://nikoalho.fi/writing/perplexity-optimization/index.md"
    },
    {
      "type": "article",
      "title": "RAG for sales enablement: the 2-week build.",
      "slug": "rag-sales-enablement",
      "language": "en",
      "published_at": "2026-05-26",
      "updated_at": "2026-05-26",
      "summary": "Build RAG for sales enablement over approved collateral and call transcripts. Covers architecture, evaluation, permissions, rollout, and failure modes.",
      "category": "Custom AI Builds",
      "tags": [
        "Custom AI Builds",
        "rag sales enablement",
        "rag for sales",
        "ai sales enablement build",
        "retrieval augmented generation sales",
        "sales ai build"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/rag-sales-enablement/",
      "markdown_url": "https://nikoalho.fi/writing/rag-sales-enablement/index.md"
    },
    {
      "type": "article",
      "title": "Tracking AI citations: the dashboard you actually need.",
      "slug": "tracking-ai-citations",
      "language": "en",
      "published_at": "2026-05-26",
      "updated_at": "2026-05-26",
      "summary": "Track AI citations across ChatGPT, Perplexity, and Google AI Overviews with a fixed prompt set, source capture, share of voice, and reporting.",
      "category": "GEO",
      "tags": [
        "GEO",
        "track ai citations",
        "ai citation tracking",
        "geo tracking",
        "ai search visibility",
        "share of voice ai"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/tracking-ai-citations/",
      "markdown_url": "https://nikoalho.fi/writing/tracking-ai-citations/index.md"
    },
    {
      "type": "article",
      "title": "Best AI SEO tools in 2026: the 3-tool stack",
      "slug": "best-ai-seo-tools-2026",
      "language": "en",
      "published_at": "2026-05-21",
      "updated_at": "2026-07-17",
      "summary": "Compare AI SEO tools for research, briefs, LLM visibility, links, and schema. Build a focused stack without duplicate features.",
      "category": "Custom AI Builds",
      "tags": [
        "Custom AI Builds",
        "ai seo tools",
        "best ai seo tools 2026",
        "ai seo software",
        "llm seo visibility",
        "generative engine optimization tools",
        "ai content tools"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/best-ai-seo-tools-2026/",
      "markdown_url": "https://nikoalho.fi/writing/best-ai-seo-tools-2026/index.md"
    },
    {
      "type": "article",
      "title": "Topical authority map: the 90-minute operator recipe",
      "slug": "90-minute-topical-map",
      "language": "en",
      "published_at": "2026-05-20",
      "updated_at": "2026-07-17",
      "summary": "Build a topical authority map in 90 minutes without expensive software. A gather, cluster, prioritize, and validate workflow for focused B2B sites.",
      "category": "Topical Authority",
      "tags": [
        "Topical Authority",
        "topical map",
        "topical map generator",
        "90 minute topical map",
        "topic cluster planning",
        "topical authority",
        "topical authority map"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/90-minute-topical-map/",
      "markdown_url": "https://nikoalho.fi/writing/90-minute-topical-map/index.md"
    },
    {
      "type": "article",
      "title": "Agentic SEO: the operator playbook for autonomous search",
      "slug": "agentic-ai-seo",
      "language": "en",
      "published_at": "2026-05-20",
      "updated_at": "2026-07-18",
      "summary": "Agentic SEO replaces passive tools with systems that execute search goals end-to-end. Here is how operators wire agents to ship work without manual prompting.",
      "category": "Agentic SEO",
      "tags": [
        "Agentic SEO",
        "agentic seo",
        "agentic ai seo",
        "autonomous seo agents",
        "ai seo workflows",
        "agentic search"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/agentic-ai-seo/",
      "markdown_url": "https://nikoalho.fi/writing/agentic-ai-seo/index.md"
    },
    {
      "type": "article",
      "title": "The cost economics of agentic SEO at $40 per ranked post.",
      "slug": "agentic-seo-cost-economics",
      "language": "en",
      "published_at": "2026-05-20",
      "updated_at": "2026-07-18",
      "summary": "Model the cost of agentic SEO per brief, draft, review, publish, and ranked page. Includes assumptions, failure costs, and break-even math.",
      "category": "Agentic SEO",
      "tags": [
        "Agentic SEO",
        "ai content cost",
        "agentic seo cost",
        "content unit economics",
        "ai content economics",
        "cost per ranked post",
        "saas"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/agentic-seo-cost-economics/",
      "markdown_url": "https://nikoalho.fi/writing/agentic-seo-cost-economics/index.md"
    },
    {
      "type": "article",
      "title": "AI content eval loops: pass-fail rubrics that scale",
      "slug": "ai-content-eval-loops",
      "language": "en",
      "published_at": "2026-05-20",
      "updated_at": "2026-07-18",
      "summary": "Build AI content eval loops with pass-fail rubrics, source checks, style tests, and escalation rules. Includes common failure modes and wiring patterns.",
      "category": "Agentic SEO",
      "tags": [
        "Agentic SEO",
        "ai content eval",
        "eval loops",
        "llm evaluation",
        "agentic seo",
        "ai content quality"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/ai-content-eval-loops/",
      "markdown_url": "https://nikoalho.fi/writing/ai-content-eval-loops/index.md"
    },
    {
      "type": "article",
      "title": "AI Overview optimization: the citation-eligible content audit.",
      "slug": "ai-overview-optimization",
      "language": "en",
      "published_at": "2026-05-20",
      "updated_at": "2026-05-21",
      "summary": "Audit content for Google AI Overview eligibility: answer structure, evidence, entities, citations, crawlability, and the gaps that block retrieval.",
      "category": "GEO",
      "tags": [
        "GEO",
        "ai overview seo",
        "ai overview optimization",
        "google ai overview",
        "sge optimization",
        "generative engine optimization"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/ai-overview-optimization/",
      "markdown_url": "https://nikoalho.fi/writing/ai-overview-optimization/index.md"
    },
    {
      "type": "article",
      "title": "AI writer brief templates: the brief is the moat",
      "slug": "ai-writer-brief-templates",
      "language": "en",
      "published_at": "2026-05-20",
      "updated_at": "2026-07-18",
      "summary": "Use structured AI writer brief templates for intent, evidence, outline, internal links, voice, and eval criteria. Includes every required field.",
      "category": "Agentic SEO",
      "tags": [
        "Agentic SEO",
        "ai writer brief",
        "ai content brief",
        "content brief template",
        "agentic seo",
        "ai content pipeline"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/ai-writer-brief-templates/",
      "markdown_url": "https://nikoalho.fi/writing/ai-writer-brief-templates/index.md"
    },
    {
      "type": "article",
      "title": "Automate internal linking with embeddings, not keywords",
      "slug": "automating-internal-linking",
      "language": "en",
      "published_at": "2026-05-20",
      "updated_at": "2026-07-18",
      "summary": "Manual internal linking dies past 500 pages. The graph-theory and vector-embedding pipeline that injects links from cosine similarity — not keyword overlap.",
      "category": "Agentic SEO",
      "tags": [
        "Agentic SEO",
        "automating internal linking",
        "internal linking automation",
        "ai internal linking",
        "vector embeddings seo",
        "internal link automation"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/automating-internal-linking/",
      "markdown_url": "https://nikoalho.fi/writing/automating-internal-linking/index.md"
    },
    {
      "type": "article",
      "title": "B2B SaaS SEO frameworks: why the publisher model breaks P&L",
      "slug": "b2b-saas-frameworks",
      "language": "en",
      "published_at": "2026-05-20",
      "updated_at": "2026-05-20",
      "summary": "Most B2B SaaS SEO frameworks fail because they optimize for traffic, not pipeline. The operator framework that maps content to deal stages and ARR.",
      "category": "SEO ROI",
      "tags": [
        "SEO ROI",
        "b2b saas seo frameworks",
        "saas seo framework",
        "b2b saas seo strategy",
        "saas content framework",
        "saas seo p&l",
        "saas"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/b2b-saas-frameworks/",
      "markdown_url": "https://nikoalho.fi/writing/b2b-saas-frameworks/index.md"
    },
    {
      "type": "article",
      "title": "How to get cited by ChatGPT: the operator's playbook for 2026.",
      "slug": "chatgpt-seo-playbook",
      "language": "en",
      "published_at": "2026-05-20",
      "updated_at": "2026-07-17",
      "summary": "Learn how to make content easier for ChatGPT to retrieve and cite through answer structure, evidence, entity clarity, crawl access, and measurement.",
      "category": "GEO",
      "tags": [
        "GEO",
        "chatgpt seo",
        "how to get cited by chatgpt",
        "llm seo",
        "chatgpt citation",
        "generative engine optimization"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/chatgpt-seo-playbook/",
      "markdown_url": "https://nikoalho.fi/writing/chatgpt-seo-playbook/index.md"
    },
    {
      "type": "article",
      "title": "Automated competitive intelligence: always-on market surveillance",
      "slug": "competitive-intelligence",
      "language": "en",
      "published_at": "2026-05-20",
      "updated_at": "2026-07-18",
      "summary": "An automated competitive intelligence stack monitors pricing, content, and code changes in real time. Tools, schemas, and the alert rules that don't spam Slack.",
      "category": "Agentic SEO",
      "tags": [
        "Agentic SEO",
        "competitive intelligence",
        "automated competitive intelligence",
        "competitor monitoring",
        "market intelligence automation",
        "competitor tracking"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/competitive-intelligence/",
      "markdown_url": "https://nikoalho.fi/writing/competitive-intelligence/index.md"
    },
    {
      "type": "article",
      "title": "Competitive keyword research: map the rival blueprint",
      "slug": "competitive-keyword-research",
      "language": "en",
      "published_at": "2026-05-20",
      "updated_at": "2026-07-18",
      "summary": "Flat keyword exports miss the point. The competitive keyword research method I use to map a rival's site architecture and find high-intent revenue gaps.",
      "category": "Topical Authority",
      "tags": [
        "Topical Authority",
        "competitive keyword research",
        "competitor keyword analysis",
        "competitor seo research",
        "keyword gap analysis",
        "competitive seo"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/competitive-keyword-research/",
      "markdown_url": "https://nikoalho.fi/writing/competitive-keyword-research/index.md"
    },
    {
      "type": "article",
      "title": "Competitor gap analysis with LLMs: find the semantic blind spots",
      "slug": "competitor-gap-llm",
      "language": "en",
      "published_at": "2026-05-20",
      "updated_at": "2026-05-20",
      "summary": "An LLM-driven competitor gap workflow surfaces the semantic opportunities your rivals missed. The pipeline, prompts, and prioritization scoring I use.",
      "category": "Agentic SEO",
      "tags": [
        "Agentic SEO",
        "competitor gap analysis",
        "content gap analysis",
        "llm competitor analysis",
        "ai content gap",
        "semantic gap analysis"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/competitor-gap-llm/",
      "markdown_url": "https://nikoalho.fi/writing/competitor-gap-llm/index.md"
    },
    {
      "type": "article",
      "title": "Content decay: why traffic drops and the system that fixes it",
      "slug": "content-decay",
      "language": "en",
      "published_at": "2026-05-20",
      "updated_at": "2026-05-20",
      "summary": "Content is a depreciating asset. The detection, triage, and refresh system I run quarterly to stop traffic decay before it shows up in the revenue dashboard.",
      "category": "Topical Authority",
      "tags": [
        "Topical Authority",
        "content decay",
        "content decay seo",
        "traffic decay",
        "content refresh",
        "content audit decay"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/content-decay/",
      "markdown_url": "https://nikoalho.fi/writing/content-decay/index.md"
    },
    {
      "type": "article",
      "title": "What does a custom AI build actually cost? The $25k breakdown.",
      "slug": "custom-ai-build-cost",
      "language": "en",
      "published_at": "2026-05-20",
      "updated_at": "2026-05-21",
      "summary": "Estimate custom AI development cost by scope, data, integrations, evals, security, and support. Includes line items and budget ranges.",
      "category": "Custom AI Builds",
      "tags": [
        "Custom AI Builds",
        "custom ai development cost",
        "custom ai build cost",
        "ai project cost",
        "ai consulting price",
        "ai pipeline budget"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/custom-ai-build-cost/",
      "markdown_url": "https://nikoalho.fi/writing/custom-ai-build-cost/index.md"
    },
    {
      "type": "article",
      "title": "E-E-A-T for SEO and LLM citations: how to actually demonstrate it",
      "slug": "eeat",
      "language": "en",
      "published_at": "2026-05-20",
      "updated_at": "2026-05-20",
      "summary": "E-E-A-T is how Google and LLMs filter AI noise. The signals, schema, and editorial moves that put real expertise into your pages — beyond the author byline.",
      "category": "GEO",
      "tags": [
        "GEO",
        "eeat",
        "e-e-a-t seo",
        "experience expertise authority trust",
        "eeat google",
        "eeat for llms"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/eeat/",
      "markdown_url": "https://nikoalho.fi/writing/eeat/index.md"
    },
    {
      "type": "article",
      "title": "Entity authority for LLM retrieval: an off-site playbook",
      "slug": "entity-authority-for-llms",
      "language": "en",
      "published_at": "2026-05-20",
      "updated_at": "2026-05-21",
      "summary": "Build entity authority for LLM retrieval through consistent profiles, trusted mentions, expert contributions, structured data, and corroboration.",
      "category": "GEO",
      "tags": [
        "GEO",
        "entity seo",
        "entity authority",
        "llm retrieval",
        "knowledge graph seo",
        "generative engine optimization"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/entity-authority-for-llms/",
      "markdown_url": "https://nikoalho.fi/writing/entity-authority-for-llms/index.md"
    },
    {
      "type": "article",
      "title": "Entity-based SEO: how to engineer context for LLMs and Google",
      "slug": "entity-based-seo",
      "language": "en",
      "published_at": "2026-05-20",
      "updated_at": "2026-05-20",
      "summary": "Entity-based SEO maps your brand into the Knowledge Graph so Google and LLMs cite you with confidence. The disambiguation playbook, with worked examples.",
      "category": "GEO",
      "tags": [
        "GEO",
        "entity based seo",
        "entity seo",
        "knowledge graph seo",
        "entity optimization",
        "entity authority"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/entity-based-seo/",
      "markdown_url": "https://nikoalho.fi/writing/entity-based-seo/index.md"
    },
    {
      "type": "article",
      "title": "Generative engine optimization: the layer above SEO",
      "slug": "generative-engine-optimization",
      "language": "en",
      "published_at": "2026-05-20",
      "updated_at": "2026-07-18",
      "summary": "Generative engine optimization helps content earn visibility in ChatGPT, Perplexity, and AI Overviews. What changes, what stays, and what to measure.",
      "category": "GEO",
      "tags": [
        "GEO",
        "generative engine optimization",
        "geo seo",
        "ai search optimization",
        "chatgpt seo",
        "perplexity seo",
        "ai overview optimization"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/generative-engine-optimization/",
      "markdown_url": "https://nikoalho.fi/writing/generative-engine-optimization/index.md"
    },
    {
      "type": "article",
      "title": "Hiring an AI consultant: cost, scope & red flags",
      "slug": "hiring-an-ai-consultant",
      "language": "en",
      "published_at": "2026-05-20",
      "updated_at": "2026-07-18",
      "summary": "How to hire an AI consultant: compare scope, pricing, evals, delivery models, and red flags before you sign an agency retainer or custom build.",
      "category": "Custom AI Builds",
      "tags": [
        "Custom AI Builds",
        "ai consultant",
        "hiring an ai consultant",
        "ai implementation consultant",
        "custom ai development",
        "ai agency",
        "saas"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/hiring-an-ai-consultant/",
      "markdown_url": "https://nikoalho.fi/writing/hiring-an-ai-consultant/index.md"
    },
    {
      "type": "article",
      "title": "Solving Next.js hydration issues that tank SEO",
      "slug": "hydration-nextjs-seo",
      "language": "en",
      "published_at": "2026-05-20",
      "updated_at": "2026-07-18",
      "summary": "Hydration mismatches tank INP and ghost pages from Google's index. Diagnose with DevTools and Search Console — plus the engineering fixes that move rankings.",
      "category": "Lab",
      "tags": [
        "Lab",
        "nextjs hydration seo",
        "hydration issues nextjs",
        "next.js seo",
        "nextjs inp",
        "hydration mismatch"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/hydration-nextjs-seo/",
      "markdown_url": "https://nikoalho.fi/writing/hydration-nextjs-seo/index.md"
    },
    {
      "type": "article",
      "title": "Search intent classification with AI: a practical pipeline",
      "slug": "intent-classification-ai",
      "language": "en",
      "published_at": "2026-05-20",
      "updated_at": "2026-07-18",
      "summary": "Classify search intent at scale with a validated AI pipeline. Covers labels, confidence thresholds, human review, evaluation, and roadmap integration.",
      "category": "Agentic SEO",
      "tags": [
        "Agentic SEO",
        "search intent classification",
        "ai search intent",
        "intent classification seo",
        "keyword intent automation",
        "ai intent tagging"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/intent-classification-ai/",
      "markdown_url": "https://nikoalho.fi/writing/intent-classification-ai/index.md"
    },
    {
      "type": "article",
      "title": "Internal linking strategy: the engine behind topical authority",
      "slug": "internal-linking",
      "language": "en",
      "published_at": "2026-05-20",
      "updated_at": "2026-07-18",
      "summary": "Build an internal linking strategy with hub-spoke patterns, contextual anchors, orphan detection, crawl paths, and a repeatable audit process.",
      "category": "Topical Authority",
      "tags": [
        "Topical Authority",
        "internal linking",
        "internal linking strategy",
        "internal links seo",
        "site architecture seo",
        "link equity flow"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/internal-linking/",
      "markdown_url": "https://nikoalho.fi/writing/internal-linking/index.md"
    },
    {
      "type": "article",
      "title": "Link building services are dead: assets replace outreach",
      "slug": "link-building-dead",
      "language": "en",
      "published_at": "2026-05-20",
      "updated_at": "2026-07-18",
      "summary": "Traditional link building services are a liability. The asset-led and digital-PR approach that earns durable links in 2026 — and the budget split I recommend.",
      "category": "Topical Authority",
      "tags": [
        "Topical Authority",
        "link building",
        "link building services",
        "digital pr seo",
        "link earning",
        "link building 2026"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/link-building-dead/",
      "markdown_url": "https://nikoalho.fi/writing/link-building-dead/index.md"
    },
    {
      "type": "article",
      "title": "LLM content auditing: kill low-value pages at scale",
      "slug": "llm-content-auditing",
      "language": "en",
      "published_at": "2026-05-20",
      "updated_at": "2026-07-18",
      "summary": "An LLM content audit reviews 10,000 legacy posts in hours, not weeks. The classification rubric, prompts, and prune-vs-refresh logic that frees real budget.",
      "category": "Agentic SEO",
      "tags": [
        "Agentic SEO",
        "llm content audit",
        "ai content audit",
        "content audit automation",
        "content pruning seo",
        "ai seo audit"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/llm-content-auditing/",
      "markdown_url": "https://nikoalho.fi/writing/llm-content-auditing/index.md"
    },
    {
      "type": "article",
      "title": "Localization engineering: scalable multilingual SEO architecture",
      "slug": "localization-engineering",
      "language": "en",
      "published_at": "2026-05-20",
      "updated_at": "2026-07-18",
      "summary": "Plan multilingual SEO as engineering: hreflang logic, URL topology, CMS fields, canonical rules, localization QA, and scalable publishing.",
      "category": "Lab",
      "tags": [
        "Lab",
        "localization engineering",
        "multilingual seo",
        "international seo",
        "hreflang",
        "multilingual site architecture"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/localization-engineering/",
      "markdown_url": "https://nikoalho.fi/writing/localization-engineering/index.md"
    },
    {
      "type": "article",
      "title": "Looker Studio SEO reporting: build the C-suite dashboard",
      "slug": "looker-seo-reporting",
      "language": "en",
      "published_at": "2026-05-20",
      "updated_at": "2026-05-20",
      "summary": "How to build a live Looker Studio SEO dashboard that blends GSC, GA4, and CRM into one P&L-aware view. Connectors, schema, and the C-suite layout.",
      "category": "SEO ROI",
      "tags": [
        "SEO ROI",
        "looker studio seo reporting",
        "looker studio seo",
        "google data studio seo",
        "looker studio dashboard seo",
        "seo bigquery dashboard"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/looker-seo-reporting/",
      "markdown_url": "https://nikoalho.fi/writing/looker-seo-reporting/index.md"
    },
    {
      "type": "article",
      "title": "How to measure SEO success: a framework for revenue teams",
      "slug": "measure-seo-success",
      "language": "en",
      "published_at": "2026-05-20",
      "updated_at": "2026-05-20",
      "summary": "Measure SEO success by correlating organic traffic to pipeline and closed deals — not rankings. The framework I use with revenue teams, updated for 2026.",
      "category": "SEO ROI",
      "tags": [
        "SEO ROI",
        "measure seo success",
        "how to measure seo",
        "seo success metrics",
        "seo measurement framework",
        "seo attribution"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/measure-seo-success/",
      "markdown_url": "https://nikoalho.fi/writing/measure-seo-success/index.md"
    },
    {
      "type": "article",
      "title": "Optimizing SEO CTR with generative titles and agentic tests",
      "slug": "optimizing-ctr",
      "language": "en",
      "published_at": "2026-05-20",
      "updated_at": "2026-07-18",
      "summary": "Improve organic CTR with controlled title and description tests, pixel-width checks, query segmentation, annotations, and GSC measurement.",
      "category": "SEO ROI",
      "tags": [
        "SEO ROI",
        "seo ctr",
        "ctr optimization",
        "serp ctr",
        "meta title testing",
        "generative title optimization"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/optimizing-ctr/",
      "markdown_url": "https://nikoalho.fi/writing/optimizing-ctr/index.md"
    },
    {
      "type": "article",
      "title": "Orphan pages: find, fix, and reconnect the authority leaks",
      "slug": "orphan-pages",
      "language": "en",
      "published_at": "2026-05-20",
      "updated_at": "2026-05-20",
      "summary": "Orphan pages are revenue leaks. How I find them with crawl-diff scripts, prioritize by traffic potential, and reconnect them to the hub-spoke architecture.",
      "category": "Topical Authority",
      "tags": [
        "Topical Authority",
        "orphan pages",
        "orphan pages seo",
        "find orphan pages",
        "fix orphan pages",
        "site architecture audit"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/orphan-pages/",
      "markdown_url": "https://nikoalho.fi/writing/orphan-pages/index.md"
    },
    {
      "type": "article",
      "title": "What is a pillar page? The architecture of ranking (2026)",
      "slug": "pillar-pages",
      "language": "en",
      "published_at": "2026-05-20",
      "updated_at": "2026-05-20",
      "summary": "A pillar page is the infrastructure of topical authority. The brief, structure, and internal-linking pattern that turns scattered posts into a ranking engine.",
      "category": "Topical Authority",
      "tags": [
        "Topical Authority",
        "pillar page",
        "pillar pages",
        "what is a pillar page",
        "pillar page seo",
        "pillar page template",
        "saas"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/pillar-pages/",
      "markdown_url": "https://nikoalho.fi/writing/pillar-pages/index.md"
    },
    {
      "type": "article",
      "title": "Predictive search analytics: forecast demand before it spikes",
      "slug": "predictive-search",
      "language": "en",
      "published_at": "2026-05-20",
      "updated_at": "2026-05-20",
      "summary": "Predictive search analytics use Python forecasting to catch demand before competitors react. The Prophet and ARIMA setups I ship for keyword-level forecasts.",
      "category": "Lab",
      "tags": [
        "Lab",
        "predictive search analytics",
        "search demand forecasting",
        "seo forecasting",
        "predictive seo",
        "python seo forecasting"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/predictive-search/",
      "markdown_url": "https://nikoalho.fi/writing/predictive-search/index.md"
    },
    {
      "type": "article",
      "title": "Programmatic SEO architecture: schema, templates & crawl",
      "slug": "programmatic-seo-architecture",
      "language": "en",
      "published_at": "2026-05-20",
      "updated_at": "2026-07-18",
      "summary": "Design programmatic SEO as a data system: schemas, templates, internal links, crawl control, and genuinely useful output.",
      "category": "Agentic SEO",
      "tags": [
        "Agentic SEO",
        "programmatic seo",
        "programmatic seo architecture",
        "programmatic seo b2b",
        "programmatic seo template",
        "scalable seo"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/programmatic-seo-architecture/",
      "markdown_url": "https://nikoalho.fi/writing/programmatic-seo-architecture/index.md"
    },
    {
      "type": "article",
      "title": "Programmatic SEO vs AI content: structure beats volume",
      "slug": "programmatic-vs-ai-content",
      "language": "en",
      "published_at": "2026-05-20",
      "updated_at": "2026-05-20",
      "summary": "Programmatic SEO is not AI spam. Structured data builds revenue infrastructure that scales without hallucinations. How to tell the patterns apart in practice.",
      "category": "Agentic SEO",
      "tags": [
        "Agentic SEO",
        "programmatic seo vs ai content",
        "ai content seo",
        "programmatic seo",
        "structured content seo",
        "ai content vs programmatic"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/programmatic-vs-ai-content/",
      "markdown_url": "https://nikoalho.fi/writing/programmatic-vs-ai-content/index.md"
    },
    {
      "type": "article",
      "title": "RAG systems for B2B: turn internal docs into intelligence",
      "slug": "rag-systems-b2b",
      "language": "en",
      "published_at": "2026-05-20",
      "updated_at": "2026-05-20",
      "summary": "RAG systems turn internal docs into verified, queryable intelligence. Architecture, retrieval strategy, and the eval loop I run before shipping to production.",
      "category": "Custom AI Builds",
      "tags": [
        "Custom AI Builds",
        "rag systems",
        "rag for b2b",
        "retrieval augmented generation",
        "b2b rag",
        "custom rag build",
        "rag architecture"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/rag-systems-b2b/",
      "markdown_url": "https://nikoalho.fi/writing/rag-systems-b2b/index.md"
    },
    {
      "type": "article",
      "title": "Schema markup strategy: the citation layer for LLMs and Google",
      "slug": "schema-markup",
      "language": "en",
      "published_at": "2026-05-20",
      "updated_at": "2026-07-18",
      "summary": "Schema is the citation layer that lets Google and LLMs lift your facts with confidence. The Article, FAQ, and Organization patterns I ship on every site.",
      "category": "GEO",
      "tags": [
        "GEO",
        "schema markup",
        "schema markup strategy",
        "schema seo",
        "structured data seo",
        "json-ld schema"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/schema-markup/",
      "markdown_url": "https://nikoalho.fi/writing/schema-markup/index.md"
    },
    {
      "type": "article",
      "title": "Semantic distance modeling: grouping keywords for authority",
      "slug": "semantic-distance-modeling",
      "language": "en",
      "published_at": "2026-05-20",
      "updated_at": "2026-07-18",
      "summary": "Group queries by semantic distance instead of surface overlap. A practical embedding workflow for clustering, validation, and content mapping.",
      "category": "Lab",
      "tags": [
        "Lab",
        "semantic distance modeling",
        "semantic clustering",
        "keyword clustering",
        "vector keyword clustering",
        "embedding seo"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/semantic-distance-modeling/",
      "markdown_url": "https://nikoalho.fi/writing/semantic-distance-modeling/index.md"
    },
    {
      "type": "article",
      "title": "Semantic SEO: entity mapping for AI search",
      "slug": "semantic-seo-for-ai",
      "language": "en",
      "published_at": "2026-05-20",
      "updated_at": "2026-07-17",
      "summary": "Semantic SEO maps entities, relationships, and intent instead of repeating keywords. Learn the practical workflow for search engines and AI retrieval systems.",
      "category": "GEO",
      "tags": [
        "GEO",
        "semantic seo",
        "semantic seo for ai",
        "keyword vs topic research",
        "entity mapping seo",
        "knowledge graph seo"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/semantic-seo-for-ai/",
      "markdown_url": "https://nikoalho.fi/writing/semantic-seo-for-ai/index.md"
    },
    {
      "type": "article",
      "title": "SEO budget allocation for 2026: the CFO conversation.",
      "slug": "seo-budget-allocation-2026",
      "language": "en",
      "published_at": "2026-05-20",
      "updated_at": "2026-07-18",
      "summary": "Allocate an SEO budget across content, technical work, links, AI visibility, automation, and reporting with a CFO-ready decision model.",
      "category": "SEO ROI",
      "tags": [
        "SEO ROI",
        "seo budget",
        "seo budget allocation",
        "seo investment",
        "seo roi",
        "marketing budget seo"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/seo-budget-allocation-2026/",
      "markdown_url": "https://nikoalho.fi/writing/seo-budget-allocation-2026/index.md"
    },
    {
      "type": "article",
      "title": "SEO for SaaS: the pain-point engine that generates pipeline",
      "slug": "seo-for-saas",
      "language": "en",
      "published_at": "2026-05-20",
      "updated_at": "2026-07-18",
      "summary": "Traditional SaaS SEO funnels are dead. Here is the pain-point search engine I build for B2B SaaS that generates real pipeline, not branded vanity traffic.",
      "category": "SEO ROI",
      "tags": [
        "SEO ROI",
        "seo for saas",
        "saas seo",
        "b2b saas seo",
        "saas content marketing",
        "saas seo strategy",
        "saas"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/seo-for-saas/",
      "markdown_url": "https://nikoalho.fi/writing/seo-for-saas/index.md"
    },
    {
      "type": "article",
      "title": "SEO KPIs: 12 metrics that connect search to revenue",
      "slug": "seo-kpis",
      "language": "en",
      "published_at": "2026-05-20",
      "updated_at": "2026-07-18",
      "summary": "Track 12 SEO KPIs across revenue, pipeline, conversion, and technical health. Includes definitions, formulas, review cadence, and dashboard structure.",
      "category": "SEO ROI",
      "tags": [
        "SEO ROI",
        "seo kpis",
        "seo metrics",
        "seo performance metrics",
        "track seo kpis",
        "seo kpi dashboard",
        "saas"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/seo-kpis/",
      "markdown_url": "https://nikoalho.fi/writing/seo-kpis/index.md"
    },
    {
      "type": "article",
      "title": "SEO reporting template: the executive report that wins budget",
      "slug": "seo-reporting-template",
      "language": "en",
      "published_at": "2026-05-20",
      "updated_at": "2026-05-20",
      "summary": "The Looker Studio SEO reporting template I send to CMOs. Maps organic search to revenue, surfaces decisions, and gets next quarter's budget approved.",
      "category": "SEO ROI",
      "tags": [
        "SEO ROI",
        "seo reporting template",
        "seo report template",
        "seo report format",
        "executive seo report",
        "looker studio template"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/seo-reporting-template/",
      "markdown_url": "https://nikoalho.fi/writing/seo-reporting-template/index.md"
    },
    {
      "type": "article",
      "title": "Best SEO reporting tools for revenue attribution (2026)",
      "slug": "seo-reporting-tools",
      "language": "en",
      "published_at": "2026-05-20",
      "updated_at": "2026-07-17",
      "summary": "Compare 15 SEO reporting tools by CRM attribution, APIs, automation, and cost. Shortlists for agencies, in-house teams, and solo operators.",
      "category": "SEO ROI",
      "tags": [
        "SEO ROI",
        "seo reporting tools",
        "best seo reporting",
        "seo report software",
        "agency seo reporting",
        "looker studio seo",
        "seo reporting tools 2026"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/seo-reporting-tools/",
      "markdown_url": "https://nikoalho.fi/writing/seo-reporting-tools/index.md"
    },
    {
      "type": "article",
      "title": "SEO ROI: how to calculate, track, and defend organic spend",
      "slug": "seo-roi",
      "language": "en",
      "published_at": "2026-05-20",
      "updated_at": "2026-07-18",
      "summary": "SEO ROI ties organic search to pipeline and revenue, not rankings. Here is the financial framework I use with CMOs and CFOs to defend the budget every quarter.",
      "category": "SEO ROI",
      "tags": [
        "SEO ROI",
        "seo roi",
        "roi of seo",
        "seo return on investment",
        "calculate seo roi",
        "seo roi formula",
        "seo revenue attribution",
        "saas"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/seo-roi/",
      "markdown_url": "https://nikoalho.fi/writing/seo-roi/index.md"
    },
    {
      "type": "article",
      "title": "SEO unit economics: the LTV:CAC model your CFO will sign",
      "slug": "seo-unit-economics",
      "language": "en",
      "published_at": "2026-05-20",
      "updated_at": "2026-07-18",
      "summary": "Most SEO LTV:CAC models hide fixed costs and overstate payback. The unit-economics model I use with CFOs to defend organic spend per cohort and per channel.",
      "category": "SEO ROI",
      "tags": [
        "SEO ROI",
        "seo unit economics",
        "seo ltv cac",
        "seo cac",
        "seo customer acquisition cost",
        "seo financial model",
        "saas"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/seo-unit-economics/",
      "markdown_url": "https://nikoalho.fi/writing/seo-unit-economics/index.md"
    },
    {
      "type": "article",
      "title": "SEO vs SEM: the CFO-grade decision framework",
      "slug": "seo-vs-sem",
      "language": "en",
      "published_at": "2026-05-20",
      "updated_at": "2026-05-20",
      "summary": "SEO vs SEM is a capex-vs-opex decision, not a marketing one. The unit-economics framework I walk CFOs through to pick the right channel mix per quarter.",
      "category": "SEO ROI",
      "tags": [
        "SEO ROI",
        "seo vs sem",
        "sem vs seo",
        "seo or sem",
        "seo vs ppc",
        "search marketing strategy"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/seo-vs-sem/",
      "markdown_url": "https://nikoalho.fi/writing/seo-vs-sem/index.md"
    },
    {
      "type": "article",
      "title": "Automated SERP analysis: Python frameworks for scale",
      "slug": "serp-analysis-python",
      "language": "en",
      "published_at": "2026-05-20",
      "updated_at": "2026-05-20",
      "summary": "Custom Python SERP pipelines beat laggy SaaS dashboards. The Python 3.12 + DataForSEO + BigQuery stack I use for real-time SERP intelligence at scale.",
      "category": "Lab",
      "tags": [
        "Lab",
        "serp analysis python",
        "automated serp analysis",
        "python seo",
        "serp scraping",
        "dataforseo python"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/serp-analysis-python/",
      "markdown_url": "https://nikoalho.fi/writing/serp-analysis-python/index.md"
    },
    {
      "type": "article",
      "title": "SQL for SEO: the architecture that replaces spreadsheets",
      "slug": "sql-for-seo",
      "language": "en",
      "published_at": "2026-05-20",
      "updated_at": "2026-05-20",
      "summary": "Spreadsheets break past 100k rows. The SQL architecture and BigQuery schema I use to consolidate GSC, GA4, and crawl data into one queryable warehouse.",
      "category": "Lab",
      "tags": [
        "Lab",
        "sql for seo",
        "seo sql",
        "bigquery seo",
        "seo data warehouse",
        "sql for search marketers"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/sql-for-seo/",
      "markdown_url": "https://nikoalho.fi/writing/sql-for-seo/index.md"
    },
    {
      "type": "article",
      "title": "Topical authority: how to build, measure, and compound it",
      "slug": "topical-authority",
      "language": "en",
      "published_at": "2026-05-20",
      "updated_at": "2026-07-18",
      "summary": "Build topical authority with a six-signal measurement model, failure atlas, DR 6 live case, and a practical Google-vs-LLM comparison.",
      "category": "Topical Authority",
      "tags": [
        "Topical Authority",
        "topical authority",
        "topical authority seo",
        "build topical authority",
        "topical map",
        "semantic authority"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/topical-authority/",
      "markdown_url": "https://nikoalho.fi/writing/topical-authority/index.md"
    },
    {
      "type": "article",
      "title": "Vector embeddings in search: the math behind modern SEO",
      "slug": "vector-embeddings",
      "language": "en",
      "published_at": "2026-05-20",
      "updated_at": "2026-05-20",
      "summary": "Vector embeddings map semantic meaning so mathematical proximity beats keyword density. How embeddings work, why they matter, and where they hit your rankings.",
      "category": "Lab",
      "tags": [
        "Lab",
        "vector embeddings seo",
        "embeddings search",
        "semantic search embeddings",
        "vector search seo",
        "embedding seo"
      ],
      "authors": [
        "Niko Alho"
      ],
      "canonical_url": "https://nikoalho.fi/writing/vector-embeddings/",
      "markdown_url": "https://nikoalho.fi/writing/vector-embeddings/index.md"
    }
  ]
}
