A social media calendar is a planning tool to organize your ideas, coordinate with your team, and manage a consistent posting schedule — all in one place.
With a solid calendar, you can:
Map out content ideas weeks or months in advance
Deliver messaging that resonates with your audience
Drive measurable results from your social efforts
In short: A social calendar replaces guesswork with an actionable roadmap.
But creating a calendar that actually works for your team? That’s where many marketers hit a wall.
I built this playbook to help you tackle this challenge and build a foolproof social media planning system.
Where Most Teams Go Wrong with Social Media Content Calendars
When I worked as a one-person content team at a startup, I would spend countless hours every few months trying to make a practical social calendar.
All that trial and error helped me understand why most teams end up abandoning their calendars.
These are the four big reasons:
Overcomplicated Setup
Too many tabs. Complicated color-coding. Overwhelming categorization.
When you spend more time maintaining a spreadsheet than you do planning content, something’s wrong.
The best social calendars capture just what matters without drowning in excessive detail. This includes:
Post ideas
Publish dates
Approval statuses
Silvija Kemeraite, Social Media Manager at Omnisend, shares her take on how to overcome this challenge:
“Make a calendar that works for you and refine it as you go. There’s no point in creating a fancy calendar with hundreds of rows or columns that you don’t use or — even worse — use without a clear purpose.”
Siloed Planning
Siloed planning = Missed opportunities.
When you isolate social from your broader marketing plan, it creates a disconnect.
As a result, your marketing channels compete against each other. You end up driving attention to different messages.
You miss the chance to amplify your campaigns across different touchpoints.
Picture this:
Your latest email campaign spotlights the latest product launch. But your social accounts are only posting cat memes.
This dilutes the momentum.
A coordinated push across email marketing, social, blog posts, and other channels builds stronger visibility and reinforces your message multiple times for your audience.
The bottom line: Your brand’s social presence doesn’t exist in a vacuum, and neither should your calendar.
Structure vs. Spontaneity
Structuring your calendar too rigidly leaves no room for you to adapt to or join the conversations happening right now. This can lead to missed opportunities at best, and make your brand appear tone-deaf at worst.
On the other hand, calendars that constantly pivot to chase every trend can dilute your brand identity. They also become a nightmare to manage.
You need to walk the middle path and balance these two approaches.
Stick to relevant content pillars and leave room for timely opportunities.
The social team capitalized on a trending event (the SNL50 Special Episode) to introduce its just-launched integration with Canva.
The viral post racked up 5800+ reactions with 238 comments and 160 reposts. It became one of their best-performing LinkedIn posts — all because they left room for spontaneity.
Unrealistic Production and Review Process
Creating a calendar with three weekly posts for five platforms sounds ambitious on paper.
The reality? You’re setting your team up for missed deadlines, subpar content, and lots of frustration.
Quality takes a backseat when you prioritize quantity.
But you can’t get too hung up on quality either.
Your timelines take a hit if every post goes through a lengthy, multi-step review process.
A sustainable calendar takes into account the entire production cycle and available resources, ideally with a quick review process.
How to Create a Social Media Calendar that Works
You’ve got plenty of ideas, but they’re all over the place. Some get posted, most get forgotten.
I’ve been there.
That’s why I curated these best practices on how to create a social media calendar that’s compatible with your bandwidth and timelines.
1. Create a Minimum Viable Calendar
A Minimum Viable Calendar (MVC) focuses only on the essential elements of a social media content calendar.
Think of it as the “lite version” of your actual calendar. It’s stripped away of unnecessary complexities to give you a quick head start and improve follow-through.
Unlike a standard calendar, an MVC builds momentum through achievable steps.
Rather than doing too much with an overly ambitious plan, this version helps you establish consistency through:
A simplified setup for a short period and 1-2 platforms
Faster implementation and publishing
Easier tracking and optimization
Let’s find out how you can create a minimum viable calendar to get your marketing efforts off the ground.
Define Your Goals and Target Audience
Start with two questions:
What business objectives will your social channels support?
Who exactly are you trying to reach and influence?
For example, if you have a cookware brand, your goal might be to build brand awareness and drive sales. And you want to reach chefs and cooking enthusiasts in your target region.
While listening to the Social Pros Podcast, I found an interesting insight by Katie Robbert, CEO of Trust Insights.
Katie emphasizes the importance of defining your ideal customer profiles (ICPs):
“Whether or not we realize this, as marketers, we think we’re creating content for our customers, but we make it about ourselves. We have that bias of what we think their pain points are. Instead, we should be putting the customer first, and saying: ‘Your pain points are ABC, and here’s how we can solve them.”
Identify Target Platforms
The next step is to find where your audience hangs out the most.
Instead of posting on every possible platform, select 1-2 key channels where your audience is the most active.
For example, your cookware brand can focus on TikTok and Instagram to stay top of mind for cooking enthusiasts.
Original content is how you display your brand’s unique voice in crowded and noisy social feeds.
But coming up with original ideas can be exhausting, to say the least.
Here are a few places to start:
Behind-the-scenes looks into your team and process
Interactive content to engage your audience
Educational series, like weekly tips
Product and service showcases
Relatable memes
Kate Erwin’s advice will come in handy the next time you’re brainstorming fresh ideas.
She believes it’s important to listen to the conversations already happening on socials and share your take.
“You don’t want your point of view to come out of nowhere. Connect it to what your audience already cares about. Thankfully, people are already telling you what they care about all the time on social. They’re posting. They’re reacting. They’re commenting. They’re part of the conversation. It’s your job to join in.”
The takeaway? Original content doesn’t start with you; it starts with your audience
Actively listen to your audience and tune into their conversations with a perspective unique to your brand.
Our template gives you a dedicated space to add new ideas as and when inspiration strikes.
Plus, multiple team members can contribute ideas or make requests.
Use the ideas bank to collect all your ideas, score them, and pick the ideas that score above your minimum threshold.
3. Build a Content Production Pipeline
Creating great content consistently requires more than just good ideas.
You need a structured workflow to go from an idea to a published post without getting stuck.
A well-designed content production pipeline can:
Eliminate the chaos of last-minute scrambling
Help you meet timelines and post consistently
To build this production process, define clear handoffs for every stage — from ideation to publication.
Next, you need realistic timelines to make your process sustainable in the long run.
Many social calendars fail because they’re built on overly optimistic estimates.
They don’t account for everyone’s bandwidth and unexpected delays.
When planning these timelines, work backward from publication dates and build in buffer time at every stage.
As a best practice, give each stage an owner and set clear handoff guidelines for moving ideas from one stage to the next.
You also want to base your production time on:
Content type: You can move a simple social post from idea to published in 3–5 days. But a carousel post or video montage could take a few weeks.
Team size: Involve every contributor in the discussion to determine the time they need to do their best work. Then set time-based milestones accordingly.
Pro tip: Build buffer time into your production process. Add 10–20% extra time after each handoff to handle delays, last‑minute feedback, or unanticipated hiccups.
At the end of each month or quarter, look at what slipped and why to optimize your workflow.
Once your production process is ready, build a visual workflow to bring everyone on the same page.
Apply this workflow while implementing your minimum viable calendar. It’ll reveal issues and bottlenecks that can potentially derail your calendar.
Your workflow should clearly show:
Content production stages
Designated owner for each stage
Due dates for moving to the next stage
Any dependencies or prerequisites for a stage
You can build this workflow with many tools (more on that later).
Do It with Our Template
When I was trying to set up this workflow for my own B2B social media strategy, I experimented with a new tool every other week.
Asana, Notion, Trello, you name it.
The truth is:
There’s always a learning curve with these tools because they’re not purpose-built for social media marketing.
To save you all this time and effort, I designed our calendar template with two main sections:
Ideation: Add your core idea with a brief description. Assign the owner for each idea, then pick the platform(s) and format.
Execution: After the ideation stage, you want to define a publish date. Then, work backwards to assign deadlines for design and review.
Here’s a sample view of what this workflow looks like:
4. Design a Quick-Response Workflow for Trendjacking
Even the most meticulously planned calendars need room for spontaneity.
Leaving space means you can use trendjacking (creating content around popular trends) to increase your visibility and engagement.
That’s why you have to create structure around spontaneity.
I spoke to Travis Tyler, Senior Social Media Manager at Motion, about building a social calendar.
His best advice? Give your calendar some flexibility.
“Sometimes your best social posts will be these random, ad hoc, last-minute, 11th-hour ideas that seem stupid or silly. And then they end up crushing!”
So, make sure you build in the flexibility to jump on trending opportunities.
For starters, block some time every week to proactively find social media trends.
Look for upcoming events or holidays, spy on your competitors’ feeds, and use social listening tools to spot emerging trends early.
See what’s driving the highest engagement for these brands. Then (if it’s relevant to your own brand), see if you can come up with related ideas with your own spin on it.
Once you’ve identified some trending themes, you have to decide which trends are worth following.
Evaluate your ideas against these parameters to see how well the trend aligns with your brand:
Relevance check: Does this trend naturally connect to your products/services?
Audience alignment: Will your audience care about or engage with this trend?
Brand alignment: Does this trend align with your brand values and reputation?
Resources required: Can you create good content with the available resources and timeframe?
When you’ve locked in a trending idea, don’t get stuck in your standard review cycle and miss the moment.
Give someone in your team the authority to make rapid approvals for trending ideas.
5. Add Space for Feedback and Analysis
If your calendar doesn’t evolve based on performance insights, it’s just a rigid publishing schedule.
You need to designate time to analyze engagement data and modify your strategy based on these insights.
You can assess performance against different types of metrics:
Awareness: Impressions, reach, shares, and follower growth
Engagement: Likes, comments, shares, and saves
Conversion: Click-through rate, direct conversions, and social traffic
Establish clear benchmarks for “good” performance for each metric.
Then, monitor your performance with weekly analyses and monthly audits to see where you can improve.
You don’t have to scramble to collect data from multiple platforms.
Social Analytics gathers organic and paid data from Facebook, LinkedIn, TikTok, and Instagram.
Here’s a preview of the Overview tab on Social Analytics. It gives you a glimpse of each channel’s key metrics, like followers, reach, profile views, post engagement, and more.
To get started with Social Analytics, you need to connect your social media profiles to Social Poster.
This will automatically link your accounts and collate all performance data.
Social Analytics creates unique dashboards for every platform.
Instagram: Data for audience, profile interactions, stories, and posts
Facebook: Metrics for page likes, engagement, and posts
LinkedIn: Data for audience, engagement, and posts
TikTok: Covers engagement and posts
Take a look at the TikTok dashboard to see the depth of insights available:
When to Review Your Calendar
You need a multi-layered approach for reviewing your social calendar.
Each round of review should serve a specific purpose:
Weekly: Focus on immediate feedback. Review the past week’s performance to adjust the posting times or caption styles for higher engagement.
Monthly: Evaluate patterns to find which content types consistently perform better than others
Quarterly: Take a closer look at your data to potentially restructure your calendar. Consider your business goals, performance, and other factors.
While your review process doesn’t need to follow this exact structure, you want to be clear on what you’re doing with the data.
Tools for Building a Social Calendar
The success of all these best practices depends on how comfortable you are with the calendar tool you use.
Let me share a few tools I’ve used to create and manage a social media content calendar.
Backlinko’s Template
I designed our free template to give you an easy and convenient way of maintaining a social planner.
Instead of struggling to pick one option from dozens of social media calendar tools, you get the familiarity of a spreadsheet.
Simply add a new row for each new idea, then assign dates, owners, and other attributes.
Now, everyone can see your planned content, and it’s easy to collaborate with others too.
Semrush Social Poster
With Semrush’s Social Poster, you can schedule posts on a dynamic calendar for multiple platforms.
Choose a platform (or multiple), create a new post by adding the caption and media file(s), and schedule it for any date.
The best part?
You can schedule posts in bulk by uploading a simple CSV file with up to 100 premade posts.
Besides social content planning, you can use the wider Semrush Social toolkit to track platform-specific engagement, keep tabs on your competitors, and even brainstorm new ideas.
Notion
Notion offers many customizable social calendar templates.
The tool combines project management with collaborative documentation. That means teams can ideate, create, edit, and finalize content on the same platform.
Since Notion is free for up to 10 users in a workspace, it’s a good option for lean teams.
I’ll admit that, when compared to dedicated social media tools, I do miss the scheduling and analytics capabilities that Notion is lacking.
But I’ve found it to still be a great planning tool to organize your ideas and collaborate with a small team.
Buffer
Buffer is a dedicated social media management tool.
I find it super easy to create new posts in any format, then drag and drop them on any date.
As a result, your weekly/monthly calendar is ready in just a few minutes.
What sets Buffer apart is the ability to create custom categories and use color codes to organize your posts. Think content pillars, goals, formats, and more.
Create Winning Social Media Content
Planning content for socials can be chaotic.
Trends pop up by the minute, and every day can feel like a fresh start.
A social media planner is your compass for navigating this constantly changing space.
But your calendar isn’t going to get you far without great content ideas.
“It’s often the primary piece of information people use to decide which result to click, so it’s important to use high-quality title text on your web pages.”
Our research backs that up.
We analyzed 11.8 million Google search results and found that most first-page results include some or most of their target keyword in the title tag.
In other words, a clear title tag that uses the keyword is your ticket to the first page.
But simply ranking isn’t enough.
Even if your page shows up in the search results, it won’t matter unless people actually choose to visit it.
That’s why your title tag also needs to be human-friendly. It’s your one chance to win the click.
That’s more than 10x fewer clicks and a massive difference in traffic.
So, a strong title tag doesn’t just help your page show up in search results.
It also encourages more people to click on your link, which can help your page move even higher in the rankings.
Side note: Our CTR study was conducted in 2019. With the introduction of AI Overviews and other SERP changes, click patterns have evolved. However, the core principle remains: higher positions still attract significantly more clicks than lower ones. For the latest on how search is changing, see Semrush’s 2025 AI Overviews Study.
There’s one more reason title tags in SEO are so important:
If you get the title wrong, Google might just rewrite it.
Likely to get rewritten. Also just annoying for readers.
Better:
“Email Marketing Guide for Beginners (2025 Edition)”
Front-loaded keyword, used once, in a natural way.
Want to try it out yourself?
Here’s an AI prompt you can use to incorporate these rules when writing your title tag:
You are a digital marketing specialist focusing on SEO and content strategy.
Your task is to craft a title tag that is clear, clickable, and offers context to enhance search engine ranking and user engagement.
Approach this step-by-step:
1. Determine the primary topic or keyword of the page to ensure the title is clear and relevant.
2. Use power words or emotional triggers to enhance the clickability and engagement of the title.
3. Naturally integrate the primary keyword to provide context, avoiding keyword stuffing.
Adhere to these guidelines:
1. Keep the title concise and between 50–60 characters.
2. Avoid vague or generic language that fails to clearly convey the page’s content.
3. Balance keyword usage with readability and natural language.
Keyword is: [INSERT YOUR KEYWORD HERE]
For example, for the keyword “marketing strategy,” ChatGPT gave me:
Marketing Strategy Guide: Build a Plan That Gets Results
Proven Marketing Strategy Tips to Grow Your Business
How to Create a Marketing Strategy That Works
Effective Marketing Strategy Examples + How to Use Them
Marketing Strategy Made Simple: A Step-by-Step Approach
Not bad for a few seconds of work, right?
Optimize Your Title Tags for Search Engines
You need titles that both Google and humans love.
These optimization tips help search engines understand and rank your content higher.
1. Match Your Title to What People Are Searching for
Before you write your title tag, look at what’s already showing up in Google for your keyword.
This helps you understand what searchers want and what kind of content Google is rewarding.
Here’s how to do it:
Google Your Keyword
Type your keyword into Google and look at the top 5–10 results.
Look for Patterns
Are most of the results lists?
That usually means people are exploring or comparing their options. Try a title like “Top 10…” or “Best Tools for…”
Do they include the current year?
People want the latest updates. Add the year to your title to show it’s fresh.
Are the pages explaining a concept?
People are looking for information or education. A title like “What Is X? [+ Examples]” works well.
Do you see a lot of tutorials?
People want a walkthrough. Go with a how-to title like “How to Do X Step-by-Step”.
When your title matches what people are looking for, they’re more likely to click. And Google is more likely to show your page.
2. Keep It Short
If you go too long, you risk Google rewriting it.
If you go too short, you miss an opportunity to engage your readers.
When we analyzed 4 million search results, we found that titles between 40-60 characters have the best click-through rate.
Titles in this range get 8.9% more clicks on average.
So, that’s a good starting point. But here’s what really matters:
Google truncates title tags based on pixels (the actual width of the letters), not characters.
Around 580–600 pixels is the max width before your title gets cut off.
And on mobile, titles often get truncated even earlier.
So while ~40–60 characters works most of the time, it’s not guaranteed.
Want to check your title before hitting publish?
Use a free tool like the Mangools SERP Simulator. Just make sure to switch it to mobile view first.
Readers (usually) read from left to right, so the keywords will stand out to them
One exception here:
For listicles, it’s often better to lead with the number.
Think “5 Powerful AI Tools for Content Creation” rather than “Content Creation Tools: 5 Powerful Options.”
It gives readers a clear idea of what to expect.
4. Give Each Page a Unique Title Tag
Google doesn’t like duplicate or boilerplate titles:
“Titling every page on a commerce site “Cheap products for sale”, for example, makes it impossible for users to distinguish between two pages.
Long text in the <title> element that varies by only a single piece of information (“boilerplate” titles) is also bad.”
So if you duplicate your SEO title tags (or just change a single word), you’re more likely to have them rewritten.
Instead, take a moment to craft a unique title tag for every page.
One that accurately reflects the content and intent of that specific URL.
Pro tip: Skip your brand name in most title tags. It often shows up anyway and can count as duplicate content. If you include it, add it at the end with a dash, colon, or pipe.
5. Match the Title to the Content
Simple, but important.
Your title has to accurately reflect what’s on the page.
Google might rewrite your title if it doesn’t match your content.
More importantly, you’ll annoy your readers, and they’ll bounce right off the page.
Also, remember to be specific, not vague.
Generic titles like “Home” or “Services” don’t help readers know what they’ll see if they click.
6. Vary Your Title and H1 Tags
If your title and H1 are identical, you’re missing an opportunity to hit additional keywords.
Plus, you’ll typically want to use the title tag to say what the page is about, and the H1 to get more detailed or conversational.
For example:
vs.
The title tag is contextual and clickable. It includes a number, a benefit, and a clear topic.
The H1 tag is more conversational and reader-friendly. It’s aimed at people who already know what’s on the page.
You can also include multiple variations of your keywords (e.g., “email marketing tips,” “email campaigns,” “email marketing”) without repeating yourself.
Once the audit is complete, go to the “Issues” tab and type “title tag” into the search box.
The tool will show you a list of issues related to title tags — like duplicates, titles that are too long, or ones that match the H1 exactly.
Click on the issue to see the list of affected pages.
Screaming Frog SEO Spider
You can also use Screaming Frog to spot title tag issues.
Download the free version of the app (available for Windows, Mac, or Linux). Then, follow the installation steps.
Open the tool, type your homepage URL into the search bar at the top, and click “Start.”
Screaming Frog will begin crawling your site. This can take a minute or two.
Once the crawl is done, click “Page Titles” to see a full list of your website’s title tags.
Use the filter dropdown or look at the “Issues” column to find problems.
Watch the Right Metrics
Here are the numbers to keep track of:
CTR: If you update a title and your CTR jumps, it’s probably working. You can check this in your Pages report in Google Search Console.
Impressions without clicks
This means you’re showing up in search results, but nobody’s clicking. Go back to the 3Cs. Is it clear, clickable, and contextual?
Ranking changes
If a page drops in search rankings after a title change, maybe Google doesn’t like the new version.
Or, maybe you’ve missed the user intent this time round.
Try this: Want to see if your new title works better? Pick one underperforming page, change the title tag, and track the CTR in Google Search Console over the next few weeks.
If clicks go up (and rankings stay steady), the new title is probably stronger.
Steal These Winning Title Tag Formulas
Writing title tags from scratch every time? No, thank you.
Below are three proven formulas that we use at Backlinko to craft headlines that stand out.
List or Number Formula
Formula: X [Unique Adjective] [Topic]
Why it works: Lists provide clarity and set expectations but need unique adjectives to grab attention.
The Keyword-Colon Formula
Formula: [Content Topic]: [Actionable promise]
Why it works: Directly addresses the topic and hooks the reader with an actionable promise.
The Keyword-Question Formula
Formula: [Keyword Question]? [Promise]
Rationale: Answers the reader’s question head-on and draws them in with a clear benefit.
Need More Ideas?
We analyzed 150+ real title tags from top-ranking SEO content and combined that with AI-trained insights from thousands more.
The result?
Over 50 proven, plug-and-play formulas you can use to boost clicks and match search intent — no guesswork required.
Canva was initially released in August 2023 as a graphic design platform.
Within its first year since release, Canva hit a milestone of 600 thousand users.
Now, over 220 million users create designs in Canva and the company hit $3 billion in annualized revenue.
Canva Statistics (Top Picks)
Canva has 220 million active users worldwide.
Canva has 21 million paying users.
Canva hit $3 billion in annualized revenue.
Around 5000 employees work at Canva.
Canva Monthly Active Users
According to the company update shared in December 2024, Canva has over 220 million monthly active users. That’s up from 200 million active users in October 2024.
Canva grew its monthly active user base by 2.93x since December 2021.
Here’s a table with Canva’s monthly active user growth since January 2014:
According to Canva co-founder and CEO, Canva has 21 million paid users as of September 2024, up from 16 million paying users reported in September 2023.
To put in perspective, the total number of Canva users hit 190 million in September 2024. Paying subscribers account for 11.05% of all active users on the platform.
According to the latest company data, users create an average of 38.5 million designs on Canva per day. The total number of designs created using Canva hit 30 billion in December 2024.
Here’s a detailed breakdown of the number of designs created with Canva over time:
You’re setting goals. Publishing content. Reporting on growth.
But deep down, you’re still asking: “Are we aiming too high? Too low? Are we even on track?”
That uncertainty is normal — but it’s also a signal that you need an SEO forecast.
At Backlinko, we do SEO forecasting throughout the year. We use it to map planned content, track production costs, and project traffic and revenue gains.
This approach lets us prioritize effectively. Pivot when content underperforms. And build lasting trust with our stakeholders.
As Leigh McKenzie, our Head of SEO puts it:
“Forecasting is hard, and imperfect, but it’s essential. It forces you to tie effort to outcome. And to build trust, we always present a range (best case, expected case, and failure case), not just a single optimistic projection. That honesty helps us make better decisions — and earn buy-in.”
This guide gives you two proven forecasting methods.
Plus, a spreadsheet to project SEO traffic in minutes, right now.
Just upload your site’s performance data from Google Search Console (GSC), and this SEO forecasting tool will do the calculation for you:
If you’re the kind of person who learns best by doing, you don’t have to wait. Jump right in with our forecasting template.
If your site has at least 16-24 months of traffic data, statistical trend analysis is the most reliable way to forecast growth.
Why?
Statistical trend analysis relies on your actual traffic data. Not guesswork, not keyword volume projections, but how your site has performed over time.
It’s also the most technical method.
Normally, this kind of forecasting would require time series modeling or scraping in Python.
But to make it more accessible, we’ve built a custom SEO forecasting spreadsheet that handles the math for you.
Based on similar past campaigns, you estimate this could boost your organic traffic by 20-30%.
So, you enter +30% in the Aggressive Adjustment field.
Now imagine the opposite:
Budget cuts slow down content production, or your writer’s on leave.
You’d weigh that in and enter, let’s say, -15% in the Conservative Adjustment to reflect that slowdown.
If you’re not sure what numbers to put in these fields, here are some places to start:
Past internal data: Look at traffic lift from similar initiatives (e.g., “last time we launched 10 blog posts, traffic increased by 18% in two months”)
Operational inputs: Fewer resources, delayed launches, or technical issues? Model that in with a -10% to -20% dip.
External benchmarks: Use data from tools like Semrush, Ahrefs, or industry studies to inform your assumptions (e.g., “content updates to your competitors’ sites led to +15% traffic on average”)
Even if your percentages aren’t perfect, the act of modeling a range makes your forecast stronger and way more reliable.
How to Present Your SEO Forecast
A clear presentation turns your traffic projections into a strategic tool. One that you can use to align your team, make a case for investment, or guide quarterly planning.
Here’s how to present it effectively:
1. Start with a Visual Overview
Begin with a chart that shows your traffic forecast over time — whether that’s based on keyword data or historical trends.
Why lead with a visual?
Charts turn raw numbers into a clear story. They show trends, dips, and momentum at a glance. Like this:
And this helps stakeholders understand where you’re headed without having to dig into spreadsheets or data tables.
The goal is to answer this question at a glance: “What kind of growth are we expecting, and how confident are we in that number?”
If you’re using our spreadsheet template, the built-in dashboard does this for you:
You can:
Share your screen and walk through the forecast live
Take a screenshot of the chart and summary and paste it into a report or slide deck
Export the chart as an image to use in a strategy doc
Pro tip: If you need something more advanced or reusable, you can recreate the chart in Google Looker Studio — a free tool for building custom reporting dashboards.
If you’re using Semrush to estimate traffic potential for new content, you can still visualize it.
Let’s say you’re targeting the “memory foam mattress” topic and want to target the following keywords:
Create a new Sheet and enter your keywords and potential monthly visits. A simple one, like this:
Then, insert a bar chart to show estimated traffic per topic with potential traffic on the x-axis and each keyword (or topic cluster) on the y-axis.
Like this:
Note: This gives you and your stakeholders a quick way to see which topics are worth prioritizing. And how much they might contribute to your organic growth.
2. Frame It Around Business Outcomes
Don’t just show how traffic might grow.
Show why it matters, too.
In your presentation, lead with:
The expected growth potential
What content or actions will drive that growth
How it supports high-level goals like lead generation, revenue, or product visibility
The clearer the link between SEO activity and business outcomes, the easier it is to get support and alignment.
3. Connect Your Forecast to Potential Revenue
While traffic forecasts are powerful, tying them to business results makes them even more persuasive.
If you want to show potential ROI, you can estimate how much revenue your forecasted traffic might drive using a simple formula:
Whenever you move content, change domain names, or simply tweak a page’s URL, you’ll likely use a redirect. This ensures your users (and Google) get to the right page, and it preserves the SEO value from your backlinks.
You can use .htaccess redirects specifically to do this.
But I get that messing with your site’s server files can sound daunting.
So the goal of this guide is to make .htaccess redirects as accessible as possible.
To help, there are two free resources you’ll find in this post:
A simple spreadsheet to automatically generate rules for the most common scenarios
I’ll explain when to use these below. But if you want, you can download them now and follow along with the resources.
Here’s the plan:
We’ll start with a walkthrough to find your .htaccess file and get ready to make changes (feel free to skip this part if you have it ready to go)
We’ll then go through the most common .htaccess redirect use cases in detail
Then we’ll go through a cheat sheet of the symbols and flags you can use to build custom .htaccess rules
Finally, we’ll show you how to make sure everything is working properly and how to pinpoint issues
Sound good? Let’s go.
How to Set Up .htaccess Redirects
Before you can create redirects, you need to access your .htaccess file. This file lives on your server and controls various aspects of how your website behaves.
It looks something like this (for a WordPress site in particular):
Note: You’ll only have an .htaccess file if your website runs on an Apache web server. If you’re not sure if your site does, get in touch with your developer.
There are two main ways to access and edit your .htaccess file:
Through your hosting provider’s control panel
Via an FTP client
I’d personally recommend the first option if you’re an absolute beginner. Or if you just want to keep the technical stuff to a minimum.
That’s not to say that using an FTP client is difficult (or that every hosting platform is a piece of cake to navigate). But generally, your file manager is going to be a bit more intuitive.
Important: Regardless of which method you use, always make a backup of your .htaccess file before editing it. One small mistake can bring your entire site down.
Editing .htaccess Through Your Hosting Control Panel
Most major hosting providers offer a file manager in their control panel that lets you edit files directly.
The general workflow looks something like this, although some of the specifics might vary between hosts:
Log in to your hosting account
Find the File Manager (usually in cPanel or a similar dashboard)
Navigate to your website’s root directory (often called public_html)
Find the .htaccess file
Note: Your .htaccess file might be hidden by default. If you don’t see it, look for an option to “Show Hidden Files” in your file manager settings.
Once you find it, you can usually right-click and select “Edit” to make changes.
As an example, here’s how the interface looks in the cPanel platform. First, I navigate to my domain’s website dashboard and find the file manager:
And in there I can see public_html:
I then click my .htaccess file:
Simple.
Via FTP
You can also use an FTP client like FileZilla, Cyberduck, or WinSCP. These give you similar access, but you can do it directly rather than through your hosting provider.
To get started, download and install an FTP client. We’ll go with Cyberduck for the example below.
Then connect to your server using your FTP credentials (your host can provide these — mine were under Files > FTP Accounts):
Then, within the FTP client, navigate to your site’s root directory.
It’s probably named public_html, which may open automatically. Then, find and download your .htaccess file:
Note: I had to go to View > Show hidden files to see mine. No matter which FTP client you’re using, there’s a good chance you’ll need to do the same.
Make your changes in a text editor, and then upload the modified file back to the server. You might be able to skip the download/upload step and make edits directly, depending on the tool you use:
What About WordPress?
If you’re running a WordPress site, you usually don’t need to edit your .htaccess file to set up redirects.
These plugins are perfect if you’re not comfortable editing server files or if you just need to set up a couple of redirects quickly. But they won’t help you much for more complex redirections or when you’re performing a full site migration.
Other SEO plugins, like Rank Math, offer redirect managers alongside options to edit your .htaccess file within the WordPress dashboard:
Adding redirects directly to your .htaccess file (or indirectly via a plugin like Rank Math) often results in faster performance since it cuts out the middleman (the plugin). And once you know how to do it, it’s not all that technical anyway.
(It won’t always be the best option from a performance perspective. But generally it’s going to be faster.)
Other platforms like Shopify and Wix don’t give you direct access to .htaccess files. In these cases, you’ll need to use the platform’s built-in redirect tools instead.
The same may be true for WordPress site owners if your site runs on WordPress.com, rather than external hosting with a WordPress.org installation.
Before you start making changes to your .htaccess file, bear the following in mind:
You need to have an .htaccess file: If you don’t already have an .htaccess file, you can create one in your public_html folder (WordPress will often create one for you automatically).
It’s easy to make mistakes: Making changes to your .htaccess file without knowing what you’re doing can have major consequences for your site. Ideally consult with your developer before implementing .htaccess redirects, and make any major changes on a staging site if possible to make sure they work properly.
The rules below are just guides: I’ve included lots of examples of redirect rules below with explanations of what they do. But you may need to modify them to ensure they work properly on your site.
Enable mod_rewrite: Most modern hosting environments will enable the mod_rewrite module by default (which you want, and therefore likely don’t need to worry about). If your redirects aren’t working, reach out to your hosting provider to see if this is the problem.
Enable Options + FollowSymLinks: You may or may not need to enable this in your .htaccess file (usually you won’t need to worry about it). Again, reach out to your host if you’re not sure.
Now that you know how to actually get into and edit your .htaccess file, let’s look at how to create different types of redirects.
Free resource: Make your life even easier with our handy .htaccess redirect cheat sheet. Just add your domain or URLs to automatically generate rules you can copy and paste into your .htaccess file.
How to Redirect a Single URL
Redirecting a single URL to another is probably the most common redirect you’ll create. It’s perfect for when you’ve:
Changed a page’s URL structure
Merged two pages into one
Moved specific content to a new location
This type of redirect is straightforward and requires just one line of code in your .htaccess file.
Note: As with all the redirects I’ll discuss below, you need to make sure the new page is a live URL. Otherwise, the user or search engine will run into a 404 error as it’s a broken link. While a powerful file, .htaccess doesn’t automatically create the new pages for you.
Here’s the code you’ll need to add to your .htaccess file (swapping out the URL path and domain for your own):
Redirect: Tells the server you want to create a redirect
301: Specifies a permanent redirect (more on this below)
/old-page: The path of the original page (relative to your root directory)
https://yoursite.com/new-page: The full URL of the destination page
Important: For the first part (old page), you only need the path without your domain name. For the second part (new page), you need the complete URL, including https:// and your domain.
Note: No matter which type of .htaccess redirect you use, make sure you stay consistent with regard to your site’s URL structure. Specifically, if you include a trailing slash at the end of your URLs (e.g., /page-1/), make sure you include that in your redirect rules.
Permanent vs. Temporary Redirects
The 301 in our example above indicates a permanent redirect. This tells search engines to update their index with the new URL and transfer the SEO value from the old page to the new one.
If you’re only redirecting temporarily (like for maintenance or a seasonal promotion), use 302 instead:
If you’re trying to preserve SEO rankings (and your website’s authority), always use 301 redirects for permanent URL changes. Search engines treat 301s as permanent and 302s as temporary, which affects how they transfer link equity.
How to Redirect a Subfolder
Sometimes you need to redirect an entire section of your website rather than just a single page. This is common when you are:
Moving a blog or product category to a new location
Consolidating content from multiple sections
Redirecting a subfolder automatically handles all pages within that folder. So you don’t need to set up individual redirect rules for each one.
Here’s the code to add to your .htaccess file:
RewriteEngine On
RewriteRule ^old-folder/(.*)$ /new-folder/$1 [R=301,L]
Let’s break down the key parts:
RewriteEngine On: Activates Apache’s rewrite module (required for this type of redirect*)
^old-folder/: Matches the beginning of URLs that start with your old folder
(.*)$: Captures everything after the folder name
/new-folder/$1: Sends visitors to the new folder, maintaining the rest of the URL path
[R=301,L]: Specifies a permanent redirect and tells the server to stop processing rules after this match
You don’t need to know what this means. But it’s an important line to include for some .htaccess redirect rules. You only need to include it once (unless you also have “RewriteEngine Off” in your file before a given rule).
Subfolder Redirect Example
Let’s say you have a blog at:
https://yoursite.com/blog/post-name
And you want to move it to:
https://yoursite.com/articles/post-name
Your redirect code would look like this:
RewriteEngine On
RewriteRule ^blog/(.*)$ /articles/$1 [R=301,L ]
This will redirect:
/blog/first-post to /articles/first-post
/blog/category/tech to /articles/category/tech
Any other path that starts with /blog/ to the relevant /articles/ path
Important: Order Matters
The order of your .htaccess rules matters. This isn’t going to be an issue if you’re just redirecting a single URL.
But if you want to redirect some parts of a subfolder to one place and others elsewhere, you need to be careful.
Let’s look at an example to make this clearer:
Imagine you have a blog subfolder with a special /featured/ section. You want to redirect your /blog/ content to an /articles/ subfolder, but the featured posts should go to /featured-content/.
Here’s the WRONG order:
RewriteEngine On
RewriteRule ^blog/(.*)$ /articles/$1 [R=301,L]
RewriteRule ^blog/featured/(.*)$ /featured-content/$1 [R=301,L]
Why is this incorrect?
Because any time a user (or Google) requests a URL on your site (say, your site.com/blog/featured/your-post/), Apache first checks if it matches the /blog/ structure.
In this case, it does. So it would redirect:
yoursite.com/blog/featured/your-post/
To:
yoursite.com/articles/your-post/
The URL no longer matches the /blog/featured/ structure, so the second rule would never apply to it. Meaning all your featured posts would just redirect to the new /articles/ subfolder.
Here’s the correct order:
RewriteEngine On
RewriteRule ^blog/featured/(.*)$ /featured-content/$1 [R=301,L]
RewriteRule ^blog/(.*)$ /articles/$1 [R=301,L]
This first checks for the /blog/featured/ structure and redirects it to the new /featured-content/. So your post at:
yoursite.com/blog/featured/your-post/
Would redirect to:
yoursite.com/featured-content/your-post/
And then in this case it no longer matches the /blog/ structure, so the second rule wouldn’t apply. Which is what we want.
For any non-featured blog URLs, like yoursite.com/blog/post-2/, they’d redirect per the second rule to yoursite.com/articles/post-2/ (because the first rule wouldn’t apply to them without the /featured/ part of the URL).
Redirecting a Subfolder to a Different Domain
Before I show you how to redirect your entire site to a new domain, it’s worth noting that you can also redirect a subfolder to a completely different domain. This is useful if you’ve moved a section of your site to a new website.
Here’s the rule to use:
RewriteEngine On
RewriteRule ^old-folder/(.*)$ https://newdomain.com/folder/$1 [R=301,L]
For example, you could use this if you moved your support section to a dedicated support site:
RewriteEngine On
RewriteRule ^support/(.*)$ https://support.yourcompany.com/$1 [R=301,L]
How to Redirect to a New Domain
Moving to a new domain is a big step. Whether you’re rebranding, switching from a .org to a .com domain, or consolidating multiple websites, you need to make sure your visitors (and search engines) can find your new site.
A domain-wide redirect ensures anyone visiting your old domain automatically lands on your new one. This preserves both the user experience and authority you’ve built up through backlinks.
Here’s the code to add to your .htaccess file on your old domain:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www.)?olddomain.com$ [NC]
RewriteRule ^(.*)$ https://newdomain.com/$1 [L,R=301]
Let’s break down what this does:
RewriteEngine On: Activates the rewrite module
RewriteCond %{HTTP_HOST} ^(www.)?olddomain.com$ [NC]: Checks if someone is trying to access your old domain, where:
^(www.)?: Matches both www and non-www versions of your site
[NC]: Makes the match not case-sensitive (so OLDDOMAIN.com would also match)
RewriteRule ^(.*)$ https://newdomain.com/$1 [L,R=301]: Sets up a permanent redirect to the new domain, where:
^(.*)$: Captures the entire URL path after the domain
https://newdomain.com/$1: Redirects to the same path on your new domain
[L,R=301]: Makes it a permanent redirect and stops processing other rules for that request
Remember: If you already have RewriteEngine On elsewhere in your .htaccess file (and you don’t also have RewriteEngine Off), you don’t need to add it again.
Domain Redirect Example
Let’s say you’re changing from:
https://pettraining.com/dog-care/grooming
To:
https://pawacademy.com/dog-care/grooming
The redirect will automatically maintain the same path structure. This means visitors to any page on your old domain will land on the corresponding page on your new domain. (You’ll obviously need to have corresponding URLs on the new domain.)
Important: You need to place this .htaccess rule on your old domain’s server, not the new one.
Domain migrations require careful planning. But when you do it properly, they can transfer most of your SEO value and ensure your audience can find your new online home. For more on how to do it right, check out our website migration checklist.
Redirect www to Non-www (or Vice Versa) on New Domain
If you’re also changing from www to non-www (or vice versa) during your domain migration, you can combine these redirects:
RewriteEngine On
# First redirect old domain to new domain
RewriteCond %{HTTP_HOST} ^(www.)?olddomain.com$ [NC]
RewriteRule ^(.*)$ https://newdomain.com/$1 [L,R=301]
# Then handle www to non-www on new domain
RewriteCond %{HTTP_HOST} ^www.newdomain.com$ [NC]
RewriteRule ^(.*)$ https://newdomain.com/$1 [L,R=301]
How to Redirect HTTP to HTTPS
Redirecting from HTTP to HTTPS isn’t just a good practice — it’s practically mandatory. HTTPS encrypts the connection between your visitors and your website. This protects sensitive information, while also being a light Google ranking factor.
(I’m not suggesting you redirect to HTTPS for a ranking boost. It really is just the default best practice nowadays more than anything else.)
If you’ve installed an SSL certificate but visitors can still access your site through unencrypted HTTP, you’ll want to set up a redirect to ensure everyone gets the secure version.
Here’s the code to add to your .htaccess file:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
This is what each part does:
RewriteEngine On: Activates the rewrite module
RewriteCond %{HTTPS} off: Checks if the connection is currently not using HTTPS
^(.*)$: captures the entire URL path
https://%{HTTP_HOST}%{REQUEST_URI}: Redirects to the same URL but with https:// instead of http://
[L,R=301]: Makes it a permanent redirect and stops processing other rules
This redirect will change:
http://yourwebsite.com/products/item
To:
https://yourwebsite.com/products/item
The redirect preserves the entire URL structure — only the protocol changes from HTTP to HTTPS.
Unlike other redirects, you don’t need to customize this code with your domain name. The %{HTTP_HOST} variable automatically uses whatever domain the visitor is trying to access.
In other words: you can just copy and paste this in as is.
BUT:
Before adding this redirect, make sure:
You have a valid SSL certificate installed on your server
All site resources (images, scripts, etc.) are accessible via HTTPS
Your site functions properly when accessed via HTTPS
Your SSL certificate covers all subdomains if you’re redirecting them to HTTPS as well
And most importantly: make sure you don’t already have a method in place to force HTTPS, as this can cause redirect loops and other potential performance issues.
While .htaccess is one way to implement HTTPS redirects, you may have other options (perhaps ones that are already doing this for you):
Hosting control panel: Many hosting providers offer one-click HTTPS enforcement through their control panel (maybe even doing it by default)
WordPress settings: If you’re using WordPress, check the “WordPress Address” and “Site Address” settings under Settings > General (both should start with https://)
Plugin solutions: WordPress plugins like Really Simple SSL can handle the redirect for you
How to Redirect WWW to Non-WWW
Should your website be www.yoursite.com or just yoursite.com? This seemingly small detail actually matters a lot for consistency, user experience, and SEO.
Having both versions accessible can create duplicate content issues. So you should pick one format and redirect the other to it.
In most cases, there’s no definitive technical advantage to either format.
But non-WWW is shorter, cleaner, and easier to say in conversation.
Most modern websites lean toward the non-www version, but either choice is fine as long as you’re consistent.
Let’s look at how to redirect the www version to the non-www version (then I’ll show you how to reverse this if you prefer www).
Here’s the code to add to your .htaccess file:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [L,R=301]
Breaking this down:
RewriteEngine On: Activates the rewrite module
RewriteCond %{HTTP_HOST} ^www.(.*)$ [NC]: Checks if the URL starts with “www” where:
(.*)$: Captures the domain name without the www
^(.*)$: Captures the entire path after the domain
https://%1/$1: Redirects to the same URL without www where:
%1: Refers to the domain captured in the RewriteCond
$1: Refers to the page path
[L,R=301]: Makes it a permanent redirect and stops processing other rules
This redirect will change:
https://www.yourbusiness.com/about-us
To:
https://yourbusiness.com/about-us
What About Non-WWW to WWW?
If you prefer the www version instead, simply reverse the logic (you need an extra RewriteCond line as well):
This checks if the URL does NOT start with www and then adds it.
This is another rule you can simply copy and paste into your .htaccess file. But as with HTTP redirects, you need to make sure you’re not already redirecting via another method. Otherwise you might run into redirect loops and other issues.
Outside of your .htaccess file, you can force www/non-www via:
DNS settings: Some DNS providers let you set a preferred version when configuring your domain
Hosting control panel: Many hosts offer settings to enforce www or non-www
WordPress settings: In WordPress, check the “WordPress Address” and “Site Address” fields under Settings > General (both should use your preferred format)
Make sure to test all versions of your domain to ensure they all lead to your preferred version:
http://yoursite.com
http://www.yoursite.com
https://yoursite.com
https://www.yoursite.com
All four should ultimately end up at the same place (ideally https://yoursite.com if you’re going with non-www, or https://www.yoursite.com if you prefer www).
Other Types of .htaccess Redirect
While the above covers the most common .htaccess redirect scenarios, the file is incredibly versatile and can handle many other specialized redirect situations.
Let’s explore some other redirect types that might come in handy for specific use cases.
Note: As with any .htaccess rules, it’s easy to make small mistakes here that can have big consequences, and you may need to modify the examples below to work with your specific situation. So consult your developer if possible.
Redirect Based on Query Parameters
Sometimes you need to redirect based on what appears after the question mark in a URL. These are URL parameters, and they’re useful for tracking and organizing site content.
Here’s an example .htaccess redirect rule for managing URL parameters (also known as query strings):
RewriteEngine On
RewriteCond %{QUERY_STRING} ^product=widget$
RewriteRule ^products.php$ /widgets/? [L,R=301]
This redirects /products.php?product=widget to /widgets/ while removing the query string.
The question mark at the end of the destination URL tells the server to strip the original query parameters rather than passing them along.
Redirect to a Specific Port
If you need to redirect to a different port (like for a development environment), use this rule:
RewriteEngine On
RewriteRule ^dev/(.*)$ http://localhost:8080/$1 [L,R=301]
This would redirect requests for /dev/page to http://localhost:8080/page.
Custom Error Page Redirects
You can set up custom pages for various HTTP error codes.
For example, you can send users and search engines to dedicated error pages:
The symbols in .htaccess redirects can look cryptic at first glance. Those carets, dollar signs, and brackets serve important purposes that aren’t immediately obvious.
Rather than trying to learn what they all do, below is a handy reference you can return to whenever you need to create or modify your redirects.
. matches a literal period rather than any character
|
Pipe
Acts as OR operator
cat|dog matches “cat” or “dog”
Flag Options
Flag
Full Name
Purpose
L
Last
Stops processing rules if this one matches
R=301
Redirect (301)
Creates a permanent redirect
R=302
Redirect (302)
Creates a temporary redirect
NC
No Case
Makes the match case-insensitive
QSA
Query String Append
Adds query parameters from the original URL
F
Forbidden
Returns a 403 Forbidden status
G
Gone
Returns a 410 Gone status (resource permanently removed)
PT
Pass Through
Passes the request to other modules for further processing
RewriteCond Variables
Variable
What It Contains
%{HTTP_HOST}
Domain name from the request (e.g., example.com)
%{REQUEST_URI}
The path part of the URL (e.g., /folder/page/)
%{QUERY_STRING}
Everything after the ? in a URL
%{REQUEST_FILENAME}
The full path to the requested file
%{HTTP_USER_AGENT}
Information about the visitor’s browser
%{HTTPS}
“on” if the connection is secure, “off” otherwise
%{REMOTE_ADDR}
The visitor’s IP address
Pattern Matching Examples
Here are a few examples of the kinds of rules you can set up once you get the hang of all the symbols, flags, and variables:
URL Paths
^about$ matches ONLY the exact URL “/about” (not “/about-us” or “/about/team”)
^about(.*) matches “/about” plus anything after it (“/about-us”, “/about/team”, etc.)
File Types
.(pdf|docx|xlsx)$ matches URLs ending in .pdf, .docx, or .xlsx (for specific file handling)
^((?!.html).)*$ matches any URL that does NOT end with .html (for handling non-HTML requests)
Flag Variations
RewriteRule ^blog/(.*)$ /articles/$1 [R=301,L] creates a permanent (301) redirect that browsers and search engines will cache
RewriteRule ^blog/(.*)$ /articles/$1 [R=302,L] creates a temporary (302) redirect that won’t be permanently cached by browsers (useful during site testing)
RewriteCond %{REQUEST_URI} ^/blog/articles matches URLs with path exactly “/blog/articles” (this is case-sensitive on many servers)
Pro tip: When creating complex patterns, build them incrementally and test each step. It’s easier to debug a simple pattern than a complex one.
How to Check Your Redirects Are Working
You’ve done the hard work, so let’s now find out how to make sure you’ve set it all up correctly.
Below are a few ways to check your redirects. The best one depends on the nature of your redirects and how many you’ve set up.
Manual Testing
The simplest way to test your redirects is to manually check them in your browser.
Just enter the old URL you’ve redirected and watch the address bar to see if it changes to the new URL.
For a more detailed view of what’s happening, use your browser’s developer tools:
Open developer tools (F12 in most browsers, or right click then “Inspect”) on the redirected page
Go to the “Network” tab
Reload the page and look for the redirect chain and status codes
In the example below, you can see it has redirected from the URL /position to /positioning:
Online Redirect Checkers
Several free tools can test your redirects and provide more technical details. One example is HTTP Status Code Checker.
These tools show you the entire redirect path, status codes, and how long each redirect takes to process:
Testing Multiple URLs
If you’ve set up many redirects (like a subfolder or domain-wide redirect), testing every URL manually isn’t practical.
The HTTP Status Code Checker tool does let you test multiple URLs…
But this won’t be suitable for entire site redirects or when you have hundreds (or thousands) of redirects set up.
You could use a crawling tool and compare the crawl results to your sitemap, but that’s still going to be quite tedious.
Instead, consider using a tool like Semrush’s Site Audit.
Just pop your domain in, let the audit run, and then go to the “Issues” tab. Type in “redirect” to flag relevant issues.
In particular, look out for:
# incorrect pages found in sitemap.xml: This will highlight any of your pages in your sitemap that are redirecting elsewhere
# pages have a WWW resolve issue: This will highlight issues if you haven’t specified which version (www or non-www) you prefer (e.g., via .htaccess redirects)
No redirect or canonical to HTTPS homepage from HTTP version: This checks if your homepage is set up to serve the secure HTTPS version
# redirect chains and loops: These create a bad user experience and can impact your SEO
# URLs with a temporary redirect: Double check these redirects are indeed meant to be temporary
# URLs with a permanent redirect: Check these URLs are supposed to redirect, and make sure they redirect to the correct place
While there is no guarantee that any particular site will be added to Google’s index, sites that follow the Search Essentials guidelines are more likely to appear in Google’s search results.
How to Identify Keyword Stuffing on Your Site
Not sure if your content crosses the line from optimized to overkill?
Here’s how to spot keyword stuffing before Google and your readers do.
Manual Calculation
Old-school, but it works:
Count how many times your target keyword appears in your content
Divide by your total word count
Multiply by 100 to get the percentage
Side note: AI tools can help you calculate keyword density, but their results may not be entirely accurate. I tested ChatGPT against a manual calculation and found it was off by 28%. After prompting it to recheck its work, ChatGPT was able to provide the correct answer. But this process actually took longer than just calculating it myself.
So, how do you know if your percentage is “good” or “bad”?
Keep in mind that the ideal keyword density doesn’t exist.
As Leigh McKenzie, Backlinko’s head of SEO, says:
You can’t fake relevance by jamming your target phrase into every heading. A natural, readable flow matters more. As a general rule, if your keyword density creeps above 2–3%, it’s worth taking a second look.
Use keywords intentionally. But write like you’re talking to real people, not search engines. That’s what both the algorithm and AI actually reward.
Manual Assessment
One of the most effective ways to identify keyword-heavy content is to read it aloud.
If something feels stiff, repetitive, or robotic, your readers will feel it, too.
Ask yourself:
Would I write this way if SEO wasn’t a factor?
Does this content feel valuable and informative?
Would real people enjoy reading this?
If the answer to any of these questions is “no,” it’s time to revise.
WordPress Plugins
Using WordPress?
Plugins like Yoast SEO and Rank Math can help flag potential keyword stuffing.
These tools provide readability scores and keyword density calculations.
But keep in mind that these tools may miss subtle issues.
And typically won’t flag anything until it’s really obvious.
So, it’s best to use them as a guide rather than a final verdict.
On Page SEO Checker
Want a smarter, more in-depth look at keyword usage on your pages?
Our natural language understanding models look at a search in context, like the relationship that words and letters within the query have to each other. Our systems start by deciphering or trying to understand your entire search query first. From there, we generate the best replacements for the misspelled words in the query based on our overall understanding of what you’re looking for. For example, we can tell from the other words in the query “average home coast” that you’re probably looking for information on “average home cost.
Same goes for grammatically incorrect or just plain awkward keyword phrasing like:
“Running shoes cheap”
“How to train dog fast”
Yes, people search like this:
But you shouldn’t mirror that phrasing word-for-word.
Or you risk lowering the readability and trustworthiness of your content.
6. Spread Out Keyword Usage
Don’t use a bunch of keywords in a single paragraph or section.
Distribute them naturally throughout your content, from the introduction to the conclusion.
This creates a more cohesive piece that flows naturally while still signaling relevance to search engines.
If you don’t have any manual actions, you’ll see this message:
If you have a manual action, you’ll see a report with the number of issues detected.
And a description of each one.
Like unnatural links, cloaking, thin content, and — you guessed it — keyword stuffing.
If you received a penalty, you’ll need to address the issues and submit a reconsideration request.
Fix the Issues
Once you’ve identified the problem pages, it’s time for cleanup.
But this isn’t just about fixing one page. It’s about showing Google you’ve changed your approach.
Here’s what to focus on:
Rewrite keyword-stuffed content: Focus on clarity, depth, and user intent. Cut repetition and use natural phrasing and keyword variations.
Remove hidden keywords: If you used any black hat tactics, such as white text on white backgrounds, keyword-stuffed alt tags, or hidden links, remove them from your site
Upgrade the content: Check that each page meets search intent, thoroughly covers the topic, has meaningful information gain, and includes E-E-A-T signals. Like high-quality sources, author expertise, and expert insights.
Audit your site: For best results, consider following the above steps for every page on your site (if possible) — not just the ones Google flagged. This may improve your chances of getting the penalty removed.
Request a Review
Once your content is cleaned up, go back to Search Console and follow these steps:
Open the “Manual Actions” section and click “Request Review.”
Next, you’ll be asked to check a box confirming you fixed all of the issues.
You’ll also need to explain what you fixed and how you did it.
Don’t copy and paste generic language. Be honest, transparent, and direct in your answer.
Explain the following:
What caused the issue
The exact steps you took to fix it
The outcome of your efforts
Expect to wait anywhere from a few days to a few weeks for a response.
You’ll get an email with Google’s decision when the review is complete.
If your first request is denied, you can try again.
Stop Stuffing. Start Optimizing.
Google doesn’t count keywords anymore.
Why should you?
Ranking in 2025 isn’t about gaming the algorithm — it’s about creating content that actually helps people.
So, leave the keyword stuffing to 2005 and focus on what modern readers and search engines want:
Helpful, trustworthy content.
Ready to write content that reads and ranks well?
Check out our SEO best practices guide. It’s packed with proven strategies for writing high-performing content without sacrificing quality or user experience.