Skip to content
FunCoding

browser4-seo

Extract and audit SEO metadata from the current browser page. Use when the user wants to check a page's SEO health, review meta tags, Open Graph, Twitter Cards, canonical links, structured data (JSON-LD), or diagnose why a page ranks poorly.

Star
1,152
License
Apache-2.0
Last commit
Oct 13, 2026

skills/browser4-seo/SKILL.md

View on GitHub

Browser4 SEO

Quick Start

browser4-cli goto "https://example.com"     # load the page to audit
browser4-cli plugin-list                    # confirm browser4-seo is installed AND enabled
# then call seo.extractMeta() — full SEO metadata extraction (see Tools below)

Extract and audit SEO metadata from the current page using the browser4-seo plugin's two tools.

When to Use

Use this skill when the user wants to:

  • Check a page's SEO health — "audit the SEO of this page", "is this page SEO-friendly?"
  • Review meta tags — "what's the title/description/canonical of this page?"
  • Check Open Graph / Twitter Card — "does this page have proper social share tags?"
  • Review structured data — "does this page have JSON-LD schema markup?"
  • Diagnose ranking problems — "why isn't this page ranking?" (SEO issues are a common cause)

Do NOT use this skill for:

  • General content extraction — use the browser4-cli HTML snapshot / X-SQL instead.
  • Performance auditing (Core Web Vitals) — this plugin only covers SEO metadata, not performance metrics.

How It Works

The browser4-seo plugin exposes two tools that operate on the page currently loaded in the browser session: seo.extractMeta() returns every SEO metadata field (title, description, canonical, Open Graph, Twitter Cards, JSON-LD), and seo.checkIssues() compares the page against SEO best practices and returns a health report.

Patterns

1. Quick SEO health check

seo.checkIssues()   # returns a prioritized issue list

2. Full metadata extraction

seo.extractMeta()   # all fields: title, description, canonical, OG, Twitter, JSON-LD

3. Diagnose poor ranking

seo.checkIssues()   # start with the issue report, then fix the top items

Flags

Neither seo.extractMeta() nor seo.checkIssues() takes arguments — both operate on the page currently loaded in the browser session.

Errors & Recovery

SymptomCauseFix
Tool call fails with "plugin not found"browser4-seo not installedbrowser4-cli plugin-list; install the plugin
Plugin installed but seo.* tools unavailablePlugin is opt-in (default-disabled)Enable it: browser4.plugins.enable=browser4-seo (or browser4.plugins.enable-all=true) and restart
extractMeta returns empty fieldsNo page loaded in the sessionbrowser4-cli goto <url> first
checkIssues reports everything missingPage is a JS shellThe plugin reads the loaded DOM — ensure the page finished rendering

Prerequisites

The browser4-seo plugin must be installed AND enabled on the Browser4 server. The plugin is opt-in (defaultEnabled: false): installing the JAR alone does not activate it. Enable it with browser4.plugins.enable=browser4-seo (or browser4.plugins.enable-all=true) and restart. Check with:

browser4-cli plugin-list
# Look for "browser4-seo" in the output

If not installed, see the plugin's README for build and deploy instructions.

Tools

seo.extractMeta()

Extracts all SEO metadata from the current page. No arguments — operates on the page currently loaded in the browser session.

Returns a JSON object with fields:

FieldTypeDescription
urlStringFinal page URL (after redirects)
titleString?<title> content
descriptionString?<meta name="description">
canonicalString?<link rel="canonical"> href
robotsString?<meta name="robots"> content
ogObjectAll Open Graph tags (og:title, og:image, etc.)
twitterObjectAll Twitter Card tags
headingsObjectCount of h1/h2/h3/h4
imagesIntTotal <img> count
imagesWithoutAltIntImages missing alt attribute
wordCountIntApproximate body word count
jsonLdArrayParsed JSON-LD structured data blocks

seo.checkIssues()

Audits the page and returns a categorized list of SEO issues.

Returns a JSON object with:

FieldTypeDescription
issueCountIntTotal issues found
errorCountIntCritical issues (e.g., noindex, no title)
warningCountIntImportant issues (e.g., no canonical, thin content)
infoCountIntMinor issues (e.g., no Twitter Card)
issuesArrayEach issue: { severity, field, message, value }

Severity levels: error (must fix) > warning (should fix) > info (nice to have).

Workflow

Example 1: Quick SEO audit

1. Navigate to the target page (browser4-cli navigate <url>)
2. seo.checkIssues()                      → get the issue list with severity
3. Summarize errors first, then warnings
4. If user wants detail on a specific field → seo.extractMeta()

Example 2: Full metadata review

1. Navigate to the target page
2. seo.extractMeta()                      → full metadata object
3. Present: title, description, canonical, OG, Twitter, JSON-LD
4. Flag any missing or suspicious values

Example 3: Compare before/after a fix

1. seo.checkIssues()                      → baseline (note error/warning counts)
2. (user or agent fixes the page source)
3. Refresh the page
4. seo.checkIssues()                      → compare counts to verify the fix

This last workflow is the browser-first feedback loop: change code → refresh → re-audit → confirm.

Tips

  • Always run seo.checkIssues() first — it gives a quick summary. Use seo.extractMeta() only when you need the raw values.
  • The noindex robots directive is an error-level issue — flag it immediately, as it blocks the page from search engines entirely.
  • imagesWithoutAlt > 0 is common but easy to fix — suggest adding alt text.
  • JSON-LD count of 0 is only info severity — not all pages need structured data, but e-commerce and article pages benefit from it.

Similar Skills

research

MAmattpocock/skills288k10,178 new stars in the last 7 days

benchmark-methodology

AFaffaan-m/ECC278k4,046 new stars in the last 7 days

investigate

GAgarrytan/gstack136k883 new stars in the last 7 days

banner-design

NEnextlevelbuilder/ui-ux-pro-max-skill135k1,864 new stars in the last 7 days

brand

NEnextlevelbuilder/ui-ux-pro-max-skill135k1,864 new stars in the last 7 days

Official

email-marketing

NEnexu-io/open-design101k1,126 new stars in the last 7 days