Technical SEO Indexing Guide: noindex, Coverage Errors & Canonical
Indexing — Controlling What Gets Into Google's Index
You have learned how Google finds your pages (crawling) and how it reads them (rendering). Now comes the third and most critical step — indexing.
Indexing is when Google stores a copy of your page in its massive database. Only indexed pages can appear in Google search results. If your page is not in the index — it simply does not exist for Google, no matter how good your content is.
But indexing is not just about getting your pages IN the index. It is also about keeping the wrong pages OUT. Login pages, thank-you pages, admin panels, and duplicate content should never be in Google's index. Poor indexing control is one of the most common and damaging SEO mistakes.
1. Noindex and Nofollow Tags — When and Where to Use Them
These two tags are the most important tools you have to control what Google indexes and how it treats your links. Many beginners confuse them — let us make them crystal clear.
What it does: Tells Google NOT to add this page to its search index. The page will never appear in search results.
Affects: The page itself.
- Login and register pages
- Thank-you pages after forms
- Admin and dashboard pages
- Staging/dev site pages
- Paginated pages (page 5+)
- Filtered product/course pages
What it does: Tells Google not to follow a link or pass ranking credit (link equity) through it.
Affects: The links on a page or a specific link.
- Paid/sponsored links
- User-generated content (comments)
- Untrusted external links
- Affiliate links
- Links in forum posts
- Login/register page links
How to add noindex tag — with code examples
Method 1 — Meta robots tag in HTML head (most common)
<!-- Add this inside the <head> section of pages you want to hide from Google --><!-- Hide page from Google completely --><meta name="robots" content="noindex"><!-- Hide page AND don't follow any links on it --><meta name="robots" content="noindex, nofollow"><!-- Allow indexing but don't follow links (rare use case) --><meta name="robots" content="index, nofollow"><!-- Normal page — Google indexes it and follows all links --><meta name="robots" content="index, follow">
Method 2 — X-Robots-Tag in HTTP response header (for PDFs and non-HTML files)
# Add to your server config or .htaccess for PDF files# This blocks Google from indexing PDFs in your /private/ folder<FilesMatch "\.pdf$"> Header set X-Robots-Tag "noindex" </FilesMatch>
Method 3 — Nofollow on a specific link
<!-- Make ONE specific link nofollow (e.g. affiliate or paid link) --><a href="https://partnerwebsite.com" rel="nofollow">Visit Partner</a><!-- Sponsored link — use rel="sponsored" (Google's preferred tag) --><a href="https://advertiser.com" rel="sponsored">Ad Link</a><!-- User-generated content link (forums, comments) --><a href="https://userlink.com" rel="ugc">User Link</a>
When to use noindex — practical examples for A2IT website
| Page type | Example URL | noindex? | Reason |
|---|---|---|---|
| Homepage | / | NO — index it | Most important page — must be in Google |
| Course pages | /digital-marketing-internship-course | NO — index it | These bring organic traffic and leads |
| Blog posts | /blog/what-is-technical-seo-audit | NO — index it | Blog content drives SEO traffic |
| Thank you page | /thank-you | YES — noindex | No SEO value — users land here after form |
| Login page | /login | YES — noindex | Private — should not appear in search |
| Admin panel | /admin | YES — noindex + robots.txt block | Security risk if indexed |
| Private items | /public/items/J973789556 | YES — noindex | Private order data — must not be indexed |
| Search results page | /search?q=python | YES — noindex | Thin content — creates infinite URLs |
| Paginated pages | /blog?page=8 | YES (deep pages) | Pages beyond page 3-4 have thin content |
2. Coverage Errors in Google Search Console — Explained
The Coverage report (now called the Pages report in newer GSC versions) is the most important report for indexing. It shows every page Google knows about on your website and exactly what happened to it.
How to find the Coverage / Pages report
- Open Google Search Console.
- In the left sidebar, click Indexing → Pages.
- You will see four tabs: All known pages, Failed, Valid with warnings, Valid, Not indexed.
- Click Not indexed — this lists all pages Google found but chose not to index, with the exact reason for each.
- Click any reason to see the specific pages affected and get details on how to fix them.
Most common Coverage errors — explained with fixes
3. Duplicate Content and How Canonicals Solve It
Duplicate content is one of the most widespread technical SEO problems — and most website owners do not even know they have it. Google does not penalise duplicate content directly, but it gets confused about which version to rank — and often ranks neither version well.
How duplicate content happens — practical examples
| Type | URL 1 (original) | URL 2 (duplicate) | How common? |
|---|---|---|---|
| HTTP vs HTTPS | https://a2itsoft.com | http://a2itsoft.com | Very common |
| WWW vs non-WWW | https://www.a2itsoft.com | https://a2itsoft.com | Very common |
| Trailing slash | https://a2itsoft.com/courses | https://a2itsoft.com/courses/ | Common |
| URL parameters | https://a2itsoft.com/courses | https://a2itsoft.com/courses?sort=price | Very common |
| Printer-friendly page | https://a2itsoft.com/blog/post | https://a2itsoft.com/print/blog/post | Less common |
| Session ID in URL | https://a2itsoft.com/page | https://a2itsoft.com/page?sid=abc123 | Common on older sites |
| Uppercase vs lowercase URL | https://a2itsoft.com/courses | https://a2itsoft.com/Courses | Common on Windows servers |
What is a canonical tag?
A canonical tag is an HTML tag you add to the <head> section of a page. It tells Google: "This is the original, master version of this content. Please index THIS URL and ignore the duplicates."
Google then takes all the ranking signals (links, authority, content quality) from the duplicate pages and combines them into the canonical URL. This makes your original page rank stronger — instead of splitting signals across duplicates.
Canonical tag — code examples for every situation
Example 1 — Self-referencing canonical (add to every page)
<!-- Add this to EVERY page — even if no duplicates exist --><!-- It prevents future duplicate issues proactively --><head> <link rel="canonical" href="https://www.a2itsoft.com/digital-marketing-internship-course" /> </head>
Example 2 — URL with parameters pointing to clean URL
<!-- On the parameterised page: --><!-- URL: https://www.a2itsoft.com/courses?sort=price&category=seo --><head> <link rel="canonical" href="https://www.a2itsoft.com/courses" /> </head><!-- This tells Google: the clean /courses URL is the original --><!-- Index that one, ignore all the filtered versions -->
Example 3 — HTTP version pointing to HTTPS version
<!-- On the HTTP version of any page --><!-- URL: http://www.a2itsoft.com/internship --><head> <link rel="canonical" href="https://www.a2itsoft.com/internship" /> </head><!-- ALSO set up a 301 redirect from HTTP to HTTPS --><!-- Use BOTH canonical tags AND 301 redirects for maximum protection -->
Example 4 — Paginated pages pointing to first page
<!-- On page 2, 3, 4... of your blog listing --><!-- URL: https://www.a2itsoft.com/blog?page=3 --><head> <link rel="canonical" href="https://www.a2itsoft.com/blog" /> </head>
Canonical tag rules — never break these
- Always use absolute URLs — use https://www.a2itsoft.com/page, never just /page.
- Canonical must be indexable — never point canonical to a noindex or 404 page.
- No canonical chains — Page A canonical → Page B canonical → Page C. Always point directly to the final URL.
- Canonical and 301 redirect together — for HTTP/HTTPS and www/non-www, use both for maximum effect.
- Only one canonical per page — if there are two canonical tags on one page, Google ignores both.
How to audit canonical tags using Screaming Frog
- Open Screaming Frog and crawl your website.
- Click the Canonicals tab at the top.
- Look for pages where Canonical Tag column is empty — these pages have no canonical set.
- Look for pages where the canonical URL is different from the page URL — check if this is intentional.
- Click Reports → Canonicals to export a full list for review.
- Check for canonical chains — where canonical A points to B which points to C.
4. Hreflang Tags for Multilingual Websites
If your website serves content in more than one language — for example English and Hindi — or targets users in different countries, you need hreflang tags. Without them, Google might show the wrong language version to the wrong users — hurting both rankings and user experience.
When do you need hreflang tags?
- Your website has the same content in multiple languages — e.g. English and Hindi versions of your courses page.
- Your website targets different countries with region-specific content — e.g. English for India (en-IN) and English for the UK (en-GB).
- You have translated pages but Google keeps showing the English version to Hindi users.
- You have separate domains or subdomains for different languages — e.g. a2itsoft.com and hi.a2itsoft.com.
Hreflang tag — how it works with code examples
Example 1 — Two language versions of the same page
<!-- On the ENGLISH version of your courses page --><!-- URL: https://www.a2itsoft.com/courses --><head> <!-- Tell Google: this English page targets all English speakers --> <link rel="alternate" hreflang="en" href="https://www.a2itsoft.com/courses" /> <!-- Tell Google: there is also a Hindi version --> <link rel="alternate" hreflang="hi" href="https://www.a2itsoft.com/hi/courses" /> <!-- x-default = fallback for users whose language has no specific version --> <link rel="alternate" hreflang="x-default" href="https://www.a2itsoft.com/courses" /> </head>
<!-- On the HINDI version of your courses page --><!-- URL: https://www.a2itsoft.com/hi/courses --><!-- Add the SAME set of hreflang tags on this page too --><head> <link rel="alternate" hreflang="en" href="https://www.a2itsoft.com/courses" /> <link rel="alternate" hreflang="hi" href="https://www.a2itsoft.com/hi/courses" /> <link rel="alternate" hreflang="x-default" href="https://www.a2itsoft.com/courses" /> </head>
Example 2 — Same language, different countries (India vs UK)
<!-- English for India (en-IN) --><link rel="alternate" hreflang="en-IN" href="https://www.a2itsoft.com/courses" /><!-- English for United Kingdom (en-GB) --><link rel="alternate" hreflang="en-GB" href="https://www.a2itsoft.com/uk/courses" /><!-- x-default fallback for all other countries --><link rel="alternate" hreflang="x-default" href="https://www.a2itsoft.com/courses" />
Hreflang language codes — common ones for India
| Language | hreflang code | Example |
|---|---|---|
| English (global) | en | hreflang="en" |
| English (India) | en-IN | hreflang="en-IN" |
| English (UK) | en-GB | hreflang="en-GB" |
| English (US) | en-US | hreflang="en-US" |
| Hindi | hi | hreflang="hi" |
| Punjabi | pa | hreflang="pa" |
| Default fallback | x-default | hreflang="x-default" |
Hreflang rules — common mistakes to avoid
- Hreflang must be on BOTH pages — if English page points to Hindi page, Hindi page must also point back to English page. This is called a "return tag." Without it, Google ignores the hreflang.
- Always include x-default — this is the fallback version Google shows when no specific language match exists for a user.
- Use exact language codes — en-IN not en_IN (use hyphen, not underscore).
- All URLs must be absolute — use full URLs with https://www.
- The canonical and hreflang must agree — if a page has a canonical pointing elsewhere, hreflang on that page will be ignored.
How to verify hreflang is working
- Open Google Search Console → Indexing → International Targeting.
- Check the Language tab — Google will show any hreflang errors it found.
- Use the free tool hreflang.tools or Merkle's Hreflang Checker — paste your URL and it checks all hreflang tags and return tags automatically.
- In Screaming Frog — go to Hreflang tab after crawling your site to see all hreflang tags and any errors.
Indexing Checklist — Section Summary
- Add noindex to login, thank-you, admin, and private pages — never to course or blog pages
- Never block a page in robots.txt AND add noindex — Google cannot read noindex if it cannot crawl the page
- Check GSC Coverage / Pages report monthly — fix Crawled but not indexed with better content
- Add canonical tags to every page — self-referencing canonicals prevent future duplicate issues
- For parameterised URLs — point canonical to the clean version (without ?sort= or ?filter=)
- Use 301 redirects AND canonical tags together for HTTP/HTTPS and www/non-www duplicates
- If multilingual — add hreflang with return tags on both language versions of every page
- Always include x-default hreflang as fallback for unmatched language users
Core Web Vitals — Speed, Stability & Google Rankings
Now that your pages are properly indexed, the next step is making sure they are fast enough to rank well. In Part 5 we cover:
- LCP, INP, and CLS — what they mean and how to measure them
- How Core Web Vitals directly impact Google rankings
- Tools to check: PageSpeed Insights, CrUX, Search Console
- Quick wins to improve your Core Web Vitals score
- Real examples of speed improvements and ranking gains



















































