/ โ† Site Audit Fixes / WordPress SEO
In this guide
  1. Is WordPress good for SEO?
  2. The WordPress settings that hold sites back
  3. How to check your WordPress SEO setup
  4. Titles, descriptions, headings and content
  5. Internal links, sitemaps and speed
  6. A worked example: Example Bakery's blog
  7. The fix, step by step
  8. Edge cases worth knowing
  9. Keeping WordPress SEO in good shape
  10. Questions and answers

Is WordPress good for SEO?

Yes. Search engines do not rank a site higher or lower because it runs on WordPress. What they see is the HTML each page sends, how fast it arrives and how the pages link to each other, and WordPress handles the basics of all three well. Out of the box it gives you:

What WordPress does not do is decide your page titles and descriptions for searchers, stop low-value archive pages from being indexed, or keep a heavy theme and twenty plugins fast. Those are the parts you fix, and they are the same whether you run a five-page business site or a blog with a thousand posts.

๐Ÿ’ก Plugins are helpers, not a ranking factor. An SEO plugin gives you fields for titles and descriptions and tidies the sitemap; it cannot make thin content rank. Our guide to the best WordPress SEO plugin compares the main options.

The WordPress settings that hold sites back

Most WordPress SEO problems come from a short list of defaults and leftovers. Check these first, because they affect every page at once.

ProblemWhere it livesWhat it does to search
Discourage search engines tickedSettings, ReadingAdds noindex, nofollow to every page, so nothing gets indexed
Plain permalinksSettings, PermalinksAddresses like /?p=123 that say nothing about the page
No title or description controlTheme and pluginsTitles are just the post name, descriptions are left for Google to guess
Attachment pagesMedia libraryA thin page for every uploaded image on older sites
Tag and date archivesTheme templatesHundreds of near-empty listing pages competing with real content
Orphaned postsMenus and contentPosts only reachable through deep pagination, so they are crawled rarely
Heavy theme or page builderAppearanceSlow loading and poor Core Web Vitals on mobile

WordPress 6.4 and later turn attachment pages off on new installs, but sites that were set up earlier usually still have them. If you moved the site from a staging copy, check the visibility setting before anything else: it is the single most common reason a new WordPress site gets no search traffic at all.

How to check your WordPress SEO setup

You can confirm most of the basics without logging in. Start by fetching a post with curl and reading what Google would receive:

curl -s https://example.com/sample-post/ | grep -iE '<title>|name="robots"|rel="canonical"|name="description"'

You want one title, one canonical pointing at the same address, a description, and either no robots tag or one that says index. A line containing noindex on a page you want in Google is the first thing to fix. Then check the robots file and the sitemap:

curl -s https://example.com/robots.txt
curl -sI https://example.com/wp-sitemap.xml
curl -sI https://example.com/sitemap_index.xml

If your host gives you a shell, WP-CLI shows the settings directly:

wp option get blog_public          # 1 means visible to search engines, 0 means hidden
wp option get permalink_structure  # empty means plain permalinks
wp plugin list --status=active     # look for two SEO plugins at once

Finally, paste a key address into URL Inspection in Google Search Console. It tells you whether the page is indexed, which canonical Google chose, and whether the live page can be indexed now. Running a crawl of the whole site with our WordPress site audit guide alongside it shows the same issues across every page rather than one at a time.

Titles, descriptions, headings and content

Once Google can crawl the site, the biggest gains come from the words on each page. For every important post and page:

Blogs: categories, tags and archives

For a blog, keep a small number of categories that act as topic hubs, write a short introduction at the top of each category page, and use tags sparingly. A tag used on one post creates a listing page with one item on it. Either merge rarely used tags or set tag archives to noindex in your SEO plugin. Date and author archives on a single-author blog are duplicates of the main blog listing and can be set to noindex or switched off.

A worked example: Example Bakery's blog

Example Bakery moved its site from a staging subdomain to example.com and, after three months, had eleven pages indexed and almost no search visits. The checks above found four problems:

  1. wp option get blog_public returned 0: the visibility box had been carried over from staging. Every page carried noindex, nofollow.
  2. Permalinks were set to plain, so posts lived at /?p=482.
  3. The site had 340 tag archives for 90 posts, most with a single post on them.
  4. The homepage used a slider with five full-size images, and mobile LCP was over 5 seconds.

The fix took an afternoon. Unticking the visibility box removed the noindex. Switching to the Post name structure changed the addresses to /sourdough-starter-guide/, and WordPress itself redirects old ?p= links to the new address, so nothing broke. Tag archives were set to noindex and trimmed to twelve useful tags, the slider was replaced with one compressed hero image, and the new sitemap was submitted. Within six weeks Search Console showed 96 indexed pages and the first non-brand search clicks.

The fix, step by step

Step 1

Make the site visible to search engines

Open Settings, then Reading, and untick Discourage search engines from indexing this site, then save. On the command line, wp option update blog_public 1 does the same. Clear your page cache and any CDN cache so the old noindex tag is not served from memory. Confirm it worked by fetching the homepage with curl and checking that the robots meta tag no longer contains noindex, and that robots.txt does not block the whole site.

Step 2

Switch to Post name permalinks

Go to Settings, then Permalinks, choose Post name and save, which sets the structure to /%postname%/. If you are already on another pretty structure, leave it alone unless you have a redirect plan. Saving this screen also rewrites the rules WordPress uses for its addresses, which fixes many sitemap and archive 404 errors. Confirm by opening an old plain link such as /?p=123 and checking that it redirects to the new readable address.

Step 3

Install one SEO plugin and set the basics

Install a single SEO plugin such as Yoast SEO, Rank Math or All in One SEO, and run its set-up wizard. Choose whether the site represents a business or a person, add the business name and logo, and decide which content types should appear in search. Deactivate any second SEO plugin after importing its data. Confirm by viewing a page source and checking there is exactly one title tag and one meta description.

Step 4

Write titles and descriptions for key pages

Start with the homepage, the main service or product pages and the ten posts that get the most visits. Give each a unique title of about 50 to 60 characters that begins with the search phrase, and a description of about 150 to 160 characters that says what the reader gets. Use the plugin's preview to check length. Confirm by fetching each page with curl and reading the title and description values in the HTML.

Step 5

Tidy archives and attachment pages

In your SEO plugin, set tag archives, date archives and, on single-author blogs, author archives to noindex, or merge tags that hold only one or two posts. Make sure attachment pages redirect to the file or the parent post rather than existing as thin pages. Keep category pages indexed and add a short introduction to each. Confirm by checking that the excluded archive types no longer appear in your XML sitemap.

Step 6

Submit a single sitemap

Find which sitemap is live: your SEO plugin's index, often /sitemap_index.xml, or the core /wp-sitemap.xml. Open it in a browser and check it lists your posts and pages but not the archives you set to noindex. In Search Console, open Sitemaps, submit that address and remove any old sitemap entries that now fail. Confirm the status reads Success and the discovered page count roughly matches your number of posts and pages.

Step 7

Build internal links between related posts

Group your posts by topic and pick one strong page for each topic as a hub. Link each supporting post to its hub and to two or three related posts, using anchor text that describes the target page. Add the hubs to your main menu or footer. Check that no important post is linked only from deep blog pagination. Confirm by running a crawl and checking that every post has at least one internal link pointing to it.

Step 8

Speed up the theme and images

Enable full-page caching through your host or a caching plugin, convert large images to WebP or AVIF, and remove lazy loading from the main image at the top of each template. Deactivate plugins you no longer need and replace sliders on key pages with one static image. Then test the homepage and a typical post in PageSpeed Insights on mobile, and compare the Largest Contentful Paint with your figure from before the changes.

Step 9

Request indexing and track the results

Use URL Inspection in Search Console on the homepage and your most important pages, check that Test live URL reports the page can be indexed, and request indexing. Note the indexed page count in the Pages report and your clicks in the Performance report as a baseline. Check them again after two and six weeks. Rising indexed pages and impressions show the changes are working; any remaining exclusions show what to fix next.

Edge cases worth knowing

Keeping WordPress SEO in good shape

WordPress sites drift. A plugin update changes a default, a designer adds a new template, or a staging copy is pushed live with the visibility box ticked. A short routine catches it:

  1. After every deployment or migration, run the curl check above on the homepage and one post, and confirm there is no noindex.
  2. Once a month, open the Pages report in Search Console and read the reasons for pages that are not indexed, such as excluded by noindex tag.
  3. Before adding a plugin, ask what it adds to every page's HTML and whether it duplicates something you already have.
  4. Give every new post at least two internal links in and one out, and add it to its category page.

Crawling the site every few months finds the issues a single page check misses, such as broken links, duplicate titles and pages that slipped out of the sitemap.

Questions and answers

1. Is WordPress good for SEO?

Yes, WordPress is a good platform for SEO, and many of the best-ranking blogs and small business sites run on it. It sends server-rendered HTML, supports readable permalinks, writes a title tag for each page and publishes an XML sitemap without any plugins. Google does not favour or penalise a site for using WordPress. Results depend on what you do with it: the content, the titles, the internal links and the speed of your theme. A poorly configured WordPress site can perform badly, but that is down to the settings, not the platform.

2. How do I improve SEO on my WordPress website?

Start by checking that the site is visible to search engines in Settings, Reading, and that permalinks use the Post name structure. Then install one SEO plugin and write a unique title and meta description for each important page. Set thin tag and date archives to noindex, submit a single XML sitemap in Search Console, and link related posts to each other. Finally, speed the site up with caching and properly sized images. Those steps fix most of the problems that hold WordPress sites back, in roughly the order they matter.

3. Do I need an SEO plugin for WordPress?

You do not strictly need one, but most sites benefit from it. WordPress core already handles title tags, canonical tags on posts and a basic sitemap. An SEO plugin adds the fields to write custom titles and meta descriptions, lets you noindex archive types, controls which content goes in the sitemap, and adds structured data describing your business. Use exactly one plugin. Running two at once usually produces duplicate tags in the page head and conflicting sitemaps, which makes things worse rather than better.

4. How do I add SEO to a WordPress page?

Open the page in the editor and scroll to your SEO plugin's panel, usually below the content or in the sidebar. Enter a focus search phrase if the plugin asks for one, then write an SEO title of about 50 to 60 characters and a meta description of about 150 to 160 characters. Check the page has one H1, clear subheadings and descriptive image alt text. Save, then view the page source or use URL Inspection in Search Console to confirm the new title and description are in the published HTML.

5. How do I do SEO for a WordPress blog?

Choose topics people actually search for, and write each post to answer one question fully, with the answer near the top. Organise posts into a few categories that act as topic hubs, use tags sparingly, and link new posts from older related ones. Give every post a clear title and description, compress images, and keep the theme fast. Set thin tag and date archives to noindex so Google spends its time on your posts. Then publish consistently and update older posts when the facts change.

6. Why is my WordPress site not showing up on Google?

The most common reason is that Discourage search engines from indexing this site is still ticked in Settings, Reading, which adds a noindex tag to every page. Other causes are a robots.txt file that blocks the whole site, a new site that Google has not discovered yet, or pages Google crawled but chose not to index because they are thin or duplicated. Check the setting first, then inspect your homepage with URL Inspection in Search Console, which reports whether the page is indexed and why not.

7. Which permalink structure is best for SEO in WordPress?

Post name, which produces addresses such as example.com/sourdough-starter-guide/, is the best choice for most sites. It is short, readable and describes the page. Adding the date makes addresses longer and makes evergreen posts look dated, while a category in the address means the address changes if you move a post. If your site already uses another readable structure and ranks well, keep it. Changing permalinks on an established site needs 301 redirects for every old address, and the gain rarely justifies the risk.

Audit your WordPress site for SEO problems

The Site Audit crawls your WordPress pages and flags noindex tags, missing or duplicate titles, thin archives, broken links and slow templates, so you can see every issue on one list and fix the biggest first.

Open Site Audit Fixes โ†’
๐Ÿ’ฌ Got a problem?
Related Guides: All Site Audit Fixes  ·  Best WordPress SEO plugin  ·  Meta tags in WordPress  ·  Robots.txt and sitemaps in WordPress  ·  WordPress page speed  ·  Learning Hub

About aiwebpageseo

aiwebpageseo.com is a data-driven SEO and AEO (Answer Engine Optimisation) platform providing a free suite of technical SEO tools. Rather than relying on AI-theorised assumptions, the platform analyses live URL performance, delivering objective diagnostics, page speed metrics, CLS debugging, and site crawl data alongside actionable technical tutorials.