Common On-Page SEO Mistakes and How to Fix Them
Google’s search algorithms have become significantly more sophisticated. What passed for acceptable SEO a decade ago—keyword stuffing, aggressive link manipulation, deceptive tactics—now triggers manual penalties or algorithmic demotions. If you’re managing websites, understanding these mistakes can prevent serious ranking damage.
Misusing nofollow Tags
Many site owners incorrectly use rel="nofollow" to hide pages from search results entirely. This is wrong. The nofollow attribute tells crawlers to ignore links on a page, not to stop indexing the page itself.
If you need to prevent indexing while preserving link equity flow, use this instead:
<meta name="robots" content="noindex, follow">
This meta tag blocks page indexing but allows crawlers to follow links on that page, preserving PageRank distribution. Use noindex in these scenarios:
- Staging environments during development or A/B testing
- Duplicate content (pagination pages, filtered views, search results)
- Temporary pages or archives you don’t want ranking
- Admin or user-generated content you want live but not indexed
Reserve nofollow specifically for individual links where you want to disclaim endorsement or avoid passing authority (sponsored links, untrusted user content). You can also use rel="sponsored" or rel="ugc" to be more explicit about link relationships:
<a href="https://affiliate.example.com" rel="sponsored">Sponsored product</a>
<a href="https://user-comment.example.com" rel="ugc">User-generated comment</a>
Ignoring Canonical Tags
Canonical tags solve duplicate content problems while preserving ranking signals. Use the rel="canonical" attribute to tell search engines which version of a page is the authoritative one:
<link rel="canonical" href="https://example.com/products/widget/">
This matters because:
- Multiple URLs serving identical or near-identical content dilute ranking power across versions instead of consolidating it
- Query strings, tracking parameters, and session IDs create unnecessary duplicates
- Pagination pages and print versions can fragment your topical authority
Canonicalization consolidates ranking signals on your preferred URL. Google still crawls non-canonical versions but treats them as references to the canonical page. Use self-referential canonicals on unique pages too—it’s defensive and clarifies intent.
For pagination, decide whether to canonicalize all pages to the first page or use rel="next" and rel="prev" (though Google handles pagination better now). Self-referential canonicals on paginated content prevent duplicate indexing:
<!-- On page 1 -->
<link rel="canonical" href="https://example.com/blog/?page=1">
<!-- On page 2 -->
<link rel="canonical" href="https://example.com/blog/?page=2">
Avoid canonical chains where page A canonicalizes to B and B canonicalizes to C—specify the ultimate canonical URL directly.
Frames and iFrames
Avoid frames for site structure. Google’s guidance remains unchanged: frames don’t map to the web’s conceptual model, and crawlers struggle to associate content with correct URLs. Using frames for navigation or core layout severely damages discoverability.
iFrames are less problematic than frames, but still present issues:
- Content inside iFrames isn’t associated with the parent page’s URL
- Search engines may not crawl or index iFrame content effectively
- Users can’t link directly to iFrame content
- Accessibility and SEO both suffer
Use iFrames only for third-party embeds (video players, social widgets, maps) where you don’t control the content. For your own content, embed directly in the DOM. If you must use iFrames for your own content, include a text alternative or summary on the parent page that search engines can index.
Poor Site Architecture and Link Structure
Your internal linking structure directly impacts crawlability and user navigation. Organize your site hierarchically:
/
├── /products/
│ ├── /products/category-a/
│ │ ├── /products/category-a/item-1/
│ │ └── /products/category-a/item-2/
│ └── /products/category-b/
└── /resources/
├── /resources/guides/
└── /resources/tutorials/
Every page should be reachable via at least one static text link from another page. Avoid:
- Deeply nested structures (more than 3 levels deep creates crawl waste)
- Orphaned pages with no internal links
- Relying solely on JavaScript navigation (Google has improved, but markup links are more reliable)
- Excessive silos that prevent cross-topic linking
Contextual internal links within page content are particularly valuable. A link from related content signals topical relevance better than navigation menus alone. Use descriptive anchor text that clearly indicates what users will find:
<!-- Good -->
<a href="/resources/nginx-caching/">Learn how to configure Nginx caching</a>
<!-- Poor -->
<a href="/resources/nginx-caching/">click here</a>
Contextual linking reduces bounce rate and increases time-on-site simultaneously by directing users to genuinely relevant internal resources.
Cloaking and Deceptive Practices
Cloaking—serving different content to crawlers than to users—is explicitly prohibited. Google’s stance is unambiguous. Examples include:
- Hiding text with matching foreground and background colors
- Showing different HTML to user agents versus crawlers
- Employing JavaScript redirects that deceive search engines
- Displaying different pages based on IP address detection
- Loading critical content only via JavaScript without fallback HTML
Violations result in manual penalties that require reconsideration requests after cleanup. Even unintentional cloaking (like CSS rendering text in the same color as background) can be problematic. Audit your stylesheet carefully and test how content appears to both users and search engines.
Use tools like Google Search Console’s URL Inspection feature to see how Googlebot renders your pages. Compare that rendering to what users see in their browsers.
Weak or Missing Meta Descriptions
Meta descriptions don’t directly influence rankings, but they control your search snippet—the text users see in search results. A compelling description increases click-through rate; a missing one lets Google auto-generate a snippet, which may be poor.
Write descriptions that:
- Accurately summarize page content
- Include relevant keywords naturally (don’t stuff)
- Stay between 155–160 characters (Google truncates longer descriptions on desktop, fewer on mobile)
- Include a clear value proposition or call-to-action
- Are unique across pages
Example:
<meta name="description" content="Configure Nginx for high-traffic sites. Covers reverse proxies, caching, SSL/TLS, load balancing, and performance tuning with practical examples.">
Treat meta descriptions as persuasive copy, not metadata afterthoughts. Test your descriptions by viewing them in Google search results and ensuring they accurately reflect page content.
Problematic Redirects
Use permanent 301 redirects when content moves permanently. Use temporary 302 redirects only when appropriate. Never use redirects deceptively.
Mistakes to avoid:
- Redirecting 404 errors to your homepage (tell users the page doesn’t exist)
- Chaining multiple redirects (redirect A → B → C wastes crawl budget)
- Redirecting based on user agent to serve different content (this is cloaking)
- Redirecting via JavaScript when server-side redirects are available
- Redirect loops where page A redirects to B and B redirects back to A
Implement redirects at the server level for best results:
# Nginx
return 301 https://example.com/new-url;
# Apache
Redirect 301 /old-page/ /new-page/
These are processed before crawlers receive page content and pass full link equity. For bulk redirects, maintain a centralized redirect map that you can audit for chains and loops.
When migrating content, provide a redirect from the old URL to the new URL for at least six months. This gives crawlers time to discover the new URL and consolidate ranking signals. Monitor Search Console to verify Google follows your redirects.
Implementation Priority
Focus remediation efforts on:
- Site architecture—fix crawl paths and navigation so all pages are reachable within 3 clicks
- Canonical tags—consolidate duplicate content authority across parameter variations
- Meta descriptions—improve CTR from search results with unique, persuasive copy
- Redirects—eliminate redirect chains and audit for deceptive patterns
- Content review—audit for unintentional cloaking, hidden text, or CSS display issues
Systematic attention to on-page SEO foundations prevents penalties and compounds ranking improvements over time. Use Google Search Console regularly to identify crawl errors, coverage issues, and manual actions affecting your site.
