How to rank a WordPress site
Google does not rank WordPress sites higher or lower because they run WordPress. What decides a WordPress site's rankings is the same as for any site: useful pages that match what people search, which Google can crawl and index cleanly. The WordPress-specific part is that its defaults, themes and plugins create a few predictable problems, from thin archive pages to duplicate meta tags, that are easy to miss and cheap to fix.
This page is for a site that is already live. If you are launching, start with the SEO setup guide for a new WordPress site, which covers permalinks, the search engine visibility setting and the first sitemap submission.
What WordPress handles and what it leaves to you
Out of the box, WordPress outputs a title tag, a basic XML sitemap at /wp-sitemap.xml, clean permalinks once you choose them, and canonical tags on single posts. That is a reasonable base.
It leaves out, or gets wrong for many sites:
- Meta descriptions and social tags, which need a plugin or theme support.
- Archive control. Every tag, date and author archive is indexable by default, and small sites end up with more archive URLs than posts.
- Structured data beyond what your theme adds.
- Speed. WordPress itself is not slow, but themes, page builders and plugins that load scripts on every page often are.
None of these stops a strong page from ranking on its own. Together they waste crawl attention and send mixed signals about which URLs matter.
WordPress fixes, most important first
- Run one SEO plugin, not two. Two active SEO plugins usually print two titles, two descriptions and two sets of schema. View the page source and search for
<titleandapplication/ld+jsonto check. If you are switching, Hydrogen SEO's Import SEO Data tool brings titles, descriptions, redirects and settings across from Yoast, Rank Math, All in One SEO and others before you deactivate the old plugin. - Decide which archives deserve indexing. Keep categories you have written real descriptions for. Most single-author blogs are better off with tag, date and author archives set to noindex. The archive noindex guide covers the trade-offs.
- Redirect attachment pages. Media attachment URLs are thin pages with one image. The attachment page guide explains redirecting them to the parent post or file.
- Fix titles at the template level. Set title templates per post type so every page gets a sensible title, then hand-write the ones for your most important pages.
- Measure speed with real-user data. Search Console's Core Web Vitals report groups URLs by template, which on WordPress usually means by theme layout. Start with the Core Web Vitals guide and, if the server itself is slow, reducing TTFB.
- Link posts to each other on purpose. Related-post widgets help, but contextual links inside the text carry more meaning. Look for orphaned posts with no internal links.
- Add schema that matches the content. Article for posts, Product for WooCommerce, LocalBusiness for a local business. See schema markup in WordPress.
After the technical fixes, the work is the same as on any platform: better pages for the queries you care about.
Checking that the WordPress side is clean
Three checks, repeated after any plugin or theme change:
- Page source. One title tag, one meta description, one canonical, one robots meta tag. Duplicates mean two plugins or a theme are competing.
- Search Console Pages report. Look at Why pages aren't indexed. Large counts under "Duplicate without user-selected canonical" or "Crawled - currently not indexed" often trace back to archives, attachments or parameter URLs.
- Core Web Vitals report. Mobile first, since most WordPress themes behave worse there.
In our experience, removing duplicate tags and thin archives tends to show in the Pages report within a few weeks as Google recrawls, while ranking effects, if any, take longer and are harder to attribute. Speed fixes show in Core Web Vitals only after the 28-day field data window rolls forward. Treat these as typical ranges, not guarantees.
WordPress-specific mistakes
- Leaving "Discourage search engines" ticked after a migration or relaunch. It sits under Settings → Reading and is easy to forget on a copied site.
- Installing a plugin for every small feature. Each one can add front-end scripts. Audit what loads on a typical post.
- Page builders that output headings as styled paragraphs. The page looks right, but the structure is missing. Check the heading hierarchy of key templates.
- Changing permalinks without redirects. Every post URL changes at once. Use the permalink guide if you must.
- Deleting posts to "clean up" without redirects. Old URLs with links become 404s. Merge and redirect instead.
- Trusting a plugin's green light as proof of ranking. Plugin scores check on-page basics. They do not measure how your page compares with competitors.
A WordPress health pass
- One SEO plugin active; page source shows one of each head tag.
- Tag, date and author archives set deliberately to index or noindex.
- Attachment pages redirected.
- Title templates set per post type, with hand-written titles on key pages.
- Core Web Vitals checked for mobile templates.
- Search engine visibility setting confirmed off after every relaunch.
- Pages report reviewed monthly for new exclusion spikes.
Common questions
Is WordPress good for SEO?
It is a solid base. Google does not favor any platform, but WordPress gives you control over URLs, titles, structured data and templates, which is what most SEO work needs.
Do I need an SEO plugin to rank a WordPress site?
You can rank without one, but a plugin makes meta descriptions, archive control, redirects, sitemaps and schema much easier to manage. Use one, and only one.
Why is my WordPress site not showing in Google at all?
Check Settings, Reading first for the Discourage search engines box, then inspect the homepage in Search Console. A leftover noindex or a blocked robots.txt is the usual cause on sites that show nothing.