0. Overview & PurposeCore

Robert's SEO Command Center (WordPress + Convertri)

Purpose: One internal, dark-mode hub that holds your:

  • Platform choice logic (WordPress vs Convertri vs Hybrid)
  • Convertri-specific SEO workarounds and checklists
  • Review, citation, social, entity & backlink systems — ordered by impact
  • JSON-LD templates, troubleshooting, snippets, and tools

How to use: When working on any client site, pick a section from the left nav, expand/collapse as needed, and copy straight from here into Convertri or WordPress.

1. Platform Choice: WordPress vs ConvertriCore

WordPress vs Convertri — SEO / Technical Comparison

Feature / CapabilityWordPress (RankMath/Yoast)ConvertriConvertri Workaround
Meta Title & Description ControlExcellentYesSet manually in Page Settings
JSON-LD Schema AutomationLocalBusiness, FAQ, Breadcrumbs, etc.Manual onlyPaste JSON-LD in Page Settings → Header
Dynamic Schema (reviews, products)AutomatedNot supportedUse manual templates (see JSON section)
Sitemap ControlFullBasic sitemapUse /sitemap.xml + manual HTML sitemap page
Robots.txt EditingPlugins/hostNo UIUse your hosting/DNS if available; otherwise meta robots + canonicals
Canonical TagsAutomaticManualAdd <link rel="canonical"> in Header
Blog / Category StructureExcellent for content SEONo native blogSubdomain blog (WP/Ghost/DropInBlog)
Core Web VitalsNeeds tuning/pluginsVery good by defaultUse WebP, minimal extra scripts
Page Load SpeedDepends on theme/pluginsFast out of the boxConvertri is already optimized
RedirectsPlugins or serverLimitedUse your registrar/host or Convertri redirect tools
Scaling PagesHundreds+ no problemNot ideal for big content sitesConvertri for money pages + WP for content

Decision Summary

  • Local service, 5–20 pages, funnels → Convertri
  • Heavy content, multi-location, authority SEO → WordPress
  • Both → Hybrid: Convertri for high-converting pages, WordPress blog on subdomain

Quick Platform Decision Tree

  1. Need 20+ posts/year or SEO silos? → WordPress
  2. Local service, conversion-focused? → Convertri or Hybrid
  3. More than ~25 unique pages? → WordPress
  4. Speed mission-critical (PPC)? → Convertri
  5. Complex features (membership/booking)? → WordPress
2. Convertri SEO Master ChecklistCore

Convertri SEO Master Checklist

A. Page-Level SEO (Every Page)

  1. Page Settings → SEO
    • Title: 50–60 chars, keyword + city/brand
    • Description: 150–160 chars, benefits + CTA
    • Keywords: optional
    • Canonical URL: set when duplicate risk
  2. Page Settings → Header → JSON-LD
    • Add LocalBusiness
    • Add OfferCatalog (services)
    • Add FAQPage if you have FAQs
    • Add VideoObject for key videos
    • Use areaServed/GeoCircle for local radius

B. Technical SEO

  • Robots.txt: manage via your hosting/DNS provider if available, or use meta robots + canonicals.
  • Redirects: use your domain registrar, hosting, or Convertri’s redirect tools for 301s/410s.
  • Sitemaps: Use /sitemap.xml + build manual HTML sitemap and submit in GSC.
  • Images: see Image Optimization mini-checklist below.

Image Optimization Mini-Checklist

  • Format: Use WebP for most images. PNG only for logos/graphics needing transparency or perfect sharpness.
  • File size: Aim for < 200 KB for standard images, < 100 KB for icons/logos when possible.
  • Dimensions: Don’t upload 4000px-wide images if they render at ~800px. Resize before uploading.
  • Filenames: Use keyword-and-location rich names, e.g.:
    • san-antonio-water-softener-installation-01.webp
    • scottsdale-emergency-plumbing-repair.webp
  • ALT text (SEO + accessibility):
    • Describe what’s in the image in natural language.
    • Include the main keyword + city when it fits naturally.
    • Avoid stuffing (no “water softener san antonio” repeated unnaturally).
    • Examples:
      • alt="New water softener installation in a San Antonio home"
      • alt="Licensed plumber replacing a leaking water heater in Boerne"
  • Logos: ALT text can be simple:
    • alt="People's Choice Plumbing logo"
    • alt="Polarity Leads company logo"
  • Above-the-fold hero image:
    • Prioritize smallest file size that still looks good.
    • Use strong, relevant ALT text – often the first image Google “sees.”

C. Content & Internal Links

  • 150–200+ words per core section.
  • Use H1/H2/H3 structured around search intent.
  • Inline internal links between related services and city pages.
  • Add FAQ sections to main money pages.

D. Tracking & Behavior

  • Install GA or GTM via global Header scripts.
  • Track taps on phone/SMS buttons and form submissions.
  • Use UTM tags on external traffic sources.
3. Review Generation System (Highest Impact)Core

Review Generation System

Why it matters: For local service businesses, review volume + score + recency are huge drivers of GBP visibility, click-through, and trust.

A. Simple Review Ask Scripts

1. SMS Script

Hi FIRSTNAME, this is BUSINESS from CITY. 
Thanks again for choosing us today!

If we earned a 5-star experience, would you mind leaving a quick review here? 
It really helps other homeowners find us:

REVIEW LINK

Thank you!
BUSINESS NAME

2. Email Script

Subject: Quick favor – your feedback

Hi FIRSTNAME,

Thanks again for trusting BUSINESS NAME with YOUR SERVICE (e.g., water softener install) today.

If you feel we earned it, would you mind leaving a quick 5-star review? It takes less than 60 seconds and helps other homeowners in CITY feel confident choosing us:

REVIEW LINK

We appreciate you!
BUSINESS NAME

B. After-Service Verbal Ask

  • “If I send you a quick text with our Google review link, would you mind leaving us a 5-star review if we’ve earned it?”
  • “Our small business grows through reviews from awesome customers like you — it really makes a difference.”

C. Review Funnel Landing Page (Convertri)

Basic structure for a Convertri review funnel:

  • Headline: “How was your experience with BUSINESS NAME?”
  • Two buttons:
    • “Great – Leave a Review” → goes directly to GBP review link.
    • “Not so great – Send feedback” → simple form to catch issues before public review.

D. Schema Tie-In

Use AggregateRating in LocalBusiness schema once you have a reasonable base of reviews:

"aggregateRating": {
  "@type": "AggregateRating",
  "ratingValue": "4.9",
  "reviewCount": "37"
}

Remember: reviewCount must be ≥ 1 to avoid errors.

4. Citations Master SectionHigh Impact

Citations Master Section

Goal: Clean, consistent NAP across the web so Google can confidently connect the entity (business) with the location.

A. Core Citations to Prioritize

  • Google Business Profile
  • Bing Places
  • Apple Maps
  • Facebook Business Page
  • Yelp
  • Better Business Bureau (if appropriate)
  • Nextdoor (for some neighborhoods)
  • Industry-specific platforms (Angi, HomeAdvisor, Thumbtack, etc.)

B. Rules for Citations

  • Exact NAP: Name, address, and phone must match your website and schema exactly.
  • One primary phone: Use the same main number everywhere (tracking numbers only with proper setup).
  • Categories: Mirror GBP’s primary category when possible.
  • Descriptions: Keep a consistent but slightly varied business description across sites.

C. Citation Tracking Table (Use Manually)

Platform           | URL                                      | Status      | Notes
-------------------|-------------------------------------------|-------------|--------------------------
Google Business    | https://business.google.com/             | Live        |
Bing Places        |                                          | Planned     |
Apple Maps         |                                          | Planned     |
Facebook           |                                          | Live        |
Yelp               |                                          | In progress |
[Industry Site 1]  |                                          |             |
[Industry Site 2]  |                                          |             |

D. Clean-Up & Dupes

  • Search “BUSINESS NAME + ADDRESS” and “PHONE NUMBER” in Google.
  • Find old/incorrect listings and either:
    • Update to current NAP
    • Or request removal if completely wrong
5. UTM Tracking & MeasurementHigh Impact

UTM Tracking & Measurement

Goal: Know what’s actually driving calls, form fills, and revenue.

A. Core UTM Structure

?utm_source=SOURCE&utm_medium=MEDIUM&utm_campaign=CAMPAIGN

Examples

?utm_source=google&utm_medium=organic&utm_campaign=gbp_profile
?utm_source=facebook&utm_medium=social&utm_campaign=summer_promo
?utm_source=email&utm_medium=newsletter&utm_campaign=water_softener_tips

B. Where to Use UTMs

  • GBP Website link
  • GBP Appointment link
  • Facebook/Instagram ads and boosted posts
  • Email campaigns
  • QR codes on print materials

C. Basic Reporting Flow

  • Set up GA/GA4 via Convertri Header.
  • Use UTM tags on all off-site links to your pages.
  • Review reports by Source/Medium/Campaign.
  • Track conversions (form submits, calls, SMS taps).
6. Social Media System (GBP + Social)High Impact

Social Media System: GBP + Supporting Channels

Reality: Social isn’t a direct “ranking factor,” but it drives brand searches, clicks, engagement and trust — which do impact performance.

A. Platform Priority for Local Businesses

  1. Google Business Profile (GBP)
  2. Facebook Business Page
  3. Instagram
  4. YouTube (shorts + explainer videos)
  5. TikTok (optional but powerful for some niches)
  6. Nextdoor (neighborhood-focused)
  7. LinkedIn (more B2B-focused services)

B. Weekly Posting Framework (Simple Version)

  • GBP: 3–5 posts/week
    • Before/after
    • FAQ posts
    • Seasonal reminders
    • Special offers
  • Facebook: 2–3 posts/week
  • Instagram: 2–3 posts/week (photos/reels)
  • YouTube Shorts / TikTok: 1–2 short videos/week (optional)

C. Simple Content Templates

1. Before/After Post

“Check out this BEFORE/AFTER from a recent JOB TYPE in CITY.

If your HOME ITEM is looking like the ‘before’ photo, we’d love to help you upgrade to the ‘after.’

📍 CITY / AREA
📞 CALL-TO-ACTION (Call/Text/Visit site)”

2. FAQ Post

“FAQ: QUESTION?

ANSWER (1–3 sentences, simple language).

If you’ve got other questions about SERVICE in CITY, send us a message or call/text us at PHONE.”

3. “We’re in Your Area” Post

“We’re working in NEIGHBORHOOD today helping homeowners with SERVICE.

If you’re nearby and want us to take a quick look at YOUR ISSUE, call or text us at PHONE and we’ll see if we can swing by.”

D. Social in JSON-LD (sameAs)

Add main social profiles into Organization/LocalBusiness schema:

"sameAs": [
  "https://www.facebook.com/YOURPAGE",
  "https://www.instagram.com/YOURPAGE",
  "https://www.youtube.com/@YOURCHANNEL",
  "https://www.tiktok.com/@YOURHANDLE",
  "https://www.linkedin.com/company/YOURCOMPANY"
]
7. Entity & Brand Graph SignalsHigh Impact

Entity & Brand Graph Signals

Idea: Google builds a “knowledge graph” (entity graph) around each brand. You’re helping it connect the dots.

A. Core Entity Builders

  • Consistent NAP (site, schema, citations)
  • Strong GBP with reviews and posts
  • Organization/LocalBusiness schema with sameAs links
  • Mentions of brand + city around the web (unstructured citations)
  • Branded searches that get clicked (“Brand + city”)

B. Schema for Entity Reinforcement

  • Use @id consistently (e.g., https://site.com/#organization).
  • Use sameAs with social, map, major profiles.
  • Keep name/address/phone identical everywhere.

C. Practical Actions

  • Encourage customers to search for “BRAND NAME” directly (mailers, print, email).
  • Get featured on local blogs/news where possible (“unstructured citations”).
  • Re-use same branding (logo, colors, tagline) across all channels.
9. Quick Tools HubCore
10. Convertri Build ChecklistCore

Convertri Build Checklist (New Site)

Before Building

  • Point your domain to Convertri using their DNS instructions.
  • Enable SSL for the domain in Convertri.
  • Set favicon.
  • Add GA/GA4 or GTM in global Header scripts (if needed).

Page Build

  • Build desktop layout → then adjust mobile.
  • Add strong hero with Call/Text buttons (mobile-friendly).
  • Include real photos and clear copy (150–200+ words per key section).
  • Add testimonials and reviews section.
  • Add FAQ sections on main money pages.
  • Footer with full NAP + important links (Privacy, Terms, Sitemap).

SEO Setup

  • Set Title/Description on every page.
  • Canonical URL when needed.
  • LocalBusiness + OfferCatalog + FAQPage JSON-LD where appropriate.
  • Internal links between related pages.
  • Create HTML sitemap page and link it in footer.

Pre-Launch

  • Test all links and forms.
  • Test mobile thoroughly.
  • Validate schema (Rich Results / Schema Validator).
  • Run PageSpeed Insights on key pages.
  • Submit sitemap in Google Search Console.
11. WordPress Migration ChecklistOptional

WordPress Migration Checklist

Convertri → WordPress

  • Map all URLs and plan 301 redirects.
  • Rebuild core layouts in WP builder/theme.
  • Install Rank Math/Yoast, set title/meta templates.
  • Move JSON-LD into schema plugin or code snippets.
  • Recreate forms, CTAs, and tracking events.
  • Set redirects via hosting or registrar.
  • Generate new sitemap and submit to GSC.
  • Re-validate schema and speed.

WordPress → Convertri

  • Select “money pages” to move for speed/conversion.
  • Rebuild pages in Convertri with clean design.
  • Copy content, headings, FAQs, testimonials.
  • Re-implement JSON-LD manually (Header).
  • Set 301 redirects via registrar/host if URLs change.
  • Update sitemap & HTML sitemap accordingly.
  • Re-add analytics/tracking.
12. Master JSON-LD TemplatesCore

Master JSON-LD Templates

Usage: Paste into Convertri Page Settings → Header and replace ALL CAPS placeholders.

12.1 LocalBusiness Base Template

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": ["Organization", "LocalBusiness", "SERVICE_TYPE"],
  "@id": "https://YOURDOMAIN.com/#organization",
  "name": "BUSINESS NAME, LLC",
  "url": "https://YOURDOMAIN.com/",
  "telephone": "+1-XXX-XXX-XXXX",
  "logo": {
    "@type": "ImageObject",
    "url": "https://YOURDOMAIN.com/path-to-logo.webp"
  },
  "image": "https://YOURDOMAIN.com/path-to-main-image.webp",
  "description": "SHORT ONE-SENTENCE SUMMARY FOR BUSINESS AND LOCATION.",
  "priceRange": "$$",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "123 Main St",
    "addressLocality": "CITY",
    "addressRegion": "ST",
    "postalCode": "ZIP",
    "addressCountry": "US"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": LAT_VALUE,
    "longitude": LNG_VALUE
  },
  "sameAs": [
    "https://www.google.com/maps?cid=GOOGLE_CID",
    "https://www.facebook.com/YOURPAGE",
    "https://www.yelp.com/biz/YOUR-YELP-SLUG"
  ]
}
</script>

12.2 OfferCatalog Template

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "OfferCatalog",
  "name": "SERVICE OFFERINGS",
  "itemListElement": [
    {
      "@type": "Offer",
      "itemOffered": {
        "@type": "Service",
        "name": "SERVICE 1 NAME",
        "description": "Brief description of Service 1.",
        "areaServed": {
          "@type": "City",
          "name": "PRIMARY CITY"
        }
      }
    },
    {
      "@type": "Offer",
      "itemOffered": {
        "@type": "Service",
        "name": "SERVICE 2 NAME",
        "description": "Brief description of Service 2.",
        "areaServed": {
          "@type": "City",
          "name": "PRIMARY CITY"
        }
      }
    }
  ]
}
</script>

12.3 FAQPage Template

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "QUESTION 1?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Answer text for question 1."
      }
    },
    {
      "@type": "Question",
      "name": "QUESTION 2?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Answer text for question 2."
      }
    }
  ]
}
</script>

12.4 VideoObject Template

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "VideoObject",
  "name": "VIDEO TITLE",
  "description": "Short description of the video.",
  "thumbnailUrl": "https://YOURDOMAIN.com/path-to-thumbnail.webp",
  "uploadDate": "2025-01-01",
  "duration": "PT2M30S",
  "contentUrl": "https://VIDEO-FILE-IF-DIRECT.mp4",
  "embedUrl": "https://player.vimeo.com/video/VIDEO_ID",
  "publisher": {
    "@type": "Organization",
    "name": "BUSINESS NAME",
    "logo": {
      "@type": "ImageObject",
      "url": "https://YOURDOMAIN.com/path-to-logo.webp"
    }
  }
}
</script>

12.5 GeoCircle / Area Served

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "name": "BUSINESS NAME",
  "areaServed": {
    "@type": "GeoCircle",
    "geoMidpoint": {
      "@type": "GeoCoordinates",
      "latitude": LAT_VALUE,
      "longitude": LNG_VALUE
    },
    "geoRadius": 30000
  }
}
</script>

12.6 AggregateRating Snippet

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "name": "BUSINESS NAME",
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.9",
    "reviewCount": "37"
  }
}
</script>
13. Schema / SEO TroubleshootingCore

Schema / SEO Troubleshooting Quick Codes

Common Schema Issues

  • “Missing field address” → Add full PostalAddress block to LocalBusiness.
  • “Value in property reviewCount must be positive” → Set reviewCount ≥ "1".
  • Unknown type errors → Use valid types from schema.org (e.g., LocalBusiness, Service).
  • Duplicate @id warnings → Ensure each entity has a unique @id or reuse intentionally.
  • Video rich result missing → Check VideoObject for thumbnailUrl, uploadDate, embedUrl.

Indexing / Coverage Issues

  • Check robots.txt from your hosting/DNS isn’t blocking key paths.
  • Use GSC → Pages report to see exact status and referring page.
  • Use 410 or canonical tags for junk/parameter URLs.
  • Use “Inspect URL” in GSC and request indexing for key pages.
14. Copy-Paste SEO SnippetsOptional

Copy-Paste SEO Snippets

UTM (GBP → Site)

?utm_source=google&utm_medium=organic&utm_campaign=gbp_profile

Tap-to-Call Link

<a href="tel:+16023270557">Call Now</a>

Tap-to-Text Link

<a href="sms:+16023270557">Text Us</a>

Responsive Image

<img src="https://YOURDOMAIN.com/image.webp"
     alt="KEYWORD-RICH DESCRIPTION"
     style="max-width:100%; height:auto;">

Simple Inline Button

<a href="tel:+16023270557"
   style="display:inline-block; padding:10px 18px; background:#cc0000; color:#ffffff; text-decoration:none; border-radius:4px; font-weight:bold;">
  Call Now
</a>
15. Branding & Agency SnippetsOptional

Branding & Agency Snippets

Brand Info (Polarity Leads)

AGENCY NAME: Polarity Leads
TAGLINE: AI-Driven Local SEO & Lead Generation
PRIMARY SITE: https://polarityleads.com/
PHONE: (602) 327-0557
EMAIL: robert@polarityleads.com
PRIMARY COLOR: #HEX
SECONDARY COLOR: #HEX
ACCENT COLOR: #HEX

Agency Organization JSON-LD

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "@id": "https://polarityleads.com/#organization",
  "name": "Polarity Leads",
  "url": "https://polarityleads.com/",
  "logo": "https://polarityleads.com/path-to-logo.webp",
  "contactPoint": {
    "@type": "ContactPoint",
    "telephone": "+1-602-327-0557",
    "email": "robert@polarityleads.com",
    "contactType": "customer service",
    "areaServed": "US"
  }
}
</script>
16. Local SEO PlaybookCore

Local SEO Playbook (Service Businesses)

On-Site Essentials

  • Exact NAP on every page (footer, contact, schema).
  • City + main keyword in H1 and opening paragraph.
  • Dedicated service pages (not one generic page).
  • FAQs and testimonials on key pages.
  • Embed map or link to GBP where appropriate.

GBP Essentials

  • Fill out all fields (description, services, hours, categories).
  • Use UTM tracking on website/appointment links.
  • Post consistently (offers, FAQs, seasonal reminders).
  • Ask for and respond to reviews.

Citations & Social

  • Clean, consistent citations (see Citations section).
  • Active, on-brand social profiles (FB, IG, etc.).
  • Occasional YouTube/short-form video content helps a lot.
17. Notes ScratchpadOptional

Quick Notes Scratchpad

This won’t persist after refresh — just a place to think while you work.

Last updated: update this line manually when you change the playbook.