Skip to content

SEO Metadata

PerfLeaf automatically extracts SEO metadata from every crawled page, including meta titles, descriptions, keywords, canonical URLs, robots directives, and social sharing tags (Open Graph and Twitter Card).

FieldDescription
TitleThe <title> tag content
DescriptionThe <meta name="description"> content
KeywordsKeywords from <meta name="keywords"> (parsed as an array)
CanonicalThe canonical URL from <link rel="canonical">
RobotsThe robots directive from <meta name="robots">

Social sharing metadata for Facebook, LinkedIn, and other platforms:

FieldDescription
og:titleOpen Graph title
og:descriptionOpen Graph description
og:imageOpen Graph image URL
og:urlCanonical URL for sharing
og:typeContent type (e.g., website, article)
og:site_nameSite name

Twitter-specific sharing metadata:

FieldDescription
twitter:cardCard type (e.g., summary_large_image)
twitter:titleTwitter card title
twitter:descriptionTwitter card description
twitter:imageTwitter card image URL
twitter:siteTwitter handle of the site

On the Pages Analysed list, each page displays its meta title instead of the URL when available. The URL appears as a subtitle below the title. This makes it easier to identify pages at a glance.

Click on any page to view the full SEO Metadata section, which includes:

  1. Core Meta Tags — Title, description, keywords, canonical URL, and robots directive with character count hints
  2. Open Graph Preview — Visual preview card showing how the page will appear when shared on social platforms
  3. Twitter Card Preview — Visual preview card showing Twitter card appearance

The component uses colour-coded status indicators:

  • Green — Good (title 30-60 chars, description 50-160 chars)
  • Blue — Neutral (title/description outside optimal range)
  • Yellow — Needs improvement (missing critical tags)

Metadata is stored in two ways in the Payload CMS:

  1. Structured fieldsseoMeta group in the ReportPages collection stores title, description, and ogImage for quick querying
  2. Full JSON — Complete pageMeta object stored in rawData with all extracted tags
IssueFix
Missing titleAdd a descriptive <title> tag (30-60 characters)
Missing descriptionAdd a <meta name="description"> tag (50-160 characters)
Missing canonicalAdd <link rel="canonical"> to prevent duplicate content issues
Missing OG imageAdd <meta property="og:image"> for social sharing previews
Missing Twitter cardAdd <meta name="twitter:card"> for better Twitter sharing