auditPage static method
Audit specific values without reading from DOM
Implementation
static List<SeoAuditResult> auditPage({
String? title,
String? description,
String? canonicalUrl,
String? ogImage,
List<String>? keywords,
}) {
final results = <SeoAuditResult>[];
if (title == null || title.isEmpty) {
results.add(
const SeoAuditResult(
severity: AuditSeverity.error,
rule: 'title-missing',
message: 'Page title is empty.',
),
);
} else if (title.length > 60) {
results.add(
SeoAuditResult(
severity: AuditSeverity.warning,
rule: 'title-too-long',
message: 'Title is ${title.length} chars (recommended: ≤60).',
),
);
}
if (description == null || description.isEmpty) {
results.add(
const SeoAuditResult(
severity: AuditSeverity.error,
rule: 'description-missing',
message: 'Meta description is empty.',
),
);
} else if (description.length > 160) {
results.add(
SeoAuditResult(
severity: AuditSeverity.warning,
rule: 'description-too-long',
message:
'Description is ${description.length} chars (recommended: ≤160).',
),
);
}
if (canonicalUrl == null || canonicalUrl.isEmpty) {
results.add(
const SeoAuditResult(
severity: AuditSeverity.warning,
rule: 'canonical-missing',
message: 'Canonical URL is not set.',
),
);
}
if (ogImage == null || ogImage.isEmpty) {
results.add(
const SeoAuditResult(
severity: AuditSeverity.warning,
rule: 'og-image-missing',
message: 'OG image is not set.',
),
);
}
return results;
}