SEO fixes: orphan pages, schema cleanup, clean URLs, llms-full.txt

- Add 32 missing articles to blog page 2 with working pagination
- Strip .php extensions from all blog article links (blog/index.php, article-footer.php)
- Remove unverified aggregateRating from Organization schema
- Remove empty telephone fields from Organization schema
- Fix broken tel: link in homepage contact section (+44 1692 689150)
- Update footer Twitter link to x.com
- Create llms-full.txt for AI crawler indexing
This commit is contained in:
Peter Foster
2026-03-20 17:08:18 +00:00
parent 9ba117a65f
commit 4d5635af56
6 changed files with 658 additions and 69 deletions

View File

@@ -106,8 +106,8 @@ $display_articles = array_slice($filtered_articles, 0, 3);
<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>
<a href="/quote" class="cta-btn cta-btn-primary">Get a Free Quote</a>
<a href="/services/web-scraping" class="cta-btn cta-btn-outline">See Our Services</a>
</div>
</div>
</section>
@@ -118,13 +118,13 @@ $display_articles = array_slice($filtered_articles, 0, 3);
<?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>
<h3><a href="/blog/articles/<?php echo htmlspecialchars($article['slug']); ?>"><?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/categories/<?php echo strtolower(str_replace(' ', '-', $current_category)); ?>" class="btn">More <?php echo htmlspecialchars($current_category); ?> Articles</a>
<a href="/blog/" class="btn btn-secondary">All Blog Articles</a>
</div>
</section>

View File

@@ -96,7 +96,7 @@
</div>
<div class="social-links">
<a href="https://linkedin.com/company/uk-data-services" aria-label="LinkedIn" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon-linkedin.svg" alt="LinkedIn" loading="lazy"></a>
<a href="https://twitter.com/ukdataservices" aria-label="Twitter" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon-twitter.svg" alt="Twitter" loading="lazy"></a>
<a href="https://x.com/ukdataservices" aria-label="Twitter" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon-twitter.svg" alt="Twitter" loading="lazy"></a>
</div>
</div>
</div>

View File

@@ -22,7 +22,6 @@ $organizationSchema = [
],
'image' => 'https://ukdataservices.co.uk/assets/images/ukds-main-logo.png',
'description' => 'Enterprise web scraping and data analytics services for UK businesses. Specialising in competitive intelligence, price monitoring, and GDPR-compliant data extraction.',
'telephone' => '',
'email' => 'info@ukdataservices.co.uk',
'address' => [
'@type' => 'PostalAddress',
@@ -64,13 +63,12 @@ $organizationSchema = [
]
],
'sameAs' => [
'https://www.linkedin.com/company/ukdataservices',
'https://twitter.com/ukdataservices'
'https://www.linkedin.com/company/uk-data-services',
'https://x.com/ukdataservices'
],
'contactPoint' => [
[
'@type' => 'ContactPoint',
'telephone' => '',
'contactType' => 'sales',
'availableLanguage' => 'English',
'areaServed' => 'GB',
@@ -93,13 +91,6 @@ $organizationSchema = [
'numberOfEmployees' => [
'@type' => 'QuantitativeValue',
'value' => '15'
],
'aggregateRating' => [
'@type' => 'AggregateRating',
'ratingValue' => '4.9',
'reviewCount' => '127',
'bestRating' => '5',
'worstRating' => '1'
]
];
?>