A sticky post in WordPress is a regular blog post you pin to the top of your Posts page so it stays above newer entries. It’s perfect for announcements, offers, or cornerstone guides. Enable it in the editor; by default it appears first on the blog index unless a theme or custom query ignores stickies.
If you’re wondering what is a sticky post in WordPress, think of it as your site’s “pinned” update. It keeps high priority content visible at the top of your blog roll, driving clicks to the pages that matter most. Below, you’ll learn exactly how sticky posts work, when to use them, and how to implement them like a pro.
What is a Sticky Post in WordPress?
A sticky post is a built in WordPress feature that lets you “pin” a post to the top of your blog index (the Posts page) so it appears before newer posts. WordPress treats it as a normal post in every other way, same URL, categories, tags, and date, but overrides the default date order on the main blog page to highlight it.

Sticky posts are best for evergreen content, site wide announcements, time sensitive promos, or onboarding content. They are different from “Pages,” which are timeless by design, and from “featured” posts, which are theme dependent labels or layouts. Stickies are core WordPress, theme agnostic, and easy to toggle on or off.
Why and When to Use Sticky Posts
- Highlight cornerstone content: Keep your most helpful guide, pricing explainer, or “Start Here” post front and center.
- Drive conversions: Pin your latest promo, lead magnet, or limited time discount.
- Announce updates: Product releases, policy changes, or platform news.
- Onboarding: A welcome post that directs readers to your best resources.
- Compliance or safety: For adult creators, pin content guidelines, age verification info, or terms to reduce risk and support moderation.
Used well, a sticky post can improve session depth, guide readers to conversion pages, and keep seasonal content discoverable without republishing or changing dates.
How to Create a Sticky Post (Step by Step)
Gutenberg/Block Editor
From your Dashboard, go to Posts > Add New (or edit an existing post). In the post editor, open the Settings sidebar (gear icon), expand the Summary/Status & visibility panel, and check the option “Stick to the top of the blog.” Publish or Update. Your post will now appear at the top of the Posts page.
Classic Editor
Edit the post, locate the Publish meta box, click “Visibility: Public > Edit,” check “Stick this post to the front page,” then click OK and Update.
Quick Edit (Fast Method)
Go to Posts > All Posts. Hover over the post title, click Quick Edit, tick “Make this post sticky,” then Update. This is ideal when pinning multiple posts at once.
Note: By default, stickies float to the top of your main blog page (the Posts page). Most themes do not automatically pin them to the top of category/tag archives or custom loops unless those templates honor stickies.
How Sticky Posts Work Under the Hood
WordPress stores sticky post IDs in a core option called sticky_posts. On the blog index, the main WP_Query gives those IDs priority, placing them before non sticky posts regardless of publish date. Developers can include or ignore stickies in custom queries with arguments like ignore_sticky_posts or post__in.
// Get all sticky post IDs
$sticky_ids = get_option( 'sticky_posts' ); // array of post IDs
// Main query typically respects stickies on home/blog index.
// In a custom query, you can:
// 1) Show only sticky posts
$q = new WP_Query([
'post__in' => $sticky_ids,
'ignore_sticky_posts' => 1,
'orderby' => 'post__in'
]);
// 2) Exclude sticky behavior (treat as normal posts)
$q = new WP_Query([
'ignore_sticky_posts' => 1
]);
// 3) Push stickies first, then fill with latest posts
$q = new WP_Query([
'post__in' => $sticky_ids,
'posts_per_page' => 10,
'ignore_sticky_posts' => 1,
'orderby' => 'post__in date'
]);
Programmatically Pin or Unpin Posts
Pin a Post by ID
// Pin post ID 123
$stickies = get_option( 'sticky_posts', [] );
$stickies[] = 123;
$stickies = array_values( array_unique( array_map( 'intval', $stickies ) ) );
update_option( 'sticky_posts', $stickies );
Unpin a Post by ID
// Unpin post ID 123
$stickies = get_option( 'sticky_posts', [] );
$stickies = array_diff( $stickies, [123] );
update_option( 'sticky_posts', array_values( $stickies ) );
Styling and Labeling Sticky Posts
Most themes add a .sticky class to pinned posts. You can target it with CSS to add a badge or highlight. Keep your styling subtle, accessible, and consistent with your brand.
/* Highlight sticky posts */
.sticky {
background: #fff9e6;
border-left: 4px solid #f0b429;
padding: 1rem;
}
/* Optional badge for titles in archives */
.sticky .entry-title::before {
content: "Featured";
font-size: 12px;
color: #b07219;
background: #fff1cc;
border: 1px solid #f0b429;
padding: 2px 6px;
margin-right: 8px;
border-radius: 3px;
}
SEO Impact and Best Practices
- Match search intent: Pin evergreen resources that answer your audience’s core questions.
- Avoid pinning thin or time expired posts: Outdated promos or news can hurt trust and CTR.
- Don’t overuse: One sticky is great; two or three max. Too many stickies bury fresh content.
- Refresh strategically: Update the sticky with new facts, screenshots, or CTAs to maintain freshness signals.
- Use internal links: From the sticky, link to deeper content hubs to boost crawlability and distribute PageRank.
- Monitor engagement: Track CTR and dwell time; if numbers dip, test a different sticky topic or headline.
Sticky posts don’t inherently boost rankings, but they can improve user engagement and guide crawlers toward your most valuable content. That combination supports overall site quality, something modern Google updates reward.
Common Issues and Troubleshooting
“My sticky post isn’t on top.”
- Check you’re viewing the Posts page, not a static homepage. Sticky behavior applies to the blog index by default.
- Confirm your theme/template doesn’t use a custom WP_Query with ignore_sticky_posts => 1.
- Ensure the post is published and public (not scheduled, private, or password, protected).
- Clear caches (plugin, CDN, server) and regenerate your theme cache if applicable.
“My homepage is static can I still show stickies?”
Yes. If your homepage is a static Page, add a Query Loop block or custom loop in your template that pulls sticky_posts first. Otherwise, stickies won’t surface automatically on a static front page.
Pagination or duplicates
Some themes show stickies on page 1 and again later in the list. Fix this by setting ignore_sticky_posts to 1 in subsequent queries or by excluding post__not_in => get_option(‘sticky_posts’) in paginated loops.
Sticky not showing on category pages
By default, WordPress does not float stickies on category/tag archives. Customize those templates (or the Query Loop block) to include sticky IDs and orderby post__in if you want them prioritized there.
Real World Use Cases (Including Adult and Creator Sites)
- Creators and OnlyFans promoters: Pin a “New here? Start with this bundle” post linking to your latest offers and FAQ.
- Adult industry blogs: Keep compliance statements, content policies, or verification guides pinned for transparency.
- Ecommerce: Pin seasonal deals, shipping updates, or return policies during peak sales.
- Agencies and SaaS: Feature a “How to get support” or “Product tour” post that funnels users into trials or demos.
- Publishing: Highlight your editorial calendar, submission guidelines, or a “Best of” roundup.
Pro Tips for Managing Sticky Posts at Scale
- Use one primary sticky plus a clear CTA. Rotate monthly or quarterly to align with campaigns.
- Create a “Featured” category and ensure the sticky belongs to it for easier tracking and reporting.
- Align with site navigation: Mirror the sticky’s CTA in your top menu or hero section.
- Measure impact: Tag links with UTM parameters; watch changes in revenue, sign, ups, or paid subscriber growth.
- Editorial hygiene: When unpinning, update the post title and intro if it’s no longer evergreen.
FAQs
What is a sticky post in WordPress, and how is it different from a featured post?
A sticky post is a core WordPress function that pins a post to the top of your blog index. A “featured” post is theme dependent styling or a custom query label. Some themes treat stickies as featured, but the sticky mechanism itself is universal and built into WordPress.
Does using sticky posts affect SEO or rankings?
Indirectly. Stickies can improve UX, internal linking, and engagement signals that support overall site quality. They don’t add a ranking boost by themselves, so pin content that satisfies core search intent and keep it updated for freshness.
Can I make pages sticky, or only posts?
Sticky is a post only feature. To “pin” a Page on your homepage, use your theme’s builder, the Site Editor’s Query Loop and templates, or a featured section/hero block that manually links to the Page.
How do I display only sticky posts in a section or widget?
In the Site Editor, add a Query Loop and filter by “Sticky posts.” Developers can use a custom WP_Query with post__in => get_option(‘sticky_posts’) and orderby => post__in to output a curated featured list.
Why is my sticky post not staying on top after publishing new posts?
Common causes include a static front page (without a stickies aware loop), a custom query using ignore_sticky_posts => 1, caching not cleared, or the post being scheduled/private. Check these conditions and review your theme’s index template.