Blog Post Review Before Publishing
Pre-publish QA a content manager runs on every blog post — brief alignment, on-page SEO, accessibility, link and image hygiene, editorial review, and schedule. Owned by the content manager with editor, SEO, and designer touchpoints.
Brief and Draft Alignment
-
Confirm draft matches the content brief
Pull the original brief and check working title, target keyword, search intent, target persona, and key points are all present. Drafts that drift from search intent are the most common reason a post fails to rank against its target query.
-
Fact-check every claim and quote
Every statistic, dollar figure, and named source cited inline. Pull quotes from external interviewees must be approved in writing by the quoted party before publish — a Slack DM does not count.
Collects list -
Return draft to writer for revision
Send the draft back with inline comments naming the specific claims, sources, or quotes that need work. Set a revision due date before re-routing through editorial and SEO.
-
Run copy edit against the house style guide
Grammar, AP or house style, sentence-level cuts. Watch for tone-of-voice drift — guest writers tend to slip into their own voice on long sections.
On-Page SEO
-
Place the target keyword in critical zones
Target keyword in the title tag, H1, meta description, URL slug, and within the first 100 words. Avoid stuffing — one natural use per zone is the bar Clearscope and Surfer optimize for.
-
Write the meta title and description
Title tag under 60 characters; meta description 140–160 characters with the target keyword and a CTR hook. Preview the SERP snippet in Ahrefs or Semrush before saving.
Collects text Collects paragraph -
Add internal links to 2-3 related posts
Link to existing posts in the same topic cluster with descriptive anchor text — not 'click here'. Reinforces pillar-page topical authority and helps Googlebot discover the new URL.
-
Validate schema markup in Rich Results Test
Article or BlogPosting schema with headline, author, datePublished, image, and publisher. Run the staging URL through Google's Rich Results Test and Schema.org validator before approving publish.
-
Check heading hierarchy and structure
One H1; H2s break up major sections; H3s nest under H2s. No skipped levels (H2 jumping to H4). Long-form posts above 1,500 words need at minimum four H2s for scannability.
Visuals and Accessibility
-
Confirm image licenses and sources
Stock images from licensed accounts only (Unsplash+, Getty, Shutterstock). Record license type per image in the DAM. AI-generated images require an internal disclosure tag per FTC guidance.
Collects list -
Replace unlicensed images
Swap with a licensed alternative from the DAM or commission new artwork. Log the substitution in the asset record so the same source isn't reused.
-
Write descriptive alt text for every image
WCAG 2.1 AA requires meaningful alt text — describe what the image conveys, not 'image1.jpg'. Decorative images get empty alt (alt="") so screen readers skip them.
-
Optimize and compress images for web
Hero images under 200KB, body images under 100KB where possible. Use WebP or AVIF with JPG fallback. Heavy images blow Largest Contentful Paint (LCP) on Core Web Vitals.
-
Size the featured image for social sharing
Featured image at 1200×630 for Open Graph and Twitter Card previews. Test in LinkedIn Post Inspector and the Twitter/X card validator on staging before publish.
Collects image
Links and CTAs
-
Click-test every outbound and internal link
Every link opens to the intended URL with a 200 response — no 404s, no redirect chains over one hop. Screaming Frog can crawl a staging URL to catch broken links faster than manual clicking.
-
Tag CTA links with UTM parameters
Use the shared UTM builder so source / medium / campaign match team conventions (e.g. utm_source=blog, utm_medium=organic, utm_campaign={slug}). Drifted UTM conventions make GA4 reports uncomparable across campaigns.
-
Place CTAs in top, mid, and bottom positions
One CTA above the fold, one mid-content tied to a relevant section, one closing CTA. CTAs should match the post's funnel stage — gated download for TOFU, demo request for BOFU.
Editorial and Legal Review
-
Second editor reads end-to-end
A fresh pair of eyes catches typos, awkward transitions, and tone slips the original editor missed. Read on mobile width — paragraph length issues only show up there.
-
Check FTC disclosure on sponsored content
If the post features a partner, affiliate link, or paid placement, disclosure must appear above the fold — not buried in footer. FTC Endorsement Guides require disclosure of material connection regardless of post format.
Collects list -
Route to legal for sponsored-content sign-off
Legal confirms disclosure language matches the partnership contract and FTC Endorsement Guides. For regulated-industry clients (pharma, financial services), also confirm any required regulatory boilerplate.
-
Capture final approval sign-off
Timestamped sign-off from editor and content manager before scheduling. This is the audit-trail record — Slack thumbs-up does not survive a compliance review.
Collects text Collects signature
Stage and Schedule
-
Preview the post on staging
Load the staging URL on desktop, tablet, and mobile. Verify featured image, embed renders (YouTube, tweets), pull quotes, and table-of-contents anchors all behave.
-
Verify GA4 events fire on staging
Use GA4 DebugView via the Tag Assistant Chrome extension to confirm page_view, scroll, and any custom CTA-click events fire. A misfired event maps to inflated conversion counts that distort budget allocation.
-
Set publish date in the CMS
Schedule per the editorial calendar slot in WordPress, HubSpot, or Webflow. Confirm timezone matches the audience — a 9am ET slot published from a writer's PT-set laptop slips three hours.
Collects datetime -
Submit URL to Google Search Console
After publish, request indexing via the URL Inspection tool in GSC. Accelerates crawl from Googlebot's default discovery cadence, especially for new domains or low-authority sections.
-
Queue distribution to email and social
Newsletter segment matched to post topic; social posts scheduled in Sprout or Hootsuite for LinkedIn, X, and any platform-relevant channels with UTM-tagged links. Segment mismatch drives unsubscribe rate.
Use this template
Copy it to your account, customize the steps, and run it with your team in minutes.
Browse hundreds of free templates across every team and industry.
Back to template libraryRelated templates
More workflows your team can run.
Run Blog Post Review Before Publishing with your team
Customize the steps, assign roles, set a schedule, and keep a complete record for every run.