diff --git a/session-logs/2026-05-20-session.md b/session-logs/2026-05-20-session.md index fd37aa3..709829f 100644 --- a/session-logs/2026-05-20-session.md +++ b/session-logs/2026-05-20-session.md @@ -368,4 +368,83 @@ Rob's January 13, 2026 `URGENT_SITE_ISSUES.txt` identified arizonahatters as a c - arizonahatters cPanel account: `arizonahatters` on IX (172.16.3.10) - WP DB: `arizonahatters_maindb` -- WP path: `/home/arizonahatters/public_html` \ No newline at end of file +- WP path: `/home/arizonahatters/public_html` + +--- + +## Update: Late Evening — azcomputerguru.com Full SEO Audit & Fixes + +### Session Summary + +Performed a comprehensive SEO audit and implemented all automatable fixes on azcomputerguru.com (WordPress 6.9.4, IX server 172.16.3.10, Cloudflare Pro zone `1beb9917c22b54be32e5215df2c227ce`). Work divided into: server-side file edits, WordPress option/meta updates, and Cloudflare edge rule creation. + +**Audit findings (abridged):** Homepage title was "Home – Arizona Computer Guru" (generic); no meta description; logo link pointed to dev.computerguru.me; 5 images in footer referenced dev.computerguru.me URLs with no alt text; LocalBusiness schema absent; footer widget titles used H2 inflating heading hierarchy; duplicate CSS enqueue block; 4 canonical URLs returning 404 or redirecting via Apache only (blocked by Cloudflare WAF before reaching Apache); media library images missing alt text on 10 attachments. + +**Server-side fixes (via SSH plink):** +- `header.php` — Fixed logo href from dev.computerguru.me to https://azcomputerguru.com/, added alt text to logo img +- `footer.php` — Replaced all 5 dev.computerguru.me image paths with production URLs, added descriptive alt text to all social/footer icons +- `functions.php` — Removed duplicate CSS enqueue block (lines 255-263), changed footer sidebar widget titles from H2 to H3, added `remove_action('wp_head','wp_generator')`, appended full `acg_localbusiness_schema()` function with LocalBusiness+ProfessionalService JSON-LD +- `.htaccess` — Added Apache-level 301 redirects for /services/, /about/, /blog/, /website-services/ (backup: .htaccess.bak-seo-20260520) + +**WordPress DB updates (via WP-CLI):** +- `autodescription-site-settings` option — homepage_title: "Arizona Computer Guru | Managed IT Services Tucson AZ", homepage_description set (159 chars), homepage_tagline disabled +- Page ID 297 (`/tucson-seo/`) — `_genesis_description` meta set +- Media alt text — `_wp_attachment_image_alt` set on 10 attachment IDs: 1162, 20, 23, 24, 37, 1167, 1163, 1166, 1164, 1165 +- Post 17 content — added alt text to gurucube and divider inline images + +**Cloudflare edge redirects (Page Rules API):** +4 Page Rules created to redirect at the Cloudflare edge (before WAF bot checks reach Apache): +- `azcomputerguru.com/services*` → https://azcomputerguru.com/business-it-services-tucson/ [301] +- `azcomputerguru.com/about*` → https://azcomputerguru.com/history-of-arizona-computer-guru/ [301] +- `azcomputerguru.com/blog*` → https://azcomputerguru.com/category/blog/ [301] +- `azcomputerguru.com/website-services*` → https://azcomputerguru.com/tucson/web-services-for-tucson-businesses/ [301] + +All 4 verified live returning HTTP 301 with browser user agent. + +### Key Decisions + +- **Cloudflare Page Rules over Transform Rules** — `http_request_dynamic_redirect` phase writes failed on all 3 stored tokens (none have Transform Rules Edit permission). Page Rules API worked with `api_token_full_dns`. Functionally equivalent for forwarding rules. +- **LocalBusiness schema via functions.php hook** — The SEO Framework (autodescription) v5.1.4 doesn't generate LocalBusiness schema. Added custom PHP at `wp_head` priority 5 to emit JSON-LD without a plugin. +- **Footer H2 → H3 only for footer sidebar** — Multiple sidebars registered in functions.php all used H2 for widget titles. Only changed the `footer` sidebar (last registration, `id='footer'`). Content-area sidebars left at H2 to avoid regressions on page sidebars. +- **TSF stores homepage SEO in option, not post meta** — `_genesis_title` / `_genesis_description` on post ID (homepage) are ignored by TSF v5+. Updated via `update_option('autodescription-site-settings', ...)`. + +### Problems Encountered + +- **Cloudflare Transform Rules permission denied** — Three tokens tried: `api_token_full_account`, `api_token_full_dns`, `api_token_legacy`. All failed on `PUT .../phases/http_request_dynamic_redirect/entrypoint`. Resolved by using Page Rules API instead. +- **Bot Fight Mode blocking curl test** — 301 redirects looked like 403s until a browser User-Agent was added to curl. Not an actual error — Cloudflare correctly redirects real browsers. +- **TSF homepage SEO not stored as post meta** — First attempted `wp post meta update 2 _genesis_title ...` per page SEO pattern. No effect on homepage title. Resolved by reading TSF source and updating the `autodescription-site-settings` option directly. +- **Apostrophe in WP-CLI shell arg** — `Tucson's` in description broke bash single-quote heredoc. Rewrote description without apostrophe. + +### Configuration Changes + +**IX server — azcomputerguru WP theme files (backups: *.bak-seo-20260520):** +- `/home/azcomputerguru/public_html/wp-content/themes/arizonacomputerguru/header.php` — logo link + alt +- `/home/azcomputerguru/public_html/wp-content/themes/arizonacomputerguru/footer.php` — all image URLs + alt text +- `/home/azcomputerguru/public_html/wp-content/themes/arizonacomputerguru/functions.php` — dedup CSS, H3 widgets, schema function +- `/home/azcomputerguru/public_html/.htaccess` — 4 Apache 301 redirects + +**WordPress DB (azcomputerguru_maindb):** +- `wp_options.autodescription-site-settings` — homepage title + description +- `wp_postmeta` — `_genesis_description` on page 297, `_wp_attachment_image_alt` on 10 attachments, alt text on post 17 inline images + +**Cloudflare (zone 1beb9917c22b54be32e5215df2c227ce):** +- Page Rule `7060e99901a3e4a09b3fc9c2e5156d05` — /services* → /business-it-services-tucson/ [301] +- Page Rule `84ea14b8d3fe2983b75267337602924a` — /about* → /history-of-arizona-computer-guru/ [301] +- Page Rule `fb1a7c5189bf9c1c2a356c438f4eccdc` — /blog* → /category/blog/ [301] +- Page Rule `a9c1964c60bb2b53d65f3955c7427691` — /website-services* → /tucson/web-services-for-tucson-businesses/ [301] + +### Pending / Incomplete Tasks + +- **Slider Revolution duplicate H1** — Two H1 tags in homepage slider layers; one has concatenation bug "ServicesDesign" (no space). Must be fixed via WP Admin → Slider Revolution. Cannot be automated. +- **Social icon hrefs** — Footer social icons still use `href="#"` placeholder. Need actual ACG social profile URLs. +- **Street address in LocalBusiness schema** — Only city/state currently; full postal address improves Knowledge Panel accuracy. +- **Generator tag suppression** — Slider Revolution, Site Kit, performance-lab plugins still outputting ``. Would require per-plugin suppression hooks. +- **Google Search Console** — No GSC property confirmed; sitemap submission pending. + +### Infrastructure + +- azcomputerguru.com WP path: `/home/azcomputerguru/public_html` +- Theme path: `/home/azcomputerguru/public_html/wp-content/themes/arizonacomputerguru/` +- SEO Plugin: The SEO Framework (autodescription) v5.1.4 +- Cloudflare zone ID: `1beb9917c22b54be32e5215df2c227ce` +- Cloudflare account ID: `44594c346617d918bd3302a00b07e122` \ No newline at end of file