DEV Community

Cover image for Technical SEO Checklist for Blogs and Content Sites
Osama Khattak
Osama Khattak

Posted on Originally published at osama-s-porfolio-beige.vercel.app

Technical SEO Checklist for Blogs and Content Sites

I started my career in SEO, before I wrote much code. At Nausal Technologies, the work I did on client sites grew their traffic by 60%, ranked more than 50 target keywords and lifted organic leads by 35%. Very little of that came from clever tricks. Most of it came from fixing the unglamorous technical problems that stop good content from ranking.

This is the checklist I work through on blogs and content sites, including NetworkUstad, an IT certification publication I did SEO for, and EditorialDiary, a multi-topic blog. It's ordered by impact: if step one is broken, nothing after it matters.

1. Crawling and indexing

Before anything else, confirm Google can reach and store your pages.

  • robots.txt allows the pages you want indexed, and doesn't block the CSS and JavaScript Google needs to render them. Blocking a whole assets folder is a surprisingly common mistake.
  • An XML sitemap lists every indexable URL and nothing else: no redirects, no 404s, no pages marked noindex. Submit it in Google Search Console.
  • Every important page returns a 200 status and has a canonical tag that points to itself.
  • Noindex is only where you mean it: thank-you pages, internal search results, thin tag archives. A leftover noindex from a staging site can hide an entire website.

2. When pages are discovered but not indexed

The Page indexing report in Search Console tells you why pages aren't indexed. The reason that confuses people most is "Discovered - currently not indexed". Google knows the URL exists but hasn't bothered to crawl it.

I saw it on my own portfolio a few weeks after launch: 11 pages indexed, 9 discovered but never crawled, including the service page I most wanted to rank. Nothing was technically broken. The site was new, it had no links from elsewhere, and several pages were short. Google simply didn't see enough reason to hurry.

The fixes for that status are rarely technical:

  • Make the pages worth crawling. Expand thin pages with real, specific content, or merge them.
  • Link to them from pages Google already crawls often, such as your home page and your best-performing articles.
  • Earn a few links from other sites, which tells Google the site matters.
  • Use URL Inspection to request indexing for the most important pages, then give it time.

Don't panic about it

Requesting indexing over and over doesn't help. Improve the pages and the links pointing to them, then wait a week or two before checking again.

3. Site structure and topic clusters

Content sites rank best when related articles are grouped and linked as a cluster: one broad guide, surrounded by detailed articles that link back to it.

NetworkUstad is a good example. Its CCNA material is split into guides by exam domain, each with its own set of articles, so a reader and a search engine can both see how the topics fit together. A random stream of posts on the same subjects would rank far worse.

NetworkUstad certification study guides for Security+, Network+ and CySA+

Study guides grouped by certification: a clear cluster for readers and for Google.

For a multi-topic blog like EditorialDiary, which covers ten categories, the structure question is different: which categories deserve real depth? Keyword research answers it. Pick the topics where you can realistically rank, build those out properly, and stop spreading effort evenly across everything.

4. Internal links

Internal links are the cheapest ranking factor you control.

  • Link from every new article to two or three older, related ones, and go back and link older articles to the new one.
  • Use descriptive anchor text, such as "subnetting cheat sheet", never "click here".
  • Make sure no important page is an orphan, with no internal links pointing at it.
  • Keep important pages within three clicks of the home page.
  • Use breadcrumbs, which help users and give search engines the site hierarchy.

5. Titles, descriptions and headings

  • One unique title per page, under about 60 characters, with the main keyword near the start.
  • A meta description of about 150 to 160 characters that reads like a reason to click.
  • Exactly one H1 per page, matching what the page is about.
  • H2s and H3s in order, describing sections the way a reader would scan them.
  • Descriptive alt text on images, written for someone who can't see them.

On WordPress sites, an SEO plugin makes these easy to manage at scale. On custom sites, build them into the templates so no page ships without them. I set up every new post on Mindsieves this way, so it was search-ready the moment it was published.

6. Structured data

Structured data, usually JSON-LD, tells search engines what a page is: an article, a breadcrumb trail, a product, a person. It can earn richer search results and it helps search engines and AI tools understand your content.

  • Add Article or BlogPosting markup with the headline, author, dates and image.
  • Add BreadcrumbList markup that matches the visible breadcrumbs.
  • Add Organization or Person markup once, and link it from everything else.
  • Test with Google's Rich Results Test and the Schema.org validator after every template change.

7. Page speed and Core Web Vitals

Speed is a ranking factor, and it matters even more for keeping readers. When I worked on WordPress sites, the fixes that helped most were consistent: caching, compressing and resizing images, and cutting the plugin list down. On the HTML and CSS builds I did, trimming what each page loaded cut average load time by more than a second.

  • LCP (largest contentful paint): serve the main image or headline fast. Preload it, size it properly, and don't fade it in.
  • CLS (layout shift): give images and ads fixed dimensions so the page doesn't jump while loading.
  • INP (responsiveness): cut heavy scripts, especially third-party widgets that run on every page.

If you're building something new, a framework that renders pages on the server, such as Next.js, makes good scores far easier to reach and keep.

8. Duplicate and thin content

Content sites generate duplicate pages without anyone noticing. Check for:

  • Tag and date archives that repeat the same posts. Noindex them or remove them.
  • The same page available with and without www, or with and without a trailing slash. Pick one and redirect the rest.
  • Paginated archives with missing or wrong canonicals.
  • Old, thin posts that get no traffic. Update them, merge them into a stronger article, or remove them with a redirect.

9. Links from other sites

Technical SEO gets a site ready to rank. Links from other sites are what convince Google it deserves to. For a content site, the links that work are the ones you earn: original guides people cite, useful tools, data nobody else has published. Relevant guest articles and outreach help too. Paying for bulk links from unrelated sites doesn't, and it can get you penalized.

10. Monitoring

  • Check Search Console weekly for new indexing errors and drops in impressions.
  • Watch which queries are climbing, and give those pages more internal links and fresher content.
  • Re-test structured data and speed after every theme, plugin or template change.
  • Run a full audit every few months, and always before and after a redesign or migration.

If your content is good but your traffic isn't, the problem is usually somewhere in steps one to four. That's where my SEO service starts, and because I'm also the developer, the fixes get made in the code instead of sitting in a report. Send me your site and I'll tell you what I'd look at first.


Originally published on my portfolio. I'm Osama Khattak, a MERN stack and Next.js developer in Islamabad. See my work at osama-s-porfolio-beige.vercel.app.

Top comments (0)