{
  "metadata_version": "1.0",
  "generated": "/Users/hadyelhady/Documents/GitHub/landingpage",
  "generated_at": "2026-04-10T18:49:36.435066",
  "total_rules": 135,
  "rules": [
    {
      "file": "affiliate-dashboard.mdc",
      "path": ".cursor/rules/affiliate-dashboard.mdc",
      "description": "Affiliate Partner Dashboard patterns - Dashboard UI, authentication, data display, partner management, gamification, and best practices.",
      "globs": [
        "v2/pages/partner-*.php",
        "v2/api/partner-*.php",
        "v2/api/affiliate-*.php",
        "v2/includes/affiliate-*.php",
        "v2/helpers/affiliate-*.php"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "affiliate-hubspot.mdc",
        "affiliate-referral.mdc",
        "api-endpoints-core.mdc",
        "api-endpoints-security.mdc"
      ],
      "relatedDocs": [
        "docs/systems/affiliate/PARTNER_GUIDE.md",
        "docs/systems/affiliate/DASHBOARD_GUIDE.md",
        "docs/systems/affiliate/PROGRAM_ANALYTICS_GUIDE.md",
        "docs/systems/affiliate/ARCHITECTURE.md",
        "docs/systems/affiliate/LEVEL_CALCULATION.md",
        "docs/systems/affiliate/API_REFERENCE.md",
        "docs/systems/affiliate/REFERRAL_PAGE_GUIDE.md",
        "docs/systems/affiliate/PARTNER_TERMS.md",
        "docs/systems/affiliate/PARTNER_AUTH_PAGES.md",
        "docs/systems/affiliate/LOCAL_DEV.md",
        "docs/systems/affiliate/TROUBLESHOOTING.md",
        "docs/systems/affiliate/ORDIO_LOOP_ICONOGRAPHY.md",
        "docs/ai/rules-archive/affiliate-dashboard-full.md"
      ]
    },
    {
      "file": "affiliate-data-accuracy.mdc",
      "path": ".cursor/rules/affiliate-data-accuracy.mdc",
      "description": "Affiliate data accuracy - ensure consistency between dashboard, admin, levels, earnings APIs; clarify Deals vs Leads semantics.",
      "globs": [
        "v2/api/affiliate-*.php",
        "v2/helpers/affiliate-*.php",
        "v2/pages/partner-*.php",
        "v2/scripts/affiliate/*.php"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "affiliate-dashboard.mdc",
        "affiliate-hubspot.mdc"
      ],
      "relatedDocs": [
        "docs/systems/affiliate/DATA_GLOSSARY.md",
        "docs/systems/affiliate/CRON_SYNC_RUNBOOK.md",
        "docs/systems/affiliate/ARCHITECTURE.md",
        "docs/systems/affiliate/CACHE_ARCHITECTURE.md"
      ]
    },
    {
      "file": "affiliate-hubspot.mdc",
      "path": ".cursor/rules/affiliate-hubspot.mdc",
      "description": "Affiliate HubSpot Integration patterns - Custom objects, properties, sync, MRR calculation, level updates, and HubSpot API best practices.",
      "globs": [
        "v2/helpers/hubspot-affiliate-api.php",
        "v2/helpers/affiliate-mrr-calculator.php",
        "v2/helpers/affiliate-level-calculator.php",
        "v2/cron/sync-affiliate-hubspot.php",
        "v2/scripts/hubspot/*affiliate*.php"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "affiliate-dashboard.mdc",
        "api-endpoints-core.mdc"
      ],
      "relatedDocs": [
        "docs/systems/affiliate/ARCHITECTURE.md",
        "docs/systems/affiliate/API_REFERENCE.md",
        "docs/systems/affiliate/CRON_SYNC_RUNBOOK.md",
        "docs/systems/affiliate/DEPLOYMENT_CHECKLIST.md",
        "docs/systems/affiliate/HUBSPOT_INTEGRATION_TEST_PROCEDURE.md",
        "docs/systems/hubspot/HUBSPOT_LEADSOURCE_UTM_AUDIT.md",
        "docs/systems/hubspot/HUBSPOT_LEADSOURCE_UTM_AUDIT_PATTERNS_SUMMARY.md",
        "docs/systems/hubspot/HUBSPOT_LEADSOURCE_ATTRIBUTION_POLICY.md",
        "docs/systems/hubspot/GROUP5_CASE_DECISIONS.md",
        "docs/development/MCP_INTEGRATION.md",
        "v2/cron/crontab-production.txt",
        "docs/ai/rules-archive/affiliate-hubspot-full.md"
      ]
    },
    {
      "file": "affiliate-oauth.mdc",
      "path": ".cursor/rules/affiliate-oauth.mdc",
      "description": "OAuth social login patterns for partner authentication - env vars, state validation, account linking.",
      "globs": [
        "v2/config/oauth-config.php",
        "v2/helpers/oauth-google.php",
        "v2/pages/partner-oauth-*.php"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "affiliate-dashboard.mdc"
      ],
      "relatedDocs": [
        "docs/systems/affiliate/OAUTH_SOCIAL_LOGIN.md",
        "docs/systems/affiliate/SECURITY.md",
        "docs/systems/affiliate/PARTNER_AUTH_PAGES.md"
      ]
    },
    {
      "file": "affiliate-referral.mdc",
      "path": ".cursor/rules/affiliate-referral.mdc",
      "description": "Affiliate referral page and URL API - Sitemap-derived promotable paths, Seite wählen table, UTM validation, asset path convention.",
      "globs": [
        "v2/pages/partner-referral-urls.php",
        "v2/api/affiliate-generate-url.php",
        "v2/api/affiliate-sitemap-pages.php",
        "v2/config/affiliate-config.php"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "affiliate-dashboard.mdc"
      ],
      "relatedDocs": [
        "docs/systems/affiliate/REFERRAL_PAGE_GUIDE.md",
        "docs/systems/affiliate/API_REFERENCE.md",
        "docs/systems/affiliate/PARTNER_UTM_AND_ATTRIBUTION.md"
      ]
    },
    {
      "file": "affiliate-slack.mdc",
      "path": ".cursor/rules/affiliate-slack.mdc",
      "description": "Affiliate Slack notifications - Loop updates to #loop-updates channel, payload structure, non-blocking pattern, Slash Commands handler.",
      "globs": [
        "v2/helpers/affiliate-slack.php",
        "v2/helpers/affiliate-slack-lead-dedupe.php",
        "v2/config/slack-config.php",
        "v2/api/partner-register.php",
        "v2/pages/partner-oauth-callback.php",
        "v2/api/collect-lead.php",
        "v2/api/lead-capture.php",
        "v2/api/slack-loop-lead-attribution-webhook.php",
        "v2/api/slack-command-handler.php",
        "v2/helpers/affiliate-sync-runner.php",
        "v2/api/affiliate-admin-update-partner.php",
        "v2/scripts/affiliate/weekly-loop-summary.php"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "affiliate-hubspot.mdc",
        "api-endpoints-core.mdc"
      ],
      "relatedDocs": [
        "docs/systems/affiliate/SLACK_LOOP_UPDATES.md",
        "docs/systems/affiliate/SLACK_TROUBLESHOOTING.md",
        "docs/systems/affiliate/SLACK_MONITORING.md",
        "docs/systems/affiliate/DEPLOYMENT_CHECKLIST.md"
      ]
    },
    {
      "file": "analytics-tracking.mdc",
      "path": ".cursor/rules/analytics-tracking.mdc",
      "description": "GA4/GTM analytics tracking requirements for CTAs, forms, and conversion points.",
      "globs": [
        "v2/base/footer.php",
        "v2/base/header.php",
        "v2/base/include_ctabuttons.php",
        "v2/pages/tools_*.php",
        "v2/pages/compare_*.php",
        "v2/js/gtm-form-tracking.js"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "form-tracking.mdc",
        "lead-capture.mdc",
        "gdpr-consent.mdc"
      ],
      "relatedDocs": [
        "docs/systems/analytics/CONVERSION_POINTS_AUDIT.md",
        "docs/systems/analytics/GTM_CONFIGURATION_GUIDE.md",
        "docs/systems/analytics/GTM_IMPLEMENTATION_STEPS.md",
        "docs/systems/analytics/GA4_EVENT_NAMING.md",
        "docs/systems/analytics/CTA_FUNNEL_ANALYSIS_2026-02.md",
        "docs/systems/analytics/BROWSER_VALIDATION_CHECKLIST.md",
        "docs/systems/gdpr/GDPR_DSGVO_WEBSITE_AUDIT.md"
      ]
    },
    {
      "file": "annual-year-update.mdc",
      "path": ".cursor/rules/annual-year-update.mdc",
      "description": "Annual year update patterns - scope, classification (UPDATE vs PRESERVE vs REVIEW), checklist for product pages, index pages, tools, downloads, industry pages, docs.",
      "globs": [
        "v2/pages/product_*.php",
        "v2/pages/industry_*.php",
        "v2/data/*_index_data.php",
        "v2/pages/download_index.php"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "comparison-pages-content.mdc",
        "index-pages-annual-update.mdc",
        "date-management.mdc"
      ],
      "relatedDocs": [
        "docs/content/LABOR_LAW_VALUES_2026.md",
        "docs/guides/index-pages/INDEX_PAGES_ANNUAL_UPDATE_GUIDE.md",
        "docs/guides/resources/RESOURCES_RECURRING_AUDIT.md",
        "docs/guides/comparison-pages/COMPARISON_PAGES_GUIDE.md"
      ]
    },
    {
      "file": "api-endpoints-core.mdc",
      "path": ".cursor/rules/api-endpoints-core.mdc",
      "description": "API endpoint patterns - Core: Input validation, error handling, response formats, HubSpot integration, and Forms API v3 best practices.",
      "globs": [
        "v2/api/collect-lead.php",
        "v2/api/contact.php",
        "v2/api/lead-capture.php",
        "v2/api/addon-request.php",
        "v2/api/webinar-registration.php",
        "v2/api/payroll-webinar-registration.php",
        "v2/api/submit-template.php",
        "v2/api/generate_excel.php",
        "v2/api/export-workdays.php",
        "v2/api/event-lead-capture.php"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "api-endpoints-security.mdc"
      ],
      "relatedDocs": [
        "docs/systems/apis/HUBSPOT_API_REFERENCE.md",
        "docs/systems/forms/FORM_CONFIGURATION_REFERENCE.md",
        "docs/systems/forms/FORM_TO_PAGE_MAPPING.md",
        "docs/systems/forms/HUBSPOT_TROUBLESHOOTING.md",
        "docs/guides/HUBSPOT_INTEGRATION_GUIDE.md",
        "docs/guides/HUBSPOT_TESTING_CHECKLIST.md",
        "docs/development/MCP_INTEGRATION.md",
        "docs/ai/rules-archive/api-endpoints-core-full.md"
      ]
    },
    {
      "file": "api-endpoints-security.mdc",
      "path": ".cursor/rules/api-endpoints-security.mdc",
      "description": "API endpoint patterns - Security & Advanced: Pointer to deep security guidance for API docs and audits; runtime endpoint routing stays in api-endpoints-core.mdc.",
      "globs": [
        "docs/reference/api/**/*.md",
        "docs/systems/apis/**/*.md",
        "docs/ai/rules-archive/api-endpoints-security-full.md"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "api-endpoints-core.mdc"
      ],
      "relatedDocs": [
        "docs/systems/apis/HUBSPOT_API_REFERENCE.md",
        "docs/systems/forms/FORM_CONFIGURATION_REFERENCE.md",
        "docs/systems/forms/FORM_TO_PAGE_MAPPING.md",
        "docs/guides/HUBSPOT_INTEGRATION_GUIDE.md",
        "docs/reference/api/api-error-handling.md",
        "docs/ai/rules-archive/api-endpoints-security-full.md"
      ]
    },
    {
      "file": "base-components.mdc",
      "path": ".cursor/rules/base-components.mdc",
      "description": "Base component patterns with HIGH PROTECTION for shared includes.",
      "globs": [
        "v2/base/*.php"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "shared-patterns.mdc"
      ],
      "relatedDocs": [
        "docs/ai/RULE_TO_DOC_MAPPING.md",
        "docs/ai/cursor-playbook.md",
        "docs/guides/PAGE_TYPE_GUIDES.md"
      ]
    },
    {
      "file": "blog-backup.mdc",
      "path": ".cursor/rules/blog-backup.mdc",
      "description": "Blog backup requirements and procedures for WordPress master backups and snapshot backups.",
      "globs": [
        "v2/scripts/blog/*.py",
        "docs/content/blog/guides/BACKUP_GUIDE.md"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "blog-templates.mdc",
        "global.mdc"
      ],
      "relatedDocs": [
        "docs/content/blog/guides/BACKUP_GUIDE.md"
      ]
    },
    {
      "file": "blog-cluster-mapping.mdc",
      "path": ".cursor/rules/blog-cluster-mapping.mdc",
      "description": "Blog cluster mapping – when to add posts, how to assign clusters, scripts and validation.",
      "globs": [
        "docs/data/blog-cluster-mapping.json",
        "v2/scripts/blog/add-*-cluster-mapping*.php",
        "v2/scripts/blog/audit-cluster-mapping-coverage.py",
        "v2/scripts/blog/validate-cluster-mapping.py"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "content-clusters.mdc",
        "blog-new-post-creation.mdc"
      ],
      "relatedDocs": [
        "docs/reference/architecture/content-clusters/CLUSTER_MAPPING.md",
        "docs/content/blog/CLUSTER_MAPPING_COVERAGE_AUDIT.md",
        "docs/content/blog/RELATED_POSTS_LOGIC.md",
        "docs/content/blog/SKYSCRAPER_TECHNIQUE_2026.md",
        "docs/content/blog/SKYSCRAPER_CONTENT_QUALITY_ENFORCEMENT.md"
      ]
    },
    {
      "file": "blog-content-creation-gate.mdc",
      "path": ".cursor/rules/blog-content-creation-gate.mdc",
      "description": "Blog content gate — validators, SERP/outline quality, section depth before writing.",
      "globs": [
        "docs/content/blog/posts/**/CONTENT_OUTLINE.md",
        "docs/content/blog/posts/**/SERP_ANALYSIS.md",
        "docs/content/blog/CONTENT_CREATION_WORKFLOW_2026.md",
        "docs/content/blog/BLOG_POST_IMPROVEMENT_PROCESS.md"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "blog-new-post-creation.mdc",
        "blog-manual-review.mdc",
        "ordio-promotion-contextual.mdc",
        "blog-cluster-mapping.mdc"
      ],
      "relatedDocs": [
        "docs/content/blog/BLOG_AGENT_PHASE_RUNBOOK.md",
        "docs/content/blog/CONTENT_CREATION_WORKFLOW_2026.md",
        "docs/content/blog/BLOG_WORKFLOW_EFFICIENCY.md",
        "docs/content/blog/FAQ_SOURCE_OF_TRUTH.md",
        "docs/content/CONTENT_CREATION_DATA_CHECKLIST.md",
        "docs/content/blog/BLOG_SCRIPTS_USAGE_GUIDE.md",
        "docs/content/blog/CONTENT_SYSTEM_INDEX.md",
        "docs/ai/rules-archive/blog-content-creation-gate-full.md"
      ]
    },
    {
      "file": "blog-content-flow.mdc",
      "path": ".cursor/rules/blog-content-flow.mdc",
      "description": "Blog content flow requirements - Definition placement rules, logical flow structure, FAQ separation requirements, and content flow validation.",
      "globs": [
        "v2/data/blog/posts/**/*.json",
        "v2/scripts/blog/*content-flow*.php"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "blog-improvement-process.mdc",
        "blog-faq-optimization.mdc",
        "content-writing.mdc",
        "shared-patterns.mdc"
      ],
      "relatedDocs": [
        "docs/content/blog/BLOG_HEADING_BEST_PRACTICES.md",
        "docs/content/blog/CONTENT_CREATION_WORKFLOW_IMPROVEMENT.md",
        "docs/content/blog/CONTENT_DEPTH_GUIDELINES.md",
        "docs/content/blog/CONTENT_FLOW_GUIDELINES.md",
        "docs/content/blog/READER_FACING_COPY_GUARDRAILS.md",
        "docs/content/blog/FAQ_SOURCE_OF_TRUTH.md"
      ]
    },
    {
      "file": "blog-cta-patterns.mdc",
      "path": ".cursor/rules/blog-cta-patterns.mdc",
      "description": "Blog CTA patterns for demo booking modals, internal linking, and conversion-optimized call-to-action components.",
      "globs": [
        "v2/components/blog/**/*.php",
        "v2/pages/blog/**/*.php"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "blog-templates.mdc",
        "shared-patterns.mdc"
      ],
      "relatedDocs": [
        "docs/content/blog/reference/DEMO_CTA_PATTERN.md"
      ]
    },
    {
      "file": "blog-data-collection.mdc",
      "path": ".cursor/rules/blog-data-collection.mdc",
      "description": "Rules for collecting and managing data from SISTRIX, GA4, and GSC APIs for blog post documentation and SEO analysis.",
      "globs": [
        "v2/scripts/blog/collect-*.php",
        "v2/scripts/blog/run-all-data-collection.php",
        "v2/scripts/blog/run-all-advanced-collection.php"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "blog-post-documentation.mdc",
        "blog-manual-review.mdc"
      ],
      "relatedDocs": [
        "docs/content/CONTENT_CREATION_DATA_CHECKLIST.md",
        "docs/content/blog/KEYWORD_RESEARCH_WORKFLOW.md",
        "docs/content/blog/guides/DATA_COLLECTION_GUIDE.md",
        "docs/content/blog/guides/DATA_INTEGRATION_GUIDE.md",
        "docs/ai/rules-archive/blog-data-collection-full.md"
      ]
    },
    {
      "file": "blog-evergreen-annual.mdc",
      "path": ".cursor/rules/blog-evergreen-annual.mdc",
      "description": "Evergreen Lexikon posts with year-dependent values require annual updates.",
      "globs": [
        "docs/content/blog/posts/lexikon/mindestlohn/**",
        "docs/content/blog/posts/lexikon/minijob/**",
        "docs/content/blog/posts/lexikon/midijob/**",
        "docs/content/blog/posts/ratgeber/zeiterfassung-software-vergleich/**",
        "docs/content/blog/posts/ratgeber/dienstplan-software-vergleich/**",
        "docs/content/blog/posts/lexikon/sonderurlaub-umzug/**",
        "docs/content/blog/posts/lexikon/sonderurlaub-todesfall/**"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "blog-backup.mdc",
        "blog-new-post-creation.mdc"
      ],
      "relatedDocs": [
        "docs/content/LABOR_LAW_VALUES_2026.md",
        "docs/content/blog/BLOG_CONTENT_EDIT_WORKFLOW.md"
      ]
    },
    {
      "file": "blog-faq-optimization.mdc",
      "path": ".cursor/rules/blog-faq-optimization.mdc",
      "description": "Blog FAQ optimization patterns and generation processes.",
      "globs": [
        "v2/data/blog/posts/**/*.json",
        "v2/scripts/blog/*faq*.php",
        "docs/content/blog/FAQ_*.md"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "faq-cross-surface.mdc",
        "tools-pages-faq.mdc",
        "shared-patterns.mdc"
      ],
      "relatedDocs": [
        "docs/content/blog/BLOG_AGENT_PHASE_RUNBOOK.md",
        "docs/content/FAQ_REWORK_DECISION_TREE.md",
        "docs/content/FAQ_WEBSITE_STANDARD.md",
        "docs/content/blog/FAQ_SOURCE_OF_TRUTH.md",
        "docs/ai/rules-archive/blog-faq-optimization-full.md"
      ]
    },
    {
      "file": "blog-featured-image-style.mdc",
      "path": ".cursor/rules/blog-featured-image-style.mdc",
      "description": "Blog featured image style – no text, on-theme topic-specific prompts, IMAGE_PROMPT.md. Use when generating or editing featured images.",
      "globs": [
        "v2/scripts/blog/generate-blog-featured-image.py",
        "docs/content/blog/BLOG_FEATURED_IMAGE_STYLE_GUIDE.md",
        "docs/content/blog/posts/**/IMAGE_PROMPT.md"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "blog-new-post-creation.mdc"
      ],
      "relatedDocs": [
        "docs/content/blog/BLOG_FEATURED_IMAGE_STYLE_GUIDE.md",
        "docs/content/blog/BLOG_FEATURED_IMAGE_GENERATION.md"
      ]
    },
    {
      "file": "blog-full-rework-decision.mdc",
      "path": ".cursor/rules/blog-full-rework-decision.mdc",
      "description": "Patchwork vs Full Rework decision criteria for blog post improvement. When full rework is required, do not patch incrementally.",
      "globs": [
        "docs/content/blog/posts/**/*.md",
        "docs/content/blog/BLOG_POST_IMPROVEMENT_PROCESS.md",
        "docs/content/blog/FULL_REWORK_DECISION_GUIDE.md"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "blog-manual-review.mdc",
        "blog-improvement-process-workflow.mdc"
      ],
      "relatedDocs": [
        "docs/content/blog/BLOG_POST_IMPROVEMENT_PROCESS.md",
        "docs/content/blog/FULL_REWORK_DECISION_GUIDE.md"
      ]
    },
    {
      "file": "blog-improvement-plans.mdc",
      "path": ".cursor/rules/blog-improvement-plans.mdc",
      "description": "Blog improvement plans - Rules for editing and regenerating IMPROVEMENT_PLAN.md files for blog posts, including preservation logic and placeholder behavior.",
      "globs": [
        "docs/content/blog/posts/**/IMPROVEMENT_PLAN.md",
        "v2/scripts/blog/generate-post-documentation.php"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "blog-post-documentation.mdc",
        "blog-improvement-process.mdc",
        "blog-content-flow.mdc"
      ],
      "relatedDocs": [
        "docs/content/blog/IMPROVEMENT_PLAN_GUIDE.md",
        "docs/content/blog/IMPROVEMENT_PLAN_PREVENTION_GUIDE.md",
        "docs/content/blog/posts/_templates/IMPROVEMENT_PLAN.md"
      ]
    },
    {
      "file": "blog-improvement-process.mdc",
      "path": ".cursor/rules/blog-improvement-process.mdc",
      "description": "Unified rules for the Blog Improvement Process (workflows, content, core).",
      "globs": [
        "v2/scripts/blog/*improve*.php",
        "docs/content/blog/posts/**/IMPROVEMENT_PLAN.md"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "blog-templates-core.mdc",
        "blog-faq-optimization.mdc"
      ],
      "relatedDocs": [
        "docs/ai/rules-archive/blog-improvement-unified.md"
      ]
    },
    {
      "file": "blog-index-hero.mdc",
      "path": ".cursor/rules/blog-index-hero.mdc",
      "description": "Blog index page hero sections, category cards; legacy Alpine filter patterns (index uses server-side pagination today).",
      "globs": [
        "v2/components/blog/BlogIndexHero.php",
        "v2/components/blog/CategoryCards.php",
        "v2/pages/blog/index.php",
        "v2/pages/blog/category.php",
        "v2/js/blog-index-filter.js"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "blog-templates.mdc",
        "shared-patterns.mdc"
      ],
      "relatedDocs": [
        "docs/ai/rules-archive/blog-index-hero-full.md"
      ]
    },
    {
      "file": "blog-internal-linking.mdc",
      "path": ".cursor/rules/blog-internal-linking.mdc",
      "description": "Blog internal linking — lexikon 1:1, density, contextual anchors; no planned-post links.",
      "globs": [
        "v2/data/blog/posts/**/*.json",
        "v2/scripts/blog/suggest-contextual-links.php",
        "v2/scripts/blog/add-contextual-links-from-suggestions.php",
        "v2/scripts/blog/audit-internal-link-density.php",
        "v2/scripts/blog/audit-blog-lexikon-links.php",
        "v2/scripts/blog/suggest-bidirectional-links-for-new-post.php"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "blog-tool-linking.mdc",
        "blog-new-post-creation.mdc",
        "blog-content-creation-gate.mdc"
      ],
      "relatedDocs": [
        "docs/content/blog/BLOG_AGENT_PHASE_RUNBOOK.md",
        "docs/content/blog/INTERNAL_LINKING_WORKFLOW_2026.md",
        "docs/content/blog/guides/INTERNAL_LINKING_GUIDE.md",
        "docs/content/blog/NEW_POST_LINKING_CHECKLIST.md",
        "docs/content/blog/CONTENT_QUALITY_STANDARDS_2026.md",
        "docs/data/blog-lexikon-mapping.json",
        "docs/data/blog-template-mapping.json",
        "docs/data/blog-pillar-mapping.json",
        "docs/data/blog-overlapping-terms.json"
      ]
    },
    {
      "file": "blog-json-edit-prohibition.mdc",
      "path": ".cursor/rules/blog-json-edit-prohibition.mdc",
      "description": "No raw edits to blog post JSON; use update-post-content.php and documented scripts.",
      "globs": [
        "v2/data/blog/posts/**/*.json",
        "docs/content/blog/posts/**/data/*.json"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "blog-content-creation-gate.mdc",
        "blog-restructuring.mdc"
      ],
      "relatedDocs": [
        "docs/content/blog/BLOG_AGENT_PHASE_RUNBOOK.md",
        "docs/content/blog/BLOG_WORKFLOW_EFFICIENCY.md",
        "docs/content/blog/BLOG_CONTENT_EDIT_WORKFLOW.md",
        "docs/content/blog/BLOG_SCRIPTS_USAGE_GUIDE.md"
      ]
    },
    {
      "file": "blog-lexikon-index.mdc",
      "path": ".cursor/rules/blog-lexikon-index.mdc",
      "description": "Lexikon A-Z index page patterns – letter nav, sections, term cards, German collation.",
      "globs": [
        "v2/pages/blog/category.php",
        "v2/components/blog/LexikonLetterNav.php",
        "v2/components/blog/LexikonLetterSection.php",
        "v2/components/blog/LexikonTermCard.php",
        "v2/css/blog-lexikon.css",
        "v2/js/blog-lexikon-nav.js"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "blog-templates.mdc",
        "blog-templates-components.mdc"
      ],
      "relatedDocs": [
        "docs/content/blog/LEXIKON_INDEX_PAGE.md"
      ]
    },
    {
      "file": "blog-lexikon-inventory.mdc",
      "path": ".cursor/rules/blog-lexikon-inventory.mdc",
      "description": "Lexikon competitor inventory — gaps, prioritization, new-post decisions.",
      "globs": [
        "docs/content/blog/lexikon-inventory/**/*",
        "scripts/blog/lexikon-inventory/**/*",
        "v2/scripts/blog/collect-competitor-lexikon-top-pages.php"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "blog-new-post-creation.mdc",
        "blog-content-creation-gate.mdc"
      ],
      "relatedDocs": [
        "docs/content/blog/lexikon-inventory/README.md",
        "docs/content/blog/lexikon-inventory/LEXIKON_CONTENT_GAPS.md",
        "docs/content/blog/lexikon-inventory/LEXIKON_PRIORITY_LIST.json",
        "docs/content/blog/DATA_COLLECTION_SCRIPTS_INVENTORY.md"
      ]
    },
    {
      "file": "blog-manual-review.mdc",
      "path": ".cursor/rules/blog-manual-review.mdc",
      "description": "Rules for conducting manual review of blog post documentation, ensuring data-driven recommendations are refined with human expertise.",
      "globs": [
        "v2/scripts/blog/generate-manual-review-checklist.php",
        "v2/scripts/blog/generate-pre-content-checklist.php",
        "v2/scripts/blog/safe-regenerate-documentation.php",
        "v2/scripts/blog/validate-documentation-quality.php",
        "v2/scripts/blog/validate-improvement-readiness.php",
        "v2/scripts/blog/derive-target-keywords.php"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "blog-post-documentation.mdc",
        "blog-data-collection.mdc",
        "blog-improvement-process.mdc",
        "blog-content-creation-gate.mdc"
      ],
      "relatedDocs": [
        "docs/content/blog/FAQ_GAP_REMEDIATION_RUNBOOK.md",
        "docs/content/blog/MANUAL_REVIEW_RESUME_RUNBOOK.md",
        "docs/content/blog/guides/MANUAL_REVIEW_WORKFLOW.md",
        "docs/content/blog/guides/DATA_INTEGRATION_GUIDE.md",
        "docs/content/blog/guides/PLACEHOLDER_COMPLETION_STRATEGY.md",
        "docs/content/blog/guides/GAP_REMEDIATION_STRATEGY.md",
        "docs/content/blog/guides/LINKING_STRATEGY_GUIDE.md",
        "docs/content/blog/BLOG_POST_IMPROVEMENT_PROCESS.md - docs/ai/rules-archive/blog-manual-review-full.md"
      ]
    },
    {
      "file": "blog-monitoring.mdc",
      "path": ".cursor/rules/blog-monitoring.mdc",
      "description": "Blog monitoring and automation patterns - Weekly quality checks, priority refresh, performance tracking, and automated data collection.",
      "globs": [
        "v2/scripts/blog/*.php"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "blog-data-collection.mdc",
        "blog-faq-optimization.mdc"
      ],
      "relatedDocs": [
        "docs/content/blog/MONITORING_RUNBOOK.md",
        "docs/content/blog/BLOG_SCRIPTS_USAGE_GUIDE.md",
        "docs/content/blog/README.md",
        "docs/content/blog/DATA_FRESHNESS_REPORT.md",
        "docs/content/blog/SEO_DATA_MANAGEMENT.md",
        "docs/content/blog/SISTRIX_ENDPOINTS_AND_REPORTS.md",
        "docs/content/blog/PERFORMANCE_ANALYSIS.md",
        "docs/content/blog/AUDIT_RUNBOOK.md",
        "docs/content/blog/CONTENT_BACKLOG_WORKFLOW.md",
        "docs/ai/rules-archive/blog-monitoring-full.md"
      ]
    },
    {
      "file": "blog-new-post-creation.mdc",
      "path": ".cursor/rules/blog-new-post-creation.mdc",
      "description": "New blog post creation workflow pointer rule. Use when creating new posts from topics/keywords.",
      "globs": [
        "v2/scripts/blog/create-new-blog-post.php",
        "v2/scripts/blog/run-new-post-pipeline.php",
        "v2/scripts/blog/generate-blog-featured-image.py",
        "v2/scripts/blog/suggest-related-posts.php",
        "v2/scripts/blog/add-new-post-to-related-carousels.php",
        "v2/scripts/blog/validate-new-post.php"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "blog-backup.mdc",
        "blog-post-documentation.mdc",
        "blog-templates-core.mdc",
        "shared-patterns.mdc",
        "blog-content-creation-gate.mdc",
        "blog-internal-linking.mdc"
      ],
      "relatedDocs": [
        "docs/content/blog/lexikon-inventory/BLOG_NEW_POST_WORKFLOW.md",
        "docs/content/blog/COMPARISON_AND_VS_SECTIONS_GUIDE.md",
        "docs/content/blog/KEYWORD_RESEARCH_WORKFLOW.md",
        "docs/content/blog/lexikon-inventory/topic-mappings.md"
      ]
    },
    {
      "file": "blog-post-documentation.mdc",
      "path": ".cursor/rules/blog-post-documentation.mdc",
      "description": "Comprehensive documentation requirements for individual blog posts, including analysis, SEO tracking, and improvement plans.",
      "globs": [
        "v2/scripts/blog/analyze-*.php",
        "v2/scripts/blog/generate-post-documentation.php",
        "docs/content/blog/posts/**/*.md"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "blog-templates.mdc",
        "blog-manual-review.mdc",
        "blog-data-collection.mdc",
        "blog-improvement-process.mdc"
      ],
      "relatedDocs": [
        "docs/content/blog/POST_REVIEW_CHECKLIST.md",
        "docs/content/blog/BLOG_POST_IMPROVEMENT_PROCESS.md"
      ]
    },
    {
      "file": "blog-production.mdc",
      "path": ".cursor/rules/blog-production.mdc",
      "description": "Blog production workflow patterns - Content management, editing, and maintenance workflows for production blog system (WordPress migration complete).",
      "globs": [
        "v2/data/blog/posts/**/*.json",
        "v2/pages/blog/**/*.php",
        "v2/components/blog/**/*.php"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "blog-templates.mdc",
        "blog-backup.mdc",
        "shared-patterns.mdc"
      ],
      "relatedDocs": [
        "docs/content/blog/PRODUCTION_WORKFLOW_GUIDE.md",
        "docs/content/blog/MIGRATION_COMPLETION_REPORT_2026-01-14.md",
        "docs/content/blog/BLOG_QUICK_REFERENCE.md",
        "docs/ai/rules-archive/blog-production-full.md"
      ]
    },
    {
      "file": "blog-ratgeber-quality.mdc",
      "path": ".cursor/rules/blog-ratgeber-quality.mdc",
      "description": "Ratgeber content quality – match lexikon depth, SEO/AEO/GEO best practices, data-driven approach, formatting. Use when creating or improving ratgeber posts.",
      "globs": [
        "docs/content/blog/posts/ratgeber/**/*",
        "v2/data/blog/posts/ratgeber/*.json"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "blog-content-creation-gate.mdc",
        "blog-new-post-creation.mdc",
        "ordio-promotion-contextual.mdc"
      ],
      "relatedDocs": [
        "docs/content/blog/CONTENT_SYSTEM_INDEX.md",
        "docs/content/blog/CONTENT_PIPELINE_AUDIT_2026-03-23.md",
        "docs/content/blog/SKYSCRAPER_CONTENT_QUALITY_ENFORCEMENT.md",
        "docs/content/blog/CONTENT_OPTIMIZATION_WORKFLOW.md",
        "docs/content/blog/RATGEBER_IMPROVEMENT_PLAN_2026.md",
        "docs/content/blog/RATGEBER_POST_CREATION_WORKFLOW.md",
        "docs/content/blog/RATGEBER_NEW_POST_CHECKLIST.md",
        "docs/content/blog/SEO_GEO_AEO_CHECKLIST.md",
        "docs/content/blog/READER_FACING_COPY_GUARDRAILS.md",
        "docs/content/blog/CONTENT_DEPTH_GUIDELINES.md",
        "docs/content/blog/CONTENT_FORMAT_PATTERNS.md"
      ]
    },
    {
      "file": "blog-restructuring.mdc",
      "path": ".cursor/rules/blog-restructuring.mdc",
      "description": "Blog full rework — restructuring guide, H3/topic rules, scripts; not patchwork edits.",
      "globs": [
        "docs/content/blog/posts/**/*",
        "docs/content/blog/BLOG_CONTENT_RESTRUCTURING_GUIDE.md"
      ],
      "alwaysApply": false,
      "relatedRules": [],
      "relatedDocs": []
    },
    {
      "file": "blog-templates.mdc",
      "path": ".cursor/rules/blog-templates.mdc",
      "description": "Unified rules for Blog Templates system (components, core, SEO, troubleshooting).",
      "globs": [],
      "alwaysApply": false,
      "relatedRules": [
        "shared-patterns.mdc"
      ],
      "relatedDocs": [
        "docs/ai/rules-archive/blog-templates-unified.md"
      ]
    },
    {
      "file": "blog-tool-linking.mdc",
      "path": ".cursor/rules/blog-tool-linking.mdc",
      "description": "Blog posts — contextual links to matching tools/rechner and Ordio features.",
      "globs": [
        "v2/data/blog/posts/**/*.json"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "blog-templates.mdc",
        "blog-improvement-process.mdc",
        "content-clusters.mdc",
        "ordio-promotion-contextual.mdc"
      ],
      "relatedDocs": [
        "docs/content/blog/BLOG_AGENT_PHASE_RUNBOOK.md",
        "docs/content/blog/INTERNAL_LINKING_QUICK_REFERENCE.md",
        "docs/content/blog/SAFE_LINK_PLACEMENT_GUIDE.md",
        "docs/content/blog/ORDIO_PROMOTION_GUIDE.md",
        "docs/data/blog-tool-mapping.json",
        "docs/data/blog-product-feature-mapping.json"
      ]
    },
    {
      "file": "booking-calendars.mdc",
      "path": ".cursor/rules/booking-calendars.mdc",
      "description": "Booking calendar patterns for embedded meeting schedulers (HubSpot, Orbianca, Calendly) with mobile-responsive optimization.",
      "globs": [
        "v2/pages/typ.php",
        "v2/pages/kostenlos-testen-los-gehts.php",
        "v2/css/booking-calendar.css"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "shared-patterns.mdc"
      ],
      "relatedDocs": [
        "docs/ai/RULE_TO_DOC_MAPPING.md",
        "docs/guides/PAGE_TYPE_GUIDES.md"
      ]
    },
    {
      "file": "cello-landing-page.mdc",
      "path": ".cursor/rules/cello-landing-page.mdc",
      "description": "Cello referral landing page patterns – Cello Attribution, personalization, form integration, and Cello Portal configuration",
      "globs": [
        "v2/pages/cello_einladung.php"
      ],
      "alwaysApply": false,
      "relatedRules": [],
      "relatedDocs": []
    },
    {
      "file": "comparison-pages-content.mdc",
      "path": ".cursor/rules/comparison-pages-content.mdc",
      "description": "Comparison page patterns - Content: Edge cases, page structure, competitors data, component dependencies, and Alpine.js patterns.",
      "globs": [
        "docs/guides/comparison-pages/**/*.md",
        "docs/ai/rules-archive/comparison-pages-content-full.md"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "comparison-pages-core.mdc",
        "comparison-pages-schema-meta.mdc",
        "shared-patterns.mdc"
      ],
      "relatedDocs": [
        "docs/guides/comparison-pages/COMPARISON_PAGES_GUIDE.md",
        "docs/ai/rules-archive/comparison-pages-content-full.md"
      ]
    },
    {
      "file": "comparison-pages-core.mdc",
      "path": ".cursor/rules/comparison-pages-core.mdc",
      "description": "Comparison page patterns - Core: Purpose, templates, hero, comparison grid, editing workflow, unified template system, and edge cases.",
      "globs": [
        "v2/pages/compare_*.php"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "comparison-pages-content.mdc",
        "comparison-pages-schema-meta.mdc",
        "shared-patterns.mdc"
      ],
      "relatedDocs": [
        "docs/guides/comparison-pages/COMPARISON_PAGES_GUIDE.md",
        "docs/ai/rules-archive/comparison-pages-core-full.md"
      ]
    },
    {
      "file": "comparison-pages-schema-meta.mdc",
      "path": ".cursor/rules/comparison-pages-schema-meta.mdc",
      "description": "Comparison page patterns - Schema & Meta: Schema requirements, meta tags, and validation checklist specific to comparison pages.",
      "globs": [
        "v2/pages/compare_*.php"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "comparison-pages-core.mdc",
        "comparison-pages-content.mdc",
        "shared-patterns.mdc"
      ],
      "relatedDocs": [
        "docs/guides/comparison-pages/COMPARISON_PAGES_GUIDE.md"
      ]
    },
    {
      "file": "content-clusters.mdc",
      "path": ".cursor/rules/content-clusters.mdc",
      "description": "Content cluster strategy and pillar page integration patterns.",
      "globs": [
        "v2/pages/pillar_*.php",
        "docs/reference/architecture/content-clusters/**/*.md",
        "docs/content/blog/SKYSCRAPER_TECHNIQUE_2026.md"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "pillar-pages.mdc",
        "blog-cluster-mapping.mdc"
      ],
      "relatedDocs": [
        "docs/ai/RULE_TO_DOC_MAPPING.md",
        "docs/guides/PAGE_TYPE_GUIDES.md",
        "docs/reference/architecture/content-clusters/CLUSTER_MAPPING.md",
        "docs/content/blog/SKYSCRAPER_TECHNIQUE_2026.md"
      ]
    },
    {
      "file": "content-writing.mdc",
      "path": ".cursor/rules/content-writing.mdc",
      "description": "Universal content writing guidelines for all content types (blog posts, product pages, tools pages, templates, static pages).",
      "globs": [],
      "alwaysApply": false,
      "relatedRules": [
        "shared-patterns.mdc",
        "global.mdc"
      ],
      "relatedDocs": [
        "docs/content/AI_CONTENT_AVOIDANCE_GUIDE.md",
        "docs/content/CONTENT_STRUCTURE_FORMATTING_GUIDE.md",
        "docs/content/CONTENT_WRITING_BEST_PRACTICES_2026.md",
        "docs/content/blog/CONTENT_WRITING_GUIDELINES.md",
        "docs/content/blog/CONTENT_DEPTH_GUIDELINES.md",
        "docs/content/META_TAGS_OPTIMIZATION_GUIDE.md",
        "docs/content/SISTRIX_CONTENT_INTEGRATION_GUIDE.md",
        "docs/content/blog/READER_FACING_COPY_GUARDRAILS.md",
        "docs/content/blog/TOC_BEST_PRACTICES.md",
        "docs/content/blog/guides/SEO_OPTIMIZATION_GUIDE.md - docs/ai/rules-archive/content-writing-full.md"
      ]
    },
    {
      "file": "css-optimization.mdc",
      "path": ".cursor/rules/css-optimization.mdc",
      "description": "CSS optimization patterns – when to add shared vs page-specific, design tokens, critical CSS, minification",
      "globs": [
        "v2/css/*.css",
        "src/input.css",
        "extractCriticalCSS.js",
        "minify-assets.js"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "base-components.mdc"
      ],
      "relatedDocs": [
        "docs/systems/css/CSS_ARCHITECTURE.md",
        "docs/development/DEV_TOOLING.md"
      ]
    },
    {
      "file": "customer-logo-marquee.mdc",
      "path": ".cursor/rules/customer-logo-marquee.mdc",
      "description": "Customer logo marquee — use shared partial and data file; forbid legacy logo-slider / slide keyframes for this pattern.",
      "globs": [
        "v2/pages/**/*.php",
        "v2/start*.php",
        "v2/data/customer-logos-marquee.php",
        "v2/sections/partials/customer-logo-marquee.php",
        "v2/css/customer-logo-marquee.css",
        "docs/systems/shared-components/CUSTOMER_LOGO_MARQUEE.md"
      ],
      "alwaysApply": false,
      "relatedRules": [
        ".cursor/rules/base-components.mdc"
      ],
      "relatedDocs": [
        "docs/systems/shared-components/CUSTOMER_LOGO_MARQUEE.md",
        "docs/systems/shared-components/COMPONENT_USAGE_GUIDE.md"
      ]
    },
    {
      "file": "customer-spotlight-carousel.mdc",
      "path": ".cursor/rules/customer-spotlight-carousel.mdc",
      "description": "Customer spotlight video carousel — shared base component, SSOT data + optional header copy, required CSS, one include per page (fixed modal IDs).",
      "globs": [
        "v2/base/customer-spotlight-carousel.php",
        "v2/data/customer-spotlights-data.php",
        "v2/data/customer-spotlight-section-header.php",
        "v2/css/customer-spotlight-carousel.css",
        "v2/css/testimonials-page.css",
        "v2/pages/**/*.php",
        "v2/start*.php"
      ],
      "alwaysApply": false,
      "relatedRules": [
        ".cursor/rules/base-components.mdc"
      ],
      "relatedDocs": [
        "docs/systems/video-carousel/VIDEO_CAROUSEL_IMPLEMENTATION_SUMMARY.md"
      ]
    },
    {
      "file": "dashboard.mdc",
      "path": ".cursor/rules/dashboard.mdc",
      "description": "Dashboard patterns for SEO Strategy Dashboard admin panel with fixed sidebar navigation and consistent design tokens.",
      "globs": [
        "v2/admin/seo-dashboard/**/*.php",
        "v2/admin/seo-dashboard/**/*.js",
        "v2/admin/seo-dashboard/**/*.css"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "seo-dashboard-admin.mdc"
      ],
      "relatedDocs": [
        "docs/ai/RULE_TO_DOC_MAPPING.md"
      ]
    },
    {
      "file": "date-management.mdc",
      "path": ".cursor/rules/date-management.mdc",
      "description": "Accurate dates in docs, schema, meta; year checks and formats.",
      "globs": [],
      "alwaysApply": false,
      "relatedRules": [
        "comparison-pages-core.mdc",
        "shared-patterns.mdc"
      ],
      "relatedDocs": [
        "docs/DATE_FIX_FINAL_REPORT.md",
        "docs/DATE_MANAGEMENT_GUIDELINES.md",
        "docs/ai/RULE_TO_DOC_MAPPING.md",
        "docs/reference/DATE_HELPER.md"
      ]
    },
    {
      "file": "download-pages.mdc",
      "path": ".cursor/rules/download-pages.mdc",
      "description": "Download page patterns for gated content with HubSpot forms.",
      "globs": [
        "v2/pages/download_*.php"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "shared-patterns.mdc",
        "lead-gen-forms-ux.mdc",
        "faq-cross-surface.mdc"
      ],
      "relatedDocs": [
        "docs/content/FAQ_WEBSITE_STANDARD.md",
        "docs/ai/RULE_TO_DOC_MAPPING.md",
        "docs/ai/cursor-playbook.md",
        "docs/guides/PAGE_TYPE_GUIDES.md",
        "docs/content/WEBSITE_PAGE_PUBLICATION_INDEX.md",
        "docs/systems/og-images/NEW_PAGE_OG_AND_SOCIAL_CHECKLIST.md"
      ]
    },
    {
      "file": "error-pages-insights.mdc",
      "path": ".cursor/rules/error-pages-insights.mdc",
      "description": "Insights / blog 404 and error-page routing — shared PHP layout, .htaccess order, router.php parity.",
      "globs": [
        "v2/pages/blog/*.php",
        "v2/pages/errors/*.php",
        ".htaccess",
        "router.php",
        "wp-content/themes/ordio/404.php"
      ],
      "alwaysApply": false,
      "relatedRules": [],
      "relatedDocs": []
    },
    {
      "file": "event-forms-phone-validation.mdc",
      "path": ".cursor/rules/event-forms-phone-validation.mdc",
      "description": "Event form Telefonnummer (phone) validation - DACH/international formats, 7-20 digits",
      "globs": [
        "v2/components/event-form.php",
        "v2/js/event-form.js",
        "v2/api/event-lead-capture.php",
        "v2/scripts/test-event-form-validation.py"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "api-endpoints-core.mdc",
        "lead-capture.mdc"
      ],
      "relatedDocs": [
        "docs/systems/forms/EVENT_FORM_VALIDATION_RELAXATION.md",
        "docs/systems/forms/EVENT_FORM_IMPLEMENTATION.md"
      ]
    },
    {
      "file": "excel-template-generator.mdc",
      "path": ".cursor/rules/excel-template-generator.mdc",
      "description": "Unified rules for Excel Template Generator (advanced, core, integrity).",
      "globs": [
        "v2/systems/excel-template-generator/**/*.php"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "shared-patterns.mdc"
      ],
      "relatedDocs": [
        "docs/ai/rules-archive/excel-template-unified.md"
      ]
    },
    {
      "file": "faq-cross-surface.mdc",
      "path": ".cursor/rules/faq-cross-surface.mdc",
      "description": "Cross-surface FAQ standards—format (paragraphs vs lists), rework runbook, data loop, links to blog/tools/template/product workflows.",
      "globs": [
        "v2/pages/**/*.php",
        "v2/scripts/blog/*faq*.php",
        "v2/scripts/templates/*faq*.php",
        "v2/scripts/product-pages/*faq*.php",
        "docs/content/FAQ_WEBSITE_STANDARD.md",
        "docs/content/FAQ_REWORK_DECISION_TREE.md"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "blog-faq-optimization.mdc",
        "tools-pages.mdc",
        "templates-pages.mdc",
        "product-pages-faq.mdc",
        "download-pages.mdc",
        "shared-patterns.mdc",
        "ordio-promotion-contextual.mdc",
        "mcp-usage.mdc"
      ],
      "relatedDocs": [
        "docs/content/FAQ_WEBSITE_STANDARD.md",
        "docs/content/FAQ_REWORK_DECISION_TREE.md",
        "docs/content/blog/FAQ_BEST_PRACTICES.md",
        "docs/content/blog/FAQ_SOURCE_OF_TRUTH.md",
        "docs/content/blog/FAQ_QUARTERLY_REVIEW_PROCESS.md",
        "docs/content/pages/product-pages/PRODUCT_PAGE_FAQ_GUIDE.md"
      ]
    },
    {
      "file": "feature-showcase-grid.mdc",
      "path": ".cursor/rules/feature-showcase-grid.mdc",
      "description": "Feature showcase 8-card grid — use partial + scoped ids; no inline duplication",
      "globs": [
        "v2/pages/**/*.php",
        "v2/start*.php",
        "v2/components/feature-cards-grid.php",
        "v2/sections/partials/feature-showcase-grid.php",
        "v2/js/feature-showcase-grid.js"
      ],
      "alwaysApply": false,
      "relatedRules": [],
      "relatedDocs": []
    },
    {
      "file": "figma-api.mdc",
      "path": ".cursor/rules/figma-api.mdc",
      "description": "Figma API integration for design handoff and token extraction.",
      "globs": [
        "v2/scripts/nano-ai/*figma*",
        "v2/config/figma-*.php",
        "docs/development/FIGMA_API_INTEGRATION.md",
        "docs/design/**/FIGMA*.md"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "product-pages.mdc"
      ],
      "relatedDocs": [
        "docs/development/FIGMA_API_INTEGRATION.md",
        "docs/design/nano-ai/FIGMA_SPEC.md"
      ]
    },
    {
      "file": "form-tracking.mdc",
      "path": ".cursor/rules/form-tracking.mdc",
      "description": "GTM form tracking patterns and best practices for all acquisition forms.",
      "globs": [
        "v2/base/include_form*.php",
        "v2/components/*.php",
        "v2/pages/*.php",
        "v2/js/*form*.js",
        "v2/api/*.php"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "api-endpoints-core.mdc",
        "lead-capture.mdc",
        "analytics-tracking.mdc"
      ],
      "relatedDocs": [
        "docs/systems/shared-components/GTM_FORM_TRACKING.md",
        "docs/systems/shared-components/COMPONENT_USAGE_GUIDE.md",
        "docs/forms/FORM_TRACKING_DEVELOPER_GUIDE.md",
        "docs/forms/form-ids-reference.md"
      ]
    },
    {
      "file": "forms-gdpr-consent.mdc",
      "path": ".cursor/rules/forms-gdpr-consent.mdc",
      "description": "GDPR consent gating for forms and HubSpot API submissions. Form category determines consent logic: contact_request always sends; lead_gen respects hubspotConsent.",
      "globs": [
        "v2/api/*.php",
        "v2/base/include_form*.php",
        "html/form-hs.php",
        "v2/**/pricing*.php",
        "v2/**/enterprise*.php",
        "v2/pages/tools_*.php"
      ],
      "alwaysApply": false,
      "relatedRules": [],
      "relatedDocs": []
    },
    {
      "file": "gdpr-consent.mdc",
      "path": ".cursor/rules/gdpr-consent.mdc",
      "description": "GDPR/consent requirements for tracking scripts. All non-essential tracking must be consent-gated.",
      "globs": [
        "v2/base/footer.php",
        "v2/base/footer_free_trial_updated.php",
        "v2/base/head.php",
        "v2/pages/shiftops*.php",
        "v2/html/blog/*.html"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "base-components.mdc",
        "analytics-tracking.mdc"
      ],
      "relatedDocs": [
        "docs/systems/gdpr/GDPR_DSGVO_WEBSITE_AUDIT.md",
        "docs/systems/gdpr/GDPR_DSGVO_HUBSPOT_AUDIT.md"
      ]
    },
    {
      "file": "gemini-local-api-key.mdc",
      "path": ".cursor/rules/gemini-local-api-key.mdc",
      "description": "Gemini Developer API keys — local vs production; blog images, OG, PHP/Python scripts.",
      "globs": [
        "v2/scripts/gemini_api_key.py",
        "v2/scripts/blog/generate-blog-featured-image.py",
        "v2/scripts/og-images/generate-og-image-gemini.py",
        "v2/config/ai-faq-config.php",
        "v2/config/gemini-environment.php",
        "v2/config/gemini-api-key.php.example",
        "docs/development/GEMINI_API_KEY_LOCAL.md",
        "docs/development/GEMINI_API_KEY_PRODUCTION.md"
      ],
      "alwaysApply": false,
      "relatedRules": [],
      "relatedDocs": [
        "docs/development/GEMINI_API_KEY_LOCAL.md",
        "docs/development/GEMINI_API_KEY_PRODUCTION.md"
      ]
    },
    {
      "file": "global.mdc",
      "path": ".cursor/rules/global.mdc",
      "description": "Global Ordio guardrails; read global-guidelines when changing shared code, PHP, or performance.",
      "globs": [],
      "alwaysApply": true,
      "relatedRules": [],
      "relatedDocs": []
    },
    {
      "file": "goal-setting-metrics.mdc",
      "path": ".cursor/rules/goal-setting-metrics.mdc",
      "description": "SEO Strategy 2026 goal/metrics patterns; organic specifics in seo-strategy-organic-goals.mdc.",
      "globs": [
        "docs/seo-strategy-2026/docs/goals/**/*.md"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "seo-strategy-2026.mdc",
        "seo-strategy-organic-goals.mdc"
      ],
      "relatedDocs": [
        "docs/ai/RULE_TO_DOC_MAPPING.md"
      ]
    },
    {
      "file": "google-sheets-templates.mdc",
      "path": ".cursor/rules/google-sheets-templates.mdc",
      "description": "Google Sheets template integration patterns - generation, sync, API usage, and platform differences. Use when creating or updating Google Sheets templates.",
      "globs": [
        "v2/systems/excel-template-generator/helpers/google-sheets-generator.php",
        "v2/helpers/google-drive-helpers.php",
        "v2/scripts/templates/generate-google-sheets-template.php",
        "v2/scripts/templates/sync-google-sheets-templates.php",
        "v2/api/get-google-sheets-template.php",
        "v2/api/template-options.php"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "excel-template-generator-core.mdc",
        "excel-template-generator-advanced.mdc",
        "templates-pages-core.mdc"
      ],
      "relatedDocs": [
        "docs/systems/google-sheets-integration/GOOGLE_SHEETS_INTEGRATION.md - docs/ai/rules-archive/google-sheets-templates-full.md"
      ]
    },
    {
      "file": "homepage.mdc",
      "path": ".cursor/rules/homepage.mdc",
      "description": "Homepage/landing page patterns for hero messaging and conversion optimization.",
      "globs": [
        "v2/pages/landingpage*.php",
        "v2/pages/start*.php"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "shared-patterns.mdc"
      ],
      "relatedDocs": [
        "docs/ai/RULE_TO_DOC_MAPPING.md",
        "docs/ai/cursor-playbook.md",
        "docs/guides/PAGE_TYPE_GUIDES.md"
      ]
    },
    {
      "file": "hubspot-paid-search-utm-gap.mdc",
      "path": ".cursor/rules/hubspot-paid-search-utm-gap.mdc",
      "description": "HubSpot paid-search UTM gap audit, hybrid evidence ladder, Lead Capture Step 2 merge.",
      "globs": [
        "v2/helpers/hubspot-paid-search-utm-gap.php",
        "v2/scripts/hubspot/*paid-search*",
        "v2/api/lead-capture.php",
        "docs/systems/hubspot/HUBSPOT_LEADSOURCE_ATTRIBUTION_POLICY.md"
      ],
      "alwaysApply": false,
      "relatedRules": [],
      "relatedDocs": []
    },
    {
      "file": "index-pages-annual-update.mdc",
      "path": ".cursor/rules/index-pages-annual-update.mdc",
      "description": "Index pages annual update patterns for year references and labor law values in tools, templates, and downloads index data and pages.",
      "globs": [
        "v2/data/tools_index_data.php",
        "v2/data/templates_index_data.php",
        "v2/data/downloads_index_data.php",
        "v2/pages/tools_index.php",
        "v2/pages/templates_index.php",
        "v2/pages/download_index.php",
        "v2/pages/download_zeiterfassung.php",
        "v2/pages/download_trinkgeld.php",
        "docs/systems/templates/template-data/**/content-blocks.json",
        "docs/systems/templates/template-data/**/content/*.md"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "date-management.mdc",
        "tools-pages-reference-seo.mdc",
        "templates-pages-core.mdc"
      ],
      "relatedDocs": [
        "docs/content/LABOR_LAW_VALUES_2026.md",
        "docs/guides/index-pages/INDEX_PAGES_ANNUAL_UPDATE_GUIDE.md",
        "docs/guides/resources/RESOURCES_RECURRING_AUDIT.md",
        "docs/ai/RULE_TO_DOC_MAPPING.md"
      ]
    },
    {
      "file": "indexing-optimization.mdc",
      "path": ".cursor/rules/indexing-optimization.mdc",
      "description": "When to @mention excluded paths for Cursor indexing optimization.",
      "globs": [],
      "alwaysApply": false,
      "relatedRules": [],
      "relatedDocs": [
        "docs/development/CURSOR_INDEXING_SETUP.md",
        "docs/development/CURSOR_INDEXING_OPTIMIZATION.md",
        "docs/development/CURSOR_INDEXING_DEBUGGING.md",
        "docs/development/PRE_INDEX_CHANGE_CHECKLIST.md",
        "docs/ai/SEMANTIC_SEARCH_INDEX.md"
      ]
    },
    {
      "file": "industry-pages.mdc",
      "path": ".cursor/rules/industry-pages.mdc",
      "description": "Industry/Branchen page patterns for vertical-specific messaging.",
      "globs": [
        "v2/pages/industry_*.php",
        "v2/pages/branchen_gastronomie_neu.php"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "product-pages.mdc",
        "shared-patterns.mdc",
        "marketing-pages-seo-data.mdc"
      ],
      "relatedDocs": [
        "docs/ai/RULE_TO_DOC_MAPPING.md",
        "docs/ai/cursor-playbook.md",
        "docs/content/pages/industry-pages/DATA_COLLECTION_BRANCHEN.md",
        "docs/content/pages/industry-pages/INDUSTRY_PAGE_SEO_DATA_WORKFLOW.md",
        "docs/content/pages/marketing-pages-registry.json",
        "docs/content/pages/industry-pages/INDUSTRY_PAGES_INVENTORY.md",
        "docs/content/pages/industry-pages/GASTRO_NEU_KEYWORD_RESEARCH.md",
        "docs/content/tools/TOOLS_DOCUMENTATION_QUALITY_REPORT.md",
        "docs/guides/PAGE_TYPE_GUIDES.md",
        "docs/guides/tools-pages/DOCUMENTATION_STRUCTURE.md",
        "docs/guides/tools-pages/README.md",
        "docs/guides/tools-pages/TOOLS_INVENTORY.md",
        "docs/guides/tools-pages/TOOLS_MAINTENANCE_GUIDE.md",
        "docs/guides/tools-pages/TOOL_DOCUMENTATION_TEMPLATE.md - docs/ai/rules-archive/industry-pages-full.md"
      ]
    },
    {
      "file": "international-expansion.mdc",
      "path": ".cursor/rules/international-expansion.mdc",
      "description": "International expansion patterns - hreflang, locale config, waitlist form, pre-launch markets.",
      "globs": [
        "v2/config/locale-config.php",
        "v2/base/include_hreflang.php",
        "v2/base/include_ctabuttons.php",
        "v2/components/waitlist-form.php",
        "v2/api/waitlist-signup.php",
        "docs/strategy/international-expansion/**"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "global.mdc",
        "base-components.mdc"
      ],
      "relatedDocs": [
        "docs/strategy/international-expansion/INTERNATIONAL_EXPANSION_TECHNICAL_GUIDE.md",
        "docs/strategy/international-expansion/TARGET_MARKETS.md"
      ]
    },
    {
      "file": "komplettloesung-features-carousel-4.mdc",
      "path": ".cursor/rules/komplettloesung-features-carousel-4.mdc",
      "description": "4-tab Komplettlösung Alpine carousel — edit data + partial only; do not paste legacy inline featuresCarousel blocks.",
      "globs": [
        "v2/pages/paid_nonbrand.php",
        "v2/pages/paid_schichtbetriebe.php",
        "v2/pages/paid_paid.php",
        "v2/pages/kostenlos-testen.php",
        "v2/pages/landingpage_v3.php",
        "v2/sections/partials/komplettloesung-features-carousel-4.php",
        "v2/data/komplettloesung-features-carousel-4/*.php",
        "v2/css/komplettloesung-features-carousel-4.css",
        "v2/js/komplettloesung-features-carousel-4.js"
      ],
      "alwaysApply": false,
      "relatedRules": [],
      "relatedDocs": []
    },
    {
      "file": "lead-capture-copy.mdc",
      "path": ".cursor/rules/lead-capture-copy.mdc",
      "description": "Lead capture popup copy for blog posts – custom headline and description per post, no generic patterns, use blog-product-feature-mapping for feature selection.",
      "globs": [
        "v2/data/lead_capture_copy.php",
        "v2/scripts/blog/generate-lead-capture-copy.php"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "lead-capture.mdc",
        "ordio-promotion-contextual.mdc",
        "shared-patterns.mdc"
      ],
      "relatedDocs": [
        "docs/systems/lead-capture/COPY_MANAGEMENT.md",
        "docs/systems/lead-capture/LEAD_CAPTURE_COPY_BEST_PRACTICES.md",
        "docs/systems/lead-capture/FONIO_CALLBACK_COPY.md",
        "docs/data/blog-product-feature-mapping.json"
      ]
    },
    {
      "file": "lead-capture.mdc",
      "path": ".cursor/rules/lead-capture.mdc",
      "description": "Lead capture popup system patterns, requirements, and best practices.",
      "globs": [
        "v2/components/lead-capture-popup.php",
        "v2/components/lead-capture-copy-detector.php",
        "v2/data/lead_capture_copy.php",
        "v2/js/lead-capture-triggers.js",
        "v2/js/ordio-lead-capture-blocking-registry.js",
        "v2/api/lead-capture.php"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "api-endpoints-core.mdc",
        "form-tracking.mdc",
        "analytics-tracking.mdc"
      ],
      "relatedDocs": [
        "docs/systems/shared-components/LEAD_CAPTURE_COMPONENT.md",
        "docs/systems/shared-components/COMPONENT_USAGE_GUIDE.md",
        "docs/systems/forms/FORM_CONFIGURATION_REFERENCE.md",
        "docs/systems/apis/HUBSPOT_API_REFERENCE.md",
        "docs/systems/lead-capture/README.md",
        "docs/systems/lead-capture/ARCHITECTURE.md",
        "docs/systems/lead-capture/INTEGRATION_GUIDE.md",
        "docs/systems/lead-capture/FONIO_CALLBACK_COPY.md",
        "docs/systems/lead-capture/TRIGGER_CONFIGURATION.md",
        "docs/ai/rules-archive/lead-capture-full.md"
      ]
    },
    {
      "file": "lead-gen-forms-ux.mdc",
      "path": ".cursor/rules/lead-gen-forms-ux.mdc",
      "description": "Lead gen form UX patterns - spacing between consent and buttons, modal exit behavior (ESC, click-outside).",
      "globs": [
        "v2/base/include_form-gated-content.php",
        "v2/base/include_form-hs.php",
        "v2/components/lead-capture-popup.php",
        "v2/pages/templates_template.php",
        "v2/pages/tools_*.php",
        "v2/pages/download_*.php",
        "v2/sections/enterprise-box*.php",
        "v2/sections/pricing-addons.php"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "shared-patterns.mdc",
        "download-pages.mdc",
        "tools-pages-patterns-gated.mdc",
        "templates-cta.mdc",
        "form-tracking.mdc"
      ],
      "relatedDocs": [
        "docs/forms/LEAD_GEN_FORMS_UX_STANDARDS.md",
        "docs/systems/lead-capture/TRIGGER_CONFIGURATION.md",
        "docs/ai/RULE_TO_DOC_MAPPING.md"
      ]
    },
    {
      "file": "llm-files.mdc",
      "path": ".cursor/rules/llm-files.mdc",
      "description": "LLM files (llms.txt, llms-full.txt) patterns and requirements for AI/LLM crawler optimization",
      "globs": [
        "html/llms.txt",
        "html/llms-full.txt",
        "v2/scripts/llms/sync-blog-posts-to-llms.php",
        "v2/scripts/llms/validate-llms-metadata.py"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "shared-patterns.mdc",
        "content-writing.mdc"
      ],
      "relatedDocs": [
        "docs/seo-strategy-2026/LLM_FILES_GUIDE.md",
        "docs/seo-strategy-2026/LLM_FILES_MAINTENANCE.md",
        "docs/ai/rules-archive/llm-files-full.md"
      ]
    },
    {
      "file": "marketing-pages-seo-data.mdc",
      "path": ".cursor/rules/marketing-pages-seo-data.mdc",
      "description": "Marketing page SEO data pipelines — registry, SISTRIX, Serper, GSC/GA, orchestrators.",
      "globs": [
        "docs/content/pages/marketing-pages-registry.json",
        "v2/scripts/marketing-pages/**",
        "v2/scripts/static-pages/**",
        "v2/scripts/product-pages/collect-product-pages-*.php",
        "v2/scripts/product-pages/split-product-gsc-to-registry-pages.php",
        "v2/scripts/product-pages/merge-product-opportunity-data.php",
        "v2/scripts/product-pages/run-feature-page-research-pipeline.sh",
        "v2/scripts/product-pages/collect-feature-page-keyword-serp.php",
        "v2/scripts/marketing-pages/generate-static-data-synthesis.php",
        "v2/scripts/marketing-pages/collect-marketing-page-domain-kw-serp.php",
        "v2/scripts/product-pages/generate-feature-page-data-synthesis.php",
        "v2/scripts/product-pages/scrape-competitor-faqs.py",
        "docs/content/pages/industry-pages/**/data/**",
        "docs/content/pages/product-pages/**/data/**",
        "docs/content/pages/homepage/data/**",
        "docs/content/pages/static-pages/**/data/**"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "industry-pages.mdc",
        "static-pages.mdc",
        "blog-data-collection.mdc",
        "mcp-usage.mdc"
      ],
      "relatedDocs": [
        "docs/content/SEO_DATA_COLLECTION_MATRIX.md",
        "docs/content/pages/industry-pages/INDUSTRY_PAGE_SEO_DATA_WORKFLOW.md",
        "docs/content/pages/industry-pages/DATA_COLLECTION_BRANCHEN.md",
        "docs/content/pages/product-pages/FEATURE_PAGES_CONTENT_INDEX.md",
        "docs/content/pages/product-pages/FEATURE_PAGE_IMPROVEMENT_WORKFLOW.md",
        "docs/content/pages/product-pages/DATA_COLLECTION_PRODUCT_FEATURES.md",
        "docs/content/pages/static-pages/DATA_COLLECTION_STATIC_SITE.md",
        "docs/content/pages/marketing-pages/VIP_MARKETING_SEO_DATA_TIERS.md",
        "docs/content/CONTENT_CREATION_DATA_CHECKLIST.md"
      ]
    },
    {
      "file": "mcp-usage.mdc",
      "path": ".cursor/rules/mcp-usage.mdc",
      "description": "MCP (Model Context Protocol) usage guidance - when to use each MCP, MCP vs direct API, trigger phrases, and tool governance.",
      "globs": [],
      "alwaysApply": false,
      "relatedRules": [
        "figma-api.mdc",
        "api-endpoints-core.mdc",
        "excel-template-generator.mdc"
      ],
      "relatedDocs": [
        "docs/development/MCP_INTEGRATION.md",
        ".cursor/README-MCP.md",
        "docs/ai/rules-archive/mcp-usage-full.md"
      ]
    },
    {
      "file": "merchant-center.mdc",
      "path": ".cursor/rules/merchant-center.mdc",
      "description": "Merchant Center patterns - when to update feed, pricing sync, annual review.",
      "globs": [
        "v2/feeds/merchant-center-products.php",
        "v2/sections/pricing-data.php",
        "v2/pages/static_pricing*.php"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "static-pages.mdc",
        "annual-year-update.mdc"
      ],
      "relatedDocs": [
        "docs/systems/merchant-center/MERCHANT_CENTER_SETUP.md"
      ]
    },
    {
      "file": "mobile-app-features-layout.mdc",
      "path": ".cursor/rules/mobile-app-features-layout.mdc",
      "description": "#mobile-app-features scroll-sync layout — sticky panel, spacer, switcher JS; pages product_mobile_app + branchen_gastronomie_neu",
      "globs": [
        "v2/pages/product_mobile_app.php",
        "v2/pages/branchen_gastronomie_neu.php",
        "v2/css/mobile-app-components.css",
        "v2/js/mobile-app-visual-switcher.js"
      ],
      "alwaysApply": false,
      "relatedRules": [],
      "relatedDocs": [
        "docs/content/pages/product-pages/mobile-app-features-layout.md",
        "docs/content/pages/product-pages/mobile-app-visual-testing-guide.md"
      ]
    },
    {
      "file": "nano-ai-conversation-examples.mdc",
      "path": ".cursor/rules/nano-ai-conversation-examples.mdc",
      "description": "Nano AI conversation examples JSON + cards — conclusions, dates, pain-point alignment.",
      "globs": [
        "docs/data/nano-ai-conversation-examples.json",
        "v2/components/nano-ai/conversation-cards-component.php"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "product-pages.mdc"
      ],
      "relatedDocs": [
        "docs/content/pages/product-pages/nano-ai-conversation-examples-guide.md",
        "docs/content/pages/product-pages/nano-ai-page-redesign-documentation.md"
      ]
    },
    {
      "file": "no-internal-kostenlos-testen-links.mdc",
      "path": ".cursor/rules/no-internal-kostenlos-testen-links.mdc",
      "description": "Do not add internal links to /kostenlos-testen (paid ads LP); use /demo-vereinbaren or /preise instead.",
      "globs": [
        "v2/**/*.php",
        "v2/**/*.js",
        "html/**/*.php",
        "docs/content/**/*.md",
        "docs/content/**/*.json",
        ".cursor/rules/**/*.mdc"
      ],
      "alwaysApply": false,
      "relatedRules": [],
      "relatedDocs": [
        "docs/development/CANONICAL_URLS_AND_LINKING.md"
      ]
    },
    {
      "file": "ocr-api.mdc",
      "path": ".cursor/rules/ocr-api.mdc",
      "description": "Google Cloud Vision API integration patterns for business card OCR functionality",
      "globs": [
        "v2/api/ocr-business-card.php",
        "v2/config/google-vision.php",
        "v2/scripts/**/ocr*.php",
        "v2/admin/ocr*.php"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "api-endpoints-core.mdc",
        "api-endpoints-security.mdc"
      ],
      "relatedDocs": [
        "docs/systems/ocr/GOOGLE_VISION_API_SETUP.md",
        "docs/systems/ocr/API_KEY_RESTRICTIONS_TROUBLESHOOTING.md",
        "docs/ai/rules-archive/ocr-api-full.md"
      ]
    },
    {
      "file": "og-image-generation.mdc",
      "path": ".cursor/rules/og-image-generation.mdc",
      "description": "OG image generation workflow. When to regenerate, which script to use, validation steps, design constraints.",
      "globs": [
        "v2/scripts/og-images/**",
        "v2/img/og/**"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "og-images.mdc"
      ],
      "relatedDocs": [
        "docs/development/GEMINI_API_KEY_LOCAL.md",
        "docs/systems/og-images/OG_IMAGE_GENERATION.md",
        "docs/systems/og-images/OG_IMAGE_GUIDE.md",
        "docs/systems/og-images/NEW_PAGE_OG_AND_SOCIAL_CHECKLIST.md"
      ]
    },
    {
      "file": "og-images.mdc",
      "path": ".cursor/rules/og-images.mdc",
      "description": "OG image requirements for all page types. When to use page-type default vs custom. Required meta tags.",
      "globs": [],
      "alwaysApply": false,
      "relatedRules": [
        "shared-patterns.mdc",
        "comparison-pages-schema-meta.mdc",
        "templates-pages.mdc"
      ],
      "relatedDocs": [
        "docs/systems/og-images/OG_IMAGE_GUIDE.md",
        "docs/systems/og-images/OG_IMAGE_ASSET_CHECKLIST.md",
        "docs/systems/og-images/OG_IMAGE_GENERATION.md",
        "docs/content/META_TAGS_OPTIMIZATION_GUIDE.md",
        "docs/ai/rules-archive/og-images-full.md"
      ]
    },
    {
      "file": "omr-review-badges.mdc",
      "path": ".cursor/rules/omr-review-badges.mdc",
      "description": "OMR Reviews composite shield strip — SSOT data and PHP partial; do not hardcode badge image URLs in pages.",
      "globs": [
        "v2/pages/*pricing*.php",
        "v2/pages/paid_*.php",
        "v2/pages/landing*.php",
        "v2/pages/kostenlos*.php",
        "v2/pages/cello_einladung.php",
        "v2/pages/static_customers*.php",
        "v2/sections/pricing.php",
        "v2/sections/partials/omr-*.php",
        "v2/data/omr-review-badges.php"
      ],
      "alwaysApply": false,
      "relatedRules": [],
      "relatedDocs": [
        "docs/systems/shared-components/OMR_REVIEW_BADGES.md"
      ]
    },
    {
      "file": "ordio-loop-forms.mdc",
      "path": ".cursor/rules/ordio-loop-forms.mdc",
      "description": "Ordio Loop affiliate/referral capture requirements for all forms.",
      "globs": [
        "v2/base/include_form*.php",
        "v2/base/include_email_form.php",
        "v2/api/*.php",
        "html/form-hs.php"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "lead-capture.mdc",
        "form-tracking.mdc"
      ],
      "relatedDocs": [
        "docs/systems/affiliate/PARTNER_UTM_AND_ATTRIBUTION.md",
        "docs/systems/affiliate/FORM_REFERRAL_CAPTURE_AUDIT.md"
      ]
    },
    {
      "file": "ordio-promotion-contextual.mdc",
      "path": ".cursor/rules/ordio-promotion-contextual.mdc",
      "description": "Contextual Ordio feature promotion – select the Ordio product feature that matches the content topic instead of defaulting to Zeiterfassung/Dienstplanung.",
      "globs": [
        "docs/content/blog/posts/**/*",
        "v2/scripts/blog/suggest-ordio-feature.php",
        "v2/scripts/blog/audit-ordio-promotion.php"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "shared-patterns.mdc",
        "blog-tool-linking.mdc",
        "content-writing.mdc"
      ],
      "relatedDocs": [
        "docs/content/blog/ORDIO_PROMOTION_GUIDE.md",
        "docs/data/blog-product-feature-mapping.json"
      ]
    },
    {
      "file": "otterly-ai-monitoring.mdc",
      "path": ".cursor/rules/otterly-ai-monitoring.mdc",
      "description": "Otterly.ai AI-search monitoring patterns (pointer rule). Runtime SEO/performance routing remains in dedicated scoped rules.",
      "globs": [
        "docs/ai/otterly-prompt-research-process.md",
        "docs/ai/otterly-conversational-patterns.md",
        "docs/ai/rules-archive/otterly-ai-monitoring-full.md"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "performance-monitoring.mdc"
      ],
      "relatedDocs": [
        "docs/ai/otterly-prompt-research-process.md",
        "docs/ai/otterly-conversational-patterns.md",
        "docs/ai/rules-archive/otterly-ai-monitoring-full.md"
      ]
    },
    {
      "file": "page-improvement-data-baseline.mdc",
      "path": ".cursor/rules/page-improvement-data-baseline.mdc",
      "description": "Data baseline (GSC, GA4, research) for improving existing public URLs — SEO/AEO/GEO sprints.",
      "globs": [
        "docs/content/PAGE_IMPROVEMENT_DATA_PLAYBOOK.md",
        "docs/content/PAGE_IMPROVEMENT_ITERATION_CHECKLIST.md",
        "v2/scripts/tools/run-tools-improvement-pipeline.php",
        "v2/scripts/marketing-pages/run-page-research-pipeline.sh"
      ],
      "alwaysApply": false,
      "relatedRules": [],
      "relatedDocs": [
        "docs/content/PAGE_IMPROVEMENT_DATA_PLAYBOOK.md",
        "docs/content/PAGE_IMPROVEMENT_ITERATION_CHECKLIST.md",
        "docs/content/SEO_DATA_COLLECTION_MATRIX.md",
        "docs/content/pages/marketing-pages/VIP_MARKETING_SEO_DATA_TIERS.md",
        "docs/content/tools/DATA_COLLECTION_TOOLS.md",
        "docs/content/pages/industry-pages/DATA_COLLECTION_BRANCHEN.md",
        "docs/content/blog/IMPROVEMENT_DATA_COLLECTION_GUIDE.md"
      ]
    },
    {
      "file": "paid-landing-variations.mdc",
      "path": ".cursor/rules/paid-landing-variations.mdc",
      "description": "Paid landing page variations – lp_ parameters, sanitization, SEO. Use when editing paid_nonbrand.php or paid_schichtbetriebe.php.",
      "globs": [
        "v2/pages/paid_nonbrand.php",
        "v2/pages/paid_schichtbetriebe.php",
        "v2/helpers/paid-landing-variations.php"
      ],
      "alwaysApply": false,
      "relatedRules": [],
      "relatedDocs": []
    },
    {
      "file": "partner-pages.mdc",
      "path": ".cursor/rules/partner-pages.mdc",
      "description": "Partner landing page patterns (pointer rule). Runtime partner page routing stays in scoped page/api rules.",
      "globs": [
        "docs/systems/partner-pages/**/*.md",
        "docs/ai/rules-archive/partner-pages-full.md"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "shared-patterns.mdc",
        "homepage.mdc"
      ],
      "relatedDocs": [
        "docs/systems/partner-pages/PARTNER_PAGES_GUIDE.md",
        "docs/ai/rules-archive/partner-pages-full.md"
      ]
    },
    {
      "file": "partner-resources-assets.mdc",
      "path": ".cursor/rules/partner-resources-assets.mdc",
      "description": "Partner resources asset workflow - adding, analyzing, renaming marketing assets",
      "globs": [
        "v2/img/partner/**",
        "v2/scripts/partner/*.py",
        "v2/scripts/partner/*.php",
        "v2/data/partner_resources.json"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "affiliate-dashboard.mdc"
      ],
      "relatedDocs": [
        "docs/systems/affiliate/RESOURCES_LIBRARY.md",
        "docs/ai/rules-archive/partner-resources-assets-full.md"
      ]
    },
    {
      "file": "performance-monitoring.mdc",
      "path": ".cursor/rules/performance-monitoring.mdc",
      "description": "Performance monitoring patterns (pointer rule) for PSI dashboards and triage workflows.",
      "globs": [
        "docs/performance/**/*.md",
        "docs/ai/rules-archive/performance-monitoring-full.md"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "performance.mdc"
      ],
      "relatedDocs": [
        "docs/performance/README.md",
        "docs/ai/rules-archive/performance-monitoring-full.md"
      ]
    },
    {
      "file": "performance.mdc",
      "path": ".cursor/rules/performance.mdc",
      "description": "Performance optimization rules for external scripts, caching, and asset minification.",
      "globs": [],
      "alwaysApply": false,
      "relatedRules": [
        "performance-monitoring.mdc",
        "shared-patterns.mdc"
      ],
      "relatedDocs": [
        "docs/guides/ASSET_MINIFICATION.md",
        "docs/guides/EXTERNAL_SCRIPTS_CACHING.md",
        "docs/performance/caching-strategy.md",
        "docs/performance/testimonials-page-optimization-report.md - docs/ai/rules-archive/performance-full.md"
      ]
    },
    {
      "file": "php-extensions.mdc",
      "path": ".cursor/rules/php-extensions.mdc",
      "description": "PHP extension dependency patterns - Required checks, fallback patterns, and production deployment guidelines for PHP extensions (mbstring, iconv, gd, curl, etc.).",
      "globs": [
        "v2/**/*.php",
        "v2/config/**/*.php",
        "v2/api/**/*.php",
        "v2/helpers/**/*.php"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "global.mdc",
        "api-endpoints-core.mdc"
      ],
      "relatedDocs": [
        "docs/development/PHP_EXTENSION_DEPENDENCIES.md",
        "docs/development/PHP_EXTENSION_FALLBACK_PATTERNS.md",
        "docs/development/PRODUCTION_DEPLOYMENT_CHECKLIST.md",
        "docs/ai/rules-archive/php-extensions-full.md"
      ]
    },
    {
      "file": "php-file-indexing.mdc",
      "path": ".cursor/rules/php-file-indexing.mdc",
      "description": "Prevent internal PHP files from being indexed; redirect or block direct access.",
      "globs": [
        ".htaccess",
        "robots.txt",
        "v2/sections/*.php",
        "v2/base/*.php",
        "v2/components/**/*.php",
        "v2/helpers/*.php",
        "v2/config/*.php"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "base-components.mdc"
      ],
      "relatedDocs": [
        "docs/seo/PHP_FILE_INDEXING_PREVENTION.md",
        "docs/ai/RULE_TO_DOC_MAPPING.md"
      ]
    },
    {
      "file": "pillar-pages.mdc",
      "path": ".cursor/rules/pillar-pages.mdc",
      "description": "Pillar page patterns for SEO content hubs with internal linking.",
      "globs": [
        "v2/pages/pillar_*.php"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "content-clusters.mdc",
        "shared-patterns.mdc"
      ],
      "relatedDocs": [
        "docs/content/SEO_DATA_COLLECTION_MATRIX.md",
        "docs/ai/RULE_TO_DOC_MAPPING.md",
        "docs/ai/cursor-playbook.md",
        "docs/guides/PAGE_TYPE_GUIDES.md",
        "docs/content/pages/pillar-pages/DATA_COLLECTION_PILLAR.md",
        {
          "docs/content/pages/pillar-pages/zeiterfassung/ (example": "SERP_ANALYSIS, COMPETITIVE_ANALYSIS, CONTENT_OUTLINE)"
        }
      ]
    },
    {
      "file": "pricing-components-dependencies.mdc",
      "path": ".cursor/rules/pricing-components-dependencies.mdc",
      "description": "Pricing component dependencies - Required CSS/JS files for pricing-card-modern.php. Use when adding pricing components to new pages or fixing broken pricing displays.",
      "globs": [
        "v2/pages/landingpage*.php",
        "v2/pages/static_pricing*.php",
        "v2/pages/paid_*.php",
        "v2/pages/kostenlos_testen_neu.php",
        "v2/sections/pricing-card-modern.php"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "pricing-tooltips.mdc",
        "pricing-page-copy.mdc",
        "global.mdc"
      ],
      "relatedDocs": [
        "docs/systems/pricing-components/PRICING_COMPONENTS_AUDIT.md",
        "docs/content/pages/static-pages/pricing-documentation.md"
      ]
    },
    {
      "file": "pricing-page-copy.mdc",
      "path": ".cursor/rules/pricing-page-copy.mdc",
      "description": "Pricing page feature description copy – benefit-led, user-centric, du tone. Use when editing pricing plan card descriptions.",
      "globs": [
        "v2/sections/pricing-data.php",
        "v2/sections/pricing-card-modern.php"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "shared-patterns.mdc",
        "product-features.mdc"
      ],
      "relatedDocs": [
        "docs/content/PRICING_PAGE_COPY_GUIDELINES.md"
      ]
    },
    {
      "file": "pricing-tooltips.mdc",
      "path": ".cursor/rules/pricing-tooltips.mdc",
      "description": "Pricing page tooltip patterns - WCAG 2.2 compliant tooltips for feature descriptions. Use when editing pricing page tooltips or adding new tooltip functionality.",
      "globs": [
        "v2/components/pricing-feature-tooltip.php",
        "v2/css/pricing-tooltips.css",
        "v2/js/pricing-tooltips.js",
        "v2/sections/pricing-card-modern.php"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "pricing-page-copy.mdc",
        "shared-patterns.mdc"
      ],
      "relatedDocs": [
        "docs/guides/pricing-page-tooltips.md"
      ]
    },
    {
      "file": "privacy-policy-maintenance.mdc",
      "path": ".cursor/rules/privacy-policy-maintenance.mdc",
      "description": "Privacy policy maintenance – when adding/removing tracking tools, update Drittanbieter sections and Stand date.",
      "globs": [
        "v2/pages/static_privacy.php"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "gdpr-consent.mdc"
      ],
      "relatedDocs": [
        "docs/systems/gdpr/GDPR_DSGVO_WEBSITE_AUDIT.md",
        "docs/systems/gdpr/GDPR_DSGVO_HUBSPOT_AUDIT.md",
        "docs/content/pages/static-pages/legal-pages-documentation.md"
      ]
    },
    {
      "file": "product-feature-cards.mdc",
      "path": ".cursor/rules/product-feature-cards.mdc",
      "description": "Product feature card copy — Schichtplan, Zeiterfassung, Abwesenheiten pages.",
      "globs": [
        "v2/pages/product_schichtplan_neu.php",
        "v2/pages/product_shiftplan.php",
        "v2/pages/product_timetracking.php",
        "v2/pages/product_absences.php"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "product-pages.mdc",
        "shared-patterns.mdc"
      ],
      "relatedDocs": [
        "docs/content/product-features/PRODUCT_FEATURE_CARDS_SPEC.md",
        "docs/content/CONTENT_WRITING_BEST_PRACTICES_2026.md"
      ]
    },
    {
      "file": "product-features.mdc",
      "path": ".cursor/rules/product-features.mdc",
      "description": "Product feature documentation patterns for Ordio feature documentation files.",
      "globs": [
        "docs/content/product-features/*-documentation.md",
        "docs/content/product-features/PRODUCT_FEATURES_INVENTORY.md"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "product-pages.mdc",
        "shared-patterns.mdc"
      ],
      "relatedDocs": [
        "docs/DOCUMENTATION_TEMPLATES.md",
        "docs/ai/RULE_TO_DOC_MAPPING.md",
        "docs/content/helpdesk/ENHANCEMENT_PLAN.md",
        "docs/content/helpdesk/FINAL_PROJECT_SUMMARY.md",
        "docs/content/helpdesk/HELPDESK_TO_FEATURE_MAPPING.md",
        "docs/content/product-features/CONTENT_ENHANCEMENT_PLAN.md",
        "docs/content/product-features/ENHANCEMENT_SUMMARY.md",
        "docs/content/product-features/PRODUCT_FEATURES_INVENTORY.md",
        "docs/content/product-features/VISUAL_DOCUMENTATION_PLAN.md - docs/ai/rules-archive/product-features-full.md"
      ]
    },
    {
      "file": "product-pages-faq.mdc",
      "path": ".cursor/rules/product-pages-faq.mdc",
      "description": "Product page FAQ patterns - research-first workflow, accuracy guardrails, AEO/GEO, internal linking.",
      "globs": [
        "v2/pages/product_*.php",
        "v2/scripts/product-pages/*.php",
        "v2/scripts/product-pages/*.py"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "product-pages.mdc",
        "tools-pages-faq.mdc",
        "shared-patterns.mdc",
        "no-internal-kostenlos-testen-links.mdc"
      ],
      "relatedDocs": [
        "docs/content/FAQ_WEBSITE_STANDARD.md",
        "docs/content/FAQ_REWORK_DECISION_TREE.md",
        "docs/content/pages/product-pages/FEATURE_PAGES_CONTENT_INDEX.md",
        "docs/content/pages/product-pages/FEATURE_PAGE_IMPROVEMENT_WORKFLOW.md",
        "docs/content/pages/product-pages/PRODUCT_PAGE_FAQ_GUIDE.md",
        "docs/content/blog/FAQ_BEST_PRACTICES.md",
        "docs/content/blog/FAQ_SCHEMA_BEST_PRACTICES.md"
      ]
    },
    {
      "file": "product-pages.mdc",
      "path": ".cursor/rules/product-pages.mdc",
      "description": "Product/feature page patterns for Ordio marketing pages.",
      "globs": [
        "v2/pages/product_*.php",
        "v2/css/product-pages.css"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "no-internal-kostenlos-testen-links.mdc",
        "product-features.mdc",
        "product-feature-cards.mdc",
        "product-updates.mdc",
        "shared-patterns.mdc"
      ],
      "relatedDocs": [
        "docs/ai/RULE_TO_DOC_MAPPING.md",
        "docs/ai/cursor-playbook.md",
        "docs/content/AI_CONTENT_AVOIDANCE_GUIDE.md",
        "docs/content/CONTENT_WRITING_BEST_PRACTICES_2026.md",
        "docs/content/META_TAGS_OPTIMIZATION_GUIDE.md",
        "docs/content/pages/product-pages/DATA_COLLECTION_PRODUCT_FEATURES.md",
        "docs/content/pages/product-pages/FEATURE_PAGES_CONTENT_INDEX.md",
        "docs/content/pages/product-pages/FEATURE_PAGE_IMPROVEMENT_WORKFLOW.md",
        "docs/content/pages/product-pages/PRODUCT_PAGE_FAQ_GUIDE.md",
        "docs/content/pages/product-pages/PRODUCT_PAGES_INVENTORY.md",
        "docs/content/product-features/PRODUCT_FEATURES_INVENTORY.md",
        "docs/content/product-features/README.md",
        "docs/content/product-features/PRODUCT_FEATURE_CARDS_SPEC.md",
        "docs/guides/PAGE_TYPE_GUIDES.md",
        "docs/ai/rules-archive/product-pages-full.md"
      ]
    },
    {
      "file": "product-updates.mdc",
      "path": ".cursor/rules/product-updates.mdc",
      "description": "Unified rules for Product Updates system (admin, content, core, storage).",
      "globs": [],
      "alwaysApply": false,
      "relatedRules": [
        "shared-patterns.mdc"
      ],
      "relatedDocs": [
        "docs/ai/rules-archive/product-updates-unified.md"
      ]
    },
    {
      "file": "produkt-updates-admin-oauth.mdc",
      "path": ".cursor/rules/produkt-updates-admin-oauth.mdc",
      "description": "Product Updates Admin Google OAuth — @ordio.com only, env secrets, callback routes.",
      "globs": "v2/pages/produkt_updates_admin.php,v2/pages/produkt-updates-oauth-*.php,v2/includes/produkt-updates-admin-*.php,v2/api/produkt-updates-upload.php,v2/api/produkt-updates-autosave.php,v2/api/produkt-updates-seo-generate.php,v2/config/oauth-config.php,v2/config/admin_config.php,v2/helpers/oauth-google.php",
      "alwaysApply": false,
      "relatedRules": [],
      "relatedDocs": []
    },
    {
      "file": "produkt-updates-editor-workflow.mdc",
      "path": ".cursor/rules/produkt-updates-editor-workflow.mdc",
      "description": "Product Updates admin editor — drafts, scheduling, autosave, visibility helper, shared PHP includes.",
      "globs": [],
      "alwaysApply": false,
      "relatedRules": [],
      "relatedDocs": []
    },
    {
      "file": "produkt-updates-images.mdc",
      "path": ".cursor/rules/produkt-updates-images.mdc",
      "description": "Product Updates image storage, upload, library, and admin flows — pointer to SSOT docs and PHP entrypoints.",
      "globs": "v2/api/produkt-updates-*.php,v2/pages/produkt_updates_admin.php,v2/pages/produkt-updates-bilder.php,v2/includes/produkt-updates-paths.php,v2/config/produkt-updates-storage.php",
      "alwaysApply": false,
      "relatedRules": [],
      "relatedDocs": []
    },
    {
      "file": "semrush-keyword-tracking.mdc",
      "path": ".cursor/rules/semrush-keyword-tracking.mdc",
      "description": "SEMrush Position Tracking keyword list – when to update, how to run aggregation, import format.",
      "globs": [
        "v2/scripts/seo/aggregate-semrush-keywords.py",
        "docs/seo/semrush-position-tracking-keywords-500.txt",
        "docs/seo/semrush-keyword-candidates.json"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "templates-new-template-creation.mdc",
        "content-clusters.mdc"
      ],
      "relatedDocs": [
        "docs/seo/SEMRUSH_POSITION_TRACKING_GUIDE.md",
        "docs/strategy-2026/03-ANALYSIS/CURRENT_STATE_ANALYSIS.md"
      ]
    },
    {
      "file": "seo-dashboard-admin.mdc",
      "path": ".cursor/rules/seo-dashboard-admin.mdc",
      "description": "SEO dashboard admin patterns (pointer rule). Runtime routing is handled by dashboard.mdc; this file points to deep admin guidance docs.",
      "globs": [
        "docs/ai/rules-archive/seo-dashboard-admin-full.md",
        "docs/ai/RULE_TO_DOC_MAPPING.md"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "dashboard.mdc"
      ],
      "relatedDocs": [
        "docs/ai/rules-archive/seo-dashboard-admin-full.md",
        "docs/ai/RULE_TO_DOC_MAPPING.md"
      ]
    },
    {
      "file": "seo-strategy-2026.mdc",
      "path": ".cursor/rules/seo-strategy-2026.mdc",
      "description": "SEO Strategy 2026 patterns for data collection, analysis, and strategy development. Includes directory structure, data sources, and workflow guidelines.",
      "globs": [
        "docs/seo-strategy-2026/**/*.md",
        "docs/seo-strategy-2026/**/*.py",
        "docs/seo-strategy-2026/**/*.json"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "goal-setting-metrics.mdc",
        "seo-strategy-organic-goals.mdc"
      ],
      "relatedDocs": [
        "docs/seo-strategy-2026/README.md",
        "docs/seo-strategy-2026/PROJECT_STATUS.md",
        "docs/seo-strategy-2026/NEXT_STEPS.md",
        "docs/seo-strategy-2026/docs/DATA_COLLECTION_GUIDE.md",
        "docs/ai/rules-archive/seo-strategy-2026-full.md"
      ]
    },
    {
      "file": "seo-strategy-organic-goals.mdc",
      "path": ".cursor/rules/seo-strategy-organic-goals.mdc",
      "description": "Organic search goals — data collection, filtering, modeling; GA4/GSC/HubSpot.",
      "globs": [
        "docs/seo-strategy-2026/docs/goals/**/*.md"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "seo-strategy-2026.mdc",
        "goal-setting-metrics.mdc"
      ],
      "relatedDocs": [
        "docs/seo-strategy-2026/analysis/ORGANIC_SEARCH_COMPREHENSIVE_ANALYSIS.md",
        "docs/seo-strategy-2026/goals/ORGANIC_MONTHLY_GOALS_2026.md"
      ]
    },
    {
      "file": "shared-patterns.mdc",
      "path": ".cursor/rules/shared-patterns.mdc",
      "description": "Shared patterns and guidelines used across multiple page types.",
      "globs": [],
      "alwaysApply": false,
      "relatedRules": [
        "global.mdc",
        "content-writing.mdc"
      ],
      "relatedDocs": [
        "docs/development/DEV_TOOLING.md",
        "docs/AI_AGENT_GUIDE.md",
        "docs/DOCUMENTATION_STANDARDS.md",
        "docs/ai/RULE_TO_DOC_MAPPING.md",
        "docs/content/AI_CONTENT_AVOIDANCE_GUIDE.md",
        "docs/content/CONTENT_STRUCTURE_FORMATTING_GUIDE.md",
        "docs/content/CONTENT_WRITING_BEST_PRACTICES_2026.md",
        "docs/content/blog/ANCHOR_TEXT_FORMATTING.md",
        "docs/forms/FORM_TRACKING_BEST_PRACTICES.md",
        "docs/forms/FORM_TRACKING_DEVELOPER_GUIDE.md",
        "docs/forms/GTM_FORM_TRACKING_GUIDE.md",
        "docs/guides/PAGE_TYPE_GUIDES.md",
        "docs/seo/ahrefs-link-opportunities-process.md - docs/ai/rules-archive/shared-patterns-full.md"
      ]
    },
    {
      "file": "shiftops-backend.mdc",
      "path": ".cursor/rules/shiftops-backend.mdc",
      "description": "ShiftOps backend + analyzer patterns (scoring, caching, integrations).",
      "globs": [
        "v2/api/shiftops.php",
        "v2/api/shiftops-*.php",
        "v2/data/**",
        "v2/config/shiftops-*.php"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "shiftops-frontend-core.mdc",
        "shiftops-frontend-qa.mdc",
        "api-endpoints-core.mdc",
        "shared-patterns.mdc"
      ],
      "relatedDocs": [
        "docs/ai/RULE_TO_DOC_MAPPING.md",
        "docs/guides/PAGE_TYPE_GUIDES.md",
        "docs/systems/shiftops/README.md",
        "docs/systems/shiftops/SHIFTOPS_API_DOCUMENTATION.md",
        "docs/systems/shiftops/SHIFTOPS_ARCHITECTURE.md",
        "docs/systems/shiftops/SHIFTOPS_COMPONENTS.md",
        "docs/systems/shiftops/SHIFTOPS_DATA_STRUCTURES.md",
        "docs/systems/shiftops/SHIFTOPS_DEVELOPMENT_CHECKLIST.md",
        "docs/systems/shiftops/SHIFTOPS_QUICK_REFERENCE.md",
        "docs/systems/shiftops/SHIFTOPS_SCORING_QUICK_REFERENCE.md",
        "docs/systems/shiftops/SHIFTOPS_SCORING_SYSTEM.md",
        "docs/systems/shiftops/SHIFTOPS_TROUBLESHOOTING.md",
        "docs/systems/shiftops/TEAM_ESTIMATION_CHANGELOG.md",
        "docs/systems/shiftops/TEAM_ESTIMATION_QUICK_REFERENCE.md - docs/ai/rules-archive/shiftops-backend-full.md"
      ]
    },
    {
      "file": "shiftops-frontend-core.mdc",
      "path": ".cursor/rules/shiftops-frontend-core.mdc",
      "description": "ShiftOps frontend workflows - Core: Data flow, UI/UX patterns, integration checks, localStorage management, team size display, and NPS survey.",
      "globs": [
        "v2/pages/shiftops*.php",
        "v2/components/lead-capture-popup.php",
        "v2/js/shiftops*.js"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "shiftops-frontend-qa.mdc",
        "shiftops-backend.mdc",
        "lead-capture.mdc"
      ],
      "relatedDocs": [
        "docs/systems/shiftops/README.md",
        "docs/ai/rules-archive/shiftops-frontend-core-full.md"
      ]
    },
    {
      "file": "shiftops-frontend-qa.mdc",
      "path": ".cursor/rules/shiftops-frontend-qa.mdc",
      "description": "ShiftOps frontend workflows - QA & Advanced: QA checklist, common pitfalls, performance optimization, tracking implementation, scoring display, and reference documentation.",
      "globs": [
        "v2/pages/shiftops*.php",
        "v2/components/lead-capture-popup.php",
        "v2/js/shiftops*.js"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "shiftops-frontend-core.mdc",
        "shiftops-backend.mdc"
      ],
      "relatedDocs": [
        "docs/systems/shiftops/README.md",
        "docs/ai/rules-archive/shiftops-frontend-qa-full.md"
      ]
    },
    {
      "file": "static-pages.mdc",
      "path": ".cursor/rules/static-pages.mdc",
      "description": "Static page patterns for legal, pricing, customers, and company pages.",
      "globs": [
        "v2/pages/static_*.php"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "shared-patterns.mdc"
      ],
      "relatedDocs": [
        "docs/ai/RULE_TO_DOC_MAPPING.md",
        "docs/ai/cursor-playbook.md",
        "docs/content/pages/static-pages/STATIC_PAGES_INVENTORY.md",
        "docs/content/pages/static-pages/EVENTS_PAGE_COMPONENTS.md",
        "docs/content/pages/static-pages/kunden-documentation.md",
        "docs/content/pages/static-pages/DATA_COLLECTION_STATIC_SITE.md",
        "docs/guides/PAGE_TYPE_GUIDES.md",
        "docs/systems/video-carousel/VIDEO_CAROUSEL_IMPLEMENTATION_SUMMARY.md",
        "docs/systems/video-carousel/VALIDATION_REPORT.md",
        "docs/systems/video-optimization/VIDEO_OPTIMIZATION_GUIDE.md"
      ]
    },
    {
      "file": "static-partner-loop.mdc",
      "path": ".cursor/rules/static-partner-loop.mdc",
      "description": "Ordio Loop partner landing page patterns - /partner page, calculator components, conversion-focused structure.",
      "globs": [
        "v2/pages/static_partner.php",
        "v2/includes/partner-income-calculator-*.php",
        "v2/includes/partner-first-year-earnings-animation.php",
        "v2/js/partner-earnings-scroll.js"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "affiliate-dashboard.mdc",
        "shared-patterns.mdc"
      ],
      "relatedDocs": [
        "docs/systems/affiliate/PARTNER_PAGE_LANDING.md",
        "docs/systems/affiliate/PARTNER_GUIDE.md",
        "docs/systems/affiliate/LEVEL_CALCULATION.md",
        "docs/systems/affiliate/ORDIO_LOOP_ICONOGRAPHY.md",
        "docs/content/pages/static-pages/DATA_COLLECTION_STATIC_SITE.md"
      ]
    },
    {
      "file": "template-ordio-cta.mdc",
      "path": ".cursor/rules/template-ordio-cta.mdc",
      "description": "Excel/Sheets template Ordio CTA — Anleitung + Ordio sheet; feature mapping JSON.",
      "globs": [
        "v2/systems/excel-template-generator/data/template-definitions/**/*.json"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "ordio-promotion-contextual.mdc",
        "templates-cta.mdc",
        "templates-new-template-creation.mdc"
      ],
      "relatedDocs": [
        "docs/guides/templates/IN_TEMPLATE_ORDIO_CTA_GUIDE.md",
        "v2/data/template-ordio-feature-mapping.json"
      ]
    },
    {
      "file": "template-slug-keyword.mdc",
      "path": ".cursor/rules/template-slug-keyword.mdc",
      "description": "Template slug must be German and derived from primary keyword. Data-driven SEO for template URLs.",
      "globs": [
        "v2/systems/excel-template-generator/data/template-registry.json",
        "docs/systems/templates/template-data/**/data/keywords-sistrix.json",
        ".htaccess"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "templates-pages-seo.mdc",
        "templates-inventory-keyword-driven.mdc"
      ],
      "relatedDocs": [
        "docs/systems/templates/TEMPLATE_SYSTEM_OVERVIEW.md",
        "docs/systems/templates/TEMPLATE_SLUG_MIGRATION_GUIDE.md",
        "docs/systems/templates/SLUG_KEYWORD_ALIGNMENT_AUDIT.md",
        "docs/systems/templates/TEMPLATE_INVENTORY_KEYWORD_WORKFLOW.md"
      ]
    },
    {
      "file": "templates-content-creation-gate.mdc",
      "path": ".cursor/rules/templates-content-creation-gate.mdc",
      "description": "Template content gate — validators, SERP/outline quality, block depth before edits.",
      "globs": [
        "docs/systems/templates/template-data/**/content-blocks.json",
        "docs/systems/templates/template-data/**/CONTENT_OUTLINE.md",
        "docs/systems/templates/template-data/**/SERP_ANALYSIS.md"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "templates-new-template-creation.mdc",
        "templates-pages-improvement-process.mdc",
        "templates-pages-content-blocks.mdc",
        "templates-pages-faq.mdc"
      ],
      "relatedDocs": [
        "docs/content/CONTENT_CREATION_DATA_CHECKLIST.md",
        "docs/content/blog/CONTENT_EXPANSION_CONTINUITY.md",
        "docs/content/blog/ANTI_FLUFF_CHECKLIST.md",
        "docs/systems/templates/TEMPLATE_CREATION_WORKFLOW.md",
        "docs/systems/templates/TEMPLATE_CONTENT_CREATION_WORKFLOW.md",
        "docs/systems/templates/TEMPLATE_CONTENT_WORKFLOW.md",
        "docs/systems/templates/TEMPLATE_CONTENT_DEPTH_GUIDELINES.md"
      ]
    },
    {
      "file": "templates-cta.mdc",
      "path": ".cursor/rules/templates-cta.mdc",
      "description": "Template page CTA sections — layout, responsive patterns, messaging.",
      "globs": [
        "v2/pages/templates_*.php",
        "v2/components/template-cta*.php"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "templates-pages.mdc",
        "lead-gen-forms-ux.mdc"
      ],
      "relatedDocs": [
        "docs/guides/templates/TEMPLATE_CTA_GUIDE.md",
        "docs/guides/templates/TEMPLATE_PRODUCT_MAPPING.md - docs/ai/rules-archive/templates-cta-full.md"
      ]
    },
    {
      "file": "templates-hero-visuals.mdc",
      "path": ".cursor/rules/templates-hero-visuals.mdc",
      "description": "Template hero-visual.json — 8 rows, no formulas; dedicated JSON per published slug.",
      "globs": [
        "v2/data/template-hero-visuals/*.json",
        "v2/config/template-page-config.php",
        "v2/config/excel-visual-extractor.php",
        "v2/components/excel-visual.php",
        "v2/components/excel-visual-mini.php"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "templates-new-template-creation.mdc",
        "templates-pages-content-blocks.mdc"
      ],
      "relatedDocs": [
        "docs/systems/templates/TEMPLATE_HERO_VISUALS.md",
        "docs/systems/templates/TEMPLATE_CREATION_WORKFLOW.md"
      ]
    },
    {
      "file": "templates-internal-linking.mdc",
      "path": ".cursor/rules/templates-internal-linking.mdc",
      "description": "Template internal linking — suggest script, link targets JSON, natural anchors.",
      "globs": [
        "docs/systems/templates/template-data/**/content-blocks.json",
        "v2/systems/excel-template-generator/data/template-faqs.json",
        "docs/systems/templates/template-internal-link-targets.json",
        "docs/data/template-internal-link-mapping.json"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "templates-pages-content-blocks.mdc",
        "templates-pages-faq.mdc",
        "templates-new-template-creation.mdc"
      ],
      "relatedDocs": [
        "docs/systems/internal-linking/TEMPLATES_TOOLS_DOWNLOADS_INTERNAL_LINKING.md",
        "docs/content/blog/INTERNAL_LINKING_WORKFLOW_2026.md",
        "docs/systems/templates/template-internal-link-targets.json",
        "docs/data/template-internal-link-mapping.json"
      ]
    },
    {
      "file": "templates-inventory-keyword-driven.mdc",
      "path": ".cursor/rules/templates-inventory-keyword-driven.mdc",
      "description": "Template inventory — keyword-first setup (not use-case-first); see TEMPLATE_INVENTORY_KEYWORD_WORKFLOW.",
      "globs": [
        "v2/systems/excel-template-generator/data/template-registry.json",
        "docs/systems/templates/template-candidate-keywords.json",
        "docs/systems/templates/template-seed-keywords.json"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "templates-pages-seo.mdc",
        "templates-pages-core.mdc"
      ],
      "relatedDocs": [
        "docs/systems/templates/TEMPLATE_INVENTORY_KEYWORD_WORKFLOW.md",
        "docs/systems/templates/TEMPLATE_SEO_META_WORKFLOW.md",
        "docs/systems/templates/TEMPLATE_CANNIBALIZATION_GUIDE.md",
        "v2/systems/excel-template-generator/docs/TEMPLATE_PRIORITY_LIST.md",
        "v2/systems/excel-template-generator/docs/FILTERING_GUIDELINES.md"
      ]
    },
    {
      "file": "templates-new-template-creation.mdc",
      "path": ".cursor/rules/templates-new-template-creation.mdc",
      "description": "New template creation workflow – scaffold, pipeline, competitive analysis, Excel generation, validation. Use when creating new templates from keywords.",
      "globs": [
        "v2/scripts/templates/create-new-template.php",
        "v2/scripts/templates/run-new-template-pipeline.php",
        "v2/systems/excel-template-generator/data/template-definitions/examples/*.json",
        "docs/systems/templates/template-data/**/target-keywords.json"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "template-ordio-cta.mdc",
        "templates-content-creation-gate.mdc",
        "templates-pages-improvement-process.mdc",
        "excel-template-generator-core.mdc",
        "excel-template-generator-advanced.mdc"
      ],
      "relatedDocs": [
        "docs/systems/templates/TEMPLATE_CREATION_2026.md",
        "docs/systems/templates/TEMPLATE_CREATION_WORKFLOW.md",
        "docs/systems/templates/TEMPLATE_COMPETITIVE_ANALYSIS_GUIDE.md",
        "docs/systems/excel-generator/TEMPLATE_BEST_PRACTICES_RESEARCH.md - docs/ai/rules-archive/templates-new-template-creation-full.md"
      ]
    },
    {
      "file": "templates-pages.mdc",
      "path": ".cursor/rules/templates-pages.mdc",
      "description": "Unified rules for Template pages (core, components, content blocks, FAQ, improvement process, SEO).",
      "globs": [],
      "alwaysApply": false,
      "relatedRules": [
        "shared-patterns.mdc",
        "base-components.mdc"
      ],
      "relatedDocs": [
        "docs/ai/rules-archive/templates-pages-unified.md"
      ]
    },
    {
      "file": "testimonials.mdc",
      "path": ".cursor/rules/testimonials.mdc",
      "description": "Testimonials data — OMR/Google sources, structure, queries, display.",
      "globs": [
        "v2/data/testimonials/**/*.json",
        "v2/helpers/testimonials-helper.php",
        "v2/js/testimonials*.js"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "shared-patterns.mdc"
      ],
      "relatedDocs": [
        "docs/ai/RULE_TO_DOC_MAPPING.md - docs/ai/rules-archive/testimonials-full.md"
      ]
    },
    {
      "file": "three-card-testimonials.mdc",
      "path": ".cursor/rules/three-card-testimonials.mdc",
      "description": "Use canonical data + partial for the three-card customer testimonial grid; no inline duplication.",
      "globs": [
        "v2/pages/compare_*.php",
        "v2/pages/industry_*.php",
        "v2/sections/partials/three-card-testimonials.php",
        "v2/data/three-card-testimonials.php"
      ],
      "alwaysApply": false,
      "relatedRules": [],
      "relatedDocs": []
    },
    {
      "file": "tools-calculator-ui-parity.mdc",
      "path": ".cursor/rules/tools-calculator-ui-parity.mdc",
      "description": "Ordio tool calculators — UI parity with Kurzarbeitergeld (form hints, results shell, Rechenweg). Use when building or restyling tools_krankengeld_rechner, tools_kurzarbeitergeld_rechner, or similar calculator pages.",
      "globs": "v2/pages/tools_*rechner.php,v2/includes/tools/**/calculator-section.php,v2/js/*/calculator.js",
      "alwaysApply": false,
      "relatedRules": [],
      "relatedDocs": []
    },
    {
      "file": "tools-firmennamen-api.mdc",
      "path": ".cursor/rules/tools-firmennamen-api.mdc",
      "description": "Firmennamen Generator public API — security, rate limits, CORS, Gemini cost controls.",
      "globs": [
        "v2/api/generate-company-names.php",
        "v2/helpers/firmennamen-api-security.php",
        "v2/pages/tools_firmennamen_generator.php",
        "docs/content/tools/firmennamen-generator/FIRMENNAMEN_GENERATOR_API.md"
      ],
      "alwaysApply": false,
      "relatedRules": [],
      "relatedDocs": [
        "docs/content/tools/firmennamen-generator/FIRMENNAMEN_GENERATOR_API.md",
        "docs/development/GEMINI_OPTIMIZATION_GUIDE.md"
      ]
    },
    {
      "file": "tools-gated-export-pdf-csv.mdc",
      "path": ".cursor/rules/tools-gated-export-pdf-csv.mdc",
      "description": "Gated PDF/CSV tool exports — mirror Kurzarbeitergeld/Krankengeld (jsPDF, collect-lead, GTM).",
      "globs": [],
      "alwaysApply": false,
      "relatedRules": [],
      "relatedDocs": []
    },
    {
      "file": "tools-pages.mdc",
      "path": ".cursor/rules/tools-pages.mdc",
      "description": "Unified rules for all Tools/Calculator pages (patterns, content blocks, FAQ, schema, export, documentation, specific calculators).",
      "globs": [
        "v2/pages/tools_*.php",
        "v2/data/tools-faqs/*.json",
        "docs/content/tools/**/*.md"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "shared-patterns.mdc",
        "base-components.mdc"
      ],
      "relatedDocs": [
        "docs/ai/rules-archive/tools-pages-unified.md"
      ]
    },
    {
      "file": "tools-prioritization.mdc",
      "path": ".cursor/rules/tools-prioritization.mdc",
      "description": "Tools/rechner prioritisation: when to run SISTRIX tools script, where outputs live, how to update opportunity list and prioritisation doc.",
      "globs": [
        "docs/content/tools/*.md",
        "docs/content/tools/*.json",
        "v2/scripts/tools/*.php"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "tools-pages.mdc"
      ],
      "relatedDocs": [
        "docs/content/tools/DATA_COLLECTION_TOOLS.md",
        "docs/content/tools/TOOLS_SLUG_MATRIX.md",
        "docs/content/tools/TOOLS_SEO_IMPROVEMENT_BACKLOG.md",
        "docs/content/tools/TOOLS_PRIORITIZATION_2026.md",
        "docs/content/tools/TOOLS_OPPORTUNITY_LIST.md",
        "docs/content/tools/TOOLS_PERFORMANCE_DATA.md",
        "docs/guides/tools-pages/README.md",
        "docs/seo-strategy-2026/guides/KEYWORD_RESEARCH_GUIDE.md"
      ]
    },
    {
      "file": "webinar-pages.mdc",
      "path": ".cursor/rules/webinar-pages.mdc",
      "description": "Webinar page patterns for event registration with Event schema.",
      "globs": [
        "v2/pages/webinar_*.php"
      ],
      "alwaysApply": false,
      "relatedRules": [
        "shared-patterns.mdc"
      ],
      "relatedDocs": [
        "docs/ai/RULE_TO_DOC_MAPPING.md",
        "docs/ai/cursor-playbook.md",
        "docs/guides/PAGE_TYPE_GUIDES.md"
      ]
    }
  ]
}