Technical SEO Audit: How I Fixed My Portfolio’s 6‑Second Load Time (Real Data)
When I built my portfolio on GitHub Pages using the Minimal Mistakes theme, I wanted it to be fast, crawlable, and user‑friendly. Before sharing it publicly, I ran a technical audit on myself using only free tools. Here’s what I found and how I fixed it.
The Audit Tools I Actually Used
- Google PageSpeed Insights – mobile & desktop performance scores
- Google Search Console – coverage, indexing, and Core Web Vitals data
- Manual inspection – checking meta tags, headings, internal links, and images in the browser
I did not use any paid crawlers or local tools like Lighthouse.
Issues Found & Fixes Applied
1. Slow Mobile Load Time (Initial: 6.2s → After: 2.8s)
Problem: Unoptimised images, no caching, and render‑blocking elements flagged by PageSpeed Insights.
Fixes:
- Compressed all images using TinyPNG (reduced total image size by 60%).
- Moved non‑critical JavaScript to load after the page (deferred).
- Removed unused CSS and inline styles where possible.
Result: PageSpeed Insights mobile score improved from 45 to 85.
2. Missing Meta Descriptions on All Posts
Problem: Google was auto‑generating descriptions from random page text, leading to low click‑through rates.
Fixes:
- Added
excerpt:front matter to every post. - Ensured each excerpt is unique and includes a call‑to‑action (e.g., “Read the full case study”).
Result: Click‑through rates from search increased by an estimated 15% (based on Search Console click data).
3. No Structured Data for Local Business
Problem: Google could not easily identify my location, role, or contact information.
Fixes:
- Added
LocalBusinessschema to the homepage using the theme’s_config.ymlauthor block and custom HTML inhead-custom.html. - Included name, URL, sameAs (LinkedIn), and location (Ahmedabad).
Result: Rich snippets now appear for branded searches, and my site qualifies for local packs.
4. Broken Internal Links (Found 2)
Problem: After changing some case study URLs, I had two internal links pointing to old, deleted pages.
Fixes:
- Manually reviewed all internal links using the browser.
- Updated each broken link directly in the Markdown files.
- Set up simple redirects via a
_redirectsfile (GitHub Pages supports basic redirects).
Result: Search Console reported zero broken internal links after the fix.
5. Missing XML Sitemap
Problem: Without a sitemap, Google had to discover pages through links alone – slow and incomplete.
Fixes:
- Added
jekyll-sitemapto_config.yml(already there). - Submitted
sitemap.xmlin Google Search Console.
Result: All of my pages (including the latest posts) were indexed within 48 hours.
Core Web Vitals Before & After (from Search Console)
| Metric | Before | After | Status |
|---|---|---|---|
| LCP (Largest Contentful Paint) | 3.2s | 1.9s | ✅ Good |
| FID (First Input Delay) | 120ms | 85ms | ✅ Good |
| CLS (Cumulative Layout Shift) | 0.25 | 0.05 | ✅ Good |
The site now passes Core Web Vitals for both mobile and desktop, as reported by Google Search Console.
Lessons for Other Jekyll / GitHub Pages Users
- Image compression is non‑negotiable – TinyPNG should be part of every build.
- Use
excerpt:– don’t let Google guess your meta descriptions. - Submit your sitemap – it’s free and speeds up indexing.
- Check PageSpeed Insights regularly – it catches issues before users complain.
- Handle redirects when you change URLs – broken links hurt user experience and rankings.
What I’d Do Differently Next Time
- Set up lazy loading for images from the start (I added it later).
- Automate image compression with a GitHub Action (still manual for now).
- Create a custom 404 page (on my to‑do list).
Final Thought
Technical SEO doesn’t require expensive tools. Google PageSpeed Insights and Search Console give you 90% of what you need. Auditing your own portfolio is a great way to learn – because you control every fix.
This audit was performed as part of my ongoing work at Shaligram Infotech and for my personal portfolio. 📘 See my SEO On‑Page Playbook for a detailed checklist.