Prioritizing fixes

SEO Audit Action Plan Template: Columns, Formulas and Examples

Quick answer

An SEO audit action plan template turns audit findings into tasks. Each row has the issue, root cause, impact tier, pages affected, the exact fix, owner, effort, priority score, due date, status and a verification check. Sort by priority, put blockers first, and group rows into 30, 60 and 90 day batches.

An audit tells you what is wrong. An action plan says who fixes it, by when, and how you'll know it worked. Without the plan, findings sit in a PDF and nothing ships. Without the last column, things ship and nobody checks whether rankings moved.

This SEO audit action plan template is the sheet we use after the triage in what to fix first after an SEO audit. It is built on the scoring method in how to prioritize SEO issues, and every column below can be copied into Excel, Google Sheets, Notion or your issue tracker.

Why an audit needs an action plan

Audit reports describe the site. Action plans describe work. The difference matters because the people who fix SEO issues are rarely the people who found them: developers fix templates and rendering, writers fix titles and content, and someone has to chase both.

A plan also changes the conversation with a client or manager. "We found 214 issues" invites the question "so what?". "Five changes this month, two of them one-hour developer tasks, expected to return 40 product pages to Google's index" invites a yes.

Three properties make a plan usable:

Insight: Write the verification check before the fix ships. If you can't say how you'll confirm it worked, the task isn't specific enough yet.

The 12 columns of the SEO audit action plan template

ColumnWhat goes in itExample
IDA short code so the client report and tickets can reference itSEO-03
IssueThe finding in plain languageProduct pages canonicalise to the homepage
Root causeWhere the problem comes fromproduct.liquid hard-codes canonical = shop.url
Impact tierCritical, High, Medium, CTR only, Low or CosmeticCritical
Pages affectedCount, or share of impressions40 (45% of impressions)
FixThe exact change, literallySet canonical to canonical_url in the template
OwnerRole or nameDeveloper (Sam)
Effort (hours)Honest estimate1
PriorityFormula result450
DueDate or sprintSprint 42
StatusTo do, In progress, Shipped, Verified, Won't fixShipped
VerificationHow you confirm it workedURL Inspection shows Google-selected canonical = page URL on 5 sample URLs

Note the two statuses after "In progress": Shipped means the change is live; Verified means you confirmed the effect. Many plans stop at "done", which hides fixes that shipped but didn't work.

Won't fix deserves a reason in the Fix column. "Deliberate: cart pages stay noindexed" or "Cosmetic: no ranking effect" stops the same finding being raised again at the next audit, and shows the client you looked at it rather than missed it.

Copy-paste formulas for the plan

These work in Excel and Google Sheets. They assume Impact tier in column D, Pages affected in E, Effort in H, Status in K.

Tier points (helper column):

=IFS(D2="Critical",10, D2="High",5, D2="Medium",2.5, D2="CTR only",1.5, D2="Low",0.75, TRUE,0)

Priority score, with blockers forced to the top and finished rows dropped to zero:

=IF(OR(K2="Verified",K2="Won't fix"),0, IF(D2="Critical",1000000,0) + [tier points]*E2/MAX(H2,0.25))

Days overdue (Due date in J):

=IF(AND(K2<>"Verified",J2<TODAY()), TODAY()-J2, "")

Progress for the client summary:

=COUNTIF(K:K,"Verified")/(COUNTA(K:K)-1-COUNTIF(K:K,"Won't fix"))

Hours by owner for sprint planning (owners listed in M2:M5):

=SUMIFS(H:H, G:G, M2, K:K, "<>Verified")

Ten example rows

Copy these as a starting point and replace the details with your own site's. They cover the findings that come up most often.

IDIssueTierFixOwnerEffortVerification
SEO-01/pricing has noindex from stagingCriticalRemove the robots meta tag in the page settingsSEO0.25URL Inspection: "Indexing allowed? Yes"
SEO-02Product pages canonicalise to /CriticalSelf-referencing canonical in product templateDeveloper1Google-selected canonical correct on 5 URLs
SEO-03H1 and intro injected by JavaScriptHighRender hero text on the serverDeveloper8Raw HTML contains H1 on 3 templates
SEO-04Category titles lack the category keywordHighNew titles per Appendix BWriter3Re-audit: keyword in title passes on 12 pages
SEO-0515 service pages have no internal linksHighLink from /services and 2 related posts eachSEO2Crawl shows 3+ inlinks per page
SEO-06Internal links to 23 redirected URLsMediumUpdate links to final URLsWriter1.5Crawl shows 0 links to redirects
SEO-07Field LCP 3.4 s on product pagesMediumPreload hero image, serve WebPDeveloper4CrUX LCP under 2.5 s after 28 days
SEO-08No Organization schema on homepageMediumAdd JSON-LD with name, logo, sameAsDeveloper0.5Rich Results Test shows Organization
SEO-0914 high-impression pages share one descriptionCTR onlyUnique descriptions for those 14Writer2CTR change in Search Console after 6 weeks
SEO-10Heading levels skip in blog templateLowChange H4 to H3 in templateDeveloper0.5Re-audit passes heading order

Look at the verification column. Each check names a tool and a pass condition. That is what lets you report "Verified" with a straight face.

Laying the plan out in 30, 60 and 90 days

Sorting by priority gives the order; batching gives the schedule. Group rows so each batch ships as a unit and has a clear outcome.

Days 1 to 30: blockers and template fixes. Every critical row, plus high-tier rows that are one template change. These have the largest reach for the least effort, and their effect is visible quickly in Search Console.

Days 31 to 60: page-level relevance. Title and H1 rewrites, internal linking, content additions on the pages with the most impressions. Writers and the SEO own most of this batch.

Days 61 to 90: content depth and experience. Gaps against the pages that rank, Core Web Vitals work that needs 28 days of field data to confirm, and the medium and low rows that are worth doing.

At day 90, re-run the full audit and compare with the baseline. The SEO audit report template shows how to present that comparison to a client.

Where to keep the plan

ToolBest forStrengthWeaknessHow Seotific fits
Google Sheets or ExcelFreelancers, small teams, client sharingFormulas, sorting, easy to sendNo notifications or assignmentPaste in the Excel export; add owner and due columns
Jira, LinearTeams where developers work from ticketsFits the sprint processHard for clients to readUse the plan ID in each ticket title
Notion, Asana, TrelloMixed teams and agenciesOwners, due dates, commentsWeak for bulk data and formulasLink each card to the audit row
An audit tool's issue trackingOngoing monitoringRe-audits mark issues fixed or reopened automaticallyLess flexible for non-SEO tasksShows new, fixed and still-open issues per re-audit

Most teams keep the master plan in a sheet and copy the top rows into their ticketing tool each sprint.

Tools for building the action plan

The audit export supplies the rows. Search Console supplies reach (impressions per page) and the verification for indexing fixes. PageSpeed Insights and the CrUX dashboard verify speed work after the 28-day window.

Seotific fills the first half of the template for you: the issue, the impact tier, the pages affected and the exact fix, already grouped by cause and sorted by weighted impact. Re-audits act as the verification column for most rows, showing each issue as new, fixed or still open. If you'd rather start from the full check list, the SEO audit checklist template has all 69 checks in a spreadsheet, and which SEO errors matter most explains how each tier is assigned.

Frequently asked questions

What is an SEO audit action plan?

An SEO audit action plan is the list of fixes from an audit turned into tasks: each with an owner, an effort estimate, a priority, a due date and a way to verify it worked. It is what the team works from after the audit report is delivered.

Is this SEO audit action plan template free?

Yes. The columns, formulas and example rows on this page are free to copy into any spreadsheet or project tool. For the underlying check list, the Excel SEO audit checklist template is also a free download.

How many tasks should an SEO action plan have?

Fewer than you think. After grouping by root cause, most site audits produce 10 to 40 meaningful rows. If your plan has hundreds of rows, you are probably listing URLs instead of causes, or including cosmetic findings that belong in an appendix.

What is the difference between an SEO audit report and an action plan?

The report explains what was found and why it matters, for decision-makers. The action plan is the working list of tasks for the people doing the fixes. The report's executive summary usually points to the top rows of the plan.

How do I verify an SEO fix worked?

Pick a check that shows the change took effect in search, not just in code: URL Inspection for indexing and canonicals, a re-audit for on-page fixes, field Core Web Vitals after 28 days for speed, and Search Console impressions or position over several weeks for relevance changes.

Who should own SEO fixes?

Assign by the kind of change. Developers own templates, rendering, redirects and speed. Writers own titles, descriptions and content. The SEO owns canonicals, internal linking decisions and verification. Shared ownership usually means no ownership, so name one person per row.

Check your own page

Seotific audits a URL against the keyword it should rank for and lists the fixes in order of impact. Free plan, no card.

Run a free audit