Key takeaways
- WordPress and SEO meet in a short list of settings: permalinks, what the site lets into the index, plugin configuration, titles, structured data, internal links and speed.
- Doing SEO on a WordPress website starts with indexation rather than content, because the platform generates tag, author, date and attachment pages by default and those dilute a site once indexed.
- Installing an SEO plugin changes nothing on its own, since the ranking effect comes from the indexing rules, title templates and schema settings you configure inside it.
- The most common reason a WordPress site with good content does not rank is structural: thin archives in the index, posts with no internal links pointing at them, or two versions of the domain competing.
- Every WordPress fix worth making is checkable, so a change is only finished once you have confirmed it in the page source or in Search Console.
WordPress and SEO overlap in about a dozen settings, most of them nowhere near the content editor. The platform publishes easily and defaults badly: it exposes thin archive pages, ships without title control, and links nothing to anything. Work the settings below in order and the site stops competing with itself. Where a site needs that pass run for it rather than described, our WordPress SEO services cover it.
The fixes ranked by what they move
| Fix | Where it lives | What it changes |
|---|---|---|
| Permalink structure | Settings, then Permalinks | Clean URLs, and no dated paths aging your content |
| One canonical domain over HTTPS | Server plus General Settings | Stops two versions of every URL splitting signals |
| Indexing rules for archives | SEO plugin, search appearance | Pulls thin tag, author, date and attachment pages out of the index |
| Title and meta templates | SEO plugin, per post type | Every page inherits a usable title instead of a default |
| One schema source | SEO plugin, with the theme's own output off | Removes conflicting markup that suppresses rich results |
| Internal links and clusters | Content, by hand or by module | Gives orphan posts a path to be found and ranked |
| Caching and image handling | Host plus one caching plugin | Moves LCP, which mobile results are graded on |
| Coverage and vitals monitoring | Search Console | Catches regressions from plugin and theme updates |
Work top to bottom. The first three are settings changes with outsized effect. The last is a habit rather than a task.
Start with URLs and the canonical domain
Set permalinks to post name so URLs read as a slug rather than a query string or a dated path. Dated permalinks make content look stale and add noise to every URL. If you change the structure on a site that already ranks, generate 301 redirects from the old URLs first, or you will drop the rankings you have. Change permalinks once, early, and never again without a redirect map.
Then settle the domain. Every URL should serve over HTTPS with a valid certificate, and the HTTP version should 301 rather than 302. Pick www or non-www and redirect the other to it. Test all four combinations of protocol and hostname on your homepage and confirm three of them reach the fourth in a single hop. Chains that bounce from HTTP to www to HTTPS waste crawl attention and slow the first byte for anyone arriving on an old link.
Control what WordPress lets into the index
This is the leak on most WordPress sites. By default the platform generates a tag archive per tag, an author archive per author, date archives, and one attachment page per uploaded image. Most of those are thin and near-duplicate, and a site that tags loosely can expose a large number of low-value URLs without publishing a single extra post.
In your SEO plugin, set attachment URLs to redirect to the media file, and noindex tag, author and date archives unless you curate them deliberately. Category archives are the exception: index those only where they carry unique introductory copy and real intent, because a bare list of post titles is a thin page whatever you call it.
Paginated archives need a decision too. Keep page two onward indexable only when the content warrants it, and make sure each paginated URL canonicalizes to itself rather than to page one, which otherwise hides your deeper content from search engines.
Configure the plugin rather than just installing it
An SEO plugin is a control panel, not a result. Walk the setup wizard once, then go back into the search appearance settings and make the per-post-type indexing choices from the section above. Set the title separator, the brand position and the default templates so every new post inherits a sensible title without editing. Connect Search Console. Switch off the modules you will not use.
Then decide on one source of structured data. Themes and plugins both like to output schema, and two sources produce conflicting markup, which is a common reason rich results never appear. Keep the plugin as the source, turn the theme's schema off, and validate Organization, Article and Breadcrumb output in a rich results test. Add Product or LocalBusiness only where the page genuinely is one. Which plugin you run matters far less than this configuration pass, though WordPress SEO plugin setup and Yoast vs All in One SEO comparison are worth reading before you commit.
Fix titles, meta and thin category copy
Do not ship defaults. Write a unique title for every indexable page, leading with the phrase the page is about, and keep it short enough to survive truncation on a phone. Set templates for archives and hand-write titles for the pages that earn money.
Meta descriptions do not rank, but they change how many people click a ranking you already hold. Write them by hand for your most important pages and let the template cover the long tail. Pull the Search Console performance report, sort by impressions, and start with pages already ranking in the middle of page one, where a sharper title has something to work with.
Category pages deserve the same attention. Add real introductory copy to the categories you want to rank, enough that the page says something the list of titles underneath it does not. Two or three paragraphs is usually the difference between an archive and an asset.
Build internal links on purpose
WordPress makes publishing easy and linking hard. Nothing in the platform connects a new post to related ones, so most sites accumulate posts that no internal link points at, and those posts rarely rank.
Group content into clusters. Each cluster gets a pillar page that links out to its supporting posts, and every supporting post links back up to the pillar and sideways to two or three of its closest siblings. New posts join a cluster on publication rather than sitting alone.
Audit for orphans by crawling the site and filtering for pages with no inbound internal links, then work through them oldest first. This is the highest-impact content-side fix on most WordPress sites, and it draws value out of pages you already paid to write.
Speed, bloat and watching for regressions
Slow WordPress sites lose ground in mobile results. Install one caching plugin, serve images in a modern format at display size, and defer scripts that are not needed for the first paint. Page builders and heavy themes are the usual weight problem. Google grades Core Web Vitals on real users at the 75th percentile, with LCP under 2.5 seconds, INP under 200 milliseconds and CLS under 0.1. The full pipeline, from hosting through to image handling, is laid out in WordPress speed optimization.
Keep the plugin stack lean while you are in there. Every active plugin adds queries, scripts and a maintenance surface, and outdated plugins are the main WordPress security exposure. Never run two SEO plugins at once: two sets of canonicals, two schema blocks and two sitemaps is worse than either alone.
Then monitor. WordPress sites break quietly after plugin and theme updates. Check the Search Console pages report and the Core Web Vitals report monthly, and run a crawl after any major update to compare index state before and after. A regression caught within a month is a settings fix. Caught a quarter later, it is a recovery project.
Related terms
You may see this topic described with related searches like how to add seo keywords in wordpress website, on page seo for wordpress, on page seo wordpress, seo title wordpress, and wordpress keywords seo. Those phrases are useful when they clarify what the reader needs next, but they should still point back to one clear plan.
Related searches such as wordpress seo optimization, wordpress seo strategy, and wordpress seo without plugin are useful when they clarify what the reader needs next. They should support the same plan rather than pulling the page in several directions at once.
Frequently asked questions
How do I do SEO on my WordPress website?
Work the settings before the content. Set permalinks to post name, force one canonical domain over HTTPS, then use your SEO plugin to noindex thin tag, author, date and attachment pages. Set title templates per post type, keep one source of schema, and link every post into a topic cluster. Then handle caching and images. Content only ranks once those are right.
Is a WordPress SEO plugin enough on its own?
No. A plugin outputs titles, sitemaps and schema, but it does nothing until configured, and it does not fix internal linking, thin category pages, permalink structure or speed. Treat it as the control panel for a handful of decisions you still have to make. The rankings come from those decisions, not from the installation.
Why is my WordPress site not ranking despite good content?
Usually something structural. The most common causes are thin tag and author archives sitting in the index, posts with no internal links pointing at them, both www and non-www versions being indexed, and slow mobile pages. Each of those wastes content you already have. Fix indexation and internal linking first, because they extract value from pages you already published.
How do I stop WordPress creating thin pages?
Noindex tag, author and date archives in your SEO plugin unless you curate them, and set attachment URLs to redirect to the media file so image pages stop existing. Review the taxonomies your theme registers and disable the ones you do not use. Then check the Search Console pages report for anything indexed that should not be and remove it deliberately rather than waiting.
Is there a free WordPress SEO plugin?
Yes. Yoast, Rank Math, SEOPress, and The SEO Framework all have free versions, so the plugin cost can be zero for basic sites. The important part is configuration: titles, schema, sitemaps, noindex rules, and redirects need to match the site.
