Commit Graph

67 Commits

Author SHA1 Message Date
root
835da21951 Fix broken article card structure in blog index 2026-02-05 04:17:04 +00:00
root
96bb3301fc Add free tools blog post to blog index 2026-02-05 04:13:49 +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
b0234123a3 Remove verbose quote process text, keep noscript fallback 2026-02-04 03:11:07 +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
root
9c2ad9efe4 Improve service pages: add pricing, CTAs, and content
- data-cleaning: Update title for SEO, add /quote buttons to pricing cards
- competitive-intelligence: Add pricing section, add Why CI Matters content (~350 words)
- price-monitoring: Add Business Impact section (~200 words)
2026-02-03 20:01:38 +00:00
root
35ada368e3 Add server-rendered content and noscript fallback to /quote page
- Add ~300 words of SEO-friendly content before the form:
  - How the quote process works (24-hour response)
  - What to include in request (data sources, fields, format)
  - Trust signals (500+ projects, GDPR compliant)
  - Transparent pricing (projects from £500)

- Add noscript fallback with contact details for users without JS:
  - Email: hello@ukdataservices.co.uk
  - Instructions on what info to include

Fixes issue where JS-disabled visitors saw only a title with no form or contact info.
2026-02-03 20:00:45 +00:00
root
e8f01ecfbd Website improvements: fix service pages, add web-scraping service, trust badges, contact redirect
- Fix .htaccess to allow individual service pages instead of redirecting all to project-types
- Add /services/web-scraping page with full content, schema markup, and SEO optimization
- Add /contact redirect to /quote (301)
- Update project-types.php title to remove C# jargon
- Add trust badges section to footer (GDPR, ICO, Cyber Essentials, UK Based)
- Add Web Scraping to footer services list
2026-02-03 19:34:30 +00:00
root
9cea601fb3 Implement marketing audit recommendations across site
- Add /services → /project-types 301 redirects in .htaccess
- Remove .php extensions from all user-facing links across all pages
- Rewrite homepage hero with benefit-focused H1, subtitle, CTAs, and stats
- Add trust signals section below hero with badges
- Rewrite service cards with benefit-focused copy
- Update FAQ schema to match actual page FAQ content (6 questions)
- Restructure quote form from 5-step to 3-step wizard with sidebar
- Update about page mission statement and CTA copy
- Update project-types page title, H1, and add Organization schema
- Add trust signals and quote layout CSS styles
- Clean sitemap: remove .php extensions, remove blog/search, update dates

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 11:39:22 +00:00
root
d8622b7f9e Remove ISO 27001 certification claims
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 20:33:56 +00:00
root
f495ee23c2 Accessibility fixes and form session expiration fix
- Fix color contrast: change #179e83 to #148069 for WCAG AA compliance
- Add ARIA attributes to mobile nav toggle (aria-expanded, aria-controls)
- Implement focus trap on mobile menu with Escape key support
- Add aria-hidden to decorative hero SVG
- Add ARIA validation to contact form (aria-invalid, aria-describedby)
- Fix touch target sizes (notification close button 48x48px)
- Fix form session expiration by relaxing timestamp validation
- Add cache busting (v1.1.0) to JS/CSS files
- Update service worker cache version to force refresh

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 20:22:49 +00:00
root
5e1401ef14 SEO improvements: meta titles, trust badges, schema, cross-linking
- Fix meta titles exceeding 60 chars on property/financial service pages
- Replace keyword-stuffed hero subtitle with natural, user-focused copy
- Add trust badges section (ISO 27001, GDPR, insurance, ratings)
- Add WebPage schema to homepage for better SERP eligibility
- Shorten about page H1 from 74 to 24 characters
- Add related services cross-linking on competitive intelligence page
- Remove obsolete SEO planning files

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 19:15:08 +00:00
root
d4b582dec0 Remove Certified & Compliant section from homepage
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 00:50:02 +00:00
root
45bfea0bad SEO fixes: team section, meta tags, footer consistency, broken links
- Add leadership team section to about.php with 4 team members
- Add visible FAQ section to homepage with accordion functionality
- Fix broken blog category link (legal-&-compliance → compliance)
- Add Twitter Card and og:image meta tags to data-cleaning.php and quote.php
- Add social links to 5 pages missing them (data-cleaning, quote, case-studies, blog/search, faq-enhanced)
- Standardize LinkedIn URLs across 24 blog files (remove www prefix)
- Fix social media placeholder links across 8 pages
- Optimize meta descriptions on 3 service pages (under 160 chars)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-21 08:08:45 +00:00
root
7ea1619e46 Implement comprehensive SEO infrastructure and new service pages
Phase 1 - Schema Markup:
- Add reusable schema components in /includes/schema/
- organization-schema.php for site-wide Organization structured data
- service-schema.php with generator function and predefined configs
- local-business-schema.php for location pages with geo coordinates
- faq-schema.php with FAQPage generator and common FAQ sets
- article-schema.php for blog posts with BlogPosting schema
- review-schema.php with AggregateRating and testimonials

Phase 6 - Meta Tags & Helpers:
- meta-tags.php: Complete meta tag generator (OG, Twitter, article)
- canonical.php: URL normalization and canonical tag helper
- url-config.php: Centralized URL mapping for internal linking

Phase 7 - Internal Linking Components:
- related-services.php: Cross-linking component for service pages
- location-cta.php: Location links component for service pages

Phase 3 - New Service Pages:
- property-data-extraction.php: UK property data extraction service
- financial-data-services.php: FCA-aware financial data services

Phase 5 & 8 - Technical SEO:
- Update robots.txt with improved blocking rules
- Update sitemap.php with clean URLs and new pages
- Update sitemap-services.xml with new service pages
- Add new services to footer navigation

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-09 09:07:07 +00:00
root
8592b8d341 Fix FAQ expanders and quote form JavaScript
- Fix FAQ accordion: change from display:none to max-height animation
- Add .active class selectors alongside [aria-expanded="true"]
- Fix quote.php: add missing closing brackets for event listeners
- Fix Promise chain indentation in quote form submission

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-08 07:27:54 +00:00
root
63f48eeb6a Wire all pages to navigation and fix broken links
- Add services, locations, and resources to footer navigation across all pages
- Update footer in 22+ files with consistent navigation structure
- Add service pages: competitive-intelligence, price-monitoring, data-cleaning
- Add location pages: london, manchester, birmingham
- Update all sitemaps (sitemap.php, sitemap.xml, sitemap-services.xml, sitemap-index.xml)
- Fix broken /contact links (changed to /#contact)
- Fix broken contact.php references (changed to /quote)
- Fix faq-enhanced.php with correct service links
- Fix london.php file permissions (600 -> 644)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-08 07:18:49 +00:00
root
f445c877e7 Fix contact form by re-minifying main.js with reCAPTCHA support
The minified JS was out of sync with the source file, missing the
grecaptcha integration, XMLHttpRequest header, and interaction token
that the server-side handler requires.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-07 11:57:40 +00:00
root
e144b20798 Comprehensive SEO and UI improvements across site
SEO Improvements:
- Add Twitter/OG meta tags to gdpr-compliance.php and terms-of-service.php
- Add author bios with E-E-A-T signals to all blog articles
- Add breadcrumb schema markup to key pages
- Create new service pages: price-monitoring.php, competitive-intelligence.php
- Create location pages: london.php, manchester.php, birmingham.php
- Update sitemap.xml with new pages

UI/CSS Improvements:
- Move testimonials section from inline styles to CSS classes
- Standardize hero gradients to #144784 → #179e83 across all pages
- Unify card border styles to border-left: 4px solid #179e83
- Fix CTA gradient direction consistency on location pages
- Standardize breadcrumb colors to #144784
- Replace all purple accent colors (#667eea, #764ba2) with brand colors
- Add CSS variables for brand consistency in main.css

Code Cleanup:
- Delete 6 emergency CSS fix files (button-emergency-fix.css, etc.)
- Remove related-articles-fix.css references from blog articles
- Consolidate styles into main.css

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-07 11:49:39 +00:00
root
72d7a641f0 Add WeBuy license validation and usage logging API endpoints
- Add /api/license/webuy/ endpoint for license validation
- Add /api/license/webuy/log/ endpoint for usage logging
- Logs stored in /var/www/logs/webuy_usage.log

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-30 10:57:55 +00:00
root
f9312acb47 Fix consultation form reCAPTCHA integration and validation
- Add missing recaptcha_response hidden field to quote form
- Implement reCAPTCHA validation in quote-handler.php
- Add proper error handling for security verification failures
- Form submissions now properly validate reCAPTCHA tokens before processing

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-09 06:12:52 +00:00
root
4ab3d2d2a8 Fix consultation form CSRF validation and improve site optimization
- Fix CSRF token validation for quote form by adding proper session handling and credentials to AJAX requests
- Replace alert boxes with styled error/success messages and HTML response pages for better UX
- Add visual indicators (*) to required form fields for better accessibility
- Standardize navigation links to use absolute paths for consistency
- Update JavaScript references to use minified version (main.min.js) for better performance
- Archive large error log file and clean up sitemap by removing broken image references
- Add comprehensive documentation to reCAPTCHA configuration about test vs production keys
- Update sitemap lastmod dates to current timestamp

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-09 06:07:27 +00:00
root
7673e72d59 Add 5 new strategic blog articles and update blog homepage
- Add web scraping services UK buyer's guide (15 min read)
- Add data analytics companies London comparison (18 min read)
- Add business intelligence consultants UK selection guide (16 min read)
- Add competitor price monitoring build vs buy analysis (14 min read)
- Add real-time data extraction technical guide (17 min read)
- Update blog homepage stats and article listings
- Update sitemap with new high-priority blog posts

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-08 07:47:06 +00:00
root
35f0fdf97f Add SEO documentation and blog content planning
- Add comprehensive SEO audit and recommendations document
- Add prioritized blog content plan with keyword targets
- Document content strategy for improved organic visibility

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-08 07:13:29 +00:00
root
f16add60ce Fix hero image SVG animations and enhance data line effects
- Move SVG path definitions to defs section for proper animation references
- Add staggered data-pulse animations to data lines with sequential delays
- Fix animateMotion path references for moving particles

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-16 10:13:27 +00:00
root
c7c1763288 Hide reCAPTCHA badge with CSS visibility property
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-16 10:08:10 +00:00
root
657d7681f4 Enhance SEO with comprehensive image alt text and strategic internal linking
- Add descriptive, keyword-rich alt text to all service icons and images
- Implement strategic internal linking between services and blog articles
- Add Core Web Vitals monitoring for performance tracking
- Enhanced sitemap metadata with image captions and detailed titles
- Improved accessibility and search engine content understanding

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-16 10:05:19 +00:00
Peter
cb3b689d07 Enhance SEO with improved alt text, internal links, and Core Web Vitals monitoring
- Enhanced image alt text descriptions with keyword-rich, descriptive alternatives for better accessibility and SEO
- Added contextual internal links in blog articles to improve page authority distribution
- Optimized homepage meta description with additional geographic keywords (Manchester, Birmingham, Edinburgh)
- Expanded keyword meta tags with GDPR compliance and enterprise data solutions terms
- Implemented Core Web Vitals monitoring tool for ongoing performance tracking and optimization
- Improved overall SEO structure while maintaining excellent existing foundation

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-12 13:18:11 +01:00
root
0a3521a955 Fix contact form submission errors and restore full functionality
- Fix JavaScript syntax errors preventing form submission
- Update reCAPTCHA configuration with working test keys
- Restore comprehensive spam protection (reCAPTCHA v3, AJAX validation, rate limiting)
- Switch from minified to source JS file to apply critical fixes
- Add missing security headers and form validation

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-18 05:47:55 +00:00
root
cffe81f960 Fix CSP violations and revert to stable CSS version
- Add region1.google-analytics.com to CSP headers in index.php and blog articles
- Fix manifest.json icon purpose warning by changing to "any"
- Add mobile-web-app-capable meta tag for mobile compatibility
- Revert CSS files to stable version from commit 5558f53 to resolve hero section animation issues
- Remove spam protection code that was causing layout problems

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-18 05:17:33 +00:00
Peter
283ea68ff8 Fixes. 2025-06-17 19:22:58 +01:00
Peter
623b29dea4 fix 2025-06-17 18:51:06 +01:00
Peter
7e69cd0c19 Implement comprehensive spam protection for contact forms
- Add CSRF protection to quote form
- Add honeypot fields to both forms
- Expand spam keyword detection (25+ terms)
- Implement bot detection (user agent & timing validation)
- Add IP-based blocking system (24-hour blocks)
- Enhanced content filtering and validation

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-17 18:43:06 +01:00
Peter
47345e5849 Remove auto-reply emails from contact forms to prevent spam
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-17 18:39:22 +01:00
root
5558f533ca Replace gradient buttons with solid color for tech-tag class
Changed tech-tag buttons from gradient background to solid #179e83 color
to match the cta-button style. Updated hover effects for consistency.

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-10 06:09:46 +00:00
root
b5117f6943 Backup database and code changes - 2025-06-09 17:25:31 2025-06-09 17:25:31 +00:00
root
7b449bc654 Added GA code 2025-06-09 15:27:19 +00:00
root
2e124e0caf Backup database and code changes - 2025-06-09 05:55:16 2025-06-09 05:55:16 +00:00
root
e22613e4d4 Backup database and code changes - 2025-06-09 05:47:40 2025-06-09 05:47:40 +00:00
root
c5a09bee5f Backup database and code changes - 2025-06-09 05:33:32 2025-06-09 05:33:32 +00:00
root
8d431b6cbd Backup database and code changes - 2025-06-08 20:51:14 2025-06-08 20:51:14 +00:00
root
747ae076e2 Backup database and code changes - 2025-06-08 20:05:02 2025-06-08 20:05:02 +00:00
root
4eae8538c8 Backup database and code changes - 2025-06-08 18:36:00 2025-06-08 18:36:00 +00:00
root
ba54427b2b Backup database and code changes - 2025-06-08 17:16:31 2025-06-08 17:16:31 +00:00
root
01470cd0c5 Backup database and code changes - 2025-06-08 15:51:38 2025-06-08 15:51:38 +00:00
root
2fcb4f33ac Backup database and code changes - 2025-06-08 15:34:33 2025-06-08 15:34:33 +00:00
root
cd67513fbb more cleanup 2025-06-08 13:23:01 +00:00
root
7fc9876136 Backup database and code changes - 2025-06-08 13:21:22 2025-06-08 13:21:22 +00:00