📋 End-of-Day Standup
Visible to the whole team in real time.
JAB
Operations Hub
Team Reference v2.0
Navigation
Pipeline
Team Roles
Phase Guides
Intake
Phase 1
Phase 2
Finalization
Launch
Reference
QA Standards
Plugins
Email Templates
Site Standards
Trello Rules
Cloudflare SOP
Post-Launch
Maintenance SOP
📍 GBP Setup
Redesign vs New Build
Services
🌱 Local Growth
📊 Reporting & Billing
Tools
Project Pipeline
Click any stage to see checklist, ownership, and requirements. Check off items as you work through a project.
Intake
Dev Build
QA (24hr)
Client Window
Parallel Tracks
Finalization/Launch
Complete
Team Roles
Every team member's lane. Stay in your lane, tag the right people, and nothing falls through the cracks.
Intake
Sale → Questionnaire → Invoice → n8n Automation → Queue. CEO and PM own this phase. Developer and QA do not act until the card is in Queue.
1
Close the sale
Deposit collected if applicable. Note: contract is signed by PM after mockup approval — not at this stage.
CEO
2
Send client questionnaire
Business name, industry, location, services, target cities, competitors, brand colors, logo, reference sites, GBP details.
PM (Tori)
3
Send invoice
Invoice sent ONLY after questionnaire is fully completed. Zero work before payment confirmed.
CEO
2A
Review and enrich intake
PM reviews questionnaire for completeness. If anything is missing, unclear, or needs added context, PM cleans the submission and adds supplemental notes before the workflow runs.
PM (Tori)
2B
n8n workflow triggers — auto or manual
On questionnaire submission n8n fires automatically. If intake must be revised, supplemented, or rerun, PM uses the manual trigger to send the updated payload to the same n8n workflow. System logs run source, editor, timestamp, and version.
AUTO / PM
5
Claude generates full site content package
E-E-A-T optimized content for all pages: Homepage, About, Services parent, 3-5 service pages, Areas parent, 3-5 location pages (unique content each).
AUTOMATED
6
PM confirms generation + creates Trello card
PM confirms workflow ran successfully. Attaches latest content package to Trello card. Card name: [Client Name] — [Project Type]. Due date set. Developer auto-assigned.
PM (Tori)
7
Move card to Queue
All assets attached. Developer auto-assigned — confirm assignment is active.
PM (Tori)
⚡ n8n + Manual Override — One Critical Guardrail

The questionnaire submission triggers n8n automatically. If PM needs to revise or supplement the intake (step 2A), the manual trigger sends the updated payload to the same downstream workflow — not a second content-generation path. This prevents output drift and keeps QA and troubleshooting clean. System logs capture run source, editor, timestamp, and version. PM confirms successful generation before moving the card.

Phase 1
Two deliverables. D1 = Homepage Mockup. D2 = Full Site Rough Draft. QA reviews both before any client contact.

Deliverable 1 — Homepage Mockup

1
Pick up card from Queue
Add yourself as card member. Comment target Phase 1 completion date.
Dev
2
Create Hostinger temp domain + install WordPress
Format: [clientname]-preview.[yourdomain].com. Note URL in card description.
Dev
3
Select + import Envato Elements template kit
Visit elements.envato.com/wordpress/template-kits — choose a kit suited to client industry and import it before building anything.
Dev
4
Install all standard plugins
Elementor, Elementor Pro, Rank Math PRO, UpdraftPlus, MainWP Child, Site Kit by Google. Note: Wordfence hash import and AltText.ai configuration happen at Finalization.
Dev
4b
Settings → Reading: Check "Discourage search engines from indexing this site"
Enable this immediately after WordPress is installed on the temp domain. Prevents Google from indexing the temporary URL and creating duplicate content or incomplete index entries before the site launches on the real domain.
Dev
5
Set Global Colors + Fonts in Elementor
Do this BEFORE building any page. Use brand colors and fonts from questionnaire.
Dev
6
Build homepage using AI content package
Hero, About, Services (3-5 cards), Why Choose Us, Service Areas, Contact CTA.
Dev
7
Move card to Send to QA
Comment with temp domain link. Tag @tori370.
Dev
8
QA reviews within 24 hours
Annotates in Atarim only. See QA D1 checklist in QA Standards section.
QA
9
Dev implements Atarim items
1 business day. Comment "All Atarim items resolved."
Dev
10
Card moves to Sent to Client — Mockup Approval
PM sends mockup link via email and/or Dialpad. Client reviews: APPROVED (PM signs contract, advance to D2) | ADJUSTMENTS (PM notes revisions in card, advance to D2) | NEW DIRECTION (Dev selects new Envato kit, restarts QA cycle).
PM (Tori)

Phase 1 Deliverable 2 — Full Site Rough Draft

1
Build all interior pages
About, Services parent, 3-5 service pages (unique content each), Areas parent, 3-5 location pages (unique city content each), Contact.
Dev
2
Complete site navigation
Header + footer nav. All pages linked. Zero 404s. All # links replaced with correct targets.
Dev
3
Move card to Send to QA (D2)
Comment with temp domain link. Tag @tori370.
Dev
4
QA full site review within 24 hours
All # links, Lorem Ipsum, image relevance checked across every page.
QA
5
Dev implements D2 Atarim items
1 business day. Comment "All D2 Atarim items resolved."
Dev
6
PM sends D2 email + Atarim invite
Use D2 email template. Includes site link AND Atarim guest collaboration link.
PM (Tori)
Phase 2
Two parallel tracks run simultaneously. Dev implements client revisions. QA runs all on-page SEO. Both must complete before the card advances.
⚡ Parallel Tracks — Start QA SEO Track immediately when client email goes out

Do not wait for client revisions to finish before starting SEO. Both tracks run at the same time.

Track A — Developer: Client Revisions

1
PM collects all client Atarim feedback
Once 5-7 day window closes or client signals done. PM also notes anything from Dialpad calls.
PM (Tori)
2
Move card to ATARIM Revisions
Tag @wordpress611 with summary of all changes needed.
PM (Tori)
3
Implement all client revision requests
Work through every Atarim annotation from the client.
Dev
4
Comment when revisions complete
"All client revisions implemented." Tag @tori370.
Dev

Track B — QA: On-Page SEO

1
Configure Rank Math — Business Information
Local SEO module: Business name, address, phone, hours, logo URL. Must match Google Business Profile exactly.
QA
2
Determine focus keywords per page
Homepage: [Primary Service] + [City, State]. Service pages: unique [service] + [city]. Location pages: unique [service] + [city]. No two pages share a primary keyword.
QA
3
Add focus keywords in Rank Math
1 primary + 2 additional per page. All pages must reach green score.
QA
4
Run n8n metadata workflow
n8n dashboard → 'Rank Math Metadata Generator' → enter site URL → trigger. Auto-generates title tags + meta descriptions for every page. Verify output.
QA
5
Apply inner linking
Homepage → service pages. Service area parent → location pages. Cross-link related services. Use keyword-rich anchor text throughout.
QA
6
Configure 404 Monitor + 301 Redirects
Enable 404 Monitor in Rank Math PRO. For redesigns: map all old URLs to new pages in Redirections module. Test each redirect.
QA
7
Generate WordPress Application Password
WP Admin → Users → Your Profile → Application Passwords → Add New. Label it n8n-rankmath. Copy the password and immediately add it to the master spreadsheet with the site URL, username, and password.
QA
8
Verify all pages green in Rank Math after n8n workflow
After the metadata workflow runs, spot-check every page for green Rank Math score. Yellow is acceptable. Red is not.
QA
9
Comment when SEO track complete
"Phase 2 SEO complete — Rank Math configured, metadata applied via n8n, inner linking done, 404/301 set, application password logged in master spreadsheet." Tag @tori370.
QA

Phase 2 Completion Gate

PM (Tori) Final Sign-Off Required

Both tracks must be complete. PM reviews and gives approval. Card moves to Project Completed only after PM confirmation in Trello.

Finalization
All technical setup AND full SEO implementation run after DNS propagates on the live domain. 1-3 business days.
⚠ Search Engine Visibility — Two Critical Toggles

During build (Phase 1 onwards on temp domain): Settings → Reading → Discourage search engines from indexing this site must be checked ON to block Google from indexing the temp domain and creating duplicate content or premature index entries.

At Finalization (after DNS propagates to live domain): This must be unchecked OFF so the live site can be crawled and indexed by Google. Do not go live with this still enabled.

⚡ Why Full SEO Runs at Finalization — Not During the Build

Schema markup references the live domain URL. If schema and the n8n metadata workflow are configured on the temp domain, all structured data points to the wrong URL and is ineffective in search. All focus keywords, the n8n metadata workflow, inner linking, and schema must run after DNS propagates and the site is live on its permanent domain.

SMTP — Gravity SMTP + SMTP2GO

What to Avoid

Do not use the visitor's email as the From address — breaks DMARC alignment and causes deliverability failures.
Do not run multiple SMTP plugins simultaneously — Gravity SMTP is the only mail layer.
Do not use single-sender verification when the domain has DMARC — use SMTP2GO domain verification instead.
Do not add a dedicated IP for normal low-volume form traffic.

On-Page SEO — Rank Math + n8n Metadata Workflow

Schema Markup

Goal: Fully Optimized LocalBusiness Schema

Use the most specific subtype: Plumber, Restaurant, LegalService, DentalClinic, RoofingContractor, etc. All fields below required.

reCAPTCHA + Security

Add-Ons (If Purchased)

Launch
DNS cutover to live domain. Only after CEO final sign-off and full finalization checklist complete.
DNS Propagation: 24-72 Hours

Set this expectation with the client BEFORE making the DNS change. Do not mark the project complete until the live URL resolves correctly.

1
Run a manual UpdraftPlus backup
Before touching anything on launch day.
Dev
1b
Settings → Reading: Uncheck "Discourage search engines from indexing this site"
This was enabled during the build to block temp domain indexing. It must be OFF before the site goes live so Google can crawl and index it after DNS propagates.
Dev
2
Point DNS to Hostinger
Update nameservers or A record. Notify PM and client of 24-72hr propagation window.
Dev
3
Update WordPress site URL
Settings → General → both WordPress Address AND Site Address → https://www.domain.com
Dev
4
Force HTTPS + flush caches
Confirm SSL active. Settings → Permalinks → Save. Clear caching plugin.
Dev
5
Final QA on live domain
Every page + form test on real URL. PM confirms.
PM (Tori)
6
Submit sitemap to Search Console
https://domain.com/sitemap_index.xml via Site Kit or GSC directly.
Dev
7
CEO final sign-off
CEO reviews live site. Official go-ahead given.
CEO
8
Move card to $$ Project Completed $$
Note live URL in card. Send launch confirmation email to client.
PM (Tori)
QA Standards
QA identifies issues using Atarim. QA does NOT edit the site. All annotations go in Atarim — never in texts or DMs.
QA Ground Rules — Non-Negotiable

1. Address card within 24 hours of hitting any QA column.
2. Use Atarim ONLY — click the element → leave a note. Never edit the site directly.
3. When done: comment in Trello "QA complete — [X] items in Atarim." Tag @wordpress611 and @tori370.
4. Do NOT move the Trello card. That is the Developer's job after fixes are complete.

How to Use Atarim

1
Open Atarim dashboard
Log in to JABstract Atarim account. Find the project by the temp domain URL in the Trello card.
2
Navigate to the page
Use Browse mode in Atarim to go to the page you want to annotate.
3
Switch to Comment mode
Use the toggle at the bottom of the Atarim tool.
4
Click the element with the issue
Click directly on the image, text, button, or section. A comment box appears.
5
Write a clear, actionable note
Example: "This image shows a restaurant — client is a plumber. Replace with plumbing-related image."
6
Repeat for all pages in scope
Work through every page systematically. Do not skip pages.
7
Comment in Trello when complete
"QA complete — [X] items in Atarim." Tag @wordpress611 and @tori370.

D1 QA Checklist — Homepage Mockup

Buttons and menu links do NOT need to work in D1. Focus on visual and content accuracy only.

D2 QA Checklist — Full Site Rough Draft

Plugin Reference
Every plugin in the JABstract standard stack. Click any plugin to expand tips and configuration notes.
Email Templates
Ready-to-send templates. Replace all [BRACKETED] fields before sending. Click Copy to grab the full email body.

Phase 1 D1 — Homepage Mockup Delivery

Follow-Up — Client Unresponsive (D1)

Phase 1 D2 — Full Site Delivery + Collaboration Invite

Launch Confirmation

Site Standards
Every JABstract site must meet these standards before advancing past QA. Non-negotiable on every project.

Footer Standard — Required 4-Column Layout

Every footer must have exactly this structure. QA will flag any deviation.

Copyright Line HTML

Copyright © [Year] [Company Name] | Powered by <a href="https://jabstract.net" target="_blank" rel="noopener noreferrer">JABstract Web Design and SEO</a>

Header Standard

Homepage Required Sections

SectionRequirements
HeroHeadline must include [Primary Service] + [City, State]. Subheadline. Primary CTA button.
About Us3-4 sentences. Business story, trust signals. From n8n/Claude content.
Services3-5 service cards. Each with title + 2-sentence description.
Why Choose Us4 differentiator bullet points.
Service AreasAll target cities listed. Geo-targeted for Google Maps Pack.
Contact CTAPhone number prominent. Form or CTA driving calls.

Wordfence Options Hash

Import on every new install. Wordfence → All Options → Import/Export → Paste hash → Import.

e1bf94c75158e3a89f29baf84ab54fa3eb8471d9d8605e9d51ad870b7cc3493fc5dfe2456bf1b6c331fa875e64f70460e79d8b138fa93a4d492793202e311aea
Trello Rules
Trello is the official record of every project. If it's not in Trello, it didn't happen. No exceptions.

Universal Rules — Everyone

  • Always tag the person you're addressing with @username. No untagged comments.
  • Never skip a column. Cards move in order. A stage is not done until it's done.
  • All project communication goes in Trello card comments. Not texts. Not DMs.
  • Update due dates immediately when they change. Comment explaining why.
Cloudflare WordPress Baseline SOP
One-time token workflow for applying the JABstract Cloudflare baseline to WordPress zones.
⚠ Core Rule — Always Follow This

Create a fresh API token, paste it into the script, run the script, verify success, then delete the token immediately. Never reuse old tokens. Never leave long-lived credentials behind.

⚠ Before You Start — Read This First

These scripts replace all custom WAF rules in the zone entrypoint ruleset with the five rules in the script. They do not append to existing rules.
If a zone already has custom firewall rules you need to preserve — stop and back them up first.
Use a brand-new API token every time.

What the Scripts Change vs. Don't Change

ScopeDetail
CHANGESSSL mode → Strict. Always Use HTTPS → On. Minimum TLS version → 1.2. Zone custom WAF entrypoint ruleset — replaced with 5 standard rules.
DOES NOT CHANGEManaged rulesets, transform rules, cache rules, rate limiting rules, bot settings, and unrelated Cloudflare products outside the custom WAF ruleset.

Token Creation — Step by Step

1
Log into Cloudflare
Go to My Profile → API Tokens.
2
Create Token → Create Custom Token
Name it clearly: e.g. JABstract WordPress baseline one-time run
3
Add three permissions
Zone / Zone / Read  ·  Zone / Zone Settings / Edit  ·  Zone / WAF / Edit
4
Set resource scope
All zones (for all-zones script) or specific domain (for single-zone script).
5
Leave Client IP Filtering empty
Unless you are certain of the runner's public IP. If you get a 403/9109 error, recreate the token without IP filtering.
6
Create token — copy it immediately
Cloudflare only shows the token secret once. Copy it now.

Operator Sign-Off Checklist

Common Failures

ProblemFix
403 Forbidden — code 9109Token is restricted to a different public IP. Recreate the token without Client IP filtering, or update the allowed IP.
No zones foundToken was pasted incorrectly, already deleted, missing Zone Read permission, or scoped to the wrong zone.
Zone not foundSingle-zone script is using the wrong zone name. Use the exact zone name from Cloudflare dashboard.
WAFRules failedToken is missing Zone WAF Edit permission, or Cloudflare returned a permission/ruleset error. Check the response body in output.
Ongoing Maintenance SOP
What happens after the site goes live. Every JABstract site is monitored and updated centrally through MainWP at master.jabstract.net.
⚙ Central Management Dashboard

All live client sites are managed from master.jabstract.net via the MainWP dashboard. Plugin updates, security scans, uptime monitoring, and backup verification all happen from one central location. Never update plugins directly from individual site WP-Admin dashboards.

MainWP Connection Setup

1
Install and activate MainWP Child plugin
Install on every new site during the plugin setup phase. Activate immediately.
Dev
2
Connect site to master.jabstract.net
In the MainWP Child plugin settings, enter the MainWP master dashboard URL: master.jabstract.net. Use the connection token generated from the master dashboard.
Dev
3
Verify connection in MainWP master dashboard
Log in to master.jabstract.net. Confirm the new site appears under Sites and shows as Connected. Sync the site to pull current plugin/theme/WordPress version data.
Dev
4
Configure automated checks
In MainWP master: enable uptime monitoring, set backup verification schedule, confirm Wordfence scan integration is active for the site.
Dev
5
Confirm MainWP Child remains installed at all times
Do not remove or deactivate MainWP Child on any live site without CEO approval.
Dev

Routine Maintenance Cadence

TaskFrequencyDone ViaOwner
Plugin updatesWeeklyMainWP master dashboardDev
WordPress core updatesAs released (after 48hr delay)MainWP master dashboardDev
Theme updatesMonthly or as availableMainWP master dashboardDev
Security scan reviewWeeklyMainWP + Wordfence integrationDev
Backup verificationWeeklyUpdraftPlus via MainWPDev
Uptime monitoringOngoing (automated alerts)MainWP uptime monitorPM notified on alert
Performance checkMonthlySite Kit by Google / PageSpeed InsightsDev / QA

Post-Launch Revision Intake via Atarim

✍ Atarim is the Required Channel for All Post-Launch Revision Requests

Once a site is live and handoff is complete, Atarim becomes the only accepted intake channel for future website edit requests. Any revision request that arrives by email, text, or phone call gets redirected to Atarim before any work is triaged or scheduled.

Revision Triage Categories

CategoryDefinitionAction
Included SupportMinor text/image swap, broken link, small visual fix covered under the client's planPM assigns to Dev. No billing. Complete within agreed SLA.
Billable RevisionContent rewrite, new section, page addition, design change outside original scopePM sends quote to client first. Work begins after written approval.
Bug FixSomething broken that was working at launchPM assigns to Dev with priority flag. Fix first, document cause after.
Quote NeededNew feature, new page type, new integration, or significant structural changePM escalates to CEO for scoping and pricing before any response to client.

Plugin Update Protocol (from MainWP)

Handoff Email Template

Google Business Profile Setup
GBP is tightly coupled to the website — the NAP on the site must match GBP exactly. PM handles access collection and GBP setup in parallel with the build phase.
📌 PM Owns Access Collection — Start This Early

Do not wait until the site is nearly done to collect access. PM should reach out for all platform access during the intake phase, as soon as the client is moved to Queue. Delayed access = delayed launch.

Access Collection Checklist

Google Business Profile — Setup Flow

Scenario A: Client Already Has a GBP Listing

1
Request Manager access to the existing GBP
Ask the client to go to their Google Business Profile and add the JABstract Google account as a Manager (not Owner). Walk them through it via Dialpad if needed.
PM (Tori)
2
Audit the existing listing
Check: business name, address, phone, website URL, hours, categories, photos, description. Note any discrepancies vs the client questionnaire.
PM (Tori)
3
Align GBP NAP with website NAP
The name, address, and phone on GBP must match the website footer exactly — same format, same abbreviations. Update one to match the other. GBP is the source of truth.
PM / Dev
4
Update GBP website URL to live domain
Once the site is live, update the website URL field in GBP to the live domain. Do not point GBP to the temp domain at any stage.
PM (Tori)

Scenario B: Client Has No GBP Listing

1
Create a new Google Business Profile
Use the client's Google account if they have one, or create a new Google account for the business. Go to business.google.com and start the listing creation.
PM (Tori)
2
Add the business owner as a Manager immediately
As soon as the listing is created, invite the business owner's Google account as a Manager. This ensures they have access and JABstract does not become the de-facto owner of their listing.
PM (Tori)
3
Fill in all listing details
Business name, primary category, address (or service area for SABs), phone number, website URL (use live domain — not temp), hours, description using keyword-rich copy from the content package.
PM (Tori)
4
Initiate address verification
Google will require the business to verify its address — typically by postcard, phone call, or video verification. Inform the client what to expect. JABstract cannot complete this step for them.
PM (Tori)
5
Follow up on verification status
If using postcard verification: postcard arrives in 5-14 days. Follow up with the client via Dialpad to confirm receipt and help them enter the verification code. Log all follow-ups in Trello card.
PM (Tori)
6
Complete listing after verification
Add business photos (exterior, interior, team, logo), complete the Q&A section, confirm NAP matches website footer exactly.
PM (Tori)

GBP + Website NAP Alignment Checklist

Redesign vs New Build
Redesigns and new builds share the same tech stack but have different pre-build requirements. Know which one you are working on before anything else.

How to Tell the Difference

New BuildRedesign
Existing siteNoYes — live site must stay up during build
Existing indexed URLsNoYes — must be preserved or 301 redirected
Existing contentNone to migrateMay need to migrate text, images, blog posts
Client Google AnalyticsNew GA4 propertyExisting property — preserve historical data
301 RedirectsNot requiredRequired for all changed URLs
Risk levelLow — nothing to breakHigher — existing rankings at risk if done wrong

Redesign Checklist

Applications
Quick access to external tools, spreadsheets, and platforms used across JABstract projects. Click any card to open in a new tab.
📊 External Tools — Open in New Tab

All links below open in a new browser tab. Make sure you are logged in to the appropriate Google account before accessing shared spreadsheets.

📊
Master Spreadsheet
Central reference for application passwords, site credentials, and workflow data. Log n8n-rankmath application passwords here immediately after generating them.
📎 Google Sheets ↗
📋
Trello Board
Project management hub. All active client projects, pipeline stages, and team assignments live here. The official record of every project.
📎 Trello ↗
🖥️
MainWP Dashboard
Central WordPress management. Run plugin updates, security scans, and backup verification for all client sites from one location.
📎 master.jabstract.net ↗
💬
Atarim
Client collaboration and QA annotation platform. All feedback — during build and post-launch — goes through Atarim. Never via email or text.
📎 Atarim ↗
n8n Automation
Workflow automation dashboard. Trigger the Rank Math Metadata Generator workflow and manage all automation pipelines from here.
📎 n8n ↗
📧
SMTP2GO
Email delivery platform. Create new sender domains, manage SMTP users, and verify DNS records for each client site during Finalization.
📎 SMTP2GO ↗
Local Growth Services
Client management for ongoing local SEO and growth services. PM owns all monthly deliverables, reporting, and client communication for every active account.
📋 PM Monthly Ownership

For every active Local Growth client, the Project Manager owns: deliverable completion, monthly reporting, client communication, and escalation to CEO for any scope changes or upsell opportunities. Ads Manager is looped in for clients that include paid ad management.

Service Tiers — What's Included

FOUNDATION Foundation Package
📍 CITATIONS — Monthly
Audit 50+ major directories monthly: Google, Yelp, Bing Places, Apple Maps, YellowPages, BBB, Facebook, Foursquare, and industry-specific listings. Correct any NAP (name, address, phone) discrepancies found. Log all corrections in Zoho CRM contact notes. Goal: 100% NAP consistency across all major platforms.
📰 PRESS RELEASE — 1 per month
Write 1 press release per month (400–600 words) covering a business update, new service, seasonal promotion, or community involvement. Distribute to 100+ local and industry news outlets via press distribution network. Send client the published URLs. Filed in Ahrefs to track backlink pickup.
📌 GBP OPTIMIZATION — Ongoing
Publish 2 Google Business Profile posts per week (8/month) using keyword-rich copy and calls to action. Maintain and update: business categories, service listings, attributes, hours, Q&A section, and business description. Upload minimum 2 new photos per month. Ensure website URL points to live domain at all times.
⭐ REVIEW RESPONSE — Within 48 hours
Monitor and respond to all new Google reviews within 48 hours of posting. Positive reviews: personalized thank-you, reinforce service mentioned. Negative reviews: professional acknowledgment, move to resolution offline. Log new review count monthly in the report. Do not incentivize reviews — Google policy violation.
📱 SOCIAL MEDIA — 4 posts/month (1/week)
Create and publish 4 branded social posts per month on the client's primary platform (Facebook or Instagram). Each post: branded graphic or photo, keyword-relevant caption, relevant hashtags, call to action. Topics rotate: service spotlight, before/after, seasonal offer, community post. Client must provide platform access (login or page admin access).
✍️ SEO CONTENT — 2 blog articles/month
Write and publish 2 SEO blog articles per month (minimum 800 words each) using n8n/Claude content workflow. Each article targets a specific long-tail keyword not covered by main service pages. Includes: H1, H2 structure, internal links to 2+ service pages, Rank Math configured, meta title + description set. Published to client's WordPress site. PM logs published URL in Zoho CRM.
📈 MONTHLY REPORT — By the 7th of each month
Compile and send monthly report by the 7th of each month using Ahrefs Report Builder. Report includes: GBP insights (views, calls, direction requests), Google Search Console data (impressions, clicks, average position), keyword ranking changes (Ahrefs Rank Tracker), backlinks acquired (Ahrefs Site Explorer), citation status, review count + average rating, content published. Delivered as PDF via email.
GROWTH Growth Package Everything in Foundation, plus:
✍️ SEO CONTENT — 4 blog articles/month (vs 2 in Foundation)
Same standards as Foundation but double the output. Each article targets a unique keyword. At this volume, begin targeting city+service combinations to build out location coverage beyond the main location pages.
📌 GBP — 4 posts/week (vs 2 in Foundation)
Increased GBP posting cadence to 4 times per week (16/month). More frequent posting signals active business status to Google and increases visibility in Maps. Include event-based and offer posts when applicable. Upload 4+ new photos/month.
⭐ REVIEW GENERATION CAMPAIGN — Active monthly
Build and maintain an active Google review generation system. PM creates a direct Google review shortlink for the client. PM provides the client with a monthly review request email and/or text script (not sent by JABstract — client sends to their own customers). Track new review count weekly. Goal: minimum 2 new reviews/month. All new reviews responded to within 24 hours at this tier.
🔗 BACKLINK ACQUISITION — 5–10 quality links/month
Build 5–10 quality inbound links per month through: niche directory submissions, local chamber and association listings, supplier/partner link requests, and press release distribution pickup. All links must be from indexed, relevant domains. Track in Ahrefs Site Explorer → New Backlinks. Log acquired links in monthly report. Avoid PBN or paid link schemes — Google penalty risk.
📞 CALL TRACKING — Setup + monthly reporting
Set up a tracked phone number (via CallRail or similar) for GBP and organic traffic attribution. Track: total calls, source (GBP vs website vs direct), call duration, missed calls. Monthly report includes call volume trend. Client must be notified of the tracking number so they can update signage/print materials if desired.
📱 SOCIAL MEDIA — 8 posts/month (2/week)
Doubled posting frequency. Same standards as Foundation. May include 2 platforms (e.g. Facebook + Instagram) at this tier. Include Stories or Reels content as platform supports it.
DOMINATION Full Local Domination Everything in Growth, plus:
🔍 FULL LOCAL SEO MANAGEMENT
Quarterly technical SEO audit of the client website using Ahrefs Site Audit. Review: Core Web Vitals, broken links, crawl errors, schema validity, duplicate content, page speed. File audit report in Zoho CRM. Assign any required fixes as Trello dev tasks. Update schema markup if business info changes. NAP consistency enforced across 100+ platforms (extended citation network). Monitor Search Console for indexing issues monthly — address any coverage errors within 7 days.
💰 PAID ADS MANAGEMENT — Google Ads (Ads Manager assigned)
Full Google Ads campaign management: campaign creation or takeover, keyword research, ad copy writing, bid strategy, negative keyword management. Weekly performance review using the Ads Weekly Brief KPI thresholds. Monthly budget pacing confirmed. Ad campaigns target the same cities as the local SEO strategy. Looker Studio dashboard set up with live campaign data. Ads Manager is the point of contact for all ad performance — PM relays to client in monthly report.
🔗 BACKLINK ACQUISITION — 15–20 quality links/month
Expanded link building at scale: includes strategic guest posting outreach on relevant local/industry blogs, resource page link acquisition, and local news/publication outreach. All links vetted via Ahrefs DR score (minimum DR 20) and topic relevance before pursuing. Monthly link report included in client report.
📝 CONVERSION CONTENT — Landing page + service page optimization
Quarterly review and refresh of all core service and location pages. Update H1/H2 structure, meta data, and body copy to reflect current keyword data from Ahrefs and Search Console. Add new service area pages as client expands. A/B test CTAs and contact form placement. PM coordinates with Dev for any page updates.
⭐ REPUTATION — Multi-platform monitoring
Monitor and respond to reviews on Google, Yelp, and Facebook. Track rating trend across all platforms monthly. Flag any reputation issues to CEO immediately — do not respond to major negative reviews without CEO review first. Active review generation campaign maintained with goal of 5+ new reviews/month.
📱 SOCIAL MEDIA — 12 posts/month (3/week), 2 platforms
Three posts per week across two platforms (Facebook + Instagram, or Facebook + Google Business). Include 2 Reels or video posts per month. Content calendar planned 2 weeks in advance. Client reviews and approves content before publishing (optional — if client approves this step).
📈 REPORTING — Expanded monthly + quarterly strategy call
Full Ahrefs + Zoho report delivered by the 5th of each month (earlier than lower tiers). Includes ads performance, organic rankings, backlink growth, call tracking, review trends, and content output. Quarterly 30-minute strategy call (via Dialpad or Zoom) with CEO + PM to review progress and set next quarter goals. Meeting notes logged in Zoho CRM.

Monthly Workflow — Project Manager

W1
Content production starts
Commission SEO blog drafts via n8n/Claude workflow (2 for Foundation, 4 for Growth+). Assign social post for the week. Begin press release if scheduled this month. Log all content tasks in Trello.
PM
W2
GBP + citation audit
Check GBP for new reviews — respond to all within 48 hours (24 hours for Domination). Run citation check across 50+ directories. Upload new GBP photos (min 2 this week). Confirm business hours, services, and description are current and accurate.
PM
W3
Content publish + backlinks (Growth+)
Publish SEO blogs to client's WordPress site. Configure Rank Math on each post (focus keyword, meta title, meta description). Log published URLs in Zoho CRM contact notes. For Growth+ clients: initiate backlink outreach or directory submissions. Upload week 3 social post.
PM
W4
Monthly report — pull data from Ahrefs + Zoho
Open Ahrefs → client's project → Rank Tracker (keyword positions), Site Explorer (new backlinks), Report Builder (compile monthly PDF). Pull GBP insights from the GBP dashboard. Pull Search Console data via Site Kit. Compile report by the 7th (Foundation/Growth) or 5th (Domination). Send to client via email. Log delivery in Zoho CRM.
PM

Monthly Deliverable Tracker

📋 Active Clients — Click to expand each client's monthly checklist

Add each active Local Growth client below. Deliverables are saved to the shared database so all team members see the same status. Reset at the start of each month.

Reporting & Billing
How JABstract delivers monthly reports using Ahrefs and manages client invoicing and payments through Zoho Books. PM owns both workflows.

Ahrefs — Monthly SEO Reporting SOP

📊 Ahrefs is the Source of Truth for All SEO Reporting

Every monthly report sent to a Local Growth client is built from Ahrefs data. Rank Tracker tracks keyword positions. Site Explorer tracks backlinks and domain authority. Report Builder generates the client-ready PDF. Do not manually compile reports from screenshots — use Report Builder.

Step 1 — Set Up a Project in Ahrefs (New Client Onboarding)

1
Log in to Ahrefs → Projects → Add New Project
Enter the client's live domain (e.g. clientdomain.com). Set the project name to the client's business name exactly as it appears in Zoho CRM. This keeps all reporting data organized and searchable.
PM
2
Connect Google Search Console
In the project settings, connect the client's GSC account. This pulls organic click and impression data directly into Ahrefs for unified reporting. Requires the client's Google account to have Search Console access already set up (done during site launch).
PM
3
Add target keywords to Rank Tracker
In the project → Rank Tracker tab → Add Keywords. Add: (1) all primary service keywords targeted by the homepage and service pages, (2) all target city+service combinations from location pages, (3) brand name keywords. Set location to the client's primary city. Track frequency: weekly.
PM
4
Set up email alerts for ranking changes
In Ahrefs → Alerts → Rank Tracker Alerts. Set up weekly alert for the project to send to PM's email. Alert triggers when any tracked keyword moves more than 3 positions up or down. This ensures PM is aware of significant ranking changes without manual checking.
PM
5
Run initial Site Explorer baseline
In Site Explorer → enter client domain → Overview tab. Screenshot or note: Domain Rating (DR), total referring domains, total backlinks, estimated organic traffic, and number of keywords ranking in top 10. Save this as the month-0 baseline in the client's Zoho CRM record. This is what you'll compare against each month.
PM
6
Build the client's report template in Report Builder
Ahrefs → Report Builder → New Report. Add widgets: Rank Tracker summary, keyword position changes (last 30 days), new referring domains (last 30 days), organic traffic trend. Save this as a template for the client. Each month, open this saved template → update date range → export PDF → send to client.
PM

Step 2 — Monthly Report Execution (Every Month, by the 7th)

1
Open Ahrefs → client project → Report Builder
Open the saved report template for this client. Update all date ranges to "last 30 days" (the prior calendar month). Do not use rolling 30 days if the report is being sent after the 1st — lock the date range to the exact month being reported.
PM
2
Pull keyword ranking data from Rank Tracker
Rank Tracker → select the date range → review positions for all tracked keywords. Note: keywords that moved into top 3, keywords that dropped more than 5 positions, any new page 1 entries. This data feeds the "Search Visibility" section of the report. Screenshot the position history chart for top 5 keywords.
PM
3
Pull backlink data from Site Explorer
Site Explorer → client domain → Backlinks → filter "New" links, last 30 days. Note: number of new referring domains acquired, DR of notable new links. Screenshot the referring domains trend chart. For Growth+ clients: verify backlinks from outreach work are appearing as indexed.
PM
4
Pull GBP insights from Google Business Profile dashboard
Log in to the client's GBP → Performance tab → select prior month date range. Record: Searches (direct + discovery + branded), Views (Search + Maps), Actions (website clicks, calls, direction requests). This data goes directly into the report GBP section — do not estimate or use rounded numbers.
PM
5
Export the Ahrefs PDF report + compile full client report
In Report Builder → Export → PDF. Add a cover page with client name, month, and JABstract branding if available. Combine Ahrefs PDF with: GBP data (paste into a summary page), GSC data, content published URLs, review count, and backlinks acquired. Use the monthly report email template to send. Log delivery date in Zoho CRM activity.
PM
⚠ What to Include in Every Monthly Report

GBP Insights: Views, calls, direction requests, actions (compare to prior month)
Keyword Rankings: Top movers up and down from Ahrefs Rank Tracker
Organic Traffic: Month-over-month trend from Ahrefs + GSC
Backlinks: New referring domains acquired this month (Site Explorer)
Domain Rating: Current DR vs prior month baseline
Content Published: Title + URL of each blog article published
Social Posts: Count of posts published + platform
Reviews: New review count, current average rating, any notable responses
Next Month Focus: 2–3 bullet points on what's being prioritized

Zoho Books — Client Billing & Payment Portal SOP

💳 Zoho Books is the Billing System of Record

All client invoices are created and managed in Zoho Books. Clients access invoices and make payments through the Zoho Books Customer Portal. CEO creates invoices. PM monitors payment status and follows up on overdue accounts.

New Client Setup in Zoho Books

1
Create the client as a Contact in Zoho Books
Zoho Books → Contacts → + New Contact. Enter: contact name (business owner), company name (exact business name as on GBP), email address (primary billing contact), phone, billing address. Set Currency to USD. This contact will be used for all future invoices — accuracy is critical.
CEO
2
Enable the Customer Portal for this contact
In the Contact's detail page → More → Configure Customer Portal. Select the contact person (or all contacts) to grant portal access. Click Enable. Zoho Books automatically sends an invitation email to the client with a link to set their portal password. The portal URL is auto-generated from your Zoho Books organization name.
CEO
3
Confirm client receives and accepts the portal invite
Client clicks the invite link in the email and sets a password. Once set up, they can log in to the portal at any time to view invoices, payment history, and download receipts. PM follows up via Dialpad if client hasn't accepted within 48 hours of invite send date.
PM
4
Verify payment gateway is connected
Zoho Books → Settings → Payment Gateways. Confirm at least one gateway is active (Stripe, PayPal, or Authorize.net recommended). Without a payment gateway connected, clients cannot pay online from the portal. CEO manages gateway setup — do not add or change payment gateways without CEO approval.
CEO

Monthly Invoice Creation + Sending

1
Create recurring invoice in Zoho Books (one-time setup)
For all monthly retainer clients: Zoho Books → Sales → Recurring Invoices → + New Recurring Invoice. Set: customer name, service line item (e.g. "Local Growth — Growth Package"), amount, frequency = Monthly, billing date = 1st of each month. This auto-generates invoices each month — CEO reviews before sending.
CEO
2
Send invoice to client (auto or manual)
Recurring invoices can be set to auto-send on the billing date, or held for CEO review first (recommended). When sending: Zoho Books includes a "Pay Now" button in the email. Clicking it opens the client portal payment page. Client does not need to log in — they can pay directly from the email link. Payment gateway must be connected for this to work.
CEO
3
Share payment link directly (alternative method)
For one-off invoices or clients who lost the email: Zoho Books → Sales → Invoices → select invoice → Share → Generate Link. Set expiration date. Set Visibility = Public. Share the generated link via email or text. Client can pay without logging in. This method is faster for one-time projects.
CEO
4
PM monitors payment status + follows up on overdue invoices
PM checks Zoho Books → Sales → Invoices → filter "Overdue" — every Monday morning. Any invoice overdue by 7+ days: PM sends a follow-up email and calls via Dialpad. Any invoice overdue by 14+ days: escalate to CEO. Log all follow-up attempts in Zoho CRM contact activity. Do not pause services without CEO approval.
PM

Client — How to Access the Payment Portal

What the client sees and does:
1.Client receives portal invite email from Zoho Books → clicks link → sets a password for their portal account.
2.Future invoices arrive by email with a Pay Now button. Clicking it takes them directly to the payment page — no login required.
3.To access the full portal (invoice history, receipts, statement of account): client visits the portal URL sent in the invite email and logs in with their credentials.
4.In the portal, they can: view all invoices, pay outstanding balances, download payment receipts as PDFs, view their account statement, and save credit card details for future payments.
5.Payment methods available depend on connected gateways: typically credit/debit card, and ACH bank transfer if enabled for that client account.

Zoho Books Reporting — What the CEO Tracks

ReportWherePurposeFrequency
Accounts ReceivableZoho Books → Reports → Receivables → Accounts ReceivableSee all outstanding client balances — who owes what and for how longWeekly (Monday)
Invoice DetailsReports → Sales → Invoice DetailsFull list of all invoices sent, status (paid/overdue/draft), and amountsMonthly
Payment ReceivedReports → Sales → Payments ReceivedAll payments collected in a date range — for revenue reconciliationMonthly
Portal ActivitiesReports → Activity → Portal ActivitiesSee when clients viewed invoices, made payments, or updated their infoAs needed
⚠ Never Skip These Rules

Never mark an invoice paid manually unless you have confirmed receipt of offline payment (check, ACH outside portal). All online payments record automatically.
Never delete an invoice — void it if it was sent in error. Deleted invoices leave gaps in the record.
Never share CEO's Zoho Books login with clients — use the Customer Portal only.
All billing questions from clients go to CEO. PM redirects billing inquiries — does not discuss pricing, discounts, or payment terms without CEO approval.