1. Missing or Duplicate Title Tags
The Problem
Title tags directly impact click-through rates and rankings. When you have duplicate or missing titles, Google either generates its own version or struggles to understand what each page is about.
Why This Matters
E-commerce sites commonly generate thousands of pages with identical titles like “Product – Brand Name.” This creates several problems:
- Google can’t differentiate between pages
- Users can’t tell products apart in search results
- Click-through rates remain very low
- Potential rankings are wasted
When each product page has a unique, descriptive title that includes the product name, key features, and category, you’ll see significant improvements in both rankings and traffic.
Common Title Tag Mistakes in Detail
1. Duplicate titles across pages
When multiple pages share the same title, search engines can’t differentiate them.
Bad example:
<title>Home - Digital Marketing Agency</title>
<title>About - Digital Marketing Agency</title>
<title>Services - Digital Marketing Agency</title>
Good example:
<title>Digital Marketing Agency in Boston | SEO & PPC Services</title>
<title>About Our Team - 15 Years in Digital Marketing | Boston Agency</title>
<title>SEO Services Boston - On-Page & Technical Optimization</title>
2. Leaving CMS defaults unchanged
WordPress often creates titles like “Untitled Document” or “New Page.” Many site owners forget to change these, leaving pages with unhelpful default titles.
3. Missing target keywords
Your title should contain the main keyword people use to find that page.
Bad example:
<title>Our Latest Work | Design Studio</title>
This page wanted to rank for “web design portfolio Boston” but the title had none of those words.
Good example:
<title>Web Design Portfolio Boston - 50+ Client Projects | Studio Name</title>
4. Exceeding 60 characters
Google truncates titles around 60 characters (about 600 pixels). Longer titles get cut off with “…”
Bad example:
<title>Professional Web Design and Development Services for Small and Medium Businesses in the Greater Boston Metropolitan Area</title>
This shows as: “Professional Web Design and Development Services for Small…”
Good example:
<title>Web Design Services Boston - Small Business Specialists</title>
5. Keyword stuffing
Repeating keywords makes titles look spammy and can trigger penalties.
Bad example:
<title>SEO Services | SEO Company | SEO Agency | Best SEO Boston</title>
Good example:
<title>SEO Services Boston - Proven Rankings & Traffic Growth</title>
6. Missing brand names
Including your brand helps with recognition and click-through rates for branded searches.
Bad example:
<title>Organic Coffee Beans</title>
Good example:
<title>Organic Coffee Beans - Single Origin & Fair Trade | Blue Mountain</title>
How to Fix Title Tags Step by Step
Step 1: Audit existing titles
Use Screaming Frog or Sitebulb to crawl your site. Export all URLs and title tags to a spreadsheet.
Look for:
- Blank titles
- Duplicate titles (sort the spreadsheet alphabetically)
- Titles over 60 characters
- Titles missing keywords
Step 2: Keyword research for each page
Go to Google Search Console > Performance. Filter by page. See which queries each page gets impressions for.
Choose the query with the highest impressions that matches the page content. This becomes your primary keyword for that title.
Step 3: Write new titles using this formula
[Primary Keyword] [Modifier] | [Brand or Location]
Examples:
- “Running Shoes for Flat Feet – Arch Support Models | SportsFeet”
- “Kitchen Remodeling Boston – Custom Cabinets & Design | HomeReno”
- “Content Marketing Strategy Guide – 2024 Tactics | Marketing Pro”
Keep it under 60 characters. Put the most important words first.
Step 4: Implement changes
For WordPress: Edit each page and update the SEO title field (using Yoast or Rank Math plugin).
For Shopify: Go to product editor, scroll to “Search engine listing preview” section.
For custom sites: Update the <title> tag in the HTML.
Step 5: Monitor in Search Console
After 2-3 weeks, check Google Search Console. Look at CTR changes for updated pages. If CTR drops, revise the title.
Title Tag Format Examples
Different title structures perform differently:
Format A: Keyword | Brand “Running Shoes | SportStore”
Format B: Keyword – Benefit | Brand “Running Shoes – Free Shipping & Returns | SportStore”
Format C: Benefit – Keyword | Brand “Free Shipping – Running Shoes & Sneakers | SportStore”
Format D: Keyword for [Audience] | Brand “Running Shoes for Marathon Training | SportStore”
Test different formats to see what works best for your audience and industry.
2. Keyword Stuffing in Content
The Problem
Keyword stuffing means repeating your target keyword unnaturally many times. It makes content hard to read and Google’s algorithms can detect it easily.
Many site owners still do this because they think more keyword mentions equals better rankings. This hasn’t been true since 2011.
How Keyword Stuffing Happens
Many site owners still repeat keywords unnaturally because they think more mentions equals better rankings. This hasn’t been true since Google’s algorithm updates in 2011.
Example of keyword stuffing:
Email marketing is essential for businesses. Email marketing helps
you reach customers directly. When doing email marketing, you should
focus on email marketing best practices. Email marketing campaigns
need proper email marketing strategies to succeed.
Google’s natural language processing detects this as manipulation. Instead, write naturally:
Email campaigns help businesses reach customers directly. A well-planned
strategy improves open rates and conversions. Modern tools automate
the process and track results.
How Keyword Stuffing Hurts You
1. Lower rankings
Google’s algorithm penalizes pages with unnatural keyword usage. Your page will rank lower than competitors with natural content.
2. Higher bounce rates
Readers leave when content sounds robotic. High bounce rates signal to Google that your page doesn’t satisfy users.
3. Manual penalties
If your stuffing is severe, Google may apply a manual action. Your rankings will drop dramatically until you fix the issue and request reconsideration.
4. Lost conversions
Unnatural content doesn’t persuade readers to take action. Natural, well-written content performs better for conversions.
Modern Keyword Stuffing Tactics to Avoid
1. Exact phrase repetition
Using the exact target phrase over and over.
Bad example:
Looking for Italian restaurants in Chicago? Our Italian restaurant
in Chicago offers authentic Italian restaurant experiences. Visit
our Italian restaurant in Chicago today.
Good example:
Looking for authentic Italian dining in Chicago? Our restaurant offers
traditional recipes from Sicily and Tuscany. Experience genuine Italian
cuisine in the heart of downtown.
2. Keyword variations in one paragraph
Cramming every possible variation into a small section.
Bad example:
We offer web design, website design, web page design, site design,
and web development design services for all your design needs.
Good example:
We create custom websites that reflect your brand and serve your
business goals. Our development process focuses on user experience
and conversion optimization.
3. Forcing keywords into every heading
Making your H2 and H3 tags repetitive.
Bad example:
<h2>Best Running Shoes for Men</h2>
<h3>How to Choose Best Running Shoes for Men</h3>
<h3>Top 10 Best Running Shoes for Men</h3>
<h3>Where to Buy Best Running Shoes for Men</h3>
Good example:
<h2>Choosing the Right Running Shoes</h2>
<h3>Key Features to Look For</h3>
<h3>Top 10 Models Reviewed</h3>
<h3>Where to Purchase</h3>
4. Hidden text with keywords
Setting text color to match background or using CSS to hide keyword-rich text.
<!-- Never do this -->
<p style="color: white;">
best plumber Chicago best plumber Chicago best plumber Chicago
</p>
Google can see this and will penalize your site.
5. Alt text spam
Stuffing keywords into image alt attributes.
Bad example:
<img src="coffee.jpg" alt="best organic coffee beans best coffee
best organic coffee buy coffee beans best coffee beans">
Good example:
<img src="coffee.jpg" alt="freshly roasted organic coffee beans
from Ethiopia in burlap sack">
6. Footer keyword lists
Adding keyword-rich lists to your footer thinking it helps rankings.
Bad example:
<footer>
Services in Boston | Services in Cambridge | Services in Brookline |
Plumber Boston | Plumber Cambridge | Plumber Brookline |
Emergency Plumber Boston | 24hr Plumber Boston
</footer>
This is a common tactic that no longer works and can trigger penalties.
What Is Natural Keyword Density?
Optimal density: 0.5% to 1.5%
For a 1,000-word article, your main keyword should appear 5 to 15 times naturally.
But don’t count keywords mechanically. Write for humans first.
Use LSI keywords and synonyms
LSI (Latent Semantic Indexing) keywords are related terms that support your main topic.
Example: Article about “content marketing”
Main keyword: content marketing (appears 8 times) LSI keywords to include:
- blog posts
- social media
- audience engagement
- digital strategy
- content creation
- brand awareness
- lead generation
This approach sounds natural and helps Google understand your topic comprehensively.
How to Check Your Keyword Density
Manual method:
- Copy your content into a word counter tool
- Note total word count
- Use Ctrl+F to find your keyword
- Divide keyword count by total words
- Multiply by 100 for percentage
Example: Keyword appears 12 times in 1,000 words = 1.2% density
Tools to use:
- SEO Review Tools Keyword Density Checker (free)
- Internet Marketing Ninjas Keyword Density Tool (free)
- Yoast SEO plugin for WordPress (shows real-time density)
Step by Step Fix for Keyword-Stuffed Content
Step 1: Identify problem pages
Use Screaming Frog or your SEO tool to check keyword density across all pages. Flag anything over 2%.
Step 2: Read the content out loud
If it sounds unnatural or repetitive when spoken, it needs rewriting.
Step 3: Rewrite for humans
Remove forced keyword insertions. Use synonyms and related terms. Focus on answering the user’s question completely.
Step 4: Add topic depth
Instead of repeating keywords, add more comprehensive information. Cover related subtopics.
Before (300 words, keyword density 4%):
Dog training is important. Dog training helps dogs behave. Good dog
training requires patience. Dog training methods vary. Positive dog
training works best. Dog training takes time.
After (800 words, keyword density 1.2%):
Training your dog builds trust and prevents behavioral problems.
Start with basic commands like sit, stay, and come. Positive
reinforcement with treats and praise works better than punishment.
Consistency is crucial. Everyone in your household should use the
same commands and rules. Practice for 10-15 minutes twice daily.
Common challenges include distractions and fear responses. Work in
quiet environments first, then gradually add distractions. If your
dog shows anxiety, consult a professional behaviorist.
Step 5: Monitor results
Track rankings and traffic for 4-6 weeks after updating. You should see improvement or at least stability, not drops.
3. Ignoring Search Intent
The Problem
Search intent is the reason behind a query. Someone searching has a specific goal. Your content must match that goal or they’ll leave immediately.
Four types of search intent:
- Informational: User wants to learn something (“how to tie a tie”)
- Navigational: User wants to find a specific site (“facebook login”)
- Commercial: User researches before buying (“best laptops 2024”)
- Transactional: User ready to purchase (“buy macbook pro 16 inch”)
When your content type doesn’t match intent, you get high bounce rates and low rankings.
Understanding Search Intent Types
Search intent is the reason behind a query. Your content must match that goal or visitors will leave immediately.
Four types of search intent:
- Informational: User wants to learn (“how to fix AC unit”)
- Navigational: User wants specific site (“facebook login”)
- Commercial: User researches before buying (“best laptops 2024”)
- Transactional: User ready to purchase (“AC repair near me”)
Common mistake: Creating DIY how-to content when you want to attract customers ready to hire your service.
Example: HVAC companies often create content like “how to fix AC unit not cooling” hoping to attract customers. But people searching this want to do it themselves, not hire someone.
Better approach: Target transactional keywords like “AC repair near me” or “emergency AC repair” with service pages that include pricing, service areas, and contact forms.
How to Identify Search Intent
Method 1: Analyze the SERP
Google the keyword and look at top 10 results. What type of content ranks?
Example: “running shoes”
Top results are:
- E-commerce category pages (Nike, Adidas, Amazon)
- Buying guides
- “Best running shoes” lists
Intent: Commercial/Transactional
Don’t create an informational blog post about “history of running shoes” for this keyword. Create a product page or buying guide.
Example: “how to choose running shoes”
Top results are:
- Blog posts with guides
- Articles from running magazines
- YouTube videos with explanations
Intent: Informational
Create an educational guide, not a product page.
Method 2: Look at SERP features
Google adds different features based on intent:
- Knowledge panels: Informational
- Shopping ads: Transactional
- Local 3-pack: Local transactional
- People also ask: Informational
- Videos: Often informational or tutorial
Method 3: Check keyword modifiers
Certain words signal intent:
Informational:
- how to
- what is
- guide
- tutorial
- tips
Commercial:
- best
- top
- review
- comparison
- vs
Transactional:
- buy
- price
- cheap
- deal
- coupon
- near me
Common Intent Mistakes
1. Product pages targeting informational keywords
Bad: Creating a product page to rank for “how to improve posture”
Good: Create an informational blog post, then link to relevant products at the bottom.
2. Blog posts targeting transactional keywords
Bad: Writing a long article to rank for “buy standing desk”
Good: Create a product category or comparison page with clear purchase options.
3. Homepage targeting specific questions
Bad: Your homepage tries to rank for “what is digital marketing”
Good: Homepage targets brand and service keywords. Create a separate guide page for the question.
4. Service pages answering how-to questions
A law firm created service pages like:
- “How to file for divorce”
- “How to write a will”
- “How to sue someone”
These attracted people wanting free DIY information, not clients ready to hire.
Better approach:
- Service pages: “Divorce Attorney Boston – Free Consultation”
- Separate blog: “Understanding the Divorce Process in Massachusetts” (with CTA to book consultation)
How to Match Content to Intent
For informational intent:
Create comprehensive guides that answer the question completely.
Structure:
- Clear introduction explaining what you’ll cover
- Step-by-step instructions or detailed explanations
- Examples and visuals
- Summary
- Optional: Link to related products/services at end
For commercial intent:
Create comparison content that helps users evaluate options.
Structure:
- Intro explaining comparison criteria
- Feature comparison table
- Pros and cons for each option
- Use case recommendations
- Clear next steps or purchase links
For transactional intent:
Remove barriers to conversion.
Structure:
- Product/service name and key benefit
- Pricing clearly visible
- Customer reviews/testimonials
- Trust signals (guarantees, certifications)
- Prominent CTA button
- FAQ section
- Contact information
For navigational intent:
Make it easy to find what they’re looking for.
Structure:
- Clear page titles
- Simple navigation
- Login/signup prominent if that’s the goal
- Search functionality
- Sitemap
Intent Optimization Checklist
Check your top 20 pages by traffic:
- What keywords drive traffic to each page?
- What is the intent behind those keywords?
- Does your content match that intent?
- If not, should you rewrite the page or create a new page?
For new content:
- Research your target keyword
- Analyze top 10 results
- Identify the common content type and format
- Match that format with your own unique angle
- Include elements that ranking pages have
4. Slow Page Load Speed
The Problem
Page speed directly impacts both rankings and user experience. Google’s Core Web Vitals made speed an official ranking factor in 2021.
Slow sites lose visitors and conversions.
Common Speed Problems
Page speed directly impacts rankings and user experience. Slow sites lose visitors quickly.
Typical issues that slow sites:
- Uncompressed images – Photos directly from cameras can be 3-5 MB each
- Too many images loading at once – Homepage with 40+ images
- Unoptimized JavaScript – Multiple scripts blocking page render
- No caching – Browsers download everything on every visit
- Slow hosting – Shared hosting with poor server response times
How to Fix Speed Issues
Priority fixes:
Common Speed Killers
1. Uncompressed images
Images account for 50-60% of average page weight. A single unoptimized photo can be 3-5 MB.
Bad: Uploading full-resolution camera photos
- iPhone photo: 4032×3024 pixels, 3.2 MB
- DSLR photo: 6000×4000 pixels, 8.5 MB
Good: Resize and compress before uploading
- Web display size: 1200×900 pixels
- Compressed: 120-180 KB
- WebP format: 80-110 KB
2. Render-blocking JavaScript
JavaScript in the <head> blocks page rendering until it downloads and executes.
Bad:
<head>
<script src="jquery.js"></script>
<script src="plugins.js"></script>
<script src="main.js"></script>
</head>
Good:
<head>
<!-- Critical scripts only -->
</head>
<body>
<!-- Content here -->
<script src="combined.min.js" defer></script>
</body>
3. Too many third-party scripts
Each third-party widget adds loading time:
- Google Analytics
- Facebook Pixel
- Live chat
- Review widgets
- Social media feeds
- Ad networks
Many sites load excessive third-party scripts. Remove unnecessary trackers to improve load times.
4. No browser caching
Without caching, browsers download all files on every visit.
Check if caching is enabled:
- Go to GTmetrix.com
- Test your site
- Look for “Leverage browser caching” in recommendations
5. Unminified CSS and JavaScript
Minification removes unnecessary characters (spaces, line breaks, comments).
Example CSS before minification (2.1 KB):
.header {
background-color: #333333;
padding: 20px;
margin: 0 auto;
}
.header h1 {
color: #ffffff;
font-size: 24px;
}
After minification (1.3 KB):
.header{background-color:#333;padding:20px;margin:0 auto}.header h1{color:#fff;font-size:24px}
6. Slow hosting
Shared hosting plans often have slow server response times. Your site shares resources with hundreds of other sites.
Cheap shared hosting: 800-1200ms server response Good shared hosting: 200-400ms VPS hosting: 100-200ms Dedicated server: 50-100ms
How to Test Page Speed
Tool 1: Google PageSpeed Insights
- Go to pagespeed.web.dev
- Enter your URL
- Check both mobile and desktop scores
- Look at Core Web Vitals:
- LCP (Largest Contentful Paint): Under 2.5s
- FID (First Input Delay): Under 100ms
- CLS (Cumulative Layout Shift): Under 0.1
Tool 2: GTmetrix
- Go to gtmetrix.com
- Enter your URL
- Review waterfall chart to see what loads slowly
- Check “Top Issues” for specific fixes
Tool 3: WebPageTest
- Go to webpagetest.org
- Enter URL and select test location
- Run test
- Review filmstrip view to see rendering progression
- Check “Start Render” time (should be under 1.5s)
Step-by-Step Speed Optimization
Step 1: Compress all images
Use tools:
- TinyPNG.com (online, free)
- ImageOptim (Mac)
- RIOT (Windows)
- Squoosh.app (Google’s tool)
Target: Under 100 KB per image
Step 2: Implement lazy loading
For WordPress: Install “Lazy Load by WP Rocket” plugin
For custom sites: Add loading=”lazy” to images:
<img src="image.jpg" loading="lazy" alt="description">
Step 3: Minify CSS and JavaScript
For WordPress: Use “Autoptimize” plugin
For custom sites: Use online tools or build tools:
- CSS Minifier (cssminifier.com)
- JavaScript Minifier (javascript-minifier.com)
Step 4: Enable compression
Add to .htaccess file:
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
</IfModule>
Step 5: Set up CDN
Free option: Cloudflare
- Sign up at cloudflare.com
- Add your domain
- Update nameservers at your domain registrar
- Enable “Auto Minify” in Cloudflare dashboard
Paid options:
- Amazon CloudFront
- KeyCDN
- BunnyCDN
Step 6: Optimize web fonts
Fonts can add 300-500 KB of load time.
Bad:
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap">
Good:
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600&display=swap" rel="stylesheet">
Use only the font weights you actually need.
Step 7: Remove unused plugins/scripts
Audit your site:
- List all plugins or third-party scripts
- Disable them one at a time
- Check if site still works
- Remove any that aren’t essential
Common unnecessary scripts:
- Multiple social sharing plugins
- Unused analytics trackers
- Old A/B testing scripts
- Inactive chat widgets
- Unused page builders
Speed Optimization Priority List
High impact, easy to fix:
- Compress images
- Enable lazy loading
- Remove unused plugins
- Minify CSS/JS
- Enable caching
High impact, medium difficulty: 6. Set up CDN 7. Optimize fonts 8. Defer JavaScript 9. Reduce third-party scripts 10. Implement critical CSS
Medium impact, harder to fix: 11. Upgrade hosting 12. Database optimization 13. Implement HTTP/2 14. Server-side caching (Redis/Memcached) 15. Code refactoring
Start with the easy wins. You can often improve load time by 50-60% with just the first five items.
5. Missing Meta Descriptions
The Problem
Meta descriptions don’t directly affect rankings, but they strongly influence click-through rates. When you don’t write them, Google generates its own snippets, which are often less compelling.
Why Meta Descriptions Matter
Meta descriptions don’t directly affect rankings, but they strongly influence click-through rates. When you don’t write them, Google generates its own snippets, often pulling irrelevant text like:
- Cookie policy text
- Navigation menu items
- Footer content
- Random paragraphs
A well-written meta description can significantly increase clicks from search results.
Common Meta Description Mistakes
1. Leaving them blank
Many top-ranking pages have no meta description. This is a missed opportunity.
Without a description, Google pulls text from your page. Often this is:
- Cookie notices
- Navigation text
- Sidebar content
- Random paragraphs
2. Duplicating across pages
Using the same description for multiple pages confuses users when both pages appear in search results.
Bad example – same description on 15 pages:
"Welcome to our website. We offer quality products and
excellent service. Contact us today for more information."
3. Exceeding 155 characters
Google truncates around 155 characters (920 pixels). Longer descriptions get cut off with “…”
Bad example (203 characters):
"Our digital marketing agency has been providing exceptional
SEO, PPC, social media marketing, content creation, email
marketing, and web design services to businesses of all sizes
throughout the Boston metropolitan area since 2010."
Shows as: “Our digital marketing agency has been providing exceptional SEO, PPC, social media marketing, content creation, email marketing, and web design services to…”
4. Keyword stuffing
Cramming keywords makes descriptions look spammy.
Bad example:
"SEO services, SEO company, SEO agency, best SEO, affordable SEO,
local SEO, SEO optimization, SEO marketing, SEO consultant Boston."
5. No call to action
Descriptions should encourage clicks.
Bad example:
"This page contains information about our services."
Good example:
"Get a free SEO audit and custom strategy. See how we've helped
500+ businesses rank higher. Schedule your consultation today."
6. Misleading promises
Don’t promise what your page doesn’t deliver. This increases bounce rate and can trigger penalties.
Bad example for a blog post:
"Buy now and get 50% off! Limited time offer!"
The page is actually an informational article with no products to buy.
How to Write Effective Meta Descriptions
Formula 1: Problem + Solution + CTA
"Struggling with [problem]? Our [solution] helps you [benefit].
[Call to action]."
Example:
"Struggling with slow page speed? Our optimization service
improves load times by 60%+. Get your free speed audit today."
Formula 2: Benefit + Social Proof + CTA
"[Main benefit]. [Social proof or numbers]. [Call to action]."
Example:
"Learn SEO from industry experts. Over 50,000 students enrolled.
Start your free trial today."
Formula 3: Question + Answer + CTA
"[Question your audience asks]? [Brief answer]. [Call to action]."
Example:
"What is content marketing? A strategy to attract customers
through valuable content. Read our complete beginner's guide."
Formula 4: Feature + Benefit + CTA
"[Key feature] that [specific benefit]. [Call to action]."
Example:
"Project management software that syncs across all devices.
Collaborate with your team in real-time. Try free for 14 days."
Meta Description Best Practices
1. Include your target keyword
While not a ranking factor, keywords in descriptions get bolded in search results, making them stand out.
When someone searches “organic coffee beans,” this description:
"Shop organic coffee beans from Ethiopia, Colombia, and Brazil.
Fair trade certified. Free shipping on orders over $50."
Shows as: “Shop organic coffee beans from Ethiopia, Colombia, and Brazil. Fair trade certified. Free shipping on orders over $50.”
2. Match search intent
For informational queries:
"Learn how to [topic]. Complete guide with step-by-step
instructions, examples, and expert tips."
For commercial queries:
"Compare top [products]. See features, pros & cons, and prices.
Updated [month] [year]."
For transactional queries:
"Buy [product] online. [Key benefit]. [Shipping info].
[Trust signal]."
3. Use active voice
Active voice is more engaging and clearer.
Passive (weak):
"Quality furniture can be found at our store with competitive
prices being offered."
Active (strong):
"Shop quality furniture at competitive prices. Free delivery
on orders over $500. Visit our showroom today."
4. Include unique selling points
What makes you different from competitors?
Generic:
"We sell running shoes for men and women."
Specific:
"Running shoes with custom arch support. Free gait analysis
in-store. 90-day comfort guarantee."
5. Add numbers when possible
Numbers attract attention and set expectations.
Examples:
- “50+ customer reviews”
- “2-hour delivery”
- “Save up to 40%”
- “10-minute read”
- “Trusted by 5,000+ businesses”
How to Add Meta Descriptions
WordPress:
Install Yoast SEO or Rank Math plugin.
Edit any page, scroll to SEO section, fill in “Meta description” field.
Shopify:
- Go to Products or Pages
- Click on item to edit
- Scroll to “Search engine listing preview”
- Click “Edit website SEO”
- Fill in “Description” field
HTML:
Add this code in the <head> section:
<head>
<meta name="description" content="Your meta description here,
under 155 characters, compelling and keyword-rich.">
</head>
Wix:
- Go to Pages menu
- Click three dots next to page name
- Click “SEO (Google)”
- Fill in “Description” field
Meta Description Audit Process
Step 1: Export all current descriptions
Use Screaming Frog:
- Crawl your site
- Go to Internal tab
- Export “HTML” report
- Open in Excel/Sheets
- Sort by “Meta Description” column
Step 2: Identify problems
Flag pages with:
- Blank descriptions
- Descriptions under 70 characters
- Descriptions over 155 characters
- Duplicate descriptions
- Descriptions with no call to action
Step 3: Prioritize pages
Start with pages that:
- Get the most impressions (Search Console > Performance)
- Have low CTR compared to position
- Are important for conversions
Step 4: Write new descriptions
Use the formulas above. Write 2-3 options for each page.
Step 5: Test and refine
After 30 days, check Search Console:
- Did CTR improve?
- Which pages improved most?
- What description styles worked best?
Rewrite underperforming descriptions using insights from winners.
A/B Testing Meta Descriptions
While you can’t officially A/B test in Google, you can test manually:
- Write new description for high-traffic page
- Record current CTR in Search Console
- Update the description
- Wait 2-3 weeks
- Compare new CTR to old
If CTR drops, revert to old description or try a different approach.
Run this test on 10-20 pages to find patterns in what works for your audience.
6. Broken Internal Links
The Problem
Broken internal links waste crawl budget, frustrate users, and prevent PageRank from flowing properly through your site. They signal poor site maintenance to both users and search engines.
When Google crawls a broken link, it wastes time that could have been spent discovering or re-indexing good content.
How Broken Links Hurt Your Site
Broken internal links create multiple problems:
1. Wasted crawl budget – Google spends time crawling broken URLs instead of good content
2. Lost PageRank – Authority that should flow to important pages gets stuck at dead ends
3. Poor user experience – Visitors clicking broken links get frustrated and leave
4. Indexing problems – New content linked only through broken paths may never be discovered
Common Causes
Broken links typically happen when:
- You change URL structure without setting up redirects
- You delete pages but other pages still link to them
- Writers make typos when manually adding links
- You move from staging to production with wrong URLs
- Protocol changes (HTTP to HTTPS) without updating links
Created redirect spreadsheet:
| Old URL | New URL | Status |
|---|---|---|
| /news/local/story-2019-05-12.html | /local-news/story-title | 301 |
| /author/john-smith | /authors/john-smith | 301 |
| /category/tech | /technology | 301 |
Implemented 1,847 redirects through .htaccess:
Redirect 301 /old-url-1 https://site.com/new-url-1
Redirect 301 /old-url-2 https://site.com/new-url-2
Fix template links:
Fix broken links in:
- Site navigation
- Footer links
- Author bio sections
- Related articles widgets
- Category page templates
Manual link fixes:
Use find-and-replace in database to fix repeated typos:
UPDATE wp_posts
SET post_content = REPLACE(post_content, '/old-url', '/new-url')
WHERE post_content LIKE '%/old-url%';
Common Causes of Broken Links
1. URL structure changes without redirects
You move from /blog/post-name to /articles/post-name but don’t redirect old URLs.
Old internal links still point to /blog/post-name, creating 404 errors.
2. Deleted pages without updates
You delete a product or category page. 50 other pages still link to it.
3. Typos in manual links
Writers type URLs by hand and make mistakes:
- /about-us vs /aboutus
- /services vs /service
- /blog/post-titl vs /blog/post-title
4. Development environment URLs in production
Staging site URLs (staging.site.com) accidentally published to live site.
5. Protocol mismatches
Site moved to HTTPS but internal links still use HTTP:
<a href="http://site.com/page">Link</a>
Should be:
<a href="https://site.com/page">Link</a>
6. Relative vs absolute path errors
<!-- Broken if on https://site.com/blog/article -->
<a href="/blog/../services">Services</a>
<!-- Correct -->
<a href="/services">Services</a>
How Broken Links Hurt SEO
1. Wasted crawl budget
Google allocates a certain number of pages to crawl per day. Every broken link wastes part of that budget.
Large site example:
- 50,000 pages total
- 5,000 broken internal links
- Google crawls 10,000 URLs per day
- 50% of crawl budget wasted on 404s
2. PageRank loss
Internal links distribute authority. Broken links stop that flow.
Example:
- Homepage has authority score of 80
- Homepage links to 10 pages
- Each should get portion of that authority
- 3 links are broken
- Authority intended for those 3 pages is lost
3. Poor user experience
Users clicking broken links get frustrated and leave. Most visitors who hit 404 pages either leave immediately or struggle to find what they need.
4. Indexing problems
New content linked only from pages with broken paths may never get discovered.
How to Find Broken Links
Tool 1: Screaming Frog (Best for full audits)
- Download Screaming Frog SEO Spider
- Enter your domain
- Click “Start”
- Go to “Response Codes” tab
- Filter for “Client Error (4xx)”
- Export list of broken links
Free version crawls 500 URLs. Paid version (£149/year) is unlimited.
Tool 2: Google Search Console
- Go to Search Console
- Click “Coverage” report
- Look at “Error” section
- Check “Not found (404)”
- Click to see which URLs have 404s
- Click “Learn more” to see which pages link to them
Tool 3: Ahrefs Site Audit
- Go to Site Audit tool
- Enter your domain
- Wait for crawl to complete
- Check “Internal pages” report
- Filter for 404 status
- See “Inlinks” column to find pages linking to broken URLs
Tool 4: Online broken link checkers
For smaller sites:
- brokenlinkcheck.com (free)
- deadlinkchecker.com (free)
- Dr. Link Check (free Chrome extension)
Tool 5: WordPress plugins
If using WordPress:
- Broken Link Checker plugin
- Automatically scans posts and pages
- Sends email when broken links found
- Can fix links directly from dashboard
Step-by-Step Fix Process
Step 1: Run full site crawl
Use Screaming Frog or similar tool. Export results to spreadsheet.
Step 2: Prioritize by impact
Sort broken links by:
- Number of internal links pointing to them (fix high-traffic broken URLs first)
- Authority of linking pages (broken links from homepage matter more)
- User-facing vs hidden (fix visible broken links before backend URLs)
Step 3: Determine the correct action
For each broken URL, decide:
Option A: Redirect to similar page
Old: /product/blue-widget-v1 (deleted)
New: /product/blue-widget-v2 (replacement)
Action: 301 redirect
Option B: Redirect to category
Old: /blog/old-article (no replacement)
New: /blog (category page)
Action: 301 redirect
Option C: Update links to correct URL
Problem: Typo in links
Old link: /about-us-page
Correct: /about-us
Action: Update links (no redirect needed)
Option D: Remove the link
Scenario: Link to outdated resource, no replacement exists
Action: Remove link from content
Step 4: Implement 301 redirects
.htaccess method (Apache servers):
# Individual redirects
Redirect 301 /old-page https://yoursite.com/new-page
Redirect 301 /another-old-page https://yoursite.com/another-new-page
# Pattern redirects
RedirectMatch 301 ^/blog/([0-9]{4})/(.*)$ /blog/$2
WordPress plugin method:
Install “Redirection” plugin:
- Go to Tools > Redirection
- Click “Add new”
- Source URL: /old-page
- Target URL: /new-page
- Click “Add Redirect”
Nginx server:
server {
# Individual redirects
rewrite ^/old-page$ /new-page permanent;
rewrite ^/another-old$ /another-new permanent;
# Pattern redirects
rewrite ^/blog/([0-9]{4})/(.*)$ /blog/$2 permanent;
}
Step 5: Update internal links
Find all pages linking to broken URLs and update them.
WordPress database method:
-- Find posts with specific URL
SELECT * FROM wp_posts
WHERE post_content LIKE '%/old-url%';
-- Update all instances
UPDATE wp_posts
SET post_content = REPLACE(post_content, '/old-url', '/new-url')
WHERE post_content LIKE '%/old-url%';
Manual method:
- Note which pages have broken links
- Edit each page
- Find and replace old URLs
- Save changes
Step 6: Fix template issues
Check these common template locations:
- Header navigation menu
- Footer links
- Sidebar widgets
- Author bio boxes
- Related posts sections
- Breadcrumbs
Edit template files or use theme customizer to update.
Step 7: Verify fixes
Run another crawl after 1 week. Check that:
- 404 errors decreased
- Redirects are working (returning 301 status)
- Updated links point to correct URLs
Step 8: Set up monitoring
Schedule monthly crawls to catch new broken links early.
Set up Google Search Console notifications:
- Go to Settings
- Users and permissions
- Add email for notifications
- Enable “Coverage issues” alerts
Preventing Future Broken Links
1. Use relative URLs for internal links
Instead of:
<a href="https://yoursite.com/page">Link</a>
Use:
<a href="/page">Link</a>
This prevents issues if domain or protocol changes.
2. Redirect before deleting
Before deleting any page:
- Check what links to it (Search Console or Ahrefs)
- Set up redirect to appropriate replacement
- Test redirect works
- Then delete
3. Plan URL structure changes carefully
When restructuring:
- Map all old URLs to new URLs before launch
- Implement redirects
- Update internal links
- Update XML sitemap
- Monitor Search Console for errors
4. Use link management system
For large sites, implement system that:
- Tracks all internal links
- Alerts when target pages are deleted
- Suggests redirect destinations
- Automatically updates menu links
5. Regular audits
Schedule quarterly broken link audits:
- Month 1: Full crawl
- Month 2-3: Monitor new errors
- Month 4: Full crawl again
7. Non-Mobile-Friendly Design
The Problem
Google uses mobile-first indexing, meaning it primarily uses the mobile version of your site for ranking and indexing. Sites without mobile-friendly design suffer ranking penalties.
58% of all Google searches happen on mobile devices. If your site doesn’t work well on mobile, you’re losing more than half your potential traffic.
Mobile-First Is Essential
Google uses mobile-first indexing, meaning it primarily uses the mobile version of your site for ranking. Sites without mobile-friendly design suffer ranking penalties.
Most Google searches now happen on mobile devices. If your site doesn’t work well on mobile, you’re losing a large portion of your potential traffic.
Common Mobile Problems
Text too small to read – Minimum readable size is 16px Buttons too small to tap – Need at least 48×48 pixels Content requires horizontal scrolling – Fixed-width layouts don’t work Pop-ups covering content – Google penalizes intrusive interstitials Slow mobile load times – Mobile connections are slower than desktop
Common Mobile Design Mistakes
1. Text too small to read
Minimum readable size is 16px. Anything smaller requires zooming.
Bad:
body {
font-size: 12px;
}
Good:
body {
font-size: 16px;
}
2. Buttons too close together
Apple’s Human Interface Guidelines recommend minimum 44x44px tap targets. Google recommends 48x48px.
Bad:
.nav-link {
padding: 5px;
margin: 2px;
}
Fingers are 40-50px wide. Users will tap wrong links.
Good:
.nav-link {
padding: 12px 16px;
margin: 8px 0;
min-height: 48px;
}
3. Content requires horizontal scrolling
If content is wider than screen, users must scroll sideways to read.
Bad:
.content {
width: 1200px; /* Fixed width */
}
Good:
.content {
width: 100%;
max-width: 1200px;
padding: 0 20px;
box-sizing: border-box;
}
4. Pop-ups covering content
Google penalizes intrusive interstitials on mobile.
Bad:
- Full-screen pop-up on page load
- Exit intent pop-up that covers all content
- Age verification that takes entire screen
Good:
- Small banner at top or bottom
- Delayed pop-up (after 30+ seconds)
- Easy to close with large X button
5. Flash or unsupported elements
Mobile devices don’t support Flash. Some don’t support certain video formats.
Bad:
<embed src="video.swf" type="application/x-shockwave-flash">
Good:
<video controls>
<source src="video.mp4" type="video/mp4">
<source src="video.webm" type="video/webm">
</video>
6. Slow mobile load times
Mobile connections are often slower than desktop.
Target mobile load time: Under 3 seconds Average mobile load time: 6-8 seconds
Optimization priorities:
- Compress images heavily
- Minimize JavaScript
- Use mobile-specific smaller images
- Implement aggressive caching
How to Test Mobile-Friendliness
Tool 1: Google Mobile-Friendly Test
- Go to search.google.com/test/mobile-friendly
- Enter your URL
- Wait for results
- Review issues found
Common issues it detects:
- Text too small
- Viewport not set
- Content wider than screen
- Clickable elements too close
Tool 2: Chrome DevTools Device Mode
- Open page in Chrome
- Press F12 to open DevTools
- Click device toggle icon (Ctrl+Shift+M)
- Select device from dropdown
- Test different screen sizes
Check:
- Can you read all text?
- Are buttons easy to tap?
- Does layout break at any size?
- Do forms work properly?
Tool 3: Real device testing
Test on actual phones and tablets:
- iPhone (Safari)
- Android phone (Chrome)
- iPad (Safari)
- Android tablet (Chrome)
Ask friends/family to test if you don’t have devices.
Tool 4: BrowserStack or LambdaTest
Paid services that let you test on hundreds of real devices remotely.
Tool 5: Google Search Console
- Go to Search Console
- Click “Mobile Usability” report
- Review errors
Common errors shown:
- Clickable elements too close together
- Content wider than screen
- Text too small
- Viewport not set
Step-by-Step Mobile Optimization
Step 1: Add viewport meta tag
This tells browsers how to scale your site on mobile:
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
Without this, mobile browsers assume your site is desktop-only and zoom out.
Step 2: Use responsive design
Switch from fixed widths to flexible layouts:
/* Bad - fixed width */
.container {
width: 960px;
}
/* Good - responsive */
.container {
width: 100%;
max-width: 1200px;
margin: 0 auto;
padding: 0 20px;
}
Step 3: Implement mobile breakpoints
Use media queries for different screen sizes:
/* Mobile first approach */
.column {
width: 100%;
padding: 15px;
}
/* Tablet */
@media (min-width: 768px) {
.column {
width: 50%;
}
}
/* Desktop */
@media (min-width: 1024px) {
.column {
width: 33.33%;
}
}
Common breakpoints:
- 320px: Small phones
- 480px: Large phones (landscape)
- 768px: Tablets (portrait)
- 1024px: Tablets (landscape) / small laptops
- 1200px: Desktops
Step 4: Optimize touch targets
Make all clickable elements at least 48x48px:
a, button, input[type="submit"] {
min-height: 48px;
min-width: 48px;
display: inline-block;
padding: 12px 20px;
}
/* Add spacing between links */
nav a {
margin: 8px 0;
}
Step 5: Increase font sizes
body {
font-size: 16px;
line-height: 1.5;
}
h1 {
font-size: 28px;
}
h2 {
font-size: 24px;
}
h3 {
font-size: 20px;
}
/* Prevent iOS zoom on input focus */
input, select, textarea {
font-size: 16px;
}
Step 6: Optimize images for mobile
Use responsive images:
<picture>
<source media="(max-width: 600px)" srcset="image-small.jpg">
<source media="(max-width: 1200px)" srcset="image-medium.jpg">
<img src="image-large.jpg" alt="description">
</picture>
Or use srcset:
<img srcset="image-320w.jpg 320w,
image-480w.jpg 480w,
image-800w.jpg 800w"
sizes="(max-width: 600px) 100vw,
(max-width: 900px) 50vw,
800px"
src="image-800w.jpg"
alt="description">
Step 7: Simplify mobile navigation
Desktop navigation doesn’t work on mobile. Implement hamburger menu:
<nav class="mobile-nav">
<button class="menu-toggle">☰ Menu</button>
<ul class="menu">
<li><a href="/">Home</a></li>
<li><a href="/about">About</a></li>
<li><a href="/services">Services</a></li>
<li><a href="/contact">Contact</a></li>
</ul>
</nav>
.menu {
display: none;
}
.menu.active {
display: block;
}
@media (min-width: 768px) {
.menu-toggle {
display: none;
}
.menu {
display: flex;
}
}
Step 8: Make forms mobile-friendly
input, select, textarea {
width: 100%;
padding: 12px;
font-size: 16px;
margin-bottom: 15px;
border: 1px solid #ddd;
border-radius: 4px;
}
button[type="submit"] {
width: 100%;
padding: 16px;
font-size: 18px;
background: #007bff;
color: white;
border: none;
border-radius: 4px;
}
Use appropriate input types:
<input type="tel" placeholder="Phone">
<input type="email" placeholder="Email">
<input type="date" placeholder="Date">
<input type="number" placeholder="Quantity">
These trigger correct mobile keyboards.
Step 9: Test and refine
Test on multiple devices. Common issues to check:
- Can you read all text without zooming?
- Are all buttons easy to tap?
- Does the layout look good at all sizes?
- Do forms work properly?
- Are images appropriately sized?
8. Missing or Multiple H1 Tags
The Problem
H1 tags signal page topics to search engines. Missing H1s make it unclear what your page is about. Multiple H1s dilute the signal and confuse the hierarchy.
Think of H1 as the headline of a newspaper article. You wouldn’t publish an article with no headline or with five different headlines.
Why H1 Tags Matter
H1 tags signal page topics to search engines. Missing H1s make it unclear what your page is about. Multiple H1s dilute the signal and confuse the hierarchy.
Think of H1 as the headline of a newspaper article. You wouldn’t publish an article with no headline or with five different headlines.
Common Problems
Many sites have inconsistent heading usage:
- Pages with no H1 tag
- Pages with multiple H1s (2-7 per page)
- H1s matching title tags exactly
- H2s appearing before H1s in source order
- Generic H1s like “Welcome” or “Home”
Common H1 Tag Mistakes
1. No H1 tag present
Some themes and templates omit H1 entirely.
Bad:
<div class="page-title">Our Services</div>
<p>We offer the following services...</p>
Good:
<h1>Professional SEO Services in Boston</h1>
<p>We offer the following services...</p>
2. Multiple H1s per page
Some people think more H1s = more ranking signals.
Bad:
<h1>Welcome</h1>
<h1>Our Services</h1>
<h1>Contact Us</h1>
Google gets confused about which is the main topic.
Good:
<h1>Boston Digital Marketing Agency</h1>
<h2>Our Services</h2>
<h2>Contact Information</h2>
3. H1s not containing keywords
Your H1 should include your target keyword.
Bad:
<h1>Welcome to Our Website</h1>
Page wants to rank for “organic coffee beans Boston” but H1 has none of those words.
Good:
<h1>Organic Coffee Beans Boston - Fresh Roasted Daily</h1>
4. H1s matching title tags exactly
Title tags and H1s serve different purposes. They can be similar but shouldn’t be identical.
Bad:
<title>SEO Services Boston | Digital Marketing Agency</title>
<h1>SEO Services Boston | Digital Marketing Agency</h1>
Good:
<title>SEO Services Boston | Digital Marketing Agency</title>
<h1>Boston SEO Services That Drive Real Results</h1>
5. Hidden H1s for design reasons
Some designers hide H1s with CSS because they don’t like how they look.
Bad:
h1 {
display: none;
}
Or:
h1 {
text-indent: -9999px;
}
Google may see this as manipulation.
Good: Style your H1 to look good while remaining visible:
h1 {
font-size: 36px;
color: #333;
margin-bottom: 20px;
}
6. H1s after H2s in source order
HTML source order matters, even if CSS changes visual order.
Bad (source order):
<h2>Welcome to Our Site</h2>
<h1>Main Heading</h1>
Good:
<h1>Main Heading</h1>
<h2>Welcome to Our Site</h2>
How to Write Effective H1s
Formula 1: Keyword + Benefit
[Primary Keyword] + [Key Benefit]
Examples:
- “WordPress Hosting – 99.9% Uptime Guaranteed”
- “Personal Injury Lawyer Boston – Free Consultation”
- “Organic Meal Delivery – Farm to Table in 24 Hours”
Formula 2: Keyword + Modifier
[Primary Keyword] + [Location/Quality/Type]
Examples:
- “SEO Services Boston – Expert Optimization”
- “Commercial Roofing – Industrial & Retail Specialists”
- “Italian Restaurant Cambridge – Authentic Tuscan Cuisine”
Formula 3: Question Format
For informational content:
Examples:
- “How to Choose the Right Running Shoes”
- “What Is Content Marketing?”
- “Why Your Website Needs SSL”
Formula 4: Listicle Format
For list articles:
Examples:
- “25 Common SEO Mistakes to Avoid”
- “10 Best Project Management Tools in 2024”
- “7 Ways to Improve Page Speed”
H1 Best Practices
1. Use only one H1 per page
One clear main topic helps both users and search engines.
2. Place H1 near top of page
Don’t bury it below large images or navigation.
3. Include target keyword naturally
Work your main keyword into the H1 without forcing it.
4. Make it descriptive, not generic
Bad H1s:
- “Welcome”
- “Home”
- “Products”
- “Services”
Good H1s:
- “Welcome to Boston’s Premier SEO Agency”
- “Home Renovation Services – Kitchen & Bath Remodeling”
- “Organic Skincare Products – Natural Ingredients Only”
- “Legal Services for Small Business Owners”
5. Keep it under 70 characters
While there’s no hard limit, shorter H1s are easier to read and make better page titles.
6. Make it different from title tag
Title tag for search results, H1 for page visitors. They can reinforce each other without being identical.
Example:
- Title: “Dog Training Boston | Puppy & Adult Dog Classes”
- H1: “Professional Dog Training in Boston”
7. Use proper HTML
<!-- Correct -->
<h1>Main Heading</h1>
<!-- Incorrect -->
<div class="h1">Main Heading</div>
<p class="heading1">Main Heading</p>
<strong style="font-size: 32px;">Main Heading</strong>
Complete Heading Structure Example
Proper hierarchy for a service page:
<h1>Boston Web Design Services - Custom Websites</h1>
<h2>Our Web Design Process</h2>
<h3>Discovery & Planning</h3>
<p>Content about discovery phase...</p>
<h3>Design & Development</h3>
<p>Content about design phase...</p>
<h3>Testing & Launch</h3>
<p>Content about launch phase...</p>
<h2>Types of Websites We Build</h2>
<h3>E-Commerce Websites</h3>
<p>Content about e-commerce...</p>
<h3>Business Websites</h3>
<p>Content about business sites...</p>
<h3>Portfolio Websites</h3>
<p>Content about portfolios...</p>
<h2>Why Choose Our Web Design Services</h2>
<h3>10+ Years Experience</h3>
<p>Content about experience...</p>
<h3>Mobile-First Approach</h3>
<p>Content about mobile design...</p>
Notice:
- One H1 at top
- H2s for main sections
- H3s for subsections under each H2
- Never skip levels (no H1 -> H3)
How to Audit Your Headings
Tool 1: Screaming Frog
- Crawl your site
- Go to “H1” tab
- Check “Missing” column (should be 0)
- Check “Multiple” column (should be 0)
- Export for review
Tool 2: HeadingsMap Browser Extension
Install for Chrome or Firefox. Shows heading structure of any page visually.
Tool 3: Manual inspection
Right-click page, select “View Page Source”, search for “<h1”.
Tool 4: Web Developer Toolbar
Browser extension that outlines all headings on a page with color coding.
Step-by-Step H1 Fix
Step 1: Identify pages missing H1s
Run site crawl, filter for pages with no H1.
Step 2: Identify pages with multiple H1s
From same crawl, filter for pages with 2+ H1s.
Step 3: For missing H1s
Add one using your target keyword:
- Identify main topic/keyword for page
- Write descriptive H1 using formulas above
- Place near top of page content
- Wrap in <h1> tags
Step 4: For multiple H1s
Keep the most important one as H1, change others to H2:
- Identify which heading represents main page topic
- Keep that as H1
- Change other H1s to H2 or H3 as appropriate
- Ensure logical hierarchy
Step 5: Review all heading structure
Check that:
- Headings follow logical order (H1 -> H2 -> H3)
- No levels are skipped
- Headings are descriptive
- Keywords are included naturally
Step 6: Update templates
If multiple pages share templates, fix the template to prevent future issues.
9. Thin or Duplicate Content
The Problem
Pages with minimal unique content provide little value to users or search engines. Duplicate content across pages confuses search engines about which version to rank.
Google’s Panda update specifically targets thin content. Pages need substantial, unique content to rank well.
Understanding Thin and Duplicate Content
Pages with minimal unique content provide little value. Duplicate content confuses search engines about which version to rank.
Common Thin Content Problems
Product variation pages – Creating separate URLs for each color/size combination with identical descriptions
Empty category pages – Just product grids with no unique content
Auto-generated location pages – Changing only the city name with otherwise identical content
Scraped content – Copying from other sites or duplicating within your own site
What Is Thin Content?
Thin content includes:
1. Pages with under 300 words
Short pages rarely provide comprehensive information.
Exceptions: Contact pages, login pages, tool pages
2. Auto-generated content
Pages created by scripts with no human review:
- Tag pages
- Location pages (just changing city name)
- Product filters with no unique text
3. Scraped or copied content
Content stolen from other websites or duplicated from elsewhere on your own site.
4. Doorway pages
Pages created just to rank for keywords with thin content that funnels users elsewhere:
"Looking for plumber in Cambridge? Click here.
Need plumber in Somerville? Click here.
Want plumber in Brookline? Click here."
5. Affiliate pages with manufacturer descriptions
Using product descriptions provided by manufacturer across hundreds of affiliate pages.
6. Low-value forum threads
Short threads with little discussion:
User1: "Anyone know about this?"
User2: "No"
Thread closed
How to Identify Thin Content
Method 1: Word count analysis
Use Screaming Frog:
- Crawl site
- Go to “Internal” tab
- Add “Word Count” column
- Filter for pages under 300 words
- Review each page
Method 2: Google Search Console
Check “Coverage” report for:
- “Crawled – currently not indexed”
- “Discovered – currently not indexed”
These often indicate thin content Google doesn’t think is worth indexing.
Method 3: Manual review
Ask these questions:
- Does this page answer a question completely?
- Would a user be satisfied after reading it?
- Does it offer unique value?
- Is there enough information to justify its existence?
Method 4: Check for duplicates
Use Copyscape or Siteliner to find duplicate content within your site.
How to Fix Thin Content
Option 1: Expand the content
Add substantial unique content to make page valuable.
Add:
- Detailed explanations
- Examples and case studies
- How-to instructions
- FAQs
- User reviews
- Related resources
- Visual content (images, videos, charts)
Before (100 words):
About Our Plumbing Services
We offer plumbing services in Boston. Our plumbers are
experienced and reliable. We handle all types of plumbing
issues. Call us today for service.
After (600 words):
Professional Plumbing Services in Boston
With over 20 years serving Boston homeowners and businesses,
we've built our reputation on reliable service and expert
repairs. Our team of 12 licensed plumbers handles everything
from minor leaks to complete system replacements.
Services We Provide:
Emergency Repairs
When a pipe bursts or your water heater fails, you need help
immediately. We offer 24/7 emergency service with arrival
within 2 hours. Our emergency services include:
- Pipe burst repair
- Water heater replacement
- Sewer line clearing
- Gas leak detection
Bathroom Remodeling
Planning a bathroom renovation? We handle all plumbing aspects:
- Fixture installation (toilets, sinks, tubs, showers)
- Pipe rerouting for layout changes
- Water-efficient upgrade recommendations
- Code compliance verification
Kitchen Plumbing
Kitchens demand reliable plumbing for daily use:
- Garbage disposal installation
- Dishwasher hookups
- Under-sink filtration systems
- Faucet replacement
(Plus more sections: service area, pricing, qualifications,
customer reviews, FAQ, contact information)
Option 2: Consolidate similar pages
Merge thin pages into one comprehensive page.
Example: Instead of 50 location pages with identical thin content, create:
- 1 main service page with comprehensive information
- Location-specific sections within that page
- Use 301 redirects from old pages
Option 3: Noindex low-value pages
For pages that must exist but add no SEO value:
<meta name="robots" content="noindex, follow">
Use for:
- Thank you pages
- Admin pages
- Tag archives with no unique content
- Search result pages
- Paginated pages (sometimes)
Option 4: Delete and redirect
Remove pages that serve no purpose and redirect to relevant pages.
Delete:
- Duplicate product variations
- Empty category pages
- Outdated content with no value
- Test pages left online
Duplicate Content Issues
Internal duplicate content causes:
1. WWW vs non-WWW
http://site.com
http://www.site.com
Both versions accessible creates duplicates.
Fix with 301 redirects or canonical tags.
2. HTTP vs HTTPS
http://site.com/page
https://site.com/page
Fix: Implement SSL and redirect all HTTP to HTTPS.
3. Trailing slash inconsistency
/page
/page/
Pick one format and stick to it.
4. URL parameters
/products
/products?sort=price
/products?filter=size
Fix with canonical tags pointing to main version.
5. Printer-friendly versions
/article
/article/print
Add noindex to print versions.
6. Paginated content
/blog/page/1
/blog/page/2
Use rel=prev/next or canonical to page 1.
Canonical Tag Implementation
For duplicate content, use canonical tags to specify preferred version:
Example 1: Product variations
<!-- On /product-blue page -->
<link rel="canonical" href="https://site.com/product">
<!-- On /product-red page -->
<link rel="canonical" href="https://site.com/product">
<!-- On /product (main page) -->
<link rel="canonical" href="https://site.com/product">
Example 2: URL parameters
<!-- On /products?sort=price -->
<link rel="canonical" href="https://site.com/products">
<!-- On /products?filter=blue -->
<link rel="canonical" href="https://site.com/products">
Example 3: HTTP to HTTPS
<!-- On http://site.com/page -->
<link rel="canonical" href="https://site.com/page">
Content Length Guidelines by Page Type
Homepage: 300-600 words Overview of business, key services, value proposition
Service pages: 600-1,500 words Detailed service descriptions, benefits, process, FAQ
Product pages: 300-800 words Product details, features, benefits, specs, reviews
Blog posts: 1,000-2,500 words Comprehensive guides, tutorials, industry insights
Location pages: 400-800 words Local information, directions, area-specific details
About page: 400-700 words Company story, team, values, history
Remember: Quality matters more than quantity. 500 words of valuable, well-written content beats 2,000 words of fluff.
10. Image Optimization Neglect
The Problem
Images enhance user experience but often lack proper optimization. Poor image SEO wastes opportunities for traffic and hurts page speed.
Images account for 50-60% of total page weight on average websites. One unoptimized image can slow your entire page.
Why Image Optimization Matters
Images enhance user experience but often lack proper optimization. Poor image SEO wastes opportunities for traffic and hurts page speed.
Images account for 50-60% of total page weight on average websites. One unoptimized image can slow your entire page.
Typical Image Problems
Huge file sizes – Photos from cameras are 3-5 MB each Generic filenames – IMG_0001.jpg tells search engines nothing No alt text – Missed opportunity for accessibility and SEO Wrong dimensions – 6000×4000 pixel images displayed at 800×600 No lazy loading – All images load at once, slowing initial page load
Common Image SEO Mistakes
1. Generic filenames
Search engines can’t understand what IMG_1234.jpg shows.
Bad examples:
- IMG_1234.jpg
- photo.jpg
- image001.png
- DSC_5678.jpg
- untitled.png
Good examples:
- red-running-shoes-nike.jpg
- chocolate-cake-recipe-slice.jpg
- laptop-macbook-pro-16-inch.jpg
- golden-retriever-puppy-playing.jpg
2. Missing alt attributes
Alt text helps:
- Screen readers for visually impaired users
- Image search rankings
- Display when images fail to load
Bad:
<img src="product.jpg">
Good:
<img src="ergonomic-office-chair-leather.jpg"
alt="black leather ergonomic office chair with lumbar support">
3. Alt text keyword stuffing
Don’t cram keywords unnaturally.
Bad:
<img src="chair.jpg"
alt="office chair ergonomic chair best chair buy chair
cheap chair office furniture chair">
Good:
<img src="ergonomic-office-chair.jpg"
alt="ergonomic office chair with adjustable lumbar support
and breathable mesh back">
4. Massive uncompressed files
Images straight from camera or design tools are too large.
Bad:
- iPhone photo: 3-5 MB
- DSLR photo: 8-15 MB
- Photoshop export at maximum quality: 2-4 MB
Good:
- Compressed JPEG at 80-90% quality: 100-200 KB
- WebP format: 60-120 KB
5. Wrong image format
Use the right format for the job:
JPEG: Photos, images with many colors
- Good compression
- Lossy (quality decreases with compression)
- No transparency
PNG: Graphics, logos, images needing transparency
- Lossless compression
- Supports transparency
- Larger file sizes than JPEG
WebP: Modern format for both photos and graphics
- Better compression than JPEG/PNG
- Supports transparency
- Not supported in old browsers (use fallback)
SVG: Icons, logos, simple graphics
- Vector format (scales perfectly)
- Tiny file sizes
- Not suitable for photos
6. No responsive images
Serving full-size desktop images to mobile wastes data and slows loading.
Bad:
<img src="large-image-2000px.jpg" alt="product">
Mobile users download huge image even though displayed at 400px wide.
Good:
<img srcset="small-400.jpg 400w,
medium-800.jpg 800w,
large-1200.jpg 1200w"
sizes="(max-width: 600px) 400px,
(max-width: 900px) 800px,
1200px"
src="medium-800.jpg"
alt="product">
How to Optimize Images Step by Step
Step 1: Audit current images
Check:
- How many images do you have?
- What are their file sizes?
- Do they have alt text?
- Are filenames descriptive?
Tools:
- Screaming Frog (export images report)
- GTmetrix (see image sizes)
- PageSpeed Insights (see optimization recommendations)
Step 2: Compress all images
Online tools:
- TinyPNG.com (JPEG, PNG)
- Squoosh.app (multiple formats)
- Compressor.io (various formats)
Desktop tools:
- ImageOptim (Mac)
- RIOT (Windows)
- GIMP (Windows/Mac/Linux)
WordPress plugins:
- Smush
- ShortPixel
- Imagify
Target: Under 100 KB per image for most uses
Step 3: Resize to appropriate dimensions
Don’t use 3000px wide images if they display at 800px.
Check image display size:
- Right-click image in browser
- Inspect element
- Look at rendered dimensions
Resize to 2x display size for retina screens:
- Display: 400px wide
- File: 800px wide
Step 4: Rename files descriptively
Include:
- What the image shows
- Relevant keywords
- Separate words with hyphens
Format:
main-keyword-description.jpg
Examples:
- red-leather-sofa-living-room.jpg
- chocolate-chip-cookie-recipe.jpg
- golden-gate-bridge-sunset.jpg
Step 5: Write descriptive alt text
Formula:
[What it is] [relevant details] [context if needed]
Examples:
<img src="office-desk-setup.jpg"
alt="minimalist office desk with laptop, notebook, and coffee mug">
<img src="yoga-pose-downward-dog.jpg"
alt="woman demonstrating downward dog yoga pose on blue mat">
<img src="pepperoni-pizza-slice.jpg"
alt="slice of pepperoni pizza with melted cheese and fresh basil">
Don’t include:
- “Image of…” or “Picture of…” (redundant)
- Keyword stuffing
- Unrelated keywords
- File extensions
Do include:
- What’s actually in the image
- Relevant context
- Important details
- Natural language
Step 6: Implement lazy loading
HTML native lazy loading:
<img src="image.jpg" loading="lazy" alt="description">
Supported in modern browsers. For older browser support, use JavaScript library like lazysizes.
Step 7: Set width and height attributes
Prevents layout shift when images load:
<img src="image.jpg"
alt="description"
width="800"
height="600"
loading="lazy">
Step 8: Use responsive images
Create multiple sizes and let browser choose:
<picture>
<source media="(max-width: 600px)" srcset="image-small.jpg">
<source media="(max-width: 1200px)" srcset="image-medium.jpg">
<img src="image-large.jpg" alt="description">
</picture>
Or use srcset:
<img srcset="image-400.jpg 400w,
image-800.jpg 800w,
image-1200.jpg 1200w"
sizes="(max-width: 600px) 100vw,
(max-width: 1000px) 50vw,
800px"
src="image-800.jpg"
alt="description">
Step 9: Consider WebP format
WebP offers 25-35% better compression than JPEG.
Provide WebP with JPEG fallback:
<picture>
<source type="image/webp" srcset="image.webp">
<img src="image.jpg" alt="description">
</picture>
Step 10: Create image sitemap
Help Google discover your images:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">
<url>
<loc>https://yoursite.com/page</loc>
<image:image>
<image:loc>https://yoursite.com/image1.jpg</image:loc>
<image:title>Descriptive Title</image:title>
<image:caption>Image description</image:caption>
</image:image>
</url>
</urlset>
Submit to Google Search Console.
11. Ignoring Structured Data
Problem: Missing schema markup means missing rich snippets in search results.
Quick fix:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Your Business Name",
"url": "https://yoursite.com",
"logo": "https://yoursite.com/logo.png",
"contactPoint": {
"@type": "ContactPoint",
"telephone": "+1-555-555-5555",
"contactType": "customer service"
}
}
</script>
Test at schema.org/validator
12. Poor URL Structure
Problem: Ugly, complex URLs hurt user experience and rankings.
Bad: /page.php?id=123&cat=products&ref=home
Good: /products/running-shoes
Best practices:
- Use lowercase only
- Separate words with hyphens
- Keep under 60 characters
- Include target keyword
- Avoid parameters when possible
13. Missing Internal Links
Problem: New pages without internal links are orphaned and may not be discovered.
Quick fix:
- Link to new content from 3-5 relevant existing pages
- Use descriptive anchor text
- Add within first week of publishing
14. Blocking Important Resources
Problem: robots.txt blocks CSS/JavaScript, preventing proper rendering.
Check your robots.txt:
User-agent: *
Disallow: /admin/
Disallow: /private/
# Don't block these:
Allow: /css/
Allow: /js/
Allow: /images/
15. Canonical Tag Errors
Problem: Wrong canonical tags send authority to wrong pages.
Self-referencing canonical on unique pages:
<link rel="canonical" href="https://yoursite.com/this-page">
Point duplicates to preferred version:
<!-- On duplicate page -->
<link rel="canonical" href="https://yoursite.com/preferred-version">
16. Over-Optimized Anchor Text
Problem: Using exact match anchors repeatedly triggers penalties.
Distribution:
- 30% partial match (“SEO services in Boston”)
- 30% branded (“Company Name”)
- 20% generic (“click here”, “read more”)
- 20% exact match (“Boston SEO”)
17. Missing XML Sitemap
Problem: No sitemap slows indexing.
Quick fix:
- Generate sitemap (use plugin or tool)
- Submit to Search Console
- Update monthly
18. Content Below the Fold
Problem: Pushing content down with huge headers/ads hurts engagement.
Fix: Place primary content within first 600 pixels.
19. No HTTPS Security
Problem: HTTP sites lose rankings and trust.
Fix:
- Get SSL certificate (free from Let’s Encrypt)
- Install on server
- Redirect all HTTP to HTTPS
- Update internal links
20. Neglecting Local SEO Elements
Problem: Missing NAP and local schema hurts local rankings.
Fix:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "Business Name",
"address": {
"@type": "PostalAddress",
"streetAddress": "123 Main St",
"addressLocality": "Boston",
"addressRegion": "MA",
"postalCode": "02101"
},
"telephone": "+1-617-555-5555"
}
</script>
21. JavaScript Rendering Issues
Problem: Content only in JavaScript may not be indexed.
Fix:
- Ensure critical content in HTML
- Use server-side rendering if possible
- Test with Google’s Mobile-Friendly Test
22. Keyword Cannibalization
Problem: Multiple pages competing for same keyword.
Fix:
- Create keyword map (one primary keyword per page)
- Merge similar pages
- Differentiate targets
23. Ignoring Core Web Vitals
Problem: Poor LCP, FID, CLS scores hurt rankings.
Targets:
- LCP: Under 2.5 seconds
- FID: Under 100 milliseconds
- CLS: Under 0.1
Fix: Use PageSpeed Insights to identify and fix issues.
24. No Content Updates
Problem: Stale content loses rankings.
Fix:
- Quarterly content audits
- Update statistics annually
- Fix broken links monthly
- Add “last updated” dates
25. Poor Site Architecture
Problem: Deep structure makes crawling difficult.
Fix:
- Keep important pages within 3 clicks of homepage
- Implement breadcrumbs
- Create logical categories
- Build topic clusters
Quarterly Audit Checklist
Month 1: Technical Audit
- [ ] Crawl site for broken links
- [ ] Check page speed scores
- [ ] Verify HTTPS implementation
- [ ] Review robots.txt and XML sitemap
- [ ] Test Core Web Vitals
- [ ] Check mobile-friendliness
Month 2: Content Audit
- [ ] Identify thin/duplicate content
- [ ] Update outdated statistics
- [ ] Check keyword cannibalization
- [ ] Review title tags and meta descriptions
- [ ] Audit internal linking
- [ ] Verify heading structure
Month 3: User Experience Audit
- [ ] Test mobile responsiveness
- [ ] Review site architecture
- [ ] Check above-fold content
- [ ] Analyze user behavior metrics
- [ ] Test forms and CTAs
- [ ] Review image optimization
Ongoing Monthly Tasks
- [ ] Monitor Search Console for errors
- [ ] Update high-traffic content
- [ ] Build internal links to new content
- [ ] Check Core Web Vitals scores
- [ ] Review ranking changes
- [ ] Compress new images
Priority Fix Order
Week 1-2: Quick Wins
- Add missing title tags and meta descriptions
- Fix broken links
- Compress images
- Enable HTTPS if not already
- Fix mobile issues
Week 3-4: Technical Foundation 6. Implement proper heading structure 7. Add XML sitemap 8. Fix canonical tags 9. Enable lazy loading 10. Check robots.txt
Week 5-8: Content Optimization 11. Expand thin content 12. Fix duplicate content 13. Improve alt text 14. Add structured data 15. Update outdated content
Week 9-12: Advanced Optimization 16. Optimize Core Web Vitals 17. Fix site architecture 18. Implement internal linking strategy 19. Add local SEO elements 20. Create content update schedule
Conclusion
These 25 on-page SEO mistakes appear across websites of all sizes. While each issue might seem minor individually, they compound to create significant ranking obstacles.
Key takeaways:
- Start with high-impact fixes: Page speed, mobile optimization, and title tags provide quickest results.
- Fix technical issues first: Broken links, missing tags, and structural problems prevent everything else from working properly.
- Content quality matters most: Thin or duplicate content won’t rank regardless of other optimization.
- Regular audits are essential: Schedule quarterly reviews to catch issues before they impact rankings.
- Monitor and measure: Use Search Console and analytics to track improvements and identify new problems.
Most of these issues can be fixed within days or weeks. The investment of time pays off with better rankings, more traffic, and higher conversions.
Remember: On-page SEO isn’t a one-time task. It requires ongoing attention and maintenance. Set up monitoring systems and regular audit schedules to catch issues early.
Excellence in on-page SEO is no longer optional. With search algorithms becoming more sophisticated and user expectations continually rising, it’s the foundation of online visibility and business growth.
Partner With SEO Experts Who Deliver Real Results
As a performance-driven SEO agency in Macon, we optimize your website to load quickly, display flawlessly, and respond smoothly across all devices and screen sizes. After all, without a mobile-friendly experience, your search rankings will stall—long before your business has a chance to grow.
About the Author
Meet Nick Rizkalla — a passionate leader with over 14 years of experience in marketing, business management, and strategic growth. As the co-founder of Southern Digital Consulting, Nick has helped countless businesses turn their vision into reality with custom-tailored website design, SEO, and marketing strategies. His commitment to building genuine relationships, understanding each client’s unique goals, and delivering measurable success sets him apart in today’s fast-moving digital landscape. If you are ready to partner with a trusted expert who brings energy, insight, and results to every project, connect with Nick Rizkalla today. Let’s build something great together.