Setting Up SEO on a WordPress Site: Step by Step
WordPress SEO: practical steps from setup to plugin choice, speed optimisation to content structure. A complete guide for beginners building visibility.

WordPress SEO means opening the site's indexing setting, choosing a stable URL structure, writing a distinct title and description for every page, checking canonical and sitemap alignment, connecting the content with internal links, improving speed and measuring the results in Search Console. An SEO plugin can ease these controls, but it doesn't make a weak page strong and gives no position guarantee on Google.
The most expensive mistake is often a hidden checkbox: the "Discourage search engines" option ticked during development stays on in the live version. After that, the team spends weeks fixing titles and keywords while Google was never given permission to index. That's why this guide starts not from a plugin but from the entry gate.
1. Build the decision map and check the index settings
First write the site's page map: the homepage, services, products, categories, articles and the helper URLs you don't want indexed. Choose one core intent and one preferred URL for every important page. A plugin installed before that decision just creates more boxes.
| Decision | Answer to write | Check result |
|---|---|---|
| Core audience | Who comes to solve which problem? | The page type and language become clear |
| URL map | What is each intent's primary address? | Duplicates and cannibalisation shrink |
| Index rules | Which content types and archives should be in Google Search? | The sitemap and robots decision becomes clear |
| Measurement | How do impressions, clicks, inquiries and sales connect? | SEO work moves from reports to decisions |
For a new site this map can be small. On an existing site, run the SEO mistakes audit first; changing working URLs without cause isn't a fresh setup, it's migration risk. If URLs must change, the permanent redirect plan from old to new belongs in the same table.
Don't leave Search Engine Visibility ticked on a live site
In the WordPress admin, go to Settings → Reading. If you want the live site indexed, "Discourage search engines from indexing this site" must not be ticked. Per WordPress's official documentation, when the option is ticked a noindex,nofollow directive can be output in the page's head; the option doesn't password-protect access and gives no guarantee about search engines' decisions.
After saving, search for noindex in the source code of the homepage and one article. Then check the HTTPS, Site URL and Home URL values under Tools → Site Health → Info. If the http and https, www and non-www versions open in parallel, choose the preferred version and redirect the rest to it.
2. Stabilise the permalinks and URL map
In Settings → Permalinks, choose a readable structure unlikely to change in the future. For most service and corporate sites the Post name structure is comfortable; a dated structure can be a separate decision when the date is a vital part of a news item's content identity. WordPress's permalink documentation stresses these addresses are permanent, so a structure change on a live site must not happen without redirects.
Keep the slug short, but don't lose the meaning
/services/seo-audit/ shows the user the topic; /?p=483 doesn't. Write the slug before publishing, use lowercase letters and hyphens, and remove unneeded words. You don't need to break the natural name to place a keyword in the URL.
Include the categories and tags in the map too. Instead of dozens of empty tag archives showing the same articles, keep the taxonomy that gives the user distinct selection value. When building the topic map, use keyword analysis to determine whether one query family needs one primary URL or separate intents.
3. Choose the SEO plugin by function, not by name
WordPress core does some important work by itself: it can output canonicals for single posts and pages, and in a standard install it creates a sitemap at /wp-sitemap.xml. So the idea "Google can't see the site without an SEO plugin" isn't true. The plugin's job is giving editors and the technical team those controls more conveniently, consistently and measurably.
| Function | Why it's needed | Selection test |
|---|---|---|
| SEO title and description | Writing a distinct search presentation per URL | Are there fields for posts, pages and custom content types? |
| Canonical and robots | Managing the primary URL and the index rules | Is there control at template and single-URL level? |
| Sitemap control | Removing unneeded archives | Can post types and taxonomies be chosen separately? |
| Structured data | Describing the page type correctly | Does it fit the visible content and is it testable? |
| Social preview | Managing the share title and image | Can the Open Graph fields be changed separately? |
Don't keep two SEO plugins doing the same job active in parallel. Two canonicals, two schema graphs and different sitemap addresses can appear. Choose one, take a backup, clear the caches and recheck the source code of five different page types.
4. Build the page template and content
Every indexed page needs one clear H1, a page-specific title, a concrete description and text answering the intent on the first screen. Google can build the title link not only from the <title> element but also from the H1, prominent visible text, anchor texts and other sources. So the title, the H1 and the page's core promise must not point in three directions.
A one-page template for the editor
- Give a two-sentence direct answer to the query in the first paragraph.
- Order the H2s by the user's decision sequence, not by a keyword list.
- Show a primary or official source beside the claim.
- Don't present a hypothetical example as a real result; mark the assumption.
- Guide the reader to the related main and sub-topics with descriptive internal links.
- Keep the author, publish and real update dates visible.
The meta description should summarise each page separately and honestly. Per Google's snippet documentation, Google Search sometimes uses this field and sometimes picks a more fitting passage from the page itself. The description is not a ranking promise; it's the presentation explaining the result to the right user.
AI can be useful for research and structure, but publishing generated text as-is isn't an editorial process. Google's current AI content guide demands accuracy, quality and fit; creating many pages without new value for users can fall under scaled content abuse risk. Pass every article through a human read for meaning, sources, language, differentiating ideas and fact dates.
5. Align the sitemap, canonical and schema
The standard WordPress sitemap index usually sits at /wp-sitemap.xml and can include groups like public content types, taxonomies and author archives. The WordPress core sitemap implementation documentation shows this behaviour and that the sitemap is disabled when the discourage-indexing setting is on. If an SEO plugin creates another sitemap, keep only one primary system and submit that address to Search Console.
Three signals must show the same URL
Internal links, the sitemap and the canonical must point to the same preferred URL. WordPress's rel_canonical() function outputs canonicals for single post and page requests, but custom templates, filters, e-commerce and multilingual builds must be checked separately. In canonical selection, Google counts redirects and the rel="canonical" element as strong signals and sitemap inclusion as weaker.
Schema should describe only the visible content and the real page type. Choose Article, Breadcrumb, Organization, Product and LocalBusiness markup by need; don't add reviews and prices absent from the page just to get a rich result. Google's structured data policies state openly that even correct markup guarantees no rich result.
6. Reduce the image and performance load
A WordPress speed problem isn't as simple as "install one caching plugin." Hosting limits, the theme, plugin queries, image sizes, fonts, third-party scripts and caching create the result together. WordPress's performance guide also lists hosting, configuration, software versions, plugin count and media size among the main impact areas.
- Delete unused themes and plugins; even deactivated code creates update and inventory load.
- Export images close to their display size, choose quality-preserving compression and a fitting next-generation format.
- Don't delay the main image with lazy loading and worsen LCP; use the technique for images below the fold.
- Measure the ad, analytics, chat and font scripts one by one; don't count them all as "essential."
- Compare the same URL, device and connection conditions before and after the change.
In the image block, fill the file name, the alt text and the caption according to the content. WordPress's Image block documentation shows this information is useful for accessibility and SEO; writing a keyword list on a decorative image is not usefulness. In Google's current thresholds, a good experience targets LCP at 2.5 seconds, INP under 200 milliseconds and CLS under 0.1 — but Core Web Vitals is not a single ranking button.
7. Run a 30-day check with Search Console
Add domain ownership in Search Console, submit the sitemap and check one URL from each core template alongside the homepage. URL Inspection gives diagnostics about the indexed version, the live test, the Google-selected canonical, crawl information and detected structured data. The "URL is on Google" status is no guarantee the page will appear or rank for every query.
| Period | Work | Confirmation |
|---|---|---|
| Day 1 | Index setting, HTTPS, URL, canonical, sitemap and robots check | Five template URLs pass Live Test |
| Days 2–7 | Title, H1, direct answer, internal link and schema edits on core pages | The mobile view and Rich Results Test results are stored |
| Days 8–14 | Measuring the image, cache, theme and plugin load | The LCP element and the slow query's cause are recorded |
| Days 15–30 | Tracking indexing, impressions, clicks and fitting inquiry trends | The change log is compared with the same URL group |
Search Console is not a paid registration for entering Google; it's a measurement tool for visibility and faults. Per Google's official explanation, the service helps monitor the site's discovery, crawling, index problems and search traffic. For the broader base use the what is SEO guide, and for the detailed technical check the 25-step technical SEO checklist.
Frequently asked questions
Is an SEO plugin mandatory for WordPress?
No. WordPress core provides some basics like the sitemap and canonicals for single posts and pages. A plugin makes title, description, robots, schema and sitemap control more convenient for editors. The choice should be made by a needs list, not a brand name, and two plugins doing the same job must not run in parallel.
Why doesn't my WordPress site appear on Google?
First check the discourage-indexing option in the Reading settings, noindex on the page, the HTTP response, the robots rules, the canonical target and any access restriction. Then compare the indexed and live versions in URL Inspection. If no technical obstacle exists, evaluate the content's uniqueness, usefulness and internal links separately.
Can the permalink structure be changed later?
Technically yes, but if existing URLs change, a permanent redirect from every old address to the fitting new address must be built. Internal links, canonicals and the sitemap must be updated too. A mass change without redirects can break user links, external links and the URL signals Google recognises.
What is the WordPress sitemap address?
The standard WordPress core sitemap index usually opens at /wp-sitemap.xml. An SEO plugin can create /sitemap_index.xml or another address. What matters is not keeping two rival sitemap systems, submitting only the canonical URLs intended for indexing and verifying the working address in Search Console.
Does writing WordPress articles with AI harm SEO?
AI use in itself is no penalty cause. The risk appears when many similar pages are published without fact-checking, original value and human editing. The article must answer the search intent, source its claims, add experience and judgment, and be checked by a human end to end for language and meaning.
Sources
- WordPress.org: Settings Reading screen
- WordPress.org: Settings Permalinks screen
- Make WordPress Core: Extensible core sitemaps
- WordPress Developer Resources: rel_canonical()
- WordPress Advanced Administration: Optimization
- WordPress.org: Image block
- Google Search Central: Canonicalization methods
- Google Search Central: Title links
- Google Search Central: Snippets and meta descriptions
- Google Search Central: Structured data guidelines
- Google Search Central: Core Web Vitals
- Google Search Central: Generative AI content guidance
- Search Console Help: URL Inspection tool
- Search Console Help: About Search Console
WordPress SEO is not installing one plugin and collecting green lights. The right outcome is a structure where Google sees the same preferred URL, the user gets a clear answer and the team can measure the changes. Move to the AEO and GEO stage after that base stabilises too; to build the implementation as a project, see the SEO, AEO and GEO strategy service.
I'm Anar Rustamli - a strategist, entrepreneur, and AI adoption leader working at the edge of growth, technology, and human thinking. Since 2016, my work has focused on helping businesses evolve in a rapidly changing digital landscape. I design growth systems, AI-powered workflows, and strategic frameworks that align performance with purpose. I believe real growth happens when strategy, data, and human insight work together - and my mission is to help businesses adopt AI in a way that strengthens both their results and their identity.

