🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
11 KiB
OurDigital SEO Audit - Usage Examples
Quick Reference
| Task | Command |
|---|---|
| Full audit | Perform SEO audit for [URL] |
| Schema check | Validate schema on [URL] |
| PageSpeed | Check Core Web Vitals for [URL] |
| Sitemap | Validate sitemap at [URL] |
| Robots.txt | Analyze robots.txt for [domain] |
| Export to Notion | Export findings to Notion |
Full Site Audit
Basic Full Audit
User prompt:
Perform a comprehensive SEO audit for https://example.com
Agent workflow:
- Use Firecrawl to crawl the site and gather page data
- Run PageSpeed Insights for Core Web Vitals
- Validate schema markup, sitemap, and robots.txt
- Query Search Console for performance data (if access granted)
- Create Notion database with findings
- Generate prioritized recommendations
Technical SEO Check
Crawlability Analysis
User prompt:
Check technical SEO for https://example.com including crawlability and indexing
Agent workflow:
- Fetch robots.txt and analyze directives
- Validate sitemap.xml structure
- Check HTTP response codes for key pages
- Verify canonical tags and redirects
- Test mobile-friendliness
Schema Markup
Generate Organization Schema
User prompt:
Generate Organization schema markup for my company: OurDigital Corp, website https://ourdigital.com, founded 2020
Agent response:
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "OurDigital Corp",
"url": "https://ourdigital.com",
"foundingDate": "2020",
"sameAs": []
}
Generate LocalBusiness Schema
User prompt:
Generate LocalBusiness schema for a restaurant: Seoul Cafe, 123 Gangnam-daero, Seoul, open Mon-Fri 9am-6pm
Agent response:
{
"@context": "https://schema.org",
"@type": "Restaurant",
"name": "Seoul Cafe",
"address": {
"@type": "PostalAddress",
"streetAddress": "123 Gangnam-daero",
"addressLocality": "Seoul",
"addressCountry": "KR"
},
"openingHoursSpecification": [{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "09:00",
"closes": "18:00"
}]
}
Validate Existing Schema
User prompt:
Validate existing schema markup on https://example.com
Agent workflow:
- Scrape page with Firecrawl
- Extract JSON-LD, Microdata, and RDFa
- Validate against schema.org vocabulary
- Check for required properties
- Test Rich Results eligibility
- Report issues and recommendations
Sitemap Validation
Check Sitemap
User prompt:
Validate the sitemap at https://example.com/sitemap.xml
Agent workflow:
- Fetch and parse XML sitemap
- Validate XML syntax
- Check URL count (max 50,000)
- Verify lastmod dates
- Test sample URLs for accessibility
- Report issues found
Sample output:
Sitemap Validation Report
=========================
URL: https://example.com/sitemap.xml
Total URLs: 1,234
Valid URLs: 1,200
Issues Found:
- 34 URLs returning 404
- 12 URLs with invalid lastmod format
- Missing sitemap index (recommended for 1000+ URLs)
Robots.txt Analysis
Analyze Robots.txt
User prompt:
Analyze robots.txt for example.com
Agent workflow:
- Fetch /robots.txt
- Parse all directives
- Check for blocking issues
- Verify sitemap declaration
- Test specific URLs
- Compare user-agent rules
Sample output:
Robots.txt Analysis
==================
URL: https://example.com/robots.txt
User-agents defined: 3 (*, Googlebot, Bingbot)
Issues:
- WARNING: CSS/JS files blocked (/assets/)
- INFO: Crawl-delay set to 10 seconds (may slow indexing)
- OK: Sitemap declared
Rules Summary:
- Disallowed: /admin/, /private/, /tmp/
- Allowed: /public/, /blog/
Core Web Vitals
Performance Analysis
User prompt:
Check Core Web Vitals for https://example.com
Agent workflow:
- Run PageSpeed Insights API (mobile + desktop)
- Extract Core Web Vitals metrics
- Compare against thresholds
- Identify optimization opportunities
- Prioritize recommendations
Sample output:
Core Web Vitals Report
=====================
URL: https://example.com
Strategy: Mobile
Metrics:
- LCP: 3.2s (NEEDS IMPROVEMENT - target <2.5s)
- FID: 45ms (GOOD - target <100ms)
- CLS: 0.15 (NEEDS IMPROVEMENT - target <0.1)
- INP: 180ms (GOOD - target <200ms)
Top Opportunities:
1. Serve images in next-gen formats (-1.5s)
2. Eliminate render-blocking resources (-0.8s)
3. Reduce unused CSS (-0.3s)
Local SEO Assessment
Local SEO Audit
User prompt:
Perform local SEO audit for Seoul Dental Clinic in Gangnam
Agent workflow:
- Search for existing citations (Perplexity)
- Check for LocalBusiness schema
- Analyze NAP consistency
- Review Google Business Profile (manual check)
- Identify missing citations
- Recommend improvements
Keyword Research
Trend Analysis
User prompt:
Research keyword trends for "digital marketing" in Korea over the past year
Agent workflow:
- Query Google Trends (pytrends)
- Get related queries
- Identify seasonal patterns
- Compare with related terms
- Generate insights
Competitive Analysis
SERP Analysis
User prompt:
Analyze top 10 search results for "best coffee shops Seoul"
Agent workflow:
- Use Custom Search API
- Extract title, description, URL
- Analyze common patterns
- Check for schema markup
- Identify content gaps
CLI Script Usage
Schema Generator
# Generate Organization schema
python scripts/schema_generator.py \
--type organization \
--name "OurDigital Corp" \
--url "https://ourdigital.com"
# Generate Product schema
python scripts/schema_generator.py \
--type product \
--name "SEO Tool" \
--price 29900 \
--currency KRW
Schema Validator
# Validate schema on a URL
python scripts/schema_validator.py \
--url https://example.com \
--output report.json
# Validate local JSON-LD file
python scripts/schema_validator.py \
--file schema.json
Sitemap Validator
# Validate sitemap
python scripts/sitemap_validator.py \
--url https://example.com/sitemap.xml \
--check-urls \
--output sitemap_report.json
Robots.txt Checker
# Analyze robots.txt
python scripts/robots_checker.py \
--url https://example.com/robots.txt
# Test specific URL
python scripts/robots_checker.py \
--url https://example.com/robots.txt \
--test-url /admin/dashboard \
--user-agent Googlebot
Full Audit
# Run complete audit
python scripts/full_audit.py \
--url https://example.com \
--output notion \
--notion-page-id abc123
# Export to Google Sheets
python scripts/full_audit.py \
--url https://example.com \
--output sheets \
--spreadsheet-id xyz789
Output to Notion
Create Findings Database
User prompt:
Create an SEO audit findings database in Notion for example.com
Agent workflow:
- Search for existing SEO audit pages
- Create new database with schema
- Add initial findings from audit
- Set up views (by priority, by category)
- Share database link with user
Batch Operations
Audit Multiple Pages
User prompt:
Check schema markup on these URLs: url1.com, url2.com, url3.com
Agent workflow:
- Queue URLs for processing
- Validate each URL sequentially
- Aggregate findings
- Generate comparison report
Integration with Search Console
Performance Report
User prompt:
Get Search Console performance data for the last 30 days
Agent workflow:
- Verify Search Console access
- Query search analytics API
- Get top queries and pages
- Calculate CTR and position changes
- Identify opportunities
Sample output:
Search Console Performance (Last 30 Days)
========================================
Total Clicks: 12,345
Total Impressions: 456,789
Average CTR: 2.7%
Average Position: 15.3
Top Queries:
1. "example product" - 1,234 clicks, position 3.2
2. "example service" - 987 clicks, position 5.1
3. "example review" - 654 clicks, position 8.4
Pages with Opportunities:
- /product-page: High impressions, low CTR (improve title)
- /service-page: Good CTR, position 11 (push to page 1)
Real-World Examples (OurDigital)
Example: Audit blog.ourdigital.org
User prompt:
Perform SEO audit for https://blog.ourdigital.org and export to Notion
Actual Results:
=== SEO Audit: blog.ourdigital.org ===
Robots.txt: ✓ Valid
- 6 disallow rules
- Sitemap declared
Sitemap: ✓ Valid
- 126 posts indexed
- All URLs accessible
Schema Markup: ⚠ Issues Found
- Organization missing 'url' property (High)
- WebPage missing 'name' property (High)
- Missing SearchAction on WebSite (Medium)
- Missing sameAs on Organization (Medium)
Core Web Vitals (Mobile):
- Performance: 53/100
- SEO: 100/100
- LCP: 5.91s ✗ Poor
- CLS: 0.085 ✓ Good
- TBT: 651ms ✗ Poor
Findings exported to Notion: 6 issues
Example: GA4 Traffic Analysis
User prompt:
Get traffic data for OurDigital Blog from GA4
Actual Results:
GA4 Property: OurDigital Blog (489750460)
Period: Last 30 days
Top Pages by Views:
1. / (Homepage): 86 views
2. /google-business-profile-ownership-authentication: 59 views
3. /information-overload/: 37 views
4. /social-media-vs-sns/: 23 views
5. /reputation-in-connected-world/: 19 views
Example: Search Console Performance
User prompt:
Get Search Console data for ourdigital.org
Actual Results:
Property: sc-domain:ourdigital.org
Period: Last 30 days
Top Pages by Clicks:
1. ourdigital.org/information-overload - 27 clicks, pos 4.2
2. ourdigital.org/google-business-profile-ownership - 18 clicks, pos 5.9
3. ourdigital.org/social-media-vs-sns - 13 clicks, pos 9.5
4. ourdigital.org/website-migration-redirect - 12 clicks, pos 17.9
5. ourdigital.org/google-brand-lift-measurement - 7 clicks, pos 5.7
Notion Database Structure
Finding Entry Example
Issue: Organization schema missing 'url' property
Properties:
| Field | Value |
|---|---|
| Category | Schema/Structured Data |
| Priority | High |
| Site | https://blog.ourdigital.org |
| URL | https://blog.ourdigital.org/posts/example/ |
| Found Date | 2024-12-14 |
| Audit ID | blog.ourdigital.org-20241214-123456 |
Page Content:
## Description
The Organization schema on the blog post is missing the required
'url' property that identifies the organization's website.
## Impact
⚠️ May affect rich result eligibility and knowledge panel display
in search results. Google uses the url property to verify and
connect your organization across web properties.
## Recommendation
💡 Add 'url': 'https://ourdigital.org' to the Organization schema
markup in your site's JSON-LD structured data.
API Configuration Reference
Available Properties
| API | Property/Domain | ID |
|---|---|---|
| Search Console | sc-domain:ourdigital.org | - |
| GA4 | OurDigital Lab | 218477407 |
| GA4 | OurDigital Journal | 413643875 |
| GA4 | OurDigital Blog | 489750460 |
| Custom Search | - | e5f27994f2bab4bf2 |
Service Account
Email: ourdigital-seo-agent@ourdigital-insights.iam.gserviceaccount.com
File: ~/.credential/ourdigital-seo-agent.json