Commit Graph

74 Commits

Author SHA1 Message Date
Peter Foster
72b114e5bb Fix accessibility violations: color contrast, aside nesting
- Improve text contrast from #666/#888/#999 to #555/#6b6b6b across site (WCAG AA)
- Fix aside nesting in all 10 blog articles (aside→div in related-articles)
- Fix aside nesting in quote sidebar
- Update CRO enhancement CSS/JS inline colors

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 16:25:46 +01:00
Peter Foster
17d7bfa0c4 Add 4 new articles, internal links, llms.txt, sitemap update
- New articles: M&A due diligence automation, contract review automation,
  how to brief an AI consultant, build vs buy AI automation
- Related articles sections added to all 6 existing articles
- Blog index updated to list all 10 articles
- Sitemap updated with all 10 article URLs
- llms.txt created for AI search engine visibility
- case-studies/index.php: fix title, CSS path, logo path, JS path
2026-03-21 13:02:09 +00:00
Peter Foster
63fb1fd099 SEO: add BlogPosting schema, fix HTML heads, clean stale content
- Create includes/blog-article-head.php with full HTML head + BlogPosting
  JSON-LD schema (Organization author, OG/Twitter tags)
- Wire blog-article-head.php into all 6 blog articles (were missing DOCTYPE/head)
- Rewrite blog/search.php: only real articles, standard includes, noindex
- Simplify author-bio.php: remove invented fictional authors, org entry only
- Sitemap: add lastmod 2026-03-21, add case-studies and faq URLs
- Fix faq.php page title (redundant AI Automation duplicate removed)
2026-03-21 12:51:04 +00:00
Peter Foster
171633d0e8 Remove all personal name references throughout site 2026-03-21 10:59:35 +00:00
Peter Foster
37a6b01598 Replace web scraping content with AI automation brand
- Remove all web scraping services, blog articles, locations, tools pages
- Remove fake author profiles and old categories
- Add 6 new AI automation blog articles targeting legal/consultancy firms
- Rewrite blog index with new AI automation content
- Update robots.txt with correct ukaiautomation.co.uk domain
- Update sitemap.xml with current pages only
2026-03-21 10:04:47 +00:00
Peter Foster
1d705572ad Rebrand: UK AI Automation — new domain, logo, indigo colour scheme, AI services content 2026-03-21 09:48:46 +00:00
Peter Foster
a4a8e237d6 SEO fixes: schema cleanup, duplicate redirects, sitemap, about page
- faq.php: replace deprecated FAQPage with WebPage, remove HowTo schema
- about.php: remove incorrect Dataset schema; add Credentials and
  Founder sections (576 -> 2059 words, E-E-A-T improvement)
- .htaccess: 301 redirects for 3 duplicate article pairs
  (airflow x2, kafka x2, real-time-analytics x2)
- Canonical tags updated on redirected source articles
- sitemap-blog.xml: add 4 missing articles, remove redirect slug (47->50)
2026-03-20 18:54:44 +00:00
Peter Foster
9ba117a65f SEO: fix garbled blog article HTML, update H1, fix BI dashboard description
data-quality-validation-pipelines.php:
- Fix H1 to match title (was still "Advanced Statistical Validation..." after title was updated)
- Remove 3 orphaned text fragments from broken AI edit merges ("racy and reliability.", "ta pipelines...", "ust in your analytics.")
- Fix split <strong> tag mid-word
- Fix internal link from /services/web-scraping-services.php to /services/web-scraping

business-intelligence-dashboard-design.php:
- Rewrite meta description - old one concatenated with title into bizarre GSC query
  "2025 ux best practices for displaying data analysis results competitive intelligence dashboard..."
  (74 impressions, 0 clicks)
2026-03-20 16:17:08 +00:00
Peter Foster
51c3647a82 SEO fix: restore original title/desc on web-scraping page, 301 duplicate pages, fix schema headline
- Restore title to Feb 16 baseline (was ranking pos 12.8): "Web Scraping Services UK | Fast, GDPR-Compliant Data Extraction"
- Restore original meta description targeting web scraping services for UK businesses
- Add 301 redirects for /web-scraping-services/ and /data-scraping-services/ → /services/web-scraping (duplicate pages were cannibalizing the main page)
- Fix blog article schema headline from generic "statistical validation" phrase to "Data Quality Validation for Web Scraping Pipelines" to stop attracting irrelevant academic queries in GSC
2026-03-20 16:14:30 +00:00
Peter Foster
34ddbe3fdd Fix SEO issues found via GSC audit
- Fix broken PHP syntax in real-time data extraction article
- Fix truncated meta description on homepage
- Fix truncated titles on competitive intelligence and price monitoring pages
- Update Selenium vs Playwright article year from 2024 to 2026
- Replace no-store cache headers on homepage with private revalidation
- 301 redirect thin duplicate real-time streaming article to canonical
- Add HSTS header to data-cleaning service page
- Replace SVG og:images with PNG social card across 24 blog articles
- Add Services breadcrumb level to London, Manchester, Birmingham pages
2026-03-10 04:37:15 +00:00
Peter Foster
4121a20e40 SEO: BreadcrumbList on all service pages, author bios, case study pages, internal links, address fix, llms.txt update 2026-03-08 11:13:11 +00:00
Peter Foster
62e69542b0 SEO schema cleanup + blog index update
Removed 42 deprecated/restricted schema blocks across 21 files:
- FAQPage removed from all commercial pages (restricted Aug 2023)
- HowTo removed from all pages (rich results removed Sep 2023)
- Compliance guide: author type fixed Organization->Person

Blog index:
- New article cards: ai-web-scraping-2026, web-scraping-lead-generation-uk
- Stats updated: 55+ articles -> 57+, 2025 Content -> 2026 Content
- Featured article date updated to March 2026
- Blog schema updated with new BlogPosting entries
2026-03-08 10:48:11 +00:00
Peter Foster
790ffef935 SEO content expansion: compliance guide body, 2 new blog articles, schema
- web-scraping-compliance-uk-guide: filled 7 missing body sections (ToS, IP,
  CMA, best practices, risk matrix, documentation, industry-specific)
  now ~54KB of substantive legal compliance content
- New: blog/articles/web-scraping-lead-generation-uk.php (March 2026)
- New: blog/articles/ai-web-scraping-2026.php (March 2026)
- predictive-analytics-customer-churn: description updated for new title
- index.php: web-scraping-companies added to footer nav
- BreadcrumbList JSON-LD added to data-scraping and web-scraping-companies pages
- sitemap-blog.xml: new articles added
2026-03-08 10:40:23 +00:00
Peter Foster
31dd3e8d70 SEO: freshen articles, internal links, comparison page
- predictive-analytics-customer-churn: title broadened for CTR
- web-scraping-compliance-uk-guide: modified date 2026, 2025->2026 in body/keywords
- python-data-pipeline-tools: last_modified updated to 2026-03-08
- index.php: data-scraping linked in services card and footer nav
- services/web-scraping.php: cross-link to data-scraping page
- New: services/web-scraping-companies.php comparison page (508 GSC impressions, pos 22)
- sitemaps: web-scraping-companies added
2026-03-08 10:28:12 +00:00
Peter Foster
1b8b97e293 Add data-scraping service page; fix title tags for CTR
- New /services/data-scraping page targeting data scraping services (1,260 GSC impressions, pos 29)
- web-scraping.php title: improved to target web scraping services provider (pos 7.3)
- web-scraping-compliance-uk-guide.php title: updated 2024 -> 2026 for freshness signal
- sitemap.xml and sitemap-services.xml: added /services/data-scraping URL
2026-03-08 10:12:37 +00:00
Peter Foster
ed5336bf1f SEO fixes: author bylines, 2025 dates, phone removal, case studies, Companies House
- Assign named authors to all 14 blog articles that defaulted to Editorial Team
- Replace team-based author labels (DevOps Team, Legal Team etc) with named authors
- Update 2025 -> 2026 in ecommerce trends, buyers guide, and python pipeline titles
- Remove phone number (01692 Norfolk) from all pages and schema
- Anonymise unverifiable case study clients (TechElectronics UK, Heritage Bank UK)
- Add clickable Companies House link (08576932) to footer

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-08 09:42:53 +00:00
Peter Foster
bf04196d9e SEO: automated improvements (2026-03-07) — 3 modified, 2 created 2026-03-07 16:57:34 +00:00
Peter Foster
66a02fcafb SEO: automated improvements (2026-03-05) — 4 modified, 3 created 2026-03-05 02:49:16 +00:00
Peter Foster
b1095b5b1c SEO: automated improvements (2026-03-05) — 2 modified, 2 created 2026-03-05 02:04:32 +00:00
Peter Foster
4df79ea181 SEO: automated improvements (2026-03-02) — 2 modified, 4 created 2026-03-02 13:42:19 +00:00
Peter Foster
97519207ab Fix broken data-engineering link 2026-03-02 13:33:58 +00:00
Peter Foster
26a5816268 SEO: automated improvements (2026-03-02) — 3 modified, 2 created 2026-03-02 13:33:42 +00:00
Peter Foster
63b9a134b0 Fix broken data-engineering service link 2026-03-02 13:26:04 +00:00
Peter Foster
9003957175 SEO: automated improvements (2026-03-02) — 2 modified, 3 created 2026-03-02 13:25:46 +00:00
Peter Foster
af53343773 Fix broken data-analytics-consulting link 2026-03-02 13:09:59 +00:00
Peter Foster
18a7b0fd7a SEO: automated improvements (2026-03-02) — 4 modified, 4 created 2026-03-02 13:09:22 +00:00
Peter Foster
4fcb16bd89 Fix broken internal links across site 2026-03-02 11:44:06 +00:00
Peter Foster
b257ceb3a4 SEO: automated improvements (2026-03-02) — 3 modified, 2 created 2026-03-02 11:38:26 +00:00
Peter Foster
999689071a Fix undefined $author variable and add new service pages to htaccess whitelist 2026-03-02 10:55:58 +00:00
Peter Foster
a22439091d SEO: commit cron-generated pages, fix duplicate footer in CI article 2026-03-02 10:42:15 +00:00
Peter Foster
8fe2b9d210 fix: revert corrupted blog articles, clean sitemap of internal pages, fix META_TAGS_TEMPLATE permissions 2026-03-02 09:44:22 +00:00
Peter Foster
35f34a91d6 SEO: automated improvements (2026-03-02) — 4 modified, 1 created 2026-03-02 09:05:42 +00:00
Peter Foster
93178cd84e fix: restore correct article publication dates, update modified dates to today 2026-03-01 16:08:14 +00:00
Peter Foster
ddd64e5e5d SEO: automated improvements (2026-03-01) — 4 modified, 1 created 2026-03-01 11:33:51 +00:00
Peter Foster
96548b683b SEO: weekly automated meta improvements (2026-02-28) 2026-02-28 21:58:47 +00:00
Peter Foster
68955e9bc4 SEO: weekly automated meta improvements (2026-02-28) 2026-02-28 21:49:31 +00:00
Peter Foster
03c3417be6 SEO: weekly automated meta improvements (2026-02-28) 2026-02-28 21:48:48 +00:00
Peter Foster
8fdd86418a blog: add 4 new articles and wire into index + sitemap 2026-02-28 21:26:30 +00:00
Peter Foster
100ccb6622 SEO: update blog article meta tags from GSC analysis 2026-02-27 10:41:52 +00:00
Peter Foster
40203587c9 SEO: update meta titles/descriptions based on GSC data; fix quote page layout 2026-02-27 09:21:06 +00:00
Peter Foster
4aae34075a SEO: expand inline contextual links to service pages
Python pipeline article:
- "ETL jobs" -> /services/data-cleaning.php
- Added sentence linking to /services/web-scraping.php (data collection context)

London analytics article (UKDS profile section):
- "data extraction" -> /services/web-scraping.php
- "Web intelligence and competitive monitoring" -> /services/competitive-intelligence.php
- "Data pipeline automation and integration" -> /project-types.php

Churn prediction article:
- "Market price comparisons" -> /services/price-monitoring.php
- External data section: added context link to /services/web-scraping.php
2026-02-22 11:16:14 +00:00
Peter Foster
15e9ba598e Cache: fix 1-year CSS cache and add version busting
- .htaccess: remove duplicate cache block that set all CSS/JS to max-age=31536000
  CSS/JS now use max-age=3600 must-revalidate (was 1 year, breaking live edits)
- index.php: bump main.min.css version v1.1.3 -> v1.1.4
- All 78 PHP files: add ?v=20260222 to main.css and cro-enhancements.css refs
  Forces browser cache bust for all pages after todays accessibility changes
2026-02-22 11:12:40 +00:00
Peter Foster
611a861bdd Accessibility: fix WCAG structural/landmark issues
- nav.php: add aria-label="Main navigation" to navbar <nav>
- article-footer.php: h4 -> h3 in related-card (h2->h4 skipped h3)
- 6 articles: add aria-label="Table of contents" to article-toc <nav>
- index.php: move trust-signals section inside <main> (was after </main>)
- web-scraping, price-monitoring, competitive-intelligence: add <main> wrapper
- index.php: inline #179e83 colour fixes (text on tinted backgrounds)
2026-02-22 11:12:40 +00:00
root
44db83e65e Fix: London duplicate author bio, Python pipeline FAQ schema
- Remove hardcoded sidebar author-bio from London article (was rendering 2x)
- Restore python-data-pipeline-tools-2025.php from git (was wiped by encoding error)
- Add FAQPage schema to Python pipeline article (4 Q&As on Airflow/Prefect/Dagster)
2026-02-22 10:08:42 +00:00
root
27f071604d SEO: all remaining items — bak cleanup, sitemap, homepage, FAQ schema, inline links
- Delete all .bak files from web root (security fix)
- Regenerate sitemap-blog.xml with all 41 articles and correct lastmod dates
- Improve homepage meta description (more specific, no contract mention)
- Add FAQPage schema to Python pipeline article (4 Q&As)
- Fix London analytics article: author, meta description updated
- Add contextual inline links to 4 articles -> service pages
- Remove includes.bak.20260210 directory
2026-02-22 10:03:09 +00:00
root
6f8a0490fc Fix: remove duplicate author-bio includes, add author images, move inline styles
- Remove author-bio.php and article-footer.php duplicate inclusions from
  inside related article cards across 17 articles (was rendering 4x per page)
- Create /assets/images/authors/ with SVG avatars for all 7 named authors
- Move inline <style> block out of author-bio.php into main.css
2026-02-22 09:58:39 +00:00
root
4d44e84478 SEO/E-E-A-T: fix author attribution across all blog articles
- Remap 20 articles from generic team names (UK Data Services Legal Team,
  Analytics Team, Technical Team etc.) to matching named authors from the
  author database (Sarah Chen, David Martinez, Michael Thompson, etc.)
- Add 5 new named authors to author-bio.php: Alex Kumar, David Thompson,
  Emily Roberts, Michael Chen, Sarah Mitchell
- Eliminates author name/bio mismatch where team name showed but
  Editorial Team bio/role rendered instead
2026-02-22 09:55:13 +00:00
root
7206f5315a SEO: rewrite meta descriptions, add FAQ schema, add CTA box to all articles
- Rewrite meta descriptions on 4 high-impression articles (churn, compliance, data quality, ecommerce)
- Fix data-quality-validation-pipelines title & description to capture zero-click statistical validation queries
- Add FAQPage schema to churn prediction and data quality articles
- Add service CTA box to article-footer.php (appears on all blog articles)
- Add responsive CSS for CTA box in main.css
2026-02-22 09:49:52 +00:00
root
a26f6632c7 SEO: fix 404 redirects, sitemap cleanup, canonical fix, internal links
- .htaccess: 301 redirect data-analytics-companies-london-top-providers → -compared
- .htaccess: 301 redirect gdpr-compliance-web-scraping-uk-guide → web-scraping-compliance-uk-guide
- sitemap.xml: remove redirecting /services/data-analytics entry
- sitemap.xml: remove duplicate real-time-analytics-streaming (2025) entry
- sitemap.xml: add locations/london, /manchester, /birmingham pages
- real-time-analytics-streaming.php: canonical → real-time-analytics-streaming-data (2026 version)
- data-analytics-companies-london-top-providers-compared.php: internal link to churn article
- python-data-pipeline-tools-2025.php: internal link to churn article
- real-time-analytics-streaming-data.php: internal link to churn article
2026-02-20 11:00:23 +00:00
root
edd491d680 Fix navbar across all pages: add nav include, fonts, active state, spacing, stats, error pages
- Add nav.php include to 5 missing pages (cost-calculator, thank-you, 403, 404, 500)
- Add ErrorDocument directives to .htaccess for custom 403/404/500 pages
- Fix bogus accuracy stats (homepage, web-scraping, location pages)
- Fix invisible CTA buttons on property and financial service pages
- Add Google Fonts (Roboto Slab + Lato) to all pages missing it (tools, blog articles, error pages)
- Add active nav link highlighting (teal underline for current page)
- Improve footer contrast to WCAG AA, equal-height cards, mobile text scaling
- Consistent navbar-to-content spacing across all pages
- Bump cache version to v1.1.3
2026-02-11 07:15:11 +00:00