
Most SEO guides are written for marketers. This one is written for developers who want to understand what the search engine actually measures and how code affects it.
I've done SEO work on a dozen client sites — government portals, NGO websites, e-commerce platforms, personal brands. Almost every brief says the same thing: 'we need to rank for [keyword].' Almost every problem I find when I audit the site has nothing to do with keywords.
It has to do with a 9-second Time to First Byte, or a layout that shifts violently as images load, or 40 pages indexed that were never meant to be crawled, or a title tag that's been truncated to 'Home — ' in every Google result.
Google's ranking algorithm now directly incorporates three user experience signals. Understanding them as a developer — not as marketing metrics but as measurable properties of your code — is the most efficient SEO investment you can make.
Meta tags first. Every page needs a unique `<title>` (50–60 characters) and `<meta name='description'>` (150–160 characters). Not the same title and description on every page — unique ones that describe what that specific page contains. This sounds obvious. I have audited sites where 80% of pages share one title.
<title>Amal C P | Software Developer — React, Django, TypeScript</title>
<meta name="description" content="Software Developer building production-grade web and mobile applications. Specialising in full-stack engineering with React, Django, and TypeScript." />
<meta property="og:title" content="Amal C P | Software Developer" />
<meta property="og:image" content="https://amalcp.com/assets/og-image.webp" />
<link rel="canonical" href="https://amalcp.com/" />Open Graph tags control what appears when someone shares your page on LinkedIn, WhatsApp, or Twitter. A missing `og:image` means your shared link shows a blank preview. This costs you clicks. It takes ten minutes to fix.
Using `<h1>` through `<h6>` in a logical hierarchy, wrapping navigation in `<nav>`, articles in `<article>`, and asides in `<aside>` — these aren't academic correctness. They're the signals search engines use to understand the structure and priority of your content.
One rule I follow: every page has exactly one `<h1>`. It contains the primary keyword for that page. It appears early in the document. Everything else in the heading hierarchy supports it. This is not complicated. It is not followed by most of the sites I audit.
Every image on a public-facing page needs three things: a descriptive `alt` attribute (not empty, not 'image1.jpg'), an explicit `width` and `height` to prevent CLS, and modern format serving (WebP or AVIF — both supported by every modern browser and 30–50% smaller than JPEG for the same quality).
The fastest image is the one you don't load. Lazy-load anything below the fold. Eagerly load everything above it.
Tools I use for every site: Google PageSpeed Insights (the field data matters more than the lab score), Google Search Console (tells you what Google actually sees, what it indexes, what it errors on), and a manual crawl with Screaming Frog to find orphaned pages, broken links, and duplicate meta.
Then you’re in the right place. Get the best solution you’re looking for. Just reach out and let me know!