{ "status": "completed", "metrics": { "url": "http://localhost:3000/en/dashboard", "phases": { "scraping": { "name": "scraping", "status": "success", "duration": 28631, "startedAt": "2026-03-07T12:46:19.720Z", "completedAt": "2026-03-07T12:46:48.351Z" }, "postProcessing": { "name": "postProcessing", "status": "success", "duration": 256, "startedAt": "2026-03-07T12:47:03.718Z", "completedAt": "2026-03-07T12:47:03.974Z" }, "moduleExecution": { "name": "moduleExecution", "status": "success", "duration": 15367, "startedAt": "2026-03-07T12:46:48.351Z", "completedAt": "2026-03-07T12:47:03.718Z" }, "solutionGeneration": { "name": "solutionGeneration", "status": "success", "duration": 81, "startedAt": "2026-03-07T12:47:03.974Z", "completedAt": "2026-03-07T12:47:04.055Z" } }, "status": "completed", "modules": [ { "name": "contentAnalysis", "status": "success", "duration": 584, "startedAt": "2026-03-07T12:46:48.461Z", "completedAt": "2026-03-07T12:46:49.045Z", "runpodCallIds": [ "runpod_1_1772887608459" ] }, { "name": "technologyProfile", "status": "success", "duration": 201, "startedAt": "2026-03-07T12:46:49.299Z", "completedAt": "2026-03-07T12:46:49.500Z", "runpodCallIds": [ "runpod_2_1772887609366" ] }, { "name": "structuredData", "status": "success", "duration": 363, "startedAt": "2026-03-07T12:46:49.515Z", "completedAt": "2026-03-07T12:46:49.878Z", "runpodCallIds": [] }, { "name": "accessibility", "status": "success", "duration": 360, "startedAt": "2026-03-07T12:46:49.518Z", "completedAt": "2026-03-07T12:46:49.878Z", "runpodCallIds": [] }, { "name": "seo", "status": "success", "duration": 1771, "startedAt": "2026-03-07T12:46:49.520Z", "completedAt": "2026-03-07T12:46:51.291Z", "runpodCallIds": [ "runpod_3_1772887609519", "runpod_5_1772887609565", "runpod_4_1772887609562", "runpod_6_1772887609824", "runpod_7_1772887610527" ] }, { "name": "performance", "status": "success", "duration": 972, "startedAt": "2026-03-07T12:46:49.563Z", "completedAt": "2026-03-07T12:46:50.535Z", "runpodCallIds": [] }, { "name": "social", "status": "success", "duration": 966, "startedAt": "2026-03-07T12:46:49.566Z", "completedAt": "2026-03-07T12:46:50.532Z", "runpodCallIds": [] }, { "name": "mobileAnalysis", "status": "success", "duration": 5821, "startedAt": "2026-03-07T12:46:49.566Z", "completedAt": "2026-03-07T12:46:55.387Z", "runpodCallIds": [] }, { "name": "linkChecker", "status": "success", "duration": 7106, "startedAt": "2026-03-07T12:46:49.567Z", "completedAt": "2026-03-07T12:46:56.673Z", "runpodCallIds": [] }, { "name": "bestPractices", "status": "success", "duration": 712, "startedAt": "2026-03-07T12:46:49.825Z", "completedAt": "2026-03-07T12:46:50.537Z", "runpodCallIds": [] }, { "name": "security", "error": "Invalid URL", "status": "failed", "duration": 50, "startedAt": "2026-03-07T12:46:49.828Z", "completedAt": "2026-03-07T12:46:49.878Z", "runpodCallIds": [] }, { "name": "exposedFiles", "status": "success", "duration": 13887, "startedAt": "2026-03-07T12:46:49.831Z", "completedAt": "2026-03-07T12:47:03.718Z", "runpodCallIds": [] }, { "name": "geo", "status": "success", "duration": 1401, "startedAt": "2026-03-07T12:46:49.872Z", "completedAt": "2026-03-07T12:46:51.273Z", "runpodCallIds": [] } ], "summary": { "failedCalls": 0, "longestCall": { "method": "performance_summary_v3", "service": "performance_summary_v3", "duration": 971 }, "totalTokens": 3170, "shortestCall": { "method": "technology_summary_en_v3", "service": "technology_summary_en_v3", "duration": 133 }, "totalRetries": 0, "successfulCalls": 7, "totalRunpodTime": 4994, "totalRunpodCalls": 7, "totalPromptTokens": 2893, "averageCallDuration": 713, "totalPollingAttempts": 0, "totalCompletionTokens": 277 }, "startedAt": "2026-03-07T12:46:19.356Z", "analysisId": "analysis_1772887579356", "completedAt": "2026-03-07T12:47:04.140Z", "runpodCalls": [ { "id": "runpod_1_1772887608459", "method": "keyword-extraction", "status": "success", "retries": 0, "service": "keyword-extraction", "duration": 483, "startedAt": "2026-03-07T12:46:48.459Z", "completedAt": "2026-03-07T12:46:48.942Z", "totalTokens": 698, "promptLength": 2232, "promptTokens": 628, "pollingAttempts": 0, "completionTokens": 70 }, { "id": "runpod_2_1772887609366", "method": "technology_summary_en_v3", "status": "success", "retries": 0, "service": "technology_summary_en_v3", "duration": 133, "startedAt": "2026-03-07T12:46:49.366Z", "completedAt": "2026-03-07T12:46:49.499Z", "totalTokens": 236, "promptLength": 529, "promptTokens": 205, "pollingAttempts": 0, "completionTokens": 31 }, { "id": "runpod_3_1772887609519", "method": "keyword_strategy_competitor_focused", "status": "success", "retries": 0, "service": "keyword_strategy_competitor_focused", "duration": 966, "startedAt": "2026-03-07T12:46:49.519Z", "completedAt": "2026-03-07T12:46:50.485Z", "totalTokens": 312, "promptLength": 827, "promptTokens": 281, "pollingAttempts": 0, "completionTokens": 31 }, { "id": "runpod_4_1772887609562", "method": "performance_summary_v3", "status": "success", "retries": 0, "service": "performance_summary_v3", "duration": 971, "startedAt": "2026-03-07T12:46:49.562Z", "completedAt": "2026-03-07T12:46:50.533Z", "totalTokens": 378, "promptLength": 1146, "promptTokens": 342, "pollingAttempts": 0, "completionTokens": 36 }, { "id": "runpod_5_1772887609565", "method": "social_summary_v2", "status": "success", "retries": 0, "service": "social_summary_v2", "duration": 966, "startedAt": "2026-03-07T12:46:49.565Z", "completedAt": "2026-03-07T12:46:50.531Z", "totalTokens": 233, "promptLength": 528, "promptTokens": 207, "pollingAttempts": 0, "completionTokens": 26 }, { "id": "runpod_6_1772887609824", "method": "best_practices_summary_en", "status": "success", "retries": 0, "service": "best_practices_summary_en", "duration": 712, "startedAt": "2026-03-07T12:46:49.824Z", "completedAt": "2026-03-07T12:46:50.536Z", "totalTokens": 516, "promptLength": 1891, "promptTokens": 472, "pollingAttempts": 0, "completionTokens": 44 }, { "id": "runpod_7_1772887610527", "method": "seo_summary_v2", "status": "success", "retries": 0, "service": "seo_summary_v2", "duration": 763, "startedAt": "2026-03-07T12:46:50.527Z", "completedAt": "2026-03-07T12:46:51.290Z", "totalTokens": 797, "promptLength": 3128, "promptTokens": 758, "pollingAttempts": 0, "completionTokens": 39 } ], "totalDuration": 44784, "totalDurationFormatted": "44.8s" }, "results": [ { "url": "http://localhost:3000/en/dashboard", "status": "success", "modules": { "geo": { "eeat": { "expertise": 18, "experience": 0, "overallScore": 25, "trustworthiness": 18, "authoritativeness": 53 }, "score": 75, "issues": [ { "fix": "Start your content with a clear, concise answer (50-300 characters)", "impact": "AI may not extract your content for featured snippets", "message": "No direct answer found in first paragraph", "category": "answer-capsule", "severity": "info" }, { "fix": "Add statistics, percentages, or research findings", "impact": "AI prefers citing content with specific data", "message": "No verifiable statistics found", "category": "citation-readiness", "severity": "info" }, { "fix": "Link to .gov, .edu, or reputable news sources", "impact": "Content may appear less credible", "message": "No authoritative external sources", "category": "citation-readiness", "severity": "info" }, { "fix": "Add more sameAs links: LinkedIn, Wikipedia, Crunchbase", "impact": "Limited entity verification signals for AI", "message": "Only 2 sameAs link(s) found", "category": "sameAs entities", "severity": "info" }, { "fix": "Add Privacy Policy with data controller, collection, usage, and user rights", "impact": "GDPR/DSGVO compliance issue and trust signal missing", "message": "Missing Privacy Policy", "category": "trust pages", "severity": "warning" }, { "fix": "Ensure Privacy Policy includes data controller, legal basis, user rights, and DPO contact", "impact": "Legal compliance issue in EU", "message": "Privacy Policy may not be GDPR compliant", "category": "compliance", "severity": "warning" }, { "fix": "Add descriptive title tag (50-60 characters)", "impact": "AI may not understand page topic", "message": "Missing or too short title tag", "category": "metadata", "severity": "warning" }, { "fix": "Add comprehensive meta description (120-160 characters)", "impact": "AI may generate less accurate summaries", "message": "Missing or too short meta description", "category": "metadata", "severity": "warning" }, { "fix": "Your content requires JavaScript (Next.js). 69% of AI crawlers cannot execute JS. Implement SSR or SSG for AI visibility.", "impact": "69% of AI crawlers cannot execute JavaScript - your content is invisible to them", "message": "Content requires JavaScript (Next.js detected)", "category": "js-rendering", "severity": "critical" } ], "pageType": { "type": "blog", "signals": [ { "found": true, "signal": "Technology stack mentioned", "weight": 2, "category": "portfolio" }, { "found": true, "signal": "Blog/article keywords found", "weight": 3, "category": "blog" }, { "found": true, "signal": "CTA keywords found", "weight": 2, "category": "landing" }, { "found": true, "signal": "Organization Schema found", "weight": 2, "category": "corporate" } ], "confidence": 32 }, "freshness": { "dateModifiedFound": false, "datePublishedFound": false, "daysSinceModification": null }, "trustPages": { "found": [ { "type": "impressum", "confidence": 18, "detectionMethod": "schema" }, { "type": "about", "confidence": 70, "detectionMethod": "schema" }, { "type": "team", "confidence": 8, "detectionMethod": "schema" }, { "type": "accessibility", "confidence": 0, "detectionMethod": "section" } ], "isSPA": true, "score": 16, "missing": [ "privacy", "terms", "contact", "cookie-policy", "legal", "disclaimer", "refund-policy", "shipping-policy" ] }, "eeatSignals": { "expertise": [ { "found": false, "points": 0, "signal": "Author credentials (Dr., PhD, certified, etc.)", "maxPoints": 25 }, { "found": false, "points": 0, "signal": "Person schema with author info", "maxPoints": 20 }, { "found": true, "points": 15, "signal": "Technical depth and code examples", "maxPoints": 15 }, { "found": false, "points": 0, "signal": "Comprehensive content (1000+ words)", "maxPoints": 15 }, { "found": false, "points": 0, "signal": "About page describing expertise", "maxPoints": 10 } ], "experience": [ { "found": false, "points": 0, "signal": "Case studies or real-world examples", "maxPoints": 20 }, { "found": false, "points": 0, "signal": "First-hand experience narratives", "maxPoints": 15 }, { "found": false, "points": 0, "signal": "Years of experience stated", "maxPoints": 15 }, { "found": false, "points": 0, "signal": "Portfolio or work samples", "maxPoints": 15 }, { "found": false, "points": 0, "signal": "Client testimonials or reviews", "maxPoints": 10 } ], "sameAsLinks": [ { "url": "https://twitter.com/pagecheckpro", "platform": "Twitter/X", "verified": true }, { "url": "https://linkedin.com/company/pagecheckpro", "platform": "LinkedIn", "verified": true } ], "trustworthiness": [ { "found": false, "points": 0, "signal": "HTTPS secure connection", "maxPoints": 10 }, { "found": false, "points": 0, "signal": "Privacy policy", "maxPoints": 15 }, { "found": true, "points": 15, "signal": "Contact information", "maxPoints": 15 }, { "found": false, "points": 0, "signal": "About page", "maxPoints": 15 }, { "found": false, "points": 0, "signal": "Impressum / Legal notice", "maxPoints": 10 }, { "found": false, "points": 0, "signal": "Terms of service", "maxPoints": 10 }, { "found": false, "points": 0, "signal": "Trust badges or security seals", "maxPoints": 10 } ], "authoritativeness": [ { "found": true, "points": 25, "signal": "Social profile links (sameAs)", "maxPoints": 25 }, { "found": true, "points": 20, "signal": "Organization schema", "maxPoints": 20 }, { "found": false, "points": 0, "signal": "Media mentions or press coverage", "maxPoints": 15 }, { "found": false, "points": 0, "signal": "Awards or certifications", "maxPoints": 15 }, { "found": false, "points": 0, "signal": "External citations or references", "maxPoints": 10 } ] }, "jsRendering": { "framework": "Next.js", "requiresJs": true, "ssrDetected": false, "criticalContentInHtml": false }, "llmsTxtFound": true, "answerCapsule": { "score": 0, "hasFaqSchema": false, "hasDefinition": false, "contextMessage": "Answer Capsule is critical for blog articles to be featured in AI responses.", "hasHowToSchema": false, "hasDirectAnswer": false, "pageTypeRelevance": "high" }, "contentQuality": { "hasHeaders": true, "hasSources": true, "hasBulletPoints": true, "hasShortParagraphs": true }, "factualDensity": { "score": 42, "breakdown": { "dates": 0, "quotes": 0, "citations": 0, "statistics": 0, "definitions": 0, "measurements": 0, "namedEntities": 1, "technicalTerms": 1 }, "aiReadiness": { "factCheckability": 12, "objectivityScore": 100, "citationPotential": 0 }, "contentType": "factual", "factualRatio": 0.86, "recommendations": [ "Include statistics with percentages or specific numbers (e.g., \"73% of users...\")", "Add citations to authoritative sources (studies, research, official data)", "Include expert quotes with attribution for credibility", "Add specific dates to establish content freshness and context" ], "marketingElementsCount": 0 }, "sameAsEntities": { "score": 20, "entities": [ { "url": "https://twitter.com/pagecheckpro", "platform": "twitter", "verified": false, "entityType": "organization", "platformName": "Twitter/X", "sourceSchema": "Organization", "isAuthoritative": false }, { "url": "https://linkedin.com/company/pagecheckpro", "platform": "linkedin", "verified": false, "entityType": "organization", "platformName": "LinkedIn", "sourceSchema": "Organization", "isAuthoritative": false } ], "hasPerson": false, "totalCount": 2, "hasOrganization": true, "recommendations": [ "Add Wikipedia/Wikidata link to sameAs for authoritative identity verification", "Add more social media profiles (Twitter, Facebook, Instagram) to sameAs", "Add Person schema with sameAs for content authors" ], "platformCoverage": { "social": 25, "creative": 0, "professional": 33, "authoritative": 0 } }, "aiCrawlerAccess": { "gptBot": true, "bingBot": true, "claudeBot": true, "geminiBot": true, "allAllowed": true, "blockedBots": [], "perplexityBot": true }, "mobileOptimized": true, "recommendations": [ "Answer Capsule is critical for blog articles to be featured in AI responses.", "Add expert quotes to increase authority", "Include publication/update dates", "Add Wikipedia or Wikidata sameAs link for authoritative identity verification", "Add LinkedIn sameAs link for professional credibility", "Add Wikipedia/Wikidata link to sameAs for authoritative identity verification", "Add more social media profiles (Twitter, Facebook, Instagram) to sameAs", "Add Person schema with sameAs for content authors", "Add specific statistics and data to increase citation potential", "Include statistics with percentages or specific numbers (e.g., \"73% of users...\")", "Add citations to authoritative sources (studies, research, official data)", "Include expert quotes with attribution for credibility", "Improve impressum page: add company-name, contact-info", "Improve team page: add team-members, roles", "CRITICAL: Add Privacy Policy with data collection, usage, and user rights information", "Add Contact page with email, phone, or contact form", "Add Terms of Service/AGB to clarify legal relationship with users", "Consider adding llms-full.txt for extended AI-friendly documentation", "Your content requires JavaScript (Next.js). 69% of AI crawlers cannot execute JS. Implement SSR or SSG for AI visibility.", "Add Person schema for content authors", "Add sameAs links to social profiles in Person schema", "Add hreflang tags if your site has multiple language/region versions" ], "aiReadinessScore": 48, "faqSchemaPresent": false, "llmsTxtGenerated": { "content": "# Page Check Pro\n\n> Intelligent Website Analysis for Germany\n\n## About\nProfessional SEO analysis, performance optimization and accessibility testing. GDPR compliant with servers in Germany.\n\n## Contact\n- Address: Musterstraße 123, 80331, München, DE\n\n## Social Media\n- [Twitter/X](https://twitter.com/pagecheckpro)\n- [LinkedIn](https://linkedin.com/company/pagecheckpro)", "metadata": { "language": "en", "siteName": "Page Check Pro", "mainTopics": [], "description": "Intelligent Website Analysis for Germany", "contentTypes": [ "Website Content" ] }, "fullContent": "# Page Check Pro\n\n> Intelligent Website Analysis for Germany\n\n## About\nProfessional SEO analysis, performance optimization and accessibility testing. GDPR compliant with servers in Germany.\n\n## Contact\n- Address: Musterstraße 123, 80331, München, DE\n\n## Social Media\n- [Twitter/X](https://twitter.com/pagecheckpro)\n- [LinkedIn](https://linkedin.com/company/pagecheckpro)\n\n---\n\nLast updated: 2026-03-07\nLanguage: EN\nTarget audience: General audience", "sectionCount": 5, "recommendations": [ "Add FAQPage schema to include FAQ in llms.txt" ], "validationIssues": [] }, "schemaOrgPresent": true, "citationReadiness": { "score": 0, "hasDates": false, "hasQuotes": false, "hasStatistics": false, "hasExternalSources": false }, "frameworkDetection": { "frameworks": [ { "name": "Next.js", "hasSSG": false, "hasSSR": false, "version": "16.1.1", "confidence": 90 }, { "name": "React", "hasSSG": false, "hasSSR": false, "version": "19.2.3", "confidence": 40 } ], "jsRequired": true, "recommendation": "Your content requires JavaScript (Next.js). 69% of AI crawlers cannot execute JS. Implement SSR or SSG for AI visibility.", "aiCrawlerImpact": "high", "primaryFramework": "Next.js" }, "structuredDataCount": 2, "trustPagesValidation": { "pages": [ { "url": "http://localhost:3000", "type": "impressum", "found": true, "warnings": [ "Missing required elements: company-name, contact-info, responsible-person" ], "contentScore": 18, "missingElements": [ "company-name", "contact-info", "responsible-person" ], "hasRequiredContent": false }, { "type": "privacy", "found": false, "warnings": [], "contentScore": 0, "missingElements": [ "data-controller", "data-collection", "data-usage", "user-rights", "contact" ], "hasRequiredContent": false }, { "type": "terms", "found": false, "warnings": [], "contentScore": 0, "missingElements": [ "scope", "contract-formation", "payment-terms", "liability" ], "hasRequiredContent": false }, { "type": "contact", "found": false, "warnings": [], "contentScore": 0, "missingElements": [ "contact-form-or-email", "response-time" ], "hasRequiredContent": false }, { "url": "http://localhost:3000", "type": "about", "found": true, "warnings": [], "contentScore": 70, "missingElements": [], "hasRequiredContent": true }, { "url": "http://localhost:3000", "type": "team", "found": true, "warnings": [ "Missing required elements: team-members, roles" ], "contentScore": 8, "missingElements": [ "team-members", "roles" ], "hasRequiredContent": false }, { "type": "cookie-policy", "found": false, "warnings": [], "contentScore": 0, "missingElements": [ "cookie-types", "cookie-purposes", "consent-mechanism" ], "hasRequiredContent": false }, { "type": "legal", "found": false, "warnings": [], "contentScore": 0, "missingElements": [ "legal-notices" ], "hasRequiredContent": false }, { "type": "disclaimer", "found": false, "warnings": [], "contentScore": 0, "missingElements": [ "liability-exclusion" ], "hasRequiredContent": false }, { "type": "refund-policy", "found": false, "warnings": [], "contentScore": 0, "missingElements": [ "refund-conditions", "refund-process", "timeframe" ], "hasRequiredContent": false }, { "type": "shipping-policy", "found": false, "warnings": [], "contentScore": 0, "missingElements": [ "shipping-methods", "delivery-times", "costs" ], "hasRequiredContent": false }, { "type": "accessibility", "found": true, "warnings": [ "Missing required elements: accessibility-commitment, contact-for-issues" ], "contentScore": 0, "missingElements": [ "accessibility-commitment", "contact-for-issues" ], "hasRequiredContent": false } ], "isEUSite": true, "compliance": { "hasTerms": false, "hasContact": false, "isGdprReady": false, "hasImpressum": true, "isDsgvoReady": true, "hasPrivacyPolicy": false, "isCookieCompliant": false }, "eeatImpact": { "trustworthiness": 40, "authoritativeness": 42 }, "trustScore": 40, "isGermanSite": false, "overallScore": 16, "recommendations": [ "CRITICAL: Add Privacy Policy with data collection, usage, and user rights information", "Add Contact page with email, phone, or contact form", "Add Terms of Service/AGB to clarify legal relationship with users", "Add Cookie Policy for EU compliance", "Improve impressum page: missing company-name, contact-info", "Improve team page: missing team-members, roles" ], "requiredMissing": [ "privacy", "contact" ] } }, "seo": { "score": 51, "checks": [ { "id": "title-length", "score": 0, "value": 0, "codeFix": { "language": "html", "codeAfter": "