From 15e9ba598e7961142e31e0d915cfc50ac5641b6f Mon Sep 17 00:00:00 2001 From: Peter Foster Date: Sun, 22 Feb 2026 11:11:56 +0000 Subject: [PATCH] Cache: fix 1-year CSS cache and add version busting - .htaccess: remove duplicate cache block that set all CSS/JS to max-age=31536000 CSS/JS now use max-age=3600 must-revalidate (was 1 year, breaking live edits) - index.php: bump main.min.css version v1.1.3 -> v1.1.4 - All 78 PHP files: add ?v=20260222 to main.css and cro-enhancements.css refs Forces browser cache bust for all pages after todays accessibility changes --- .htaccess | 7 ++++++- 403.php | 2 +- 404.php | 2 +- 500.php | 2 +- about.php | 2 +- blog/articles/ai-powered-data-extraction.php | 2 +- ...-intelligence-consultants-uk-selection-guide.php | 6 +++--- .../articles/cloud-native-scraping-architecture.php | 6 +++--- ...ce-monitoring-software-build-vs-buy-analysis.php | 6 +++--- ...tics-companies-london-top-providers-compared.php | 6 +++--- .../data-automation-strategies-uk-businesses.php | 6 +++--- .../articles/data-protection-impact-assessments.php | 6 +++--- blog/articles/data-quality-validation-pipelines.php | 6 +++--- blog/articles/data-subject-rights-management.php | 2 +- blog/articles/database-optimization-big-data.php | 2 +- blog/articles/ecommerce-trends-uk-2025.php | 2 +- .../financial-services-data-transformation.php | 6 +++--- blog/articles/fintech-market-analysis-uk.php | 2 +- blog/articles/free-web-scraping-tools-launch.php | 2 +- blog/articles/gdpr-data-minimisation-practices.php | 6 +++--- blog/articles/handling-captchas-scraping.php | 6 +++--- .../healthcare-research-data-collection.php | 2 +- blog/articles/international-data-transfers-uk.php | 2 +- blog/articles/kubernetes-scraping-deployment.php | 2 +- blog/articles/manufacturing-data-transformation.php | 2 +- .../manufacturing-supply-chain-optimization.php | 2 +- .../articles/media-content-aggregation-platform.php | 2 +- blog/articles/property-data-aggregation-success.php | 2 +- blog/articles/python-data-pipeline-tools-2025.php | 2 +- blog/articles/python-scrapy-enterprise-guide.php | 6 +++--- .../articles/real-time-analytics-streaming-data.php | 2 +- blog/articles/real-time-analytics-streaming.php | 4 ++-- ...ata-extraction-technical-guide-uk-businesses.php | 6 +++--- blog/articles/retail-competitor-monitoring-case.php | 4 ++-- .../articles/retail-price-monitoring-strategies.php | 6 +++--- blog/articles/selenium-vs-playwright-comparison.php | 6 +++--- blog/articles/uk-cookie-law-compliance.php | 4 ++-- blog/articles/uk-property-market-data-trends.php | 6 +++--- blog/articles/web-scraping-rate-limiting.php | 6 +++--- ...b-scraping-services-uk-complete-buyers-guide.php | 6 +++--- blog/categories/business-intelligence.php | 4 ++-- blog/categories/case-studies.php | 4 ++-- blog/categories/compliance.php | 4 ++-- blog/categories/data-analytics.php | 4 ++-- blog/categories/industry-insights.php | 4 ++-- blog/categories/technology.php | 4 ++-- blog/categories/web-scraping.php | 4 ++-- blog/index.php | 4 ++-- blog/search.php | 4 ++-- case-studies/index.php | 2 +- cookie-policy.php | 2 +- downloads/WeBuyPriceScraper_Setup_1.0.31.exe | Bin faq-enhanced.php | 2 +- faq.php | 2 +- gdpr-compliance.php | 2 +- locations/birmingham.php | 2 +- locations/london.php | 2 +- locations/manchester.php | 2 +- privacy-policy.php | 2 +- project-types.php | 2 +- quote.php | 2 +- services/data-cleaning.php | 2 +- services/financial-data-services.php | 2 +- services/property-data-extraction.php | 2 +- terms-of-service.php | 2 +- thank-you.php | 2 +- tools/cost-calculator.php | 2 +- tools/data-converter.php | 2 +- tools/index.php | 2 +- tools/robots-analyzer.php | 2 +- tools/scrapeability-checker.php | 2 +- 71 files changed, 121 insertions(+), 116 deletions(-) mode change 100755 => 100644 downloads/WeBuyPriceScraper_Setup_1.0.31.exe diff --git a/.htaccess b/.htaccess index 372c37d..cb9386a 100644 --- a/.htaccess +++ b/.htaccess @@ -214,9 +214,14 @@ ServerSignature Off # Cache-Control headers - + # Images only — long cache is safe since filenames don't change + Header set Cache-Control "max-age=31536000, public" + # CSS and JS — short cache + must-revalidate so edits propagate within 1 hour + + Header set Cache-Control "max-age=3600, public, must-revalidate" + Header set Cache-Control "max-age=600, private, must-revalidate" diff --git a/403.php b/403.php index 61adc06..be8f45b 100644 --- a/403.php +++ b/403.php @@ -71,7 +71,7 @@ http_response_code(403); opacity: 0.8; } - + diff --git a/404.php b/404.php index 8aa364f..2243410 100644 --- a/404.php +++ b/404.php @@ -17,7 +17,7 @@ $page_description = "The page you're looking for doesn't exist. Explore our data - + - + diff --git a/about.php b/about.php index 5ac94d6..9f1cddb 100644 --- a/about.php +++ b/about.php @@ -44,7 +44,7 @@ $breadcrumbs = [ - +