DM10: Capstone: three growth and analytics projects for MittiMart
Project 3: a technical SEO audit
🎯You'll be able to
Complete Project 3: crawlable, indexable pages with clear signals, light pages, and an audit that reports its fixes and search traffic honestly.
🏠The everyday picture
A shop that unlocks its door, puts up a clear sign, labels every shelf, lists its goods in the market directory, and then counts how many more people came in, while remembering that festival crowds would have come anyway.
📘What it really is
-
Crawling and indexing:
robots.txtallows the shop and names the sitemap;noindexonly on cart, checkout and thank-you pages; full self-canonicals, with the copy page pointing to the main kulhad page; a sitemap of the 10 indexable pages. -
Page signals: unique titles (10 to 60 characters) and descriptions (50 to 160); one
h1;langand viewport; alt text, sizes; no broken links. -
Structured data: one Product block per product page, with the visible price and
INR. - Speed: the slider library removed and other scripts deferred: about 509 KB down to about 12 KB on the home page.
- Audit:
seo/audit.mdwith at least eight issues, each with a fix and a status, the search traffic figures (clicks 993 to 1,841, 85.4% more; impressions 27,841 to 44,800), and limits about the season and other causes.
📝A worked example
Input: test 5 failing after the canonicals and sitemap are written.
Steps:
- Read the failure: the sitemap list doesn't match the indexable pages.
- Find the cause: the planter page still says
noindex, so it isn't counted as indexable, but it's in the sitemap. - Remove the planter's
noindexand runnpm run test:seo.
Expected output: tests 4 and 5 pass together; in the reference, all ten pass in about three seconds.
🌍Where it's used
- SEO consultants deliver audits with fixes and before-and-after figures.
- In-house teams run these checks after every site release.
- Agencies use the format to report to clients.
📝Case scenario
A learner's audit claimed "SEO fixes increased clicks by 85%" and test 10 failed on the Limits section. Adding that impressions were already rising with the festival season, and that other causes couldn't be ruled out, made the report pass and made the claim credible.
🖱️Try it
Open MittiMart's pages with JavaScript turned off in your browser (or read the HTML files directly) and check one page against the Lesson 5 checklist from DM3. Success: three findings with a severity each.
⚠️Common mistakes
- Fixing one signal and breaking another. Sign: a page in the sitemap that says
noindex. Fix: check the signals agree. - Structured data copied between pages. Sign: the tawa page's JSON-LD says "Kulhad set of 6". Fix: generate each from its product.
- Claiming the whole traffic change. Sign: no Limits section. Fix: report the season and other causes.
🛠️For your project
Project 3's evidence: the output of npm run test:seo with 10 passing, the audit, and your explanation of the three most severe issues.
✅Quick check
Why must a noindex page stay crawlable?
Show the answer
So the search engine can fetch it and see the noindex tag.
What does the audit's Limits section need to say about the traffic change?
Show the answer
That demand rises with the season and other causes are possible, so the fixes aren't proven to explain all of it.
