Episode 18: Technical SEO and website health
Crawling, indexing, site speed, Core Web Vitals, mobile-friendliness and sitemaps: the website’s technical health.
The most beautiful shop, but the door is jammed and the lights come on after 10 seconds.
Technical SEO is the plumbing and wiring you don’t see, but when it breaks, everything stops.
How Google reads a website
If a page isn’t indexed, it will never appear in search, however good it is.
- Add the website to Google Search Console (free)
- “Pages” report: which pages are indexed, which aren’t, and why
- URL inspection: the status of any single page
Sitemap and robots.txt
- XML sitemap: a list of the website’s important pages, for Google. Shopify/WordPress create it automatically (/sitemap.xml). Submit it in Search Console
- robots.txt: tells crawlers which sections not to crawl (e.g. /cart, /admin)
Speed and Core Web Vitals
| Metric | What it measures | Good (per Google) |
|---|---|---|
| LCP (Largest Contentful Paint) | How quickly the main content appears | ≤ 2.5 sec |
| INP (Interaction to Next Paint) | How quickly a tap/click responds | ≤ 200 ms |
| CLS (Cumulative Layout Shift) | How much things shift while the page loads | ≤ 0.1 |
To check: PageSpeed Insights (free). Look at the mobile score first, since most customers are on phones.
Common speed fixes
- Compress images + WebP (Chapter 17)
- Remove unused apps/plugins; every app adds scripts
- A light image instead of a heavy video in the hero section
- Fewer fonts (no more than 2)
- Set image sizes in advance so the layout doesn’t shift (CLS)
Website health checklist
- HTTPS: the padlock link (SSL). Default on Shopify
- Mobile-friendly: big buttons, readable text, no horizontal scroll
- Broken links / 404: redirect old product links to new pages (301)
- Duplicate content: if the same product lives at several URLs, use a canonical tag
- Structured data: explain product price and reviews to Google (a chance at rich results)
StyleStreet’s real problem
The page took 7 seconds to open on mobile
After the website launched, traffic was arriving from Instagram and creators, but the bounce rate was very high. PageSpeed Insights:
- Mobile LCP: ~5.8 sec (a 12 MB video in the hero)
- 9 Shopify apps, 4 never used
- Search Console: 30 product pages “Discovered – currently not indexed”
People were leaving before the page even opened. If ads ran now, their money would also fall at the door.
Practical example: StyleStreet tech fix: one week of work
| Fix | Effort | Result |
|---|---|---|
| Hero video → compressed image | 30 min | LCP ~5.8s → ~2.3s |
| Remove 4 unused apps | 20 min | Fewer scripts, faster load |
| All images to WebP + compressed | 2 hours | Page size ~70% smaller |
| Submit sitemap + internal links | 1 hour | Most pages indexed within 2 weeks |
| 301 redirects for old links | 30 min | No 404s |
Your mission: Do a technical SEO audit
On any website (yours or a brand’s):
- Note the mobile score and LCP, INP, CLS in PageSpeed Insights
- Write the top 3 speed problems
- If you have Search Console, check the indexing report (otherwise write the steps)
- Open /robots.txt and /sitemap.xml and look at them
- Do a 5-point usability check on mobile
- Make a priority list of 5 fixes (effort vs impact)
Quiz
-
A page isn’t indexed. What does that mean?
- A. It ranks #1
- B. It can’t appear in Google search at all
- C. The page is fast
- D. Ads won’t run
Show answer
Correct answer: B. It can’t appear in Google search at all
The index is the library. Not in the library means not in search.
-
What does LCP measure?
- A. Clicks
- B. How quickly the main content loaded
- C. Links
- D. Layout shift
Show answer
Correct answer: B. How quickly the main content loaded
Largest Contentful Paint = when the largest visible content appeared.
-
robots.txt accidentally says “Disallow: /”. What happens?
- A. The site gets faster
- B. The whole site is blocked from crawling
- C. Nothing
- D. A sitemap is created
Show answer
Correct answer: B. The whole site is blocked from crawling
That’s why checking after launch matters.
-
An old product URL closed and a new one was created. What do you do?
- A. Leave it
- B. A 301 redirect from old to new
- C. Delete the site
- D. Get a new domain
Show answer
Correct answer: B. A 301 redirect from old to new
With a 301, both visitors and Google reach the new page.
Output for the client project
Your project file now has a Technical SEO Audit:
- Core Web Vitals report (before/after)
- Indexing status + sitemap
- Speed fix list
- Health checklist
- Result: LCP ~5.8s → ~2.3s
Golden rule: If the door of a beautiful shop is jammed, nobody comes in. Speed, mobile and indexing first; the rest of SEO later.