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>
This commit is contained in:
root
2025-12-07 11:49:39 +00:00
parent 72d7a641f0
commit e144b20798
73 changed files with 5019 additions and 941 deletions

View File

@@ -0,0 +1,52 @@
<?php
/**
* Breadcrumb Schema Component
* Generates BreadcrumbList structured data for improved SEO
*
* Usage: Set $breadcrumbs array before including this file
* Example:
* $breadcrumbs = [
* ['url' => '/', 'label' => 'Home'],
* ['url' => '/blog', 'label' => 'Blog'],
* ['url' => '', 'label' => 'Current Page Title']
* ];
*/
if (!isset($breadcrumbs) || empty($breadcrumbs)) {
return;
}
$base_url = 'https://ukdataservices.co.uk';
$items = [];
foreach ($breadcrumbs as $index => $crumb) {
$position = $index + 1;
$item = [
'@type' => 'ListItem',
'position' => $position,
'name' => $crumb['label']
];
// Add URL for all items except the last one (current page)
if (!empty($crumb['url'])) {
$url = $crumb['url'];
// Ensure URL is absolute
if (strpos($url, 'http') !== 0) {
$url = $base_url . $url;
}
$item['item'] = $url;
}
$items[] = $item;
}
$schema = [
'@context' => 'https://schema.org',
'@type' => 'BreadcrumbList',
'itemListElement' => $items
];
?>
<script type="application/ld+json">
<?php echo json_encode($schema, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES); ?>
</script>