- 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)
130 lines
5.0 KiB
PHP
130 lines
5.0 KiB
PHP
<?php
|
|
// Get related articles from the same category
|
|
$current_category = isset($article_category) ? $article_category : 'Industry Insights';
|
|
$current_slug = isset($article_slug) ? $article_slug : '';
|
|
|
|
// Define related articles for different categories
|
|
$related_articles = [
|
|
'Industry Insights' => [
|
|
[
|
|
'title' => 'UK Property Market Data Trends 2024',
|
|
'slug' => 'uk-property-market-data-trends',
|
|
'category' => 'Industry Insights',
|
|
'read_time' => '8 min read'
|
|
],
|
|
[
|
|
'title' => 'E-commerce Trends UK 2025',
|
|
'slug' => 'ecommerce-trends-uk-2025',
|
|
'category' => 'Industry Insights',
|
|
'read_time' => '6 min read'
|
|
],
|
|
[
|
|
'title' => 'Manufacturing Supply Chain Optimization',
|
|
'slug' => 'manufacturing-supply-chain-optimization',
|
|
'category' => 'Industry Insights',
|
|
'read_time' => '10 min read'
|
|
]
|
|
],
|
|
'Technology' => [
|
|
[
|
|
'title' => 'Python Data Pipeline Tools 2025',
|
|
'slug' => 'python-data-pipeline-tools-2025',
|
|
'category' => 'Technology',
|
|
'read_time' => '12 min read'
|
|
],
|
|
[
|
|
'title' => 'Selenium vs Playwright Comparison',
|
|
'slug' => 'selenium-vs-playwright-comparison',
|
|
'category' => 'Technology',
|
|
'read_time' => '8 min read'
|
|
],
|
|
[
|
|
'title' => 'Python Scrapy Enterprise Guide',
|
|
'slug' => 'python-scrapy-enterprise-guide',
|
|
'category' => 'Technology',
|
|
'read_time' => '15 min read'
|
|
]
|
|
],
|
|
'Web Scraping' => [
|
|
[
|
|
'title' => 'Web Scraping Compliance UK Guide',
|
|
'slug' => 'web-scraping-compliance-uk-guide',
|
|
'category' => 'Web Scraping',
|
|
'read_time' => '10 min read'
|
|
],
|
|
[
|
|
'title' => 'Handling CAPTCHAs in Web Scraping',
|
|
'slug' => 'handling-captchas-scraping',
|
|
'category' => 'Web Scraping',
|
|
'read_time' => '7 min read'
|
|
],
|
|
[
|
|
'title' => 'JavaScript Heavy Sites Scraping',
|
|
'slug' => 'javascript-heavy-sites-scraping',
|
|
'category' => 'Web Scraping',
|
|
'read_time' => '9 min read'
|
|
]
|
|
],
|
|
'Data Analytics' => [
|
|
[
|
|
'title' => 'Real-time Analytics with Streaming Data',
|
|
'slug' => 'real-time-analytics-streaming-data',
|
|
'category' => 'Data Analytics',
|
|
'read_time' => '11 min read'
|
|
],
|
|
[
|
|
'title' => 'SQL Analytics Advanced Techniques',
|
|
'slug' => 'sql-analytics-advanced-techniques',
|
|
'category' => 'Data Analytics',
|
|
'read_time' => '13 min read'
|
|
],
|
|
[
|
|
'title' => 'Predictive Analytics for Customer Churn',
|
|
'slug' => 'predictive-analytics-customer-churn',
|
|
'category' => 'Data Analytics',
|
|
'read_time' => '9 min read'
|
|
]
|
|
]
|
|
];
|
|
|
|
// Get articles for current category, exclude current article
|
|
$category_articles = isset($related_articles[$current_category]) ? $related_articles[$current_category] : $related_articles['Industry Insights'];
|
|
$filtered_articles = array_filter($category_articles, function($article) use ($current_slug) {
|
|
return $article['slug'] !== $current_slug;
|
|
});
|
|
|
|
// Limit to 3 articles
|
|
$display_articles = array_slice($filtered_articles, 0, 3);
|
|
?>
|
|
|
|
|
|
<!-- Service CTA Box — inserted by SEO update Feb 2026 -->
|
|
<section class="article-cta">
|
|
<div class="cta-inner">
|
|
<div class="cta-text">
|
|
<h3>Need data for your business?</h3>
|
|
<p>UK Data Services delivers GDPR-compliant web scraping, data extraction, and analytics — tailored to your industry. 99.8% accuracy, fast turnaround, no long-term contracts.</p>
|
|
</div>
|
|
<div class="cta-actions">
|
|
<a href="/quote.php" class="cta-btn cta-btn-primary">Get a Free Quote</a>
|
|
<a href="/services/web-scraping.php" class="cta-btn cta-btn-outline">See Our Services</a>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<section class="related-articles">
|
|
<h2>Related Articles</h2>
|
|
<div class="related-grid">
|
|
<?php foreach ($display_articles as $article): ?>
|
|
<article class="related-card">
|
|
<span class="category"><?php echo htmlspecialchars($article['category']); ?></span>
|
|
<h3><a href="/blog/articles/<?php echo htmlspecialchars($article['slug']); ?>.php"><?php echo htmlspecialchars($article['title']); ?></a></h3>
|
|
<span class="read-time"><?php echo htmlspecialchars($article['read_time']); ?></span>
|
|
</article>
|
|
<?php endforeach; ?>
|
|
</div>
|
|
<div class="category-links">
|
|
<a href="/blog/categories/<?php echo strtolower(str_replace(' ', '-', $current_category)); ?>.php" class="btn">More <?php echo htmlspecialchars($current_category); ?> Articles</a>
|
|
<a href="/blog/" class="btn btn-secondary">All Blog Articles</a>
|
|
</div>
|
|
</section>
|