- /assets/ — All static assets (CSS, JavaScript, images)
- /assets/css/ — Stylesheets and responsive design
- /assets/js/ — JavaScript modules and main application logic
- /assets/images/ — Blog images, icons, logo, illustrations
- /assets/fonts/ — Web fonts (if used)
- /blog/ — Article pages and blog content
- /calculators/ — Calculator tool pages
- /glossary/ — Glossary pages
- /category/ — Category hubs and navigation
- /resources/ — Resource center and reference pages
- /data/ — Data files and content references (future use)
- /docs/ — Technical documentation and guides
- Root level: index.html, 404.html, sitemap.xml, robots.txt, manifest.webmanifest, sw.js
- Configuration files: README.md, LICENSE, .gitignore
Production deployment, GitHub Pages, Cloudflare & website launch architecture
A comprehensive guide for deploying AgriCalc Pakistan to production, configuring GitHub Pages and Cloudflare, optimizing performance, ensuring security, and maintaining long-term reliability.
Project repository structure
A clear, organized structure makes the project maintainable and scalable.
GitHub repository configuration
Set up the repository for collaboration, transparency, and future growth.
Essential files
- README.md with project overview, setup instructions, and contribution guidelines
- LICENSE file (MIT or compatible open-source license)
- .gitignore to exclude build artifacts and sensitive files
- Release notes template for tracking updates
- Issue templates for bug reports and feature requests (future-ready)
- Contributing guidelines for community involvement (future-ready)
GitHub Pages deployment
Ensure a reliable, secure deployment pipeline.
- Deploy from the main or gh-pages branch as appropriate
- Enable HTTPS by default through GitHub Pages
- Configure correct base paths for relative asset links
- Create a custom 404.html page for missing pages
- Test all asset links and paths before pushing
- Use GitHub Actions for automated checks (future enhancement)
Custom domain and Cloudflare configuration
Set up a professional domain with enterprise-grade infrastructure.
Custom domain setup
- Create CNAME file in the repository root pointing to the custom domain
- Configure DNS records in Cloudflare to point to GitHub Pages
- Set up canonical URLs in all HTML pages
- Define WWW/non-WWW redirect strategy (recommend non-WWW)
- Enable HTTPS-only access through Cloudflare and GitHub
Cloudflare configuration
- DNS records: Set A records or CNAME records pointing to GitHub Pages
- Automatic HTTPS: Enable to ensure encrypted connections
- SSL/TLS: Use Flexible SSL while GitHub Pages provides HTTPS
- Page Rules: Avoid rules that interfere with GitHub Pages updates
- Caching: Configure browser cache and edge cache TTLs appropriately
- Security: Enable DDoS protection, WAF rules, and rate limiting
- Performance: Enable Brotli compression where available
Performance optimization
Ensure fast, responsive experiences for all users.
- Enable Gzip and Brotli compression on Cloudflare
- Optimize images: use modern formats (WebP), resize appropriately, compress
- Set browser cache headers: 1 year for versioned assets, shorter for HTML
- Lazy-load images and off-screen content where practical
- Load fonts efficiently: limit font families, use system fonts where appropriate
- Minimize render-blocking resources: defer non-critical JavaScript
- Use HTTP/2 benefits through Cloudflare
SEO and search console
Prepare the site for search visibility and monitoring.
- Verify the site in Google Search Console
- Submit XML sitemap through Search Console
- Monitor coverage and crawl errors regularly
- Track indexing status and Mobile Usability issues
- Monitor Core Web Vitals and performance metrics
- Review and optimize search appearance with title and meta descriptions
Analytics and privacy
Support optional analytics while respecting privacy and compliance.
- If analytics are enabled: load efficiently and asynchronously
- Respect applicable privacy requirements (GDPR, local regulations)
- Avoid unnecessary tracking or third-party data collection
- Provide clear notice and consent mechanisms where required
- Maintain Privacy Policy explaining data practices
- If cookies are used: provide clear disclosure and consent
AdSense readiness
Support advertising without compromising user experience.
- Design layouts that accommodate ads without major restructuring
- Place ads in clear, natural locations (sidebars, between sections)
- Maintain strong visual separation between content and advertisements
- Ensure the page remains useful and readable without ads
- Avoid misleading ad placement or click-baiting layouts
- Test ad layouts on mobile and desktop before enabling
Security best practices
Protect the site and users from common threats.
- Use HTTPS for all connections (enabled by GitHub and Cloudflare)
- Avoid storing secrets or sensitive data in the repository
- Validate and sanitize any user input from forms
- Use external resources carefully; verify domains and HTTPS
- Minimize third-party dependencies
- Keep frameworks and libraries up-to-date
- Use Security Headers where available (via Cloudflare)
Backup and version management
Maintain a reliable history and recovery strategy.
- Maintain complete Git history as the primary backup
- Tag release versions for easy rollback
- Keep documentation updated in the repository
- Archive periodic snapshots of the live site (optional)
- Document deployment procedures and rollback steps
Pre-launch verification checklist
Before going live, verify all critical components.
- Design & layout: Responsive on mobile, tablet, desktop
- Navigation: All menus and links working
- Calculators: All tools functional and returning correct results
- Search: Search functionality operational
- Links: No broken internal or external links
- Media: All images, icons, and fonts loading correctly
- Metadata: Titles, descriptions, and tags complete
- Structured data: Validate JSON-LD schema compliance
- robots.txt: Allows crawlers to access important pages
- sitemap.xml: Complete and valid
- Manifest: PWA manifest.json valid and accessible
- Service Worker: SW registers and caches correctly
- Accessibility: WCAG 2.1 AA compliance reviewed
- Performance: Page load times acceptable
- Security: HTTPS working, no mixed content warnings
Post-launch monitoring and maintenance
Keep the site healthy and performant after launch.
Ongoing monitoring
- Weekly: Check Search Console for crawl errors
- Weekly: Spot-check links and calculator functionality
- Monthly: Review Core Web Vitals and performance metrics
- Monthly: Check for broken external references
- Quarterly: Full accessibility and SEO audit
- Quarterly: Review user feedback and common questions
Maintenance schedule
- Update content based on seasonal changes
- Refresh outdated articles and guidance
- Fix broken links as they're discovered
- Update social metadata and Open Graph tags
- Refresh images and improve visual content
- Test calculators with new scenarios