UNPKG

@casoon/auditmysite

Version:

Professional website analysis suite with robust accessibility testing, Core Web Vitals performance monitoring, SEO analysis, and content optimization insights. Features isolated browser contexts, retry mechanisms, and comprehensive API endpoints for profe

139 lines 5.71 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SeoIssueCollector = void 0; class SeoIssueCollector { static collectAll(summary) { const issues = []; for (const result of summary.results) { // Meta-Description prüfen if (!result.title || result.title.length < 10) { issues.push({ reportType: 'seo', pageUrl: result.url, pageTitle: result.title, type: 'meta', severity: 'error', message: 'Missing or too short page title', code: undefined, selector: 'title', context: undefined, htmlSnippet: undefined, lineNumber: undefined, source: 'seo', recommendation: 'Add a descriptive page title (10-60 characters)' }); } // Meta-Description prüfen if (result.errors.includes('Missing meta description')) { issues.push({ reportType: 'seo', pageUrl: result.url, pageTitle: result.title, type: 'meta', severity: 'error', message: 'Missing meta description', code: undefined, selector: 'meta[name="description"]', context: undefined, htmlSnippet: undefined, lineNumber: undefined, source: 'seo', recommendation: 'Add a meta description tag to the page.' }); } // H1-Tags prüfen if (result.errors.includes('Missing H1 tag')) { issues.push({ reportType: 'seo', pageUrl: result.url, pageTitle: result.title, type: 'structure', severity: 'error', message: 'Missing H1 tag', code: undefined, selector: 'h1', context: undefined, htmlSnippet: undefined, lineNumber: undefined, source: 'seo', recommendation: 'Add exactly one H1 tag to the page' }); } // Alt-Text für Bilder prüfen if (result.errors.includes('Missing alt text')) { issues.push({ reportType: 'seo', pageUrl: result.url, pageTitle: result.title, type: 'accessibility', severity: 'warning', message: 'Images missing alt text', code: undefined, selector: 'img', context: undefined, htmlSnippet: undefined, lineNumber: undefined, source: 'seo', recommendation: 'Add descriptive alt text to all images' }); } // Canonical URL prüfen if (result.errors.includes('Missing canonical URL')) { issues.push({ reportType: 'seo', pageUrl: result.url, pageTitle: result.title, type: 'meta', severity: 'warning', message: 'Missing canonical URL', code: undefined, selector: 'link[rel="canonical"]', context: undefined, htmlSnippet: undefined, lineNumber: undefined, source: 'seo', recommendation: 'Add a canonical URL to prevent duplicate content issues' }); } // Open Graph Tags prüfen if (result.errors.includes('Missing Open Graph tags')) { issues.push({ reportType: 'seo', pageUrl: result.url, pageTitle: result.title, type: 'social', severity: 'info', message: 'Missing Open Graph tags', code: undefined, selector: 'meta[property^="og:"]', context: undefined, htmlSnippet: undefined, lineNumber: undefined, source: 'seo', recommendation: 'Add Open Graph tags for better social media sharing' }); } // Schema.org Markup prüfen if (result.errors.includes('Missing structured data')) { issues.push({ reportType: 'seo', pageUrl: result.url, pageTitle: result.title, type: 'structured-data', severity: 'info', message: 'Missing structured data markup', code: undefined, selector: 'script[type="application/ld+json"]', context: undefined, htmlSnippet: undefined, lineNumber: undefined, source: 'seo', recommendation: 'Add structured data markup for better search engine understanding' }); } } return issues; } } exports.SeoIssueCollector = SeoIssueCollector; //# sourceMappingURL=seo-issue-collector.js.map