Skip to main content
Glama

run_seo_audit

Analyze the current webpage for SEO performance issues using browser automation on ARM64 devices like Raspberry Pi. Identify improvements for better search engine visibility.

Instructions

Run an SEO audit on the current page

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • The core handler function that executes the SEO audit. It ensures Chromium is running, evaluates a JavaScript expression on the page to check for common SEO issues (title, meta description, H1 tags, canonical link), parses the results, and returns them as text.
    async runSEOAudit() { await this.ensureChromium(); const result = await this.sendCDPCommand('Runtime.evaluate', { expression: ` const results = []; const title = document.querySelector('title'); if (!title || title.textContent.trim().length === 0) { results.push('Missing or empty title tag'); } else if (title.textContent.length > 60) { results.push('Title tag is too long (>60 characters)'); } const metaDesc = document.querySelector('meta[name="description"]'); if (!metaDesc || metaDesc.getAttribute('content').trim().length === 0) { results.push('Missing or empty meta description'); } const h1Tags = document.querySelectorAll('h1'); if (h1Tags.length === 0) { results.push('No H1 tag found'); } else if (h1Tags.length > 1) { results.push('Multiple H1 tags found'); } const canonical = document.querySelector('link[rel="canonical"]'); if (!canonical) { results.push('Missing canonical link'); } JSON.stringify(results.length > 0 ? results : ['Basic SEO checks passed']); `, returnByValue: true }); const seoResults = JSON.parse(result.result?.value || '[]'); return { content: [{ type: 'text', text: `SEO Audit Results:\\n${seoResults.join('\\n')}` }], }; }
  • index.js:295-302 (registration)
    The tool registration entry in the tools array, including name, description, and input schema (empty object).
    { name: 'run_seo_audit', description: 'Run an SEO audit on the current page', inputSchema: { type: 'object', properties: {}, }, },
  • The input schema for the run_seo_audit tool, which is an empty object indicating no required input parameters.
    inputSchema: { type: 'object', properties: {}, },
  • index.js:383-384 (registration)
    The switch case in the CallToolRequestHandler that dispatches calls to 'run_seo_audit' to the runSEOAudit method.
    case 'run_seo_audit': return await this.runSEOAudit();

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/nfodor/claude-arm64-browser'

If you have feedback or need assistance with the MCP directory API, please join our Discord server