The insidious thing about technical SEO is that the mistakes are invisible. The site loads, the pages work, the design looks right. But search engines may not be seeing your site the way you do.
The examples in this article aren’t theoretical — some of them came up in an audit of our own website. Walking through our own mistakes is more useful than handing you a generic checklist.
1. Soft 404: a missing page that says it “exists”
One of the most common and most damaging mistakes. When a non-existent address is requested, the server returns 200 and shows the homepage instead of returning 404.
Why it’s bad: as far as Google is concerned, your site now has an infinite number of pages, all showing the same content. Your crawl budget gets spent on pages that don’t exist, and your real pages get crawled less often.
It usually comes from a rewrite rule like this:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [L]
This rule says “send everything that doesn’t match to the homepage”, and the status code stays 200. The right approach is for unmatched requests to return a real 404 and serve a custom error page.
How to check: request an address that doesn’t exist on your site (for example /asdasd123) and inspect the status code. Seeing a page in the browser isn’t enough on its own — the code needs to be 404.
2. Canonicalization: four copies of the same page
A site is often reachable from four addresses at once:
http://site.comhttps://site.comhttp://www.site.comhttps://www.site.com
If three of these don’t 301-redirect to the fourth, every page on your site exists as four separate URLs. Link equity gets split and you risk duplicate content.
And if there’s no redirect from HTTP to HTTPS, the insecure version stays accessible too — a problem for both security and rankings.
The fix has two layers: a server-side 301 redirect to a single canonical address, and a correct <link rel="canonical"> tag on the page. The two must be consistent; if the canonical says www while the server serves non-www, the signals conflict.
3. Assuming “we have a sitemap”
This was the most surprising finding of the audit. The /sitemap.xml address returned 200 — so a quick check made it look like it “existed”. But what came back wasn’t XML; it was the homepage’s HTML. The cause was the soft 404 behavior from the previous point: the file didn’t exist, and the catch-all rule was serving the homepage.
The same was true for robots.txt.
Lesson: a 200 status code doesn’t prove a file exists. You need to look at the content and the Content-Type header. A sitemap should be application/xml; robots should be text/plain.
4. Image sizes: the easiest win
On most sites, the biggest performance loss comes from images. An image displayed at 400 pixels wide can have a 2,500-pixel file behind it. The browser downloads the whole thing and then scales it down — the extra download is completely wasted.
What to do:
- Scale images to the largest size at which they’re displayed
- Add
loading="lazy"to images below the first screen - Set
widthandheightattributes — this prevents layout shift (CLS) - Use modern formats like WebP where possible
This is the lowest-cost improvement that directly affects your Core Web Vitals.
5. Thin content and missing internal links
Technical SEO isn’t just server configuration; page structure is a technical matter too.
Thin content: publishing dozens of auto-generated, near-duplicate pages does harm. For example, if you have 40 reference projects and create a two-sentence page for each, you risk a penalty rather than a gain. The test for publishing a page shouldn’t be “can I generate a URL?” but “does this page have original, sufficient content?”
Internal links: if your pages are only linked from a single listing page, they stay weak. Contextual links from related pages help users and distribute page value.
We apply this regularly in our projects: on the Ankara Tezgah project, each material and brand got its own page instead of a single “products” page, because users don’t search for “kitchen countertops” — they search for things like “Çimstone countertop prices”. Similarly, at Ömre Tekstil, products were listed by their technical fabric codes, because that’s the language buyers search in.
How to audit your own site
A quick checklist you can run without expensive tools:
- Request a URL that doesn’t exist — does it really return 404?
- Try the four domain variants — do three of them 301-redirect to one?
- Read the contents of
/robots.txtand/sitemap.xml; don’t just check that they open - Does every page have a single
<h1>and a correct canonical? - Measure the gap between each image’s actual size and its display size
- Review the coverage (indexing) report in Search Console
The good thing about technical SEO is that most fixes are one-offs. Once set up correctly, they keep working for a long time. You can see how we approach SEO, or we can review your current setup together.