Security Headers Configuration (_headers file)
# Security Headers for Netlify/Apache deployment
/*
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Referrer-Policy: strict-origin-when-cross-origin
Permissions-Policy: camera=(), microphone=(), geolocation=()
Strict-Transport-Security: max-age=31536000; includeSubDomains
Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline'
Cache Control & Asset Versioning
# Automatic cache-busting with Jekyll timestamps
<link href="assets/css/styles.css?v={{ site.time | date: '%Y%m%d%H%M%S' }}">
<script src="assets/js/scripts.js?v={{ site.time | date: '%Y%m%d%H%M%S' }}">
# Client-side cache detection and clearing
localStorage version tracking with automatic cache clearing
Multi-Server Cache Headers
# _headers (Netlify) + .htaccess (Apache) support
HTML: Cache-Control: no-cache, no-store, must-revalidate
CSS/JS: Cache-Control: public, max-age=86400, must-revalidate
Images: Cache-Control: public, max-age=2592000
Enhanced Jekyll Configuration
# _config.yml improvements
lang: en_ZA
description: Source-to-Pay procurement solutions...
plugins:
- jekyll-sitemap
- jekyll-seo-tag
- jekyll-feed
Professional Error Handling
# 404.html - Custom error page with navigation
- Professional design matching site theme
- Helpful navigation links to popular pages
- SEO-friendly with proper meta tags