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:
52
includes/breadcrumb-schema.php
Normal file
52
includes/breadcrumb-schema.php
Normal 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>
|
||||
Reference in New Issue
Block a user