- 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
224 lines
8.6 KiB
PHP
224 lines
8.6 KiB
PHP
<?php
|
|
/**
|
|
* Service Schema Component
|
|
* Generates Service structured data for improved SEO
|
|
*
|
|
* Usage:
|
|
* $serviceData = [
|
|
* 'name' => 'AI Automation Services',
|
|
* 'description' => 'Professional AI Automation Services...',
|
|
* 'url' => 'https://ukaiautomation.co.uk/services/web-Automation',
|
|
* 'serviceType' => 'AI Automation',
|
|
* 'priceRange' => '500-50000',
|
|
* 'features' => ['Feature 1', 'Feature 2']
|
|
* ];
|
|
* include($_SERVER['DOCUMENT_ROOT'] . '/includes/schema/service-schema.php');
|
|
*/
|
|
|
|
/**
|
|
* Generate Service Schema JSON-LD
|
|
*
|
|
* @param string $serviceName The name of the service
|
|
* @param string $serviceDescription A detailed description of the service
|
|
* @param string $serviceUrl The canonical URL of the service page
|
|
* @param string $serviceType The type/category of service
|
|
* @param string|null $priceRange Optional price range (e.g., "500-50000")
|
|
* @param array $features Optional array of service features
|
|
* @return string JSON-LD script tag
|
|
*/
|
|
function generateServiceSchema($serviceName, $serviceDescription, $serviceUrl, $serviceType, $priceRange = null, $features = []) {
|
|
$schema = [
|
|
'@context' => 'https://schema.org',
|
|
'@type' => 'Service',
|
|
'@id' => $serviceUrl . '#service',
|
|
'name' => $serviceName,
|
|
'description' => $serviceDescription,
|
|
'url' => $serviceUrl,
|
|
'serviceType' => $serviceType,
|
|
'provider' => [
|
|
'@type' => 'Organization',
|
|
'@id' => 'https://ukaiautomation.co.uk/#organization',
|
|
'name' => 'UK AI Automation',
|
|
'url' => 'https://ukaiautomation.co.uk'
|
|
],
|
|
'areaServed' => [
|
|
'@type' => 'Country',
|
|
'name' => 'United Kingdom'
|
|
],
|
|
'availableChannel' => [
|
|
'@type' => 'ServiceChannel',
|
|
'serviceUrl' => 'https://ukaiautomation.co.uk/quote',
|
|
'servicePhone' => '',
|
|
'availableLanguage' => 'English'
|
|
]
|
|
];
|
|
|
|
// Add price specification if provided
|
|
if ($priceRange) {
|
|
$prices = explode('-', $priceRange);
|
|
$schema['offers'] = [
|
|
'@type' => 'Offer',
|
|
'priceCurrency' => 'GBP',
|
|
'priceSpecification' => [
|
|
'@type' => 'PriceSpecification',
|
|
'minPrice' => (float)$prices[0],
|
|
'maxPrice' => isset($prices[1]) ? (float)$prices[1] : null,
|
|
'priceCurrency' => 'GBP'
|
|
],
|
|
'availability' => 'https://schema.org/InStock',
|
|
'validFrom' => date('Y-m-d')
|
|
];
|
|
}
|
|
|
|
// Add features/service output if provided
|
|
if (!empty($features)) {
|
|
$schema['hasOfferCatalog'] = [
|
|
'@type' => 'OfferCatalog',
|
|
'name' => $serviceName . ' Features',
|
|
'itemListElement' => array_map(function($feature) {
|
|
return [
|
|
'@type' => 'Offer',
|
|
'itemOffered' => [
|
|
'@type' => 'Service',
|
|
'name' => $feature
|
|
]
|
|
];
|
|
}, $features)
|
|
];
|
|
}
|
|
|
|
return '<script type="application/ld+json">' . "\n" .
|
|
json_encode($schema, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES) . "\n" .
|
|
'</script>';
|
|
}
|
|
|
|
/**
|
|
* Predefined service configurations for consistency
|
|
*/
|
|
$serviceConfigs = [
|
|
'web-Automation' => [
|
|
'name' => 'AI Automation Services UK',
|
|
'description' => 'Professional AI Automation and data extraction services for UK businesses. Automated data collection from websites with 99.8% accuracy and full GDPR compliance.',
|
|
'url' => 'https://ukaiautomation.co.uk/services/web-Automation',
|
|
'serviceType' => 'AI Automation',
|
|
'priceRange' => '500-50000',
|
|
'features' => [
|
|
'Automated data extraction',
|
|
'Real-time monitoring',
|
|
'GDPR-compliant collection',
|
|
'Custom API delivery',
|
|
'Multi-format output'
|
|
]
|
|
],
|
|
'competitive-intelligence' => [
|
|
'name' => 'Competitive Intelligence Services UK',
|
|
'description' => 'Strategic competitive intelligence and market analysis services. Monitor competitors, track market trends, and gain actionable business insights.',
|
|
'url' => 'https://ukaiautomation.co.uk/services/competitive-intelligence',
|
|
'serviceType' => 'Competitive Intelligence',
|
|
'priceRange' => '1000-25000',
|
|
'features' => [
|
|
'Competitor monitoring',
|
|
'Market trend analysis',
|
|
'Price tracking',
|
|
'Product intelligence',
|
|
'Strategic reporting'
|
|
]
|
|
],
|
|
'price-monitoring' => [
|
|
'name' => 'Price Monitoring Services UK',
|
|
'description' => 'Real-time price monitoring and competitor price tracking services. E-commerce pricing intelligence for UK retailers and brands.',
|
|
'url' => 'https://ukaiautomation.co.uk/services/price-monitoring',
|
|
'serviceType' => 'Price Monitoring',
|
|
'priceRange' => '500-15000',
|
|
'features' => [
|
|
'Real-time price tracking',
|
|
'Competitor price alerts',
|
|
'MAP monitoring',
|
|
'Historical price analysis',
|
|
'Automated reporting'
|
|
]
|
|
],
|
|
'data-cleaning' => [
|
|
'name' => 'Data Cleaning & Validation Services UK',
|
|
'description' => 'Professional data cleaning, validation, and standardisation services. Transform messy data into accurate, structured datasets.',
|
|
'url' => 'https://ukaiautomation.co.uk/services/data-cleaning',
|
|
'serviceType' => 'Data Cleaning',
|
|
'priceRange' => '500-20000',
|
|
'features' => [
|
|
'Duplicate removal',
|
|
'Data standardisation',
|
|
'Format validation',
|
|
'Error correction',
|
|
'Quality assurance'
|
|
]
|
|
],
|
|
'data-analytics' => [
|
|
'name' => 'Data Analytics Services UK',
|
|
'description' => 'Business intelligence and data analytics solutions for UK enterprises. Transform raw data into actionable insights.',
|
|
'url' => 'https://ukaiautomation.co.uk/services/data-analysis-services',
|
|
'serviceType' => 'Data Analytics',
|
|
'priceRange' => '1000-30000',
|
|
'features' => [
|
|
'Business intelligence',
|
|
'Predictive analytics',
|
|
'Custom dashboards',
|
|
'Data visualisation',
|
|
'Strategic insights'
|
|
]
|
|
],
|
|
'api-development' => [
|
|
'name' => 'API Development Services UK',
|
|
'description' => 'Custom API development and data integration services. Build robust APIs to connect your systems and automate data workflows.',
|
|
'url' => 'https://ukaiautomation.co.uk/services/api-development',
|
|
'serviceType' => 'API Development',
|
|
'priceRange' => '2000-40000',
|
|
'features' => [
|
|
'Custom API design',
|
|
'System integration',
|
|
'Real-time data feeds',
|
|
'Authentication systems',
|
|
'Documentation'
|
|
]
|
|
],
|
|
'property-data-extraction' => [
|
|
'name' => 'UK Property Data Extraction Services',
|
|
'description' => 'Professional property data extraction from UK property portals including Rightmove, Zoopla, and OnTheMarket. GDPR-compliant property market intelligence.',
|
|
'url' => 'https://ukaiautomation.co.uk/services/property-data-extraction',
|
|
'serviceType' => 'Property Data Extraction',
|
|
'priceRange' => '1000-25000',
|
|
'features' => [
|
|
'Property portal data extraction',
|
|
'Market analysis',
|
|
'Investment research data',
|
|
'Rental market intelligence',
|
|
'Commercial property data'
|
|
]
|
|
],
|
|
'financial-data-services' => [
|
|
'name' => 'Financial Data Services UK',
|
|
'description' => 'FCA-aware financial data services for hedge funds, asset managers, and investment firms. Market data extraction and alternative data solutions.',
|
|
'url' => 'https://ukaiautomation.co.uk/services/financial-data-services',
|
|
'serviceType' => 'Financial Data Services',
|
|
'priceRange' => '5000-100000',
|
|
'features' => [
|
|
'Market data extraction',
|
|
'Alternative data feeds',
|
|
'Securities monitoring',
|
|
'Compliance-aware collection',
|
|
'API delivery'
|
|
]
|
|
]
|
|
];
|
|
|
|
// If $serviceData is set, output the schema automatically
|
|
if (isset($serviceData) && is_array($serviceData)) {
|
|
echo generateServiceSchema(
|
|
$serviceData['name'],
|
|
$serviceData['description'],
|
|
$serviceData['url'],
|
|
$serviceData['serviceType'],
|
|
$serviceData['priceRange'] ?? null,
|
|
$serviceData['features'] ?? []
|
|
);
|
|
}
|