Commit Graph

77 Commits

Author SHA1 Message Date
Peter Foster
1642219609 seo: auto-optimize titles and descriptions (2026-03-24) 2026-03-24 02:29:59 +00:00
Peter Foster
76abfc23da remove: skip-to-content accessibility links from all pages 2026-03-22 19:31:32 +00:00
Peter Foster
683b701655 fix: add unsafe-inline back to style-src CSP
style-src without unsafe-inline blocks all inline style= attributes,
breaking logo sizing, section layouts, and any element with inline CSS.
script-src retains nonces for actual XSS protection — style-src unsafe-inline
is safe and necessary for the sites inline styling patterns.
2026-03-22 19:26:22 +00:00
Peter Foster
5d490ac91e fix: CSS not loading due to CSP blocking onload inline event handler
The media=print onload deferred CSS pattern requires unsafe-inline in
script-src. When nonces replaced unsafe-inline in 14f1e53, the onload
attribute was blocked by CSP, leaving main.min.css as media=print only
so all below-fold styles were invisible.

Fix: replace onload attribute with a nonce-tagged inline script that
does the same media switch — CSP-safe.
2026-03-22 19:21:45 +00:00
Peter Foster
6cff10baba fix: formatting errors on home and quote pages
- index.php: add .hero-eyebrow CSS (uppercase eyebrow label above H1)
- index.php: fix unquoted class=section-label attribute
- quote.php: fix hero background from grey to purple gradient (consistent with all other pages)
2026-03-22 19:13:56 +00:00
Peter Foster
cd2d91ac59 seo: auto-optimize titles and descriptions (2026-03-22) 2026-03-22 18:45:53 +00:00
Peter Foster
14f1e53c07 Security+Perf: CSP nonces, robots.txt cleanup, minify JS
- index.php: replace unsafe-inline CSP with per-request nonces on all 13 inline scripts/styles
- robots.txt: remove sensitive config filenames (db-config, email-config, recaptcha-config)
- main.min.js: actually minified with terser (37KB -> 16KB, -38% gzipped)
2026-03-22 04:06:53 +00:00
Peter Foster
803905c328 SEO: internal links for remaining 3 orphan articles
- gdpr-ai-automation-uk-firms: linked from GDPR Compliant by Default feature
- ma-due-diligence-automation-corporate-law: linked from Data Pipeline Build-Outs card
- how-to-brief-ai-automation-consultant: linked from Scoping & Proposal process step

All 9 blog articles now have 3+ inbound internal links
2026-03-22 03:25:26 +00:00
Peter Foster
5337fafc69 SEO: internal blog links from service sections, fix Cache-Control header
- Cache-Control: public, max-age=3600 (was private no-cache) for better CDN caching
- Document & Data Extraction card: links to PDF extraction and due diligence articles
- Research Automation card: links to research automation and cost of manual work articles
- Custom AI Agents card: links to what-is-an-ai-agent and build-vs-buy articles
- Use case cards: Legal Due Diligence, Consultancy Research, Document Review each
  now link to corresponding blog article instead of /quote
2026-03-22 03:23:35 +00:00
Peter Foster
b5a7347f0c SEO audit fixes: H1 keyword, schema, robots.txt, llms.txt, sitemap, alt texts, logo
- H1: add primary keyword (AI Automation for UK Law Firms & Consultancies)
- Hero subtitle: replace old scraping copy with accurate consultancy copy
- WebPage schema name aligned with title tag
- Organization schema: add telephone, fix sameAs (remove broken social URLs)
- robots.txt: add 5 missing AI crawlers (Applebot-Extended, Bytespider, CCBot, FacebookBot, Amazonbot)
- llms.txt: add Key Pages section with 7 linked pages
- sitemap.xml: add 4 legal pages (privacy, terms, cookie, gdpr)
- Icon alt texts: simplify 6 keyword-stuffed verbose alts
- Nav logo: add width/height dimensions, switch to loading=eager
2026-03-22 03:14:52 +00:00
Peter Foster
171633d0e8 Remove all personal name references throughout site 2026-03-21 10:59:35 +00:00
Peter Foster
30aac74528 Remove all Free Discovery Call CTAs, replace with Get a Quote 2026-03-21 10:58:08 +00:00
Peter Foster
f78d68e9db Fix broken image filename (icon-web-Automation-v2 → icon-web-scraping-v2) 2026-03-21 10:57:34 +00:00
Peter Foster
8eafc04b0f Fix all UKDS SEO cross-contamination risks
- Remove old sitemaps pointing to ukdataservices.co.uk URLs
- Delete llms.txt/llms-full.txt (had ukdataservices references)
- Replace all web scraping text in PHP files with AI automation equivalents
- Add noindex to legal boilerplate pages (privacy, terms, cookie, GDPR) to prevent duplicate content penalty
- Fix OG/Twitter social card images from ukds-* filenames to ukaiautomation-*
- Fix lead-capture.php to write logs to ukaiautomation directory
- Fix sitemap.php, quote-handler, canonical.php, related-services component
2026-03-21 10:13:14 +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
e5c39067ca SEO: improve homepage readability (Flesch 22.8 → 55.0)
Rewrote 8 body copy sections to use shorter sentences and plainer
language. Grade level drops from college-graduate to grade 10-11.
Sections changed: services intro, web intelligence, cloud platform,
data management, methodology intro, why choose, trusted-by.
No headings, bullets, or CTAs changed.
2026-03-20 17:11:20 +00:00
Peter Foster
4d5635af56 SEO fixes: orphan pages, schema cleanup, clean URLs, llms-full.txt
- Add 32 missing articles to blog page 2 with working pagination
- Strip .php extensions from all blog article links (blog/index.php, article-footer.php)
- Remove unverified aggregateRating from Organization schema
- Remove empty telephone fields from Organization schema
- Fix broken tel: link in homepage contact section (+44 1692 689150)
- Update footer Twitter link to x.com
- Create llms-full.txt for AI crawler indexing
2026-03-20 17:08:18 +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
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
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
7dc08d7ecb Fix founding year to 2013 across all pages and schema
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-08 09:37:35 +00:00
Peter Foster
c07d126044 Fix SEO inconsistencies: founding year, accuracy rates, sitemap, alt text
- Fix founding year from 2018 to 2015 across about.php, organization-schema.php, and index.php schema
- Standardise data accuracy rate to 99.8% across about.php and services/web-scraping.php (was 99.7%/99.9%)
- Remove google-oauth-callback from sitemap.xml
- Fix UK Gambling Commission logo alt text (remove misleading 'regulatory compliance' label)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-08 09:24:51 +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
624a3aa282 SEO audit fixes: schema, content, technical and AI readiness
- Remove restricted FAQPage schema and duplicate Organization schema
- Remove incomplete LocalBusiness schema
- Fix Organization: founder Peter Foster, foundingDate 2015
- Rewrite H1 to include target keywords
- Fix BreadcrumbList with correct page URLs
- Remove SearchAction pointing to 404 endpoint
- Simplify verbose content across 13 key paragraphs
- Promote service card headings from H3 to H2 with keyword-rich names
- Add width/height attributes to all images (CLS fix)
- Create 1200x630 OG social card image
- Update og:image, og:image:width, og:image:height meta tags
- Fix broken LinkedIn (www prefix) and Twitter (x.com) social links
- Add Free Tools footer section linking to individual tools
- Remove google-oauth-callback and /index URLs from sitemap.xml
- Add AI crawler rules to robots.txt (GPTBot, ClaudeBot, Perplexity, etc.)
- Add Disallow for oauth callback endpoints in robots.txt
- Create llms.txt for AI search engine readiness
2026-03-06 06:42:24 +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
4df79ea181 SEO: automated improvements (2026-03-02) — 2 modified, 4 created 2026-03-02 13:42:19 +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
9003957175 SEO: automated improvements (2026-03-02) — 2 modified, 3 created 2026-03-02 13:25:46 +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
ad69508ff8 SEO: automated improvements (2026-03-02) — 1 modified, 1 created 2026-03-02 11:30:42 +00:00
Peter Foster
e3a1610ade fix: remove corrupted HTML template injected into head by SEO script 2026-03-02 09:53:35 +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
ddd64e5e5d SEO: automated improvements (2026-03-01) — 4 modified, 1 created 2026-03-01 11:33:51 +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
40203587c9 SEO: update meta titles/descriptions based on GSC data; fix quote page layout 2026-02-27 09:21:06 +00:00
Peter Foster
d1e5371f39 SEO Optimization: Implement Gemini recommendations
1. Updated homepage meta tags:
   - Title: Web Scraping Services UK | 99.8% Accuracy & GDPR Compliant
   - Description: Enterprise-grade web and data scraping services...

2. Created dedicated service pages:
   - /web-scraping-services/ - targets web scraping services (193 impressions)
   - /data-scraping-services/ - targets data scraping services (118 impressions)

3. Pages include:
   - SEO-optimized titles and descriptions
   - Industry-specific content
   - Stats highlighting #1 ranking and 99.8% accuracy
   - GDPR compliance emphasis
   - Links to free tools

Based on Google Search Console data showing 90,815 impressions/month but only 0.1% CTR.
Goal: Increase CTR to 1%+ and capitalize on #1.2 ranking for web scraping services in uk.
2026-02-27 09:21:06 +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
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
95fd3ba36e Update index.php and web-scraping service page 2026-02-20 11:25:07 +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
root
1a8d9b4f9d Site improvements: nav refactor, CSS readability, hover fixes, remove unverified badges
- Refactored navigation: all 44 pages now use shared includes/nav.php
- Added Free Tools link to navigation (was missing from 29+ pages)
- CSS readability: darker body text (#333), secondary text (#555), bolder hero subtitle
- CSS: darkened link colour (#148a72) for WCAG AA compliance
- CSS: increased stat label font size to 1rem
- Fixed industry-card hover white-on-white text bug
- Removed ICO Registered and Cyber Essentials claims (not yet registered)
- Cache version bumped to v1.1.2
2026-02-10 22:21:16 +00:00
root
aadcdf8e3c SEO: Improve meta titles, descriptions & internal links for top 10 pages
- Rewrite meta titles to be more compelling with power words and 2026 dates
- Shorten meta descriptions to ~150 chars with clear CTAs
- Remove double-branding from title tags (was: title | UK Data Services | UK Data Services Blog)
- Update internal cross-links between related scraping/analytics articles
- Focus: top 10 pages by impressions from Google Search Console
2026-02-10 10:25:07 +00:00
root
74606d6355 Update DaisyJane styling and page changes 2026-02-08 20:52:52 +00:00
root
b6e39fe0c2 Security hardening + new tools deployment
- Hide Apache version (ServerTokens Prod)
- Add Permissions-Policy header
- Remove deprecated X-XSS-Protection
- Consolidate security headers to .htaccess only (remove duplicates from PHP)
- Deploy free tools: robots-analyzer, data-converter
- Deploy tools announcement blog post
- Update sitemap with new tools and blog post
2026-02-05 04:11:15 +00:00
root
3a0d8034c7 Fix quote page gap: wrap noscript fallback, reduce hero/form padding 2026-02-04 03:17:55 +00:00
root
165c418c75 Fix CSRF token handling: add session to index.php, fix cookie_secure for HTTPS 2026-02-03 20:51:45 +00:00
root
72c9b4e9b4 Menu: Rename Capabilities to Services, update sitemap with web-scraping page 2026-02-03 20:15:44 +00:00