Specialist SEO checklist

WordPress SEO Checklist

This WordPress SEO checklist turns site settings, plugin fields and theme output into practical checks. Start with the production site’s visibility and URLs, configure the SEO plugin you actually use, and inspect the published page after every important change. Menu names can differ by version, hosting and editor; these steps use current official documentation rather than a tested installation of your site.

Free to useNo account neededSaved in your browser
Modular content blocks beside a settings gear, a permalink chain and an indexing switch.
An editorial illustration
Your working checklist

Work through the checklist

Click a square to mark a task as Pass. Click again to undo. Use the result menu for a problem, a blocker or a task that does not apply. You do not need to enter notes.

16 checks

Check the WordPress site you are editing

Confirm the production site, its editor and its indexing setting before changing shared output.

Check WordPress search engine visibility

Remove an unintended request to stay out of search.

Use this for: Public WordPress sites intended for search.

In the production dashboard, open Settings → Reading and review “Discourage search engines from indexing this site.” Clear it only when this is the public site meant for search, then save. Inspect a public page for remaining noindex from plugins or hosting. That checkbox does not secure staging or private content; use real access control for those.

Example

Illustrative launch fault: production still has the development checkbox selected. Clear it on production, while the separate staging site remains protected by authentication.

  1. Confirm the production address.
  2. Review Settings → Reading.
  3. Save the intended setting and inspect public output.
More help and optional notesHigh · WordPress administrator

Before you begin: Production WordPress Settings access and a way to inspect public robots output.

PassPublic pages intended for search are not accidentally noindexed.
FailProduction still requests exclusion or another layer outputs unintended noindex.

If it fails: Correct the responsible setting; retain appropriate private-site access protection.

Retest: Check the live page’s robots directives and run a live URL Inspection test.

Not applicable: This is a private or staging site intentionally excluded from search.

Optional: affected URL, change made and next check. Keep confidential data out of shared exports.

No result recorded yet.

Changing this result updates your checkmark and progress immediately. Notes are optional.

Edit the actual WordPress homepage

Avoid updating a page that is not the front page.

Use this for: WordPress homepage configuration.

Open Settings → Reading to see whether the homepage shows recent posts or a selected static page. For a static homepage, edit that selected page’s content and its SEO fields. For a posts homepage, use the relevant theme and SEO-plugin homepage controls. Check the public root address after saving.

Example

Illustrative mismatch: a page named Home has new service copy, but Reading still selects Welcome. Change the intended assignment only after confirming the correct page, then verify the root URL.

  1. Read the homepage assignment.
  2. Edit the page or template that actually supplies it.
  3. Open the public homepage.
More help and optional notesHigh · WordPress editor

Before you begin: Settings → Reading access and editing permission for the selected page or homepage template.

PassThe root URL shows the intended content and metadata.
FailChanges were saved to an unused page or an unrelated template.

If it fails: Correct the page assignment or edit the active homepage source.

Retest: Compare the root page with the saved content and title output.

Not applicable: The page type or feature described is not used on this site.

Optional: affected URL, change made and next check. Keep confidential data out of shared exports.

No result recorded yet.

Changing this result updates your checkmark and progress immediately. Notes are optional.

Check the sitemap without requiring an SEO plugin

Use the generator your site actually has.

Use this for: WordPress sites without another intentional sitemap generator.

If no plugin owns the sitemap, open /wp-sitemap.xml on your own site. Supported public WordPress core installations generate this sitemap index by default, although configuration or plugins can disable or replace it. Open a child sitemap and verify a public intended page. If the address fails, check visibility settings and installed plugins with the administrator before installing anything. Submit the working active sitemap in Search Console.

Example

Illustrative setup: a small WordPress site has no SEO plugin and a working /wp-sitemap.xml listing its public pages. It can use that sitemap directly.

  1. Open the site’s /wp-sitemap.xml.
  2. Check a child sitemap and intended public page.
  3. Submit the active sitemap and review processing.
More help and optional notesHigh · WordPress administrator

Before you begin: The public WordPress domain, knowledge of the active sitemap generator and Search Console submission access.

PassThe active generator provides a readable sitemap for intended public content.
FailThe expected sitemap fails or important public pages are unexpectedly absent.

If it fails: Check the site visibility, generator and plugin configuration with the administrator.

Retest: Reopen the sitemap and review Search Console’s processing result.

Not applicable: A plugin or custom system already owns the active sitemap.

Optional: affected URL, change made and next check. Keep confidential data out of shared exports.

No result recorded yet.

Changing this result updates your checkmark and progress immediately. Notes are optional.

Use the Yoast SEO checklist when Yoast is active

Review template defaults and individual exceptions, then inspect what visitors and crawlers receive.

Set useful Yoast title and description defaults

Generate descriptive metadata without repeated boilerplate.

Use this for: Sites using Yoast SEO as the metadata owner.

In Yoast SEO → Settings, open the relevant Content types or Categories & tags screen and review the Search appearance templates. Use the page title and an appropriate site-name variable rather than one identical service phrase on every page. For an important page, edit its individual SEO title and description in the Yoast panel and inspect the final HTML after saving.

Example

Illustrative repair page title: “Bicycle Brake Repair | Example Workshop.” A description can say “See the brake repairs we offer, what to bring and how to request an appointment,” when those details are on the page.

  1. Review the correct content-type template.
  2. Write an accurate per-page title and description where needed.
  3. Save and inspect the public title and description.
More help and optional notesHigh · WordPress editor

Before you begin: Active Yoast SEO, access to relevant template settings and a representative editable page.

PassImportant pages output distinct accurate metadata without duplicated separators or site names.
FailA template repeats the same claim everywhere or overrides the intended page title.

If it fails: Correct the template variables or individual override.

Retest: Recheck a standard page and a page with an override.

Not applicable: Yoast is not the active SEO metadata plugin.

Optional: affected URL, change made and next check. Keep confidential data out of shared exports.

No result recorded yet.

Changing this result updates your checkmark and progress immediately. Notes are optional.

Open the sitemap Yoast actually generates

Verify the active discovery output.

Use this for: Sites using Yoast XML sitemaps.

In Yoast SEO → Settings → Site features, find the Technical SEO XML sitemaps setting and use View the XML sitemap. Open the relevant child sitemap and check a recently published, indexable page. Submit the actual active sitemap in Search Console; do not assume every WordPress installation uses the same sitemap address.

Example

Illustrative check: the post is public and intended for search, but absent from the post sitemap. Review its index setting and the content-type configuration before adding another sitemap plugin.

  1. Open Yoast’s sitemap control.
  2. Inspect the correct child sitemap.
  3. Resolve unexpected omissions and check Search Console processing.
More help and optional notesHigh · WordPress administrator

Before you begin: Yoast sitemap settings and Search Console access for the correct production property.

PassThe active sitemap loads and includes the intended canonical page types.
FailThe sitemap errors or unexpectedly omits public indexable content.

If it fails: Correct the relevant plugin/content settings and caching issue.

Retest: Reopen the sitemap and its Search Console submission status.

Not applicable: Another generator intentionally owns the sitemap.

Optional: affected URL, change made and next check. Keep confidential data out of shared exports.

No result recorded yet.

Changing this result updates your checkmark and progress immediately. Notes are optional.

Use the Rank Math SEO checklist when Rank Math is active

Set the actual snippet fields and check global settings before relying on analysis scores.

Edit Rank Math title, description and robots output

Make the plugin describe the intended page.

Use this for: Sites using Rank Math as the metadata owner.

Open the page’s Rank Math panel, choose General → Edit Snippet, and edit Title and Description. Review site-wide defaults in Rank Math SEO → Titles & Meta for the applicable post type or taxonomy. If a page should be indexable, inspect the published robots output for an unintended exclusion. Do not chase a focus-keyword score by repeating phrases or adding irrelevant text.

Example

Illustrative article: title “How to Adjust Bicycle Brakes | Example Workshop,” with a description summarizing the real tools and steps. A green score is not proof that the page is indexed.

  1. Edit the page snippet.
  2. Review applicable template and robots settings.
  3. Save and inspect the public HTML.
More help and optional notesHigh · WordPress editor

Before you begin: Active Rank Math and access to the page panel and applicable Titles & Meta defaults.

PassSaved metadata describes the page and robots output matches its intended index state.
FailA global rule or page override produces misleading metadata or accidental noindex.

If it fails: Correct the responsible field rather than altering copy to satisfy a score.

Retest: Inspect one overridden page and another using the shared default.

Not applicable: Rank Math is not the active SEO metadata plugin.

Optional: affected URL, change made and next check. Keep confidential data out of shared exports.

No result recorded yet.

Changing this result updates your checkmark and progress immediately. Notes are optional.

Build useful WordPress category archives

Treat an archive as a real navigation page and decide its search purpose deliberately.

Improve the category name, description and article selection

Make an archive help readers choose.

Use this for: Category archives used for navigation or search.

Open Posts → Categories and edit the relevant category’s name, parent and description. Assign related articles to it and check the published archive. A description saved in the category editor may not appear because its display depends on the theme. Add an appropriate archive-description element to the template when readers need that introduction.

Example

Illustrative category: “Bicycle Maintenance” groups genuine maintenance guides and opens with a short explanation of what readers can learn. An empty category named “Best Bicycle Maintenance Tips Near Me” is not useful.

  1. Edit category fields and article assignments.
  2. Open the public archive and its pagination.
  3. Adjust the archive template if useful content is missing.
More help and optional notesHigh · WordPress editor

Before you begin: Posts → Categories access, relevant articles and permission to review the assigned archive template.

PassThe archive has a clear purpose, relevant posts and usable navigation.
FailThe category is empty, confusing or displays irrelevant articles.

If it fails: Improve the grouping and template or remove unnecessary navigation to the archive.

Retest: Open the archive as a visitor and choose a relevant article.

Not applicable: The page type or feature described is not used on this site.

Optional: affected URL, change made and next check. Keep confidential data out of shared exports.

No result recorded yet.

Changing this result updates your checkmark and progress immediately. Notes are optional.

Choose index settings for archives by usefulness

Avoid indexing or excluding whole archive types blindly.

Use this for: Sites with taxonomy, author or date archives.

Review category, tag, author and date archives on the public site. Keep archives intended to answer a distinct browsing need available for search. If a redundant archive should stay out, use the active SEO plugin’s taxonomy/archive controls to set that intention, then inspect its robots and sitemap output. Do not noindex all categories as a default shortcut.

Example

Illustrative decision: a detailed Repairs category helps visitors find services and guides, while a one-author archive simply repeats the blog listing. Review their roles separately.

  1. Sample each archive type.
  2. Decide which serves a distinct search or browsing need.
  3. Apply the relevant plugin settings and inspect output.
More help and optional notesMedium · SEO owner

Before you begin: Representative archive URLs and the active SEO plugin’s archive/taxonomy controls.

PassIndex choices match actual archive usefulness and navigation needs.
FailValuable archives are excluded or empty duplicate collections are indexed by accident.

If it fails: Correct the narrow archive setting after checking its role.

Retest: Recheck robots, canonical and sitemap treatment for affected examples.

Not applicable: The page type or feature described is not used on this site.

Optional: affected URL, change made and next check. Keep confidential data out of shared exports.

No result recorded yet.

Changing this result updates your checkmark and progress immediately. Notes are optional.

Check the WordPress theme’s public output

A setting is only useful when the theme renders the intended content, headings, images and links.

Give the template and page a clear heading outline

Separate the page title from section headings.

Use this for: WordPress themes and page templates.

For a block theme, inspect the relevant template in Appearance → Editor and the page content in its editor. Check whether the template already renders the page title as the main heading. Use Heading blocks for meaningful sections and choose their levels to show structure; do not add another prominent title solely because the editor canvas hides the template title.

Example

Illustrative outline: H1 “Bicycle Maintenance Guide”; H2 “Check the brakes”; H3 “Adjust cable tension”; H2 “Inspect the tyres.” Typography can change without changing these relationships.

  1. Inspect the template’s title element.
  2. Structure the page with meaningful heading levels.
  3. Read the final rendered outline.
More help and optional notesHigh · Theme editor

Before you begin: The actual page content and title template; Site Editor access when a block theme is used.

PassThe page has an understandable main subject and nested section structure.
FailVisual styling hides a confusing heading sequence or the main title is absent.

If it fails: Fix the heading blocks or shared title template.

Retest: Inspect several pages using the edited template.

Not applicable: The page type or feature described is not used on this site.

Optional: affected URL, change made and next check. Keep confidential data out of shared exports.

No result recorded yet.

Changing this result updates your checkmark and progress immediately. Notes are optional.

Prepare images and edit the inserted block’s alt text

Publish clear useful images at a sensible size.

Use this for: Content images in the block editor.

Resize and compress the source image for its actual display before uploading. Insert it with an Image block, choose a suitable resolution, and set Alternative text for its purpose on that page. Media Library alt text supplies a default for future inserts; changing it does not mean every existing block has updated. Leave decorative images with an empty alternative.

Example

Illustrative workshop photo alt: “Mechanic adjusting the rear brake cable on a bicycle.” A decorative colored divider needs no keyword-filled description.

  1. Resize and compress while checking detail.
  2. Upload, insert and choose the block’s resolution.
  3. Edit this block’s alternative text and inspect mobile output.
More help and optional notesHigh · WordPress editor

Before you begin: Rights to the source image, intended display dimensions and access to the inserted Image block.

PassThe image remains clear, fits the layout and has an appropriate page-specific alternative.
FailAn oversized file loads unnecessarily or the rendered alt is misleading.

If it fails: Replace the file or correct the inserted block settings.

Retest: Inspect the public image, its alt attribute and loading behavior.

Not applicable: The page type or feature described is not used on this site.

Optional: affected URL, change made and next check. Keep confidential data out of shared exports.

No result recorded yet.

Changing this result updates your checkmark and progress immediately. Notes are optional.

Check Elementor headings and content

Inspect the rendered page rather than assuming that visual size determines semantic structure.

Set Elementor heading tags to match the page outline

Keep visual design and heading meaning aligned.

Use this for: Pages built with Elementor.

Select the Heading widget in Elementor. Under Content, edit the Title and choose the appropriate HTML Tag. Styling a widget to look large does not make it an H1. Check the theme’s page title too, then inspect the published page for the complete outline and working text links. Use the installed SEO plugin for metadata rather than expecting the heading widget to set the title tag.

Example

Illustrative service page: the main heading widget uses H1 “Mobile Bicycle Repair,” while “Repairs we offer” uses H2. A decorative slogan can use a non-heading element when it is not a section title.

  1. Review the theme title and widget headings.
  2. Choose semantic HTML tags in Content.
  3. Publish and inspect the rendered outline and links.
More help and optional notesHigh · Elementor editor

Before you begin: An Elementor-built page, editing access and the theme’s current page-title output.

PassThe Elementor page has a clear meaningful heading structure and visible main content.
FailWidgets use arbitrary heading tags or only visual styling conveys the structure.

If it fails: Correct widget tags and remove unnecessary duplicate title rendering.

Retest: Inspect the public DOM and mobile page after the update.

Not applicable: Elementor is not used on the site.

Optional: affected URL, change made and next check. Keep confidential data out of shared exports.

No result recorded yet.

Changing this result updates your checkmark and progress immediately. Notes are optional.

Audit WordPress plugin output after changes

Find the component causing a problem before adding another plugin or changing the entire site.

Check for conflicting SEO and schema output

Give shared metadata a clear owner.

Use this for: Sites with SEO plugins, custom themes or structured-data integrations.

Review active plugins and the public HTML of a post, page and archive. Identify which component generates titles, canonicals, robots directives, sitemaps and structured data. Multiple plugins can coexist, but overlapping features should not emit conflicting values. Back up and test configuration changes on a protected staging copy before removing an integration or its data.

Example

Illustrative conflict: the theme emits one Product offer while an app emits another price. Fix the responsible output path; adding a third schema plugin cannot resolve the disagreement.

  1. Inventory overlapping features.
  2. Inspect representative public output.
  3. Test a narrow configuration fix before production.
More help and optional notesHigh · WordPress developer

Before you begin: Active-plugin inventory, representative page sources, a backup and protected staging access.

PassEach SEO output is intentional and conflicting duplicate values are absent.
FailDifferent components emit inconsistent canonicals, robots directives or offer facts.

If it fails: Disable the overlapping feature safely or correct its template integration.

Retest: Compare public output before and after and confirm the intended functionality still works.

Not applicable: The page type or feature described is not used on this site.

Optional: affected URL, change made and next check. Keep confidential data out of shared exports.

No result recorded yet.

Changing this result updates your checkmark and progress immediately. Notes are optional.

Retest cached pages and real template performance

Verify the change reaches visitors without a new slowdown.

Use this for: WordPress releases affecting templates, plugins or cached output.

After a template or plugin change, clear only the relevant site/CDN caches using your hosting or cache tool, then open the public page logged out. Test representative templates in PageSpeed Insights and inspect specific slow resources or layout shifts. Its field data describes real-user history when available; a fresh lab run is a diagnostic snapshot. Do not remove needed functionality merely to increase a score.

Example

Illustrative regression: an image gallery plugin loads on every article after activation. Limit its assets to pages that use the gallery, then test the article and the gallery page.

  1. Check the uncached saved change on the public page.
  2. Test affected templates and identify the actual resource or interaction.
  3. Apply and retest a narrow performance fix.
More help and optional notesMedium · Developer

Before you begin: Knowledge of the hosting/cache layers and representative URLs affected by the release.

PassVisitors receive the intended update and known template regressions are investigated.
FailLogged-out pages remain stale or a new script breaks loading or interaction.

If it fails: Correct cache invalidation or the identified template/plugin asset behavior.

Retest: Repeat the same page and interaction tests after release; review field trends later.

Not applicable: The page type or feature described is not used on this site.

Optional: affected URL, change made and next check. Keep confidential data out of shared exports.

No result recorded yet.

Changing this result updates your checkmark and progress immediately. Notes are optional.

Reset this checklist?

This removes saved statuses, evidence and result dates for the checks on this page. Other checklists keep their records. Export a CSV first if you need a copy.

A useful result, every time

Check a task. Choose a result.

This is a manual SEO workflow. It helps you decide what to investigate and keep a usable record. It does not crawl your website or verify your answers automatically.

  1. Choose your scope. Pick the relevant task group and representative pages you are authorized to inspect.
  2. Run the stated check. Follow the steps, then choose your result. Click the square for Pass, or use the result menu for another status. You do not need to type anything.
  3. Assign the next action. Fix a problem when you can, or ask the right person for help. Optional notes can remind you what to do next. Check the result again after a fix.

What your progress means

Review progress counts passes and failures against applicable checks. Failed work still counts as reviewed. Blocked and untested checks remain unfinished. This is not an SEO score.

Untested
You have not checked this yet.
Pass
You checked it and it works as described.
Fail
You checked it and found something to fix.
Blocked
You need access, information or someone’s help.
Not applicable
This task does not apply to your website.

Export CSV downloads the checks currently shown and any optional notes. Print expands the instructions for that view. Saved results stay in this browser; there is no account sync.

Apply the workflow

What should you do when WordPress settings and public output disagree?

Use the saved setting, active template and logged-out result to locate the responsible layer before making another global change.

How do you inspect a published WordPress SEO change?

Open the public page while logged out, then choose View page source in the browser or open its source view. Search for <title>, name="description", name="robots" and rel="canonical". Compare each value with the intended saved setting; robots exclusion may also be delivered in an X-Robots-Tag response header.

For headers, open browser Developer Tools → Network, reload, select the page’s document request and read Response Headers. Use the Elements panel or URL Inspection’s rendered result when JavaScript changes the output. A missing meta description is different from an unintended noindex; fix the responsible field rather than assuming every absent tag is an error.

Do you need a perfect SEO plugin score?

No plugin score proves that a page is helpful, indexed or ranking. Use analysis suggestions to notice possible omissions, then judge them against the page’s purpose. A useful explanation should not become repetitive just to satisfy an exact-match keyword test.

For a bicycle repair page, check that the service is explained, the title is accurate and the appointment route works. Use the public output and search reports to verify those outcomes.

What if your WordPress menus look different?

Confirm whether the site uses a block theme, a classic theme or a page builder, and check the installed plugin version. Block-theme navigation and templates use the Site Editor; another theme can expose different controls. If your hosting provider restricts a setting, ask its administrator to make the narrow change.

The instructions here are based on official documentation reviewed for this checklist. No screenshots or hands-on test of your installation are implied.

Continue from WordPress setup to useful pages

Use the website SEO checklist to choose and improve your real pages. Use the technical checklist for problems involving crawling or rendering beyond a WordPress setting.

A clear process, with honest limits.

Follow the steps, choose the result that matches what you found, and check again after changes. Notes are optional. A completed check does not guarantee indexing, traffic or rankings. How the checklists work.