OilFinderPro Landing Page & Blog
OilFinderPro Landing Page & Blog
A performance-first, SEO-optimized static site for OilFinderPro, built with Jekyll and hosted on GitHub Pages.
🚀 Project Overview
- Purpose: Provide a high-performance landing page, blog, and vehicle oil specification database.
- Tech Stack: Jekyll (Ruby), Liquid, HTML/CSS (Minima theme base), JavaScript (minimal).
- Core Strategy: Programmatic SEO, mobile-first design, and zero technical debt.
📂 Key Directory Structure
_posts/: Blog articles (Markdown)._specs/: Vehicle specification data (Jekyll collection).specs/: Index pages for makes and models._layouts/: Page templates (e.g.,post,vehicle-spec,make_index,model_index)._includes/: Reusable HTML snippets.images/: Static assets (WebP format required for new images).scripts/: Automation and validation scripts (Ruby).css/style.css: Main stylesheet.js/script.js: Main client-side logic.
🛠️ Building and Running
Prerequisites
- Ruby (check
.ruby-versionif present, or use current stable). - Bundler (
gem install bundler).
Commands
- Install Dependencies:
bundle install - Run Locally:
bundle exec jekyll serveThe site will be available at
http://localhost:4000. - Build Site:
bundle exec jekyll build - Validate Spec Taxonomy:
ruby scripts/validate_spec_taxonomy.rb
📜 Development Conventions
SEO & Indexing Rules
- Clean URLs: Always use trailing slashes (e.g.,
/blog/my-post/). Avoid.htmlextensions. - Front Matter: Every
.mdor.htmlfile MUST include:layout: (e.g.,default,post,vehicle-spec)title: Keyword-optimized (max 60 chars).description: Benefit-driven (max 155 chars).last_modified_at: Current date.permalink: Explicitly defined (e.g.,/blog/my-post/).
- No JS-Dependency: Core content must be readable without JavaScript.
Visual & Assets
- Images: Must be in WebP format. Always include
widthandheightattributes to prevent Layout Shift (CLS). - Mobile-First: Ensure all layouts are responsive and stack correctly on mobile (390px baseline).
Vehicle Specs (Collections)
- Files in
_specs/must follow the taxonomy:_specs/{make}/{model}/{year}-{engine}.md. - Run
ruby scripts/validate_spec_taxonomy.rbbefore committing changes to specifications. - Each make and model requires a corresponding index file in
specs/.
Coding Style
- Follow existing Liquid patterns for templating.
- Keep CSS modular and prioritize performance.
- Use
_includes/for repeated UI components.