Rideout Law Group, Engagement Report v3.0
Day-65 Recovery Checkpoint (25 Days Until 90-Day KPI Review)
Critical data quality flag (read first). The Ahrefs API v3 endpoint returned HTTP 403 {"error":"Insufficient plan"} on every date-parameterized request during this sweep, including on dates that succeeded on June 2. The API key and hostname are unchanged. This is a subscription-tier change on the Ahrefs account, not a code issue on our side. Consequence: no fresh Ahrefs data was available for July 1, 2026. All SEO trajectory numbers below (DR, refdomains, keywords, traffic, momentum) are the June 2 snapshot carried forward with clear labeling. The July 1 findings in this report come entirely from live HTTP layer scans and WordPress REST API, which are fresh and reproducible. See Section 13 for the full caveat trail and Section 11 for the escalation.
Headline Findings
Two stories, one 65-day window. Read these first.
1. Recovery scorecard at day 65: BEHIND PACE
26 days out from the 90-day KPI review, the recovery is behind pace on the two metrics that matter most for a paying client conversation (organic keywords and organic traffic) and on pace on the leading indicators (Top-3 keywords, refdomains, DR). Ahrefs numbers cannot be independently refreshed on July 1 (API blocker, see cover callout), so we hold the June 2 numbers as the last authoritative reading and score conservatively.
The zero we didn't want: dev-side execution. The three known legacy decliners have not been refreshed in the 65 days since v1.8 flagged them. reCAPTCHA is still v2. The federal-crimes 404 is still 404. accessibility@rideoutlaw.com is still leaking on all 3 legal pages. Brad's team shipped 1 of the ~10 BB-DEV-TODOS in 65 days (LinkedIn URL fix). Recovery is bottlenecked on Brad-side execution, not on the SEO strategy.
2. Errors and hiccups on the live site (July 1)
Live HTTP layer scan against rideoutlaw.com on July 1, 2026 surfaced:
- Federal Crimes page still returns 404 (unchanged from June 2):
/criminal-defense/federal-crimes-defense-lawyer-scottsdale/. Broken for 65+ days. - NEW: /contact-us/ returns 404. Homepage navigation uses
/contact/(which works, HTTP 200), but any historical inbound link, cached search result, or marketing collateral that references/contact-us/now hits a dead page. No 301 redirect in place. - 3 legacy decliners still unrefreshed.
dateModifiedon/what-should-women-wear-to-court/is still 2024-06-03. The other two have no dateModified in the HTML. - accessibility@rideoutlaw.com still leaks on Privacy, Terms, and Accessibility pages (2 occurrences each). The v1.8 consolidation to brad@ has not happened.
- reCAPTCHA is still v2 on the contact form. Sitekey starts
6Le0DDEs(v2 prefix). No v3grecaptcha.execute()anywhere. - Zero new content published since June 2. WP REST API returns 0 posts and 0 pages with post_date > 2026-06-02. Sitemap lastmod dates confirm.
Day-65 top-line numbers (June 2 data carried forward, live site data current)
1. Executive Summary
This is the day-65 checkpoint on Rideout Law Group's 90-day recovery engagement. The engagement was scoped April 27, 2026 in report v1.8 (Phase 1 close: 43 practice subpages, 25 statute-anchored blog posts, 3 legal pages, 17-template schema package, WCAG 2.2 AA audit). v2.0 measured day 35. This v3.0 measures day 65, with 26 days remaining until the 90-day KPI review on July 27.
The strategy is working; the execution isn't. Every leading indicator we could measure on June 2 pointed the right direction: DR held at 31, refdomains grew from 263 to 423, Top-3 keywords climbed from 48 to 55, the momentum cluster expanded from 5 to 35 keywords gaining 3+ positions. The strategy from v1.8 (statute-anchored blogs, cross-linking, schema, WCAG) is producing the expected leading-indicator lift. What has NOT happened is the Brad-side execution that would convert those leading indicators into traffic gains: the 3 declining pages have not been refreshed (65 days), the 404 URL has not been fixed (65 days), reCAPTCHA v3 swap has not shipped (65 days), and Google Search Console access still has not been granted. Recovery is bottlenecked on client-side execution.
The Ahrefs API blocker is a real problem for this checkpoint. Sometime between June 2 and July 1, the Ahrefs subscription that produced the April 27 and June 2 sweeps was downgraded, expired, or throttled. Every date-parameterized endpoint now returns HTTP 403 "Insufficient plan." Same API key. Same host. Same request headers. This is a subscription tier change we cannot reverse from our side; it needs Don and/or Kaizen accounting. Without Ahrefs and without GSC access from Brad, we are effectively flying blind on rank and traffic dimensions until one or both is restored. Recommend restoring the Ahrefs plan tier before the July 27 KPI review; the diagnostic value at day 90 is very high.
Live site data is fresh, reproducible, and mostly bad news. All Section 8 (Live Site Health) findings can be independently verified against rideoutlaw.com right now. The 3 legacy decliners are still on their 2024 dateModified. The federal-crimes 404 is still 404 (65 straight days). A new 404 hiccup surfaced on /contact-us/ (homepage uses /contact/, but historical inbound links to /contact-us/ break). accessibility@rideoutlaw.com still leaks on all 3 legal pages. reCAPTCHA is still v2. LinkedIn URL was fixed (1 shipped item in 65 days). Blog schema integrity held on the 5 spot-checked Phase 1 posts.
What Jen and Don get in v3.0. The updated day-65 recovery scorecard against 90-day KPIs (Section 2). What improved (Section 3). What regressed or didn't move (Section 4). The SEO trajectory (Section 5, June 2 numbers, no fresh Ahrefs). GEO status (Section 6). Phase 1 indexing snapshot (Section 7). The full live-site health audit including the 2 live 404s (Section 8). Re-evaluated Phase 2 recommendations (Section 9). The updated prioritized punch list (Section 10). What Brad still owes us and hasn't delivered (Section 11). Days 66-90 next steps (Section 12). Caveats and API blocker context (Section 13).
2. Recovery Scorecard - Baseline / Day-35 / Day-65 / 90-Day Target
The v1.8 report committed six measurable KPIs across a 90-day window. We are at day 65 (72% of the window elapsed). The "expected pace" column shows where each metric would be on a linear glide path from baseline to target. The "day-65 status" is scored conservatively because the day-65 Ahrefs numbers are the June 2 snapshot carried forward (see Section 13).
| Metric | Baseline Apr 27 |
Day 35 Jun 2 |
Day 65 Jul 1 |
Expected Day 65 |
90-Day Target Jul 27 |
Status |
|---|---|---|---|---|---|---|
| Domain Rating | 31 | 31 | 31 (Jun 2 data) | ~31.5 | 32 | Behind pace |
| Live Refdomains | 263 | 423 | 423 (Jun 2 data) | 275 | 280 | Ahead (flagged, unverified since Jun 2) |
| Organic Keywords | 699 | 576 | 576 (Jun 2 data) | 1062 | 1,200 | Off track |
| Top-3 Keywords | 48 | 55 | 55 (Jun 2 data) | 64 | 70 | Behind pace |
| Organic Traffic / mo | 1,821 | 1,314 | 1,314 (Jun 2 data) | 2,240 | 2,400 | Off track |
| AIO presence (top 100 KWs) | 42% | 44% | 44% (Jun 2 data) | ~47% | 50% | Behind pace |
| Phase 1 URLs live (HTTP 200) | 70 / 71 | 70 / 71 | 70 / 71 (Jul 1) | 71 / 71 | 71 / 71 | Off track (1 URL 404 for 65 days) |
| Legacy decliners refreshed | 0 / 3 | 0 / 3 | 0 / 3 (Jul 1) | 3 / 3 | 3 / 3 | Off track |
| Brad-side unblock items delivered | 0 / 10 | 0 / 10 (0 full, 1 partial) | 0 / 10 (0 full, 1 partial, 1 dev item shipped) | 7-10 / 10 | 10 / 10 | Off track |
Scoring summary. Of 9 measurable metrics, 1 is ahead of pace (refdomains, flagged for unverified drift since June 2), 3 are behind pace (DR, Top-3 keywords, AIO), and 5 are off track (organic keywords, traffic, Phase 1 URL live rate, decliner refresh, Brad unblocks). The 4 leading-indicator metrics were on the right trajectory as of June 2. The 5 execution metrics have not moved.
The honest read. If Ahrefs data does refresh with fresh July 1 numbers before the 90-day review, and if we assume the June 2 trend held, the leading indicators should be pushing further ahead. Refdomains and Top-3 keywords have real chance to hit or exceed the 90-day target. DR at 32 is achievable if the momentum cluster continues expanding. AIO 50% is a stretch. Organic keywords 1,200 and traffic 2,400 are almost certainly not going to be hit at this pace without the legacy refresh executing this month. The 3-decliner refresh remains the single highest-leverage unlock for the traffic line.
3. What Improved Since Last Audit (June 2 to July 1)
Everything measurable that pointed in the right direction across the 30-day window between v2.0 and v3.0.
| Item | June 2 v2.0 state | July 1 v3.0 state | Impact |
|---|---|---|---|
| LinkedIn URL (BB-DEV-TODO item) | Broken (/admin/dashboard/) |
Fixed (/company/rideout-law-office/) - 3 refs on home, 2 on contact |
Real click-throughs to a real LinkedIn page. Trust/authority signal. |
| Blog schema integrity (5 spot-checked) | Present | Still present (5 of 5 have BlogPosting + FAQPage) | Phase 1 schema is holding. No regressions. |
| Random-sample HTTP 200 rate (20 URLs) | ~99% | 20 / 20 (100% of random sample) | Site is stable. No new deploy breakage. |
| Site technical stability | Stable | Stable (no new 500s, redirect loops, or CDN issues) | Baseline maintained. No regressions. |
| Ahrefs-measured leading indicators (Jun 2) | Refdomains +160, Top-3 +7, momentum 5->35 KWs | Not re-measurable, Ahrefs API blocked | If June 2 trend holds, 90-day KPI achievable on refdomains and Top-3. |
The single confirmed dev-side win in 30 days: LinkedIn URL was fixed. That is a real ship. Everything else in this table is either "held steady" or "not measurable due to Ahrefs blocker." No new regressions. The Phase 1 build is stable.
4. What Regressed or Did Not Move
The honest counterweight to Section 3. Every item that should have moved and did not.
| Item | June 2 v2.0 state | July 1 v3.0 state | Days flagged |
|---|---|---|---|
Legacy decliner #1: /what-should-women-wear-to-court/ |
Position 8, 209 traffic, unrefreshed | Still unrefreshed. dateModified: 2024-06-03T23:26:00+00:00 | 65 days flagged |
Legacy decliner #2: /squatters-rights-and-protecting-your-arizona-property/ |
Position 15, 22 traffic, unrefreshed | Still unrefreshed. No dateModified in HTML. | 65 days flagged |
Legacy decliner #3: /can-felons-get-a-passport-arizona/ |
Position 29, 4 traffic, unrefreshed | Still unrefreshed. No dateModified in HTML. | 65 days flagged |
Federal Crimes URL: /criminal-defense/federal-crimes-defense-lawyer-scottsdale/ |
HTTP 404 | Still HTTP 404 (verified July 1) | 65 days broken |
accessibility@rideoutlaw.com alias on legal pages |
2 refs on each of Privacy, Terms, Accessibility | Still 2 refs on each of Privacy, Terms, Accessibility | 65 days flagged |
| reCAPTCHA v3 swap (BB-DEV-TODO) | Still v2 (recaptcha/api.js) |
Still v2. Sitekey 6Le0DDEs..., no grecaptcha.execute() |
65 days flagged |
| Brad-side unblock delivery rate | 0 of 10 fully delivered; 1 partial | 0 of 10 fully delivered; 1 partial; +1 dev item (LinkedIn) | 65 days escalated |
| Phase 2 content production | 0 new posts, 0 new pages since Apr 27 | 0 new posts, 0 new pages since Apr 27 (WP REST API confirms) | 65 days without a new deploy |
| Ahrefs API data continuity | Working (June 2 sweep completed clean) | NEW: BLOCKED. 403 Insufficient plan on every endpoint | New issue - since ~June 2 |
| Google Search Console access from Brad | Pending | Still pending | 65 days pending |
| GA4 read-only access from Brad | Pending | Still pending | 65 days pending |
| Google Business Profile owner-verify | Pending | Still pending | 65 days pending |
New this window (day 35 to day 65): Ahrefs API access lost. /contact-us/ 404 discovered (see Section 8). No offsetting Brad-side delivery beyond the LinkedIn URL fix.
The pattern is unambiguous. Brad's team can execute on discrete developer tickets (LinkedIn URL was a code-level fix). What is not happening is any of the higher-effort items: content refresh, alias purge, plan-tier access grants, reCAPTCHA v3 migration. The 3-decliner refresh alone would recover an estimated 100-200 monthly visits within 4-6 weeks of redeploy; that's the single largest unrealized value in the engagement right now.
5. SEO Performance: 12-Month Trajectory + Day-65
Source note. Ahrefs API blocked on July 1 (see cover callout and Section 13). Numbers below through 2026-06-02 are Ahrefs-sourced from the June 2 sweep at /data/workspace/clients/rideout-law/ahrefs-deep-sweep-2026-06-02.md. The 2026-07-01 row is intentionally left blank; it will backfill when Ahrefs plan tier is restored.
5.1 Extended domain trajectory
| Date | DR | Live RefDomains | Live Backlinks | Org Keywords | Top-3 KWs | Org Traffic / mo |
|---|---|---|---|---|---|---|
| 2025-06-02 | 47 | 225 | 1,278 | 6,572 | 194 | 4,545 |
| 2025-08-02 | 36 | 222 | 1,913 | 6,123 | 130 | 3,351 |
| 2025-10-02 | 37 | 270 | 2,583 | 2,625 | 108 | 3,005 |
| 2025-12-02 | 28 | 292 | 2,819 | 1,237 | 77 | 2,410 |
| 2026-02-02 | 27 | 303 | 2,873 | 1,170 | 80 | 2,135 |
| 2026-03-15 | 31 | 283 | 2,994 | 1,080 | 80 | 2,501 |
| 2026-04-27 (baseline) | 31 | 263 | 3,011 | 692 | 48 | 1,762 |
| 2026-05-15 | 30 | 322 | 3,107 | 578 | 57 | 1,489 |
| 2026-06-02 (day 35) | 31 | 423 | 2,997 | 576 | 55 | 1,314 |
| 2026-07-01 (day 65) | NO FRESH DATA - AHREFS API BLOCKED (403 Insufficient plan) | |||||
The last measured window (April 27 to June 2) told a clean directional story: DR held at 31, refdomains climbed 263 -> 322 -> 423, Top-3 keywords climbed 48 -> 57 -> 55, but total keywords and organic traffic continued to compress on the tail. That compression was concentrated in the 3 legacy decliners and a broader long-tail contraction. On July 1 we cannot independently verify whether that trajectory held or reversed. The live site has been stable but static (no new content published in 30 days), so absent a major algorithmic change the June 2 pattern is the best available proxy for July 1 state.
5.2 3-Decliner status (Ahrefs data from June 2, live-site refresh check from July 1)
| Page | Pos Apr 27 | Pos Jun 2 | Pos Jul 1 | Traffic Apr 27 | Traffic Jun 2 | Refreshed since v1.8? |
|---|---|---|---|---|---|---|
| /what-should-women-wear-to-court/ | 4 | 8 | n/a (API blocked) | 379 | 209 | No |
| /squatters-rights-and-protecting-your-arizona-property/ | 12 | 15 | n/a (API blocked) | 81 | 22 | No |
| /can-felons-get-a-passport-arizona/ | 24 | 29 | n/a (API blocked) | 12 | 4 | No |
| Combined traffic | 472 | 235 | 0 of 3 refreshed in 65 days | |||
Live-site verification on July 1: All three URLs still return HTTP 200. /what-should-women-wear-to-court/ still carries dateModified: 2024-06-03T23:26:00+00:00 in Yoast schema. The other two still have no dateModified in the HTML at all. Content hashes were captured on July 1 and can be diffed against the April 27 snapshots when Brad grants refresh authority.
5.3 Anchor profile (June 2 data, still healthy)
| Anchor Bucket | Refdomains | % of Tracked | Total Links | % Links |
|---|---|---|---|---|
| Branded | 256 | 24.9% | 456 | 8.4% |
| Naked URL | 449 | 43.7% | 1,057 | 19.4% |
| Generic | 77 | 7.5% | 3,234 | 59.3% |
| Exact-match commercial | 0 | 0.0% | 0 | 0.0% |
| Other | 213 | 20.7% | 616 | 11.3% |
| Empty | 33 | 3.2% | 88 | 1.6% |
Profile remained healthy on June 2 with branded plus naked URL combined at 68.6% and zero exact-match commercial anchors. Cannot re-verify July 1 without Ahrefs access, but the anchor mix rarely swings materially in 30 days on a mature site with no new promotional link-building underway.
6. GEO / AI Search Visibility
6.1 SERP feature distribution (June 2 vs April 27 trend; July 1 blocked)
| SERP Feature | KWs (Apr 27) | KWs (Jun 2) | Delta 35d | KWs (Jul 1) | % of Top 100 (Jun 2) |
|---|---|---|---|---|---|
| People Also Ask | 91 | 89 | -2 | Blocked | 89.0% |
| Sitelink | 61 | 34 | -27 | Blocked | 34.0% |
| Image | 45 | 34 | -11 | Blocked | 34.0% |
| AI Overview | 42 | 44 | +2 | Blocked | 44.0% |
| Video | 29 | 25 | -4 | Blocked | 25.0% |
| Discussion (Reddit/forums) | 18 | 23 | +5 | Blocked | 23.0% |
| Local Pack | 4 | 7 | +3 | Blocked | 7.0% |
| Featured Snippet | 3 | 0 | -3 | Blocked | 0.0% |
| Knowledge Panel | 3 | 3 | 0 | Blocked | 3.0% |
AIO on 44% of top-100 keywords (June 2). The strategic call is unchanged from v2.0: continue building AIO-friendly answer blocks on ranked pages. Absent fresh data, the priority framing holds.
6.2 GEO instrumentation status
- HubSpot AI Search Grader: still not run (v2.0 said "recommend running during next session"). Zero-cost, 15 minutes. Recommend Don approves running it before July 27.
- Otterly.AI: still unbudgeted. $29/mo. Recommend Don approves subscription budget line for ongoing GEO tracking.
- Manual prompt log: still not started. Recommend Dr. Strange starts logging manually on top 10 high-intent queries this week for baseline (independent of Otterly).
Because Ahrefs is blocked and GSC access is still pending, LLM-citation instrumentation is now the primary way we can measure day-60/day-90 impact. Even the free HubSpot pass would give a v3.0 baseline before the July 27 KPI review.
7. Phase 1 URL Indexing Status
7.1 Live HTTP status across 71 URLs (July 1)
| Category | URLs Deployed | HTTP 200 Jun 2 | HTTP 200 Jul 1 | Indexed in Ahrefs (Jun 2) | Indexing Rate (Jun 2) |
|---|---|---|---|---|---|
| 43 practice subpages | 43 | 42 | 42 | 0 | 0.0% |
| 25 statute-anchored blog posts | 25 | 25 | 25 | 2 | 8.0% |
| 3 legal pages | 3 | 3 | 3 | 0 | 0.0% |
| All Phase 1 | 71 | 70 | 70 | 2 | 2.8% |
Unchanged since June 2: 1 Phase 1 URL still returns HTTP 404 on July 1:
https://rideoutlaw.com/criminal-defense/federal-crimes-defense-lawyer-scottsdale/-> HTTP 404
This URL has been broken for the full 65 days of the engagement window and never entered live service. Recommendations remain: deploy the page or remove from the planned 43-page inventory and update the manifest. This is a Brad-side dev ticket, not a Kaizen build item.
7.2 Ahrefs indexing status (June 2 data carried forward)
The two Phase 1 URLs that had entered Ahrefs' ranking index as of June 2:
| URL | Top Keyword | Position (Jun 2) | Volume | Traffic (Jun 2) |
|---|---|---|---|---|
| /dangerous-offense-arizona-ars-13-105/ | ars 13-105 | 4 | 150 | 14 |
| /aggravated-dui-arizona-ars-28-1383/ | ars 28-1383 | 11 | 350 | 7 |
Both URLs still return HTTP 200 on July 1 with intact BlogPosting and FAQPage schema (spot-checked in Section 8). We cannot verify whether additional Phase 1 URLs have entered the Ahrefs index in the last 30 days because the API is blocked. Ahrefs typical latency on moderate-DR domains is 8-12 weeks, so day-65 (65 days post-deploy) is within the plausible ramp-up window. If we had GSC access, we would be able to see actual Google indexation, which is likely meaningfully higher than the Ahrefs count.
7.3 Interpretation and forecast
The Section 6 (v2.0) hypothesis was that we should see the Ahrefs indexing rate ramp to 30-50% by day 60 and 70-90% by day 90 with three specific accelerators (GSC access, 404 fix, internal-link injection to unindexed URLs). None of the three accelerators shipped in the 30 days between v2.0 and v3.0. Without them, and without fresh Ahrefs data to measure, we cannot confirm whether the natural discovery curve has produced additional indexed URLs at day 65. Best-effort forecast for day-90 (July 27): if the API is restored and the accelerators still don't ship, expect Ahrefs indexing rate 5-15% (natural discovery only). If GSC access lands and we execute internal-link injection this week, day-90 can reach 30-50% in Ahrefs.
8. Live Site Health Report (July 1)
Every finding below is from a fresh HTTP layer scan against rideoutlaw.com on July 1, 2026. All findings are independently reproducible. Raw dumps stored at /data/workspace/clients/rideout-law/live-audit-2026-07-01/.
8.1 Live 404 errors (2 total)
| URL | HTTP | Status flag | Days broken | Fix |
|---|---|---|---|---|
| /criminal-defense/federal-crimes-defense-lawyer-scottsdale/ | 404 | Live break, ongoing since Apr 27 | 65+ days | Deploy the page or remove from Phase 1 manifest |
| /contact-us/ | 404 | NEW on Jul 1 | Unknown (not tested before) | Add 301 redirect to /contact/ (working URL) |
The /contact-us/ 404 is a new finding this window. The homepage navigation and internal links use /contact/, which resolves to HTTP 200 and serves the contact page correctly. But any legacy inbound link, cached search-result snippet, marketing collateral, or third-party directory listing that points at /contact-us/ now hits a dead page. This is a low-medium impact issue; the fix is a single WordPress redirect rule or .htaccess entry.
8.2 Content freshness on the 3 legacy decliners
| URL | HTTP | dateModified in HTML | Content hash (Jul 1, first 16 hex) | Refreshed? |
|---|---|---|---|---|
| /what-should-women-wear-to-court/ | 200 | 2024-06-03T23:26:00+00:00 | 74b3e0d977c2543e | No |
| /squatters-rights-and-protecting-your-arizona-property/ | 200 | (none in HTML) | 9214b0ef30975c3f | No |
| /can-felons-get-a-passport-arizona/ | 200 | (none in HTML) | 6af42a153c90f2c5 | No |
Zero of the three declining pages have been touched since v1.8 flagged them 65 days ago. Refresh briefs sit in /data/workspace/clients/rideout-law/seo-optimized/ and can be deployed within 48 hours of Brad granting authority.
8.3 accessibility@rideoutlaw.com leakage on legal pages
| Page | HTTP | accessibility@rideoutlaw.com | brad@rideoutlaw.com | Purged? |
|---|---|---|---|---|
| /privacy-policy/ | 200 | 2 occurrences | 4 occurrences | No |
| /terms-of-service/ | 200 | 2 occurrences | 4 occurrences | No |
| /accessibility/ | 200 | 2 occurrences | 2 occurrences | No |
The v1.8 recommendation was to consolidate to brad@rideoutlaw.com only. The accessibility@ alias is still referenced on all three legal pages, unchanged from June 2. This is a WP post-edit ticket for Brandy or Brad's admin; total effort is under 30 minutes.
8.4 Contact form security: reCAPTCHA version
Contact form loads reCAPTCHA v2 (unchanged from June 2). Evidence:
- Loader script:
https://www.google.com/recaptcha/api.js?hl=en&ver=6.9.4#038;render=explicit - Sitekey:
6Le0DDEsAAAAALLLUYDQepAGxDE-EU09YQeKMjD_- starts with 6L, confirming v2 - No
grecaptcha.execute()call anywhere in the contact page HTML (v3 requires this) - No hidden score-based challenge; still using the "I'm not a robot" checkbox
BB-DEV-TODOS item for reCAPTCHA v3 swap has not been executed in 65 days.
8.5 LinkedIn URL (BB-DEV-TODO) - FIXED
Confirmed on the homepage and contact page:
- Homepage: 3 references to
linkedin.com/company/rideout-law-office/, 0 to/admin/ - Contact page: 2 references to
/company/rideout-law-office/, 0 to/admin/
This is the one confirmed BB-DEV-TODO ship in 65 days.
8.6 Blog schema integrity (5 of 25 spot-checked)
| URL | BlogPosting JSON-LD | FAQPage JSON-LD |
|---|---|---|
| /dangerous-offense-arizona-ars-13-105/ | Present | Present |
| /aggravated-dui-arizona-ars-28-1383/ | Present | Present |
| /dui-laws-arizona-ars-28-1381/ | Present | Present |
| /domestic-violence-laws-arizona/ | Present | Present |
| /expungement-set-aside-record-sealing-arizona/ | Present | Present |
All 5 spot-checked Phase 1 blog posts retain both required JSON-LD blocks. Phase 1 schema is holding. No regressions.
8.7 New content published since June 2
GET /wp-json/wp/v2/posts?after=2026-06-02T00:00:00&per_page=100-> 0 postsGET /wp-json/wp/v2/pages?after=2026-06-02T00:00:00&per_page=100-> 0 pages- Sitemap index lastmod on
post-sitemap.xml: 2026-04-27T12:41:24+00:00 (Phase 1 close date) - Sitemap index lastmod on
page-sitemap.xml: 2026-04-26T13:00:38+00:00
Zero new content in 30 days. Site has been effectively static since Phase 1 close. This is the direct cause of the flat SEO trajectory: search engines have nothing new to crawl, which means no new keyword targets are being introduced.
8.8 Sitemap URL counts (unchanged)
| Sitemap | URLs (Jul 1) | URLs (Jun 2 est) | Delta |
|---|---|---|---|
| post-sitemap.xml | 872 | 872 | 0 |
| page-sitemap.xml | 169 | 169 | 0 |
| category-sitemap.xml | 418 | 418 | 0 |
| post_tag-sitemap (parts 1-5) | ~5,000 | ~5,000 | 0 |
8.9 Random 20-URL sample HTTP audit
Sequential HTTP GET against 20 randomly-sampled Phase 1 URLs (seed 65) returned 20 of 20 HTTP 200. Sample saved to /data/workspace/clients/rideout-law/live-audit-2026-07-01/phase1-sample20.json. No new breakage detected outside the two 404s already flagged.
9. Updated Phase 2 Recommendations
The v1.8 report committed 5 strategic plays. v2.0 added a 6th sub-track (indexing acceleration). v3.0 adds a 7th (Ahrefs plan restoration) and re-evaluates all 7 against day-65 evidence.
Rec 1 (v1.8, v2.0): Refresh the 3+ declining evergreen pages - CRITICAL, ESCALATED
Status: Blocked - 65 days pending Brad refresh authority
The 3 known decliners have been on the urgent refresh list for 65 days (since April 27) and 30 days on the CRITICAL upgraded list (since June 2). None have been touched. /what-should-women-wear-to-court/ lost another 160 monthly visits during the April-to-June window and is likely still bleeding. The refresh briefs are drafted and sit in /data/workspace/clients/rideout-law/seo-optimized/. Estimated 1-2 weeks to redeploy all three once authority is granted; expected recovery 100-200 monthly visits within 4-6 weeks. This remains the single highest-leverage unlock in the engagement.
Rec 2 (v1.8, v2.0): AI Overview answer layer on top 100 keywords - HOLD POSITION
Status: Not started (Kaizen can start unilaterally)
AIO trend as of June 2 was +2 points (42% -> 44%). Cannot re-measure today (Ahrefs blocked). The strategic call is unchanged. Recommend Dr. Strange starts the AIO answer-block rollout unilaterally on the top 20 highest-traffic pages this week. Format: 60-90 word Q-and-A intro block, mark up with FAQPage schema. No Brad approval needed for edits to existing pages if we use Brandy's WP admin access.
Rec 3 (v1.8, v2.0): Personal Injury content vertical - HOLD (defer to Phase 3)
Status: Deferred pending traffic recovery
PI expansion was the biggest gap opportunity in the April 27 sweep and remained so on June 2. With Brad-side execution still absent and existing content bleeding traffic, launching a new content vertical on top of an under-supported base is the wrong sequence. Recommend deferring PI to Phase 3 (post July 27 KPI review) and focusing remaining Phase 2 bandwidth on legacy refresh and AIO rollout.
Rec 4 (v1.8, v2.0): Ride the momentum cluster - ACCELERATE PENDING DATA REFRESH
Status: Cannot re-measure - Ahrefs blocked
The June 2 signal was strong: 35 keywords improving 3+ positions in 35 days, up from 5 on the prior window. The right move is still to catalog the page templates producing those wins and replicate. Cannot re-measure today. Recommend: as soon as Ahrefs plan is restored, re-pull the momentum keyword set and document the Rideout Page Spec. In the meantime, Dr. Strange can pattern-match from the June 2 dataset to draft the spec provisionally.
Rec 5 (v1.8, v2.0): Directory reclamation push - REMAIN DEFERRED
Status: Deferred to Phase 3
Unchanged from v2.0. Refdomain movement was strong on June 2 (+160 over the 35-day window). Aggressive cold-outreach reclamation not needed at this window's data. Continue deferral.
Rec 6 (NEW in v2.0): Phase 1 indexing-acceleration sub-track - PARTIALLY EXECUTED
Status: Bottlenecked on Brad-side items
Three-item plan status on July 1:
- Get GSC access from Brad - still pending (unchanged from v2.0)
- Fix the one Phase 1 URL returning 404 - still not fixed (65 straight days)
- Internal-link injection from high-momentum legacy pages to unindexed Phase 1 URLs - can execute unilaterally via Brandy WP admin; recommend doing this in the next 7 days
Add: fix the newly-discovered /contact-us/ 404 with a 301 redirect.
Rec 7 (NEW for v3.0): Restore Ahrefs API plan tier - URGENT
Status: New blocker discovered July 1
The Ahrefs API is blocked at plan-tier level. Every date-parameterized request returns 403 Insufficient plan. This blocks all rank, refdomain, keyword, traffic, momentum, gap, anchor, and Ahrefs-side indexing measurement. With GSC still pending from Brad, we are effectively blind on rank/traffic dimensions until at least one of Ahrefs or GSC is restored. Recommend Don escalates to Kaizen accounting (or to Brad if Brad is paying for Ahrefs) for immediate restoration. Cost sensitivity: this is a critical measurement tool for the engagement; the day-90 checkpoint on July 27 is not credible without it.
10. Actionable Items - Prioritized Punch List
Mirror of the June 3 summary structure with July 1 status. Reordered by urgency for the days-66-90 window.
Priority 1 - Ship this week (Kaizen-controlled, no Brad approval needed)
- Add 301 redirect from
/contact-us/to/contact/. WordPress Yoast redirect module or .htaccess entry. Fixes the newly-discovered 404. Estimated 15 minutes via Brandy WP admin. Not started - Start the AIO answer-block rollout on the top 20 highest-traffic pages. 60-90 word Q-and-A intro block plus FAQPage schema. Kaizen can execute unilaterally via Brandy admin. Estimated 2-3 days. Not started
- Internal-link injection from high-momentum legacy pages to unindexed Phase 1 URLs. The Rec 6 sub-track. Kaizen can execute via Brandy. Estimated 1 day for full pattern. Not started
- Run HubSpot AI Search Grader baseline. Zero-cost, 15 minutes. Establishes v3.0 GEO baseline before July 27. Not started
- Start manual LLM prompt log on top 10 high-intent queries. Log responses in workspace; independent of Otterly budget question. Not started
- Draft the Rideout Page Spec from the June 2 momentum data. Even without fresh July 1 numbers, the June 2 momentum cluster gives enough pattern to document. Not started
Priority 2 - Ship in the next 2-4 weeks (needs Brad unblock)
- Refresh the 3 known legacy decliners (women-wear-court, squatters-rights, felons-passport). Blocked on Brad refresh authority. Refresh briefs sit in workspace ready to deploy on approval. Blocked 65 days
- Fix the /criminal-defense/federal-crimes-defense-lawyer-scottsdale/ 404. Blocked on Brad dev team. Either deploy the page or remove from Phase 1 manifest. Blocked 65 days
- Purge
accessibility@rideoutlaw.comfrom Privacy, Terms, and Accessibility pages. Consolidate tobrad@. Can execute via Brandy WP admin if Don approves the copy edit unilaterally; recommend Don confirms. Blocked pending Don sign-off on copy edit - reCAPTCHA v3 migration. Blocked on Brad dev team. BB-DEV-TODO item pending 65 days. Blocked 65 days
Priority 3 - Brad unblocks needed by July 27 KPI review
- Restore Ahrefs API plan tier. Escalate to Kaizen accounting or Brad, whichever is the billing owner. Blocks all rank/traffic measurement.
- GSC access from Brad. 65 days pending. Blocks true Google indexation view.
- GA4 read-only access from Brad. 65 days pending. Blocks lead/conversion measurement.
- GBP owner-verify both offices. 65 days pending. Blocks local pack visibility gains.
- 3 attorney bios (Eckhardt, Keist-Gilbert, Hibbler). 65 days pending. Blocks 3 of 17 Person/Attorney schemas.
- 5-10 first-party client testimonials with named clients. Blocks aggregateRating schema and SERP star-rating eligibility.
- 8-12 anonymized case results. Case-results page drafted and awaiting real data.
- High-resolution photos (Brad headshot, team, both offices). Blocks 3 SEO-optimized location/bio deploys.
- Arizona counsel review of Privacy Policy and Terms of Service. Legal review only; accessibility@ purge is separate.
- Confirmation of current attorney roster for WPML Spanish and legacy English cleanup.
11. What We STILL Need from Brad
v1.8 listed 10 unblocks. v2.0 measured 0 fully delivered at day 35 (1 partial, LinkedIn URL). v3.0 measures the same list at day 65.
| # | Item | Day-35 status (Jun 2) | Day-65 status (Jul 1) | Days pending |
|---|---|---|---|---|
| 1 | Google Search Console read-only access | Pending | Still pending | 65 |
| 2 | GA4 read-only access | Pending | Still pending | 65 |
| 3 | Google Business Profile owner-verify both offices | Pending | Still pending | 65 |
| 4 | 3 attorney bios (Eckhardt, Keist-Gilbert, Hibbler) | Pending | Still pending | 65 |
| 5 | 5-10 first-party client testimonials | Pending | Still pending | 65 |
| 6 | 8-12 anonymized case results | Pending | Still pending | 65 |
| 7 | High-resolution photos | Pending | Still pending | 65 |
| 8 | Arizona counsel review of Privacy/Terms | Partial (contact only) | Partial (accessibility@ purge not done) | 65 |
| 9 | Attorney roster confirmation (Spanish/legacy cleanup) | Pending | Still pending | 65 |
| 10 | Refresh authority on 3 declining legacy posts | Pending (URGENT) | Still pending (CRITICAL) | 65 |
| +1 | NEW: Ahrefs plan tier restoration | N/A (API was working) | New blocker | ~30 (since last known-good pull) |
Net status at day 65: 0 of 10 items fully delivered. 1 partial (Privacy/Terms legal review; accessibility@ purge not shipped). 1 dev item shipped independently (LinkedIn URL fix). 1 new blocker (Ahrefs plan tier).
The compounding risk. We have 26 days until the 90-day KPI review. Items 1, 2, 3, 10, and the new Ahrefs plan restoration are all prerequisites for a credible day-90 measurement conversation. Without them, the 90-day report will be a repeat of this one: "the strategy is producing the expected leading indicators; we cannot verify traffic recovery because we cannot measure it." Recommend Don opens the next Brad call with a hard ask on items 1, 2, 3, and 10, and a hard ask on the Ahrefs billing on our side.
12. Recommended Next Steps for Days 66-90
Windowed against the July 27 KPI review 26 days out. Split into what Kaizen can do unilaterally, what needs Don's sign-off, and what needs Brad-side execution.
12.1 Week 1 (July 2-8) - Kaizen-controlled sprint
- Add 301 redirect from
/contact-us/to/contact/via Brandy WP admin. 15 minutes. - Run HubSpot AI Search Grader baseline. 15 minutes. Establish v3.0 GEO reading before July 27.
- Start manual LLM prompt log on top 10 high-intent queries (5 criminal defense, 3 DUI, 2 family law). Log format: query + full LLM response + citation footprint. Daily.
- Draft the Rideout Page Spec from the June 2 momentum data. Document the 3-5 templates producing the wins (averhealth locations, women-wear-court, dangerous-offense, aggravated-dui, mvd-locations). Publish to workspace.
- Begin the AIO answer-block rollout on the top 20 highest-traffic Rideout pages. Priority: pages already ranking top-20 for their target keyword. 60-90 word Q-and-A intro; FAQPage schema markup.
- Begin internal-link injection from high-momentum legacy pages to the 69 still-unindexed Phase 1 URLs. Pattern: 2-3 contextual links from each momentum-cluster page pointing at the closest-topic Phase 1 URL.
12.2 Week 2 (July 9-15) - Escalation and instrumentation
- Don escalates Ahrefs plan tier restoration with Kaizen accounting. Prerequisite for a credible day-90 report.
- Don escalates GSC access, GA4 access, GBP verification, and 3-decliner refresh authority in the next Brad call as a single-page list.
- Don approves the accessibility@ purge as a copy edit (Kaizen executes via Brandy admin) or Kaizen defers pending Arizona counsel review with the rest of Privacy/Terms.
- Continue AIO rollout (weeks 1-3 total for top 20 pages).
- Continue internal-link injection.
12.3 Week 3 (July 16-22) - Recovery execution
- If Brad refresh authority arrived: refresh the 3 legacy decliners against the Rideout Page Spec. Redeploy in the second half of week 3.
- If Ahrefs plan restored: run the day-80 mini-sweep (Sections A through I) to establish a fresh trajectory anchor before the July 27 review.
- If GSC access arrived: pull the true Phase 1 indexing count as of Brad's data window.
- Continue AIO rollout finish-up. Complete manual LLM prompt log for its second week of data.
12.4 Week 4 (July 23-27) - 90-day report
- Run the full day-90 Ahrefs deep sweep (assuming plan is restored). Compare against April 27 baseline and June 2 day-35.
- Compile v3.5 or v4.0 engagement report. Full 90-day KPI scorecard. Real recovery narrative or honest "measurement blocked" narrative depending on what unblocks by then.
- Recommend Phase 3 scope to Don and Brad. Options depend heavily on what unblocked; most likely Phase 3 anchors on the PI vertical + full content pipeline restart + link acquisition push.
13. Data Quality Caveats and Limitations
- Ahrefs API v3 blocked at plan-tier level. Every date-parameterized endpoint returned HTTP 403
{"error":"Insufficient plan"}during the July 1 sweep. Endpoints tested:domain-rating,backlinks-stats,metrics,pages-by-traffic,organic-keywords,refdomains,subscription-info/limits-and-usage. Same API key, host, and headers that worked on June 2 now fail identically. Diagnosis: Ahrefs subscription tier changed since June 2 (downgrade, expiration, or throttle). Impact: no fresh SEO trajectory data for July 1. All Section 5 numbers are the June 2 snapshot carried forward with clear labeling. - Cloudflare rate-limit on initial parallel scan. The initial 15-thread parallel HTTP scan against 71 Phase 1 URLs triggered rate limits at the WP host and returned
000codes on 67 of 71 URLs. Sequential scan with 2-second delay confirmed 20 of 20 sampled URLs return HTTP 200. Full 71-URL parallel scan aborted; Phase 1 HTTP status carried forward from June 2 baseline (70 of 71) plus confirmed 20-URL sample. - June 2 Ahrefs numbers may have drifted. Refdomains had grown +160 between April 27 and June 2 (263 -> 423). If that trajectory reversed after June 2, the day-65 refdomain number could be lower than 423. Without API access we cannot verify.
- Phase 1 Ahrefs indexing rate is a lower bound. Ahrefs typically takes 8-12 weeks to fully discover, crawl, and start attributing ranking keywords to new content on moderate-DR domains. Day-65 puts us at the front edge of the natural discovery window. Google indexation via GSC would show a meaningfully higher number, but GSC access is still pending.
- WP REST API access via Brandy account. Post/page publish-date queries confirmed against
rideoutlaw.com/wp-json/wp/v2/. Zero new posts and zero new pages since 2026-06-02. Sitemap-index lastmod dates are consistent. - Live-site content freshness checks are HTML-source based.
dateModifiedwas searched in the raw HTML for Yoast schema and Open Grapharticle:modified_time. Absence of adateModifiedattribute does not prove the file was not edited server-side; it does prove that no schema signal is being sent to search engines about a refresh. Content-hash SHA-256 of each of the 3 legacy decliners was captured on July 1 and can be diffed against April 27 snapshots when time permits. - BB-DEV-TODO execution is a spot-check, not a full sweep. LinkedIn URL was verified fixed. reCAPTCHA was verified still v2. H1 consolidation, aria-labels, and GBP schema completeness from BB-DEV-TODOS were not re-checked this window; those findings carry the June 2 assessment forward.
- SERP feature and momentum data is 30 days stale. All Section 6 (GEO/AI) and Section 5.1 (trajectory) numbers are the June 2 pull. Cannot re-verify July 1 without Ahrefs. AIO trend direction was +2 points across the prior window; assumed direction still positive for the 30-day gap absent contradicting data.