Guides
WordPress SEO, step by step
Task-by-task guides for WordPress sites, from fixing Search Console indexing statuses to redirects, schema and AI crawlers. Not sure where to start? Run a free audit first.
Search Console 12
- How to add Google Search Console to WordPressVerify your WordPress site in Google Search Console with a DNS record or an HTML tag, then submit your sitemap and add your team. About 15 minutes.
- How to check if a page is indexed by GoogleCheck whether Google has indexed a page with the URL Inspection tool, read the result correctly, and know when the site: search and the Pages report help.
- "Alternate page with proper canonical tag": what it means and when to act"Alternate page with proper canonical tag" is usually a healthy status. Learn what it means, which WordPress URLs belong there, and the rare cases to fix.
- How to fix "Blocked by robots.txt" in Search ConsoleWhat "Blocked by robots.txt" means in Search Console, when blocking is intended, and how to find and remove the WordPress robots.txt rule blocking your pages.
- How to fix "Crawled - currently not indexed" in Search ConsoleWhat "Crawled - currently not indexed" means in Google Search Console, when to ignore it, and how to fix the WordPress pages that should be in the index.
- How to fix "Discovered - currently not indexed" in Search ConsoleWhat "Discovered - currently not indexed" means, why Google has not crawled the page yet, and how to fix it on WordPress with links and a clean sitemap.
- How to fix "Duplicate without user-selected canonical"What "Duplicate without user-selected canonical" means, when Google's choice is fine, and how to fix www, http and trailing-slash duplicates on WordPress.
- How to fix "Excluded by 'noindex' tag" in Search ConsoleWhat "Excluded by 'noindex' tag" means, which WordPress settings add noindex without you noticing, and how to remove it from pages that should be in Google.
- "Page with redirect" in Search Console: when to fix it and when to ignore it"Page with redirect" in Search Console is usually normal. See when it needs no action, when it points at a real problem, and how to clean it up on WordPress.
- How to fix "Soft 404" errors in WordPressWhat "Soft 404" means in Search Console, the WordPress pages that trigger it, and how to fix each one: real content, a proper 404, or a relevant redirect.
- How to request indexing in Google Search ConsoleRequest indexing for a page with Search Console's URL Inspection tool, know the daily quota and what the request does, and use sitemaps for everything else.
- How to submit a sitemap to Google in WordPressFind your WordPress sitemap URL, check it is clean, submit it in Google Search Console and read the status correctly. A five minute job you do once.
Setup 1
Technical 14
- How to add breadcrumbs to WordPressAdd visible breadcrumbs to any WordPress theme with a shortcode or PHP function, pick the category each trail uses, and output matching BreadcrumbList schema.
- How to add schema markup to WordPressAdd JSON-LD schema markup to WordPress site-wide and per page, check what your theme already prints, and validate it before Google reads it.
- How to change permalinks in WordPress without losing SEOChange a WordPress slug or your whole permalink structure safely: record old URLs, 301 each one in one hop, update internal links, watch Search Console.
- How to edit robots.txt in WordPressEdit your WordPress robots.txt without FTP, write rules that do not block CSS or your whole site, and test the live file before crawlers read it.
- How to fix 404 errors in WordPressFind the 404 errors that matter in WordPress through Search Console and a site audit, then redirect, relink or deliberately leave each one dead.
- How to fix duplicate content in WordPressFind where WordPress creates duplicate URLs, from www and http variants to archives and cloned posts, and fix each with a redirect, canonical or noindex.
- How to fix redirect chains in WordPressFind redirect chains in WordPress with curl, work out which rule causes each hop, and point every old URL straight at its final destination in one step.
- How to move WordPress to a new domain without losing SEOMove a WordPress site to a new domain: copy the site, replace URLs safely, add path-preserving 301s, use Search Console's Change of Address tool and monitor.
- How to noindex a page in WordPressKeep a WordPress page out of Google with a noindex robots meta tag, per page or for a whole post type, and avoid the robots.txt mistake that stops it working.
- How to noindex tag and category archives in WordPressDecide which WordPress tag and category archives deserve indexing, noindex the thin ones in one setting, and keep the archives that earn traffic.
- How to redirect attachment pages in WordPressStop WordPress media attachment pages from being indexed as thin content: turn them off, redirect them to the file or parent post, and clean up links.
- How to remove the category base from WordPress URLsRemove /category/ from WordPress category URLs with one switch, keep old links working with 301 redirects, and avoid clashes with pages that share a slug.
- How to set up 301 redirects in WordPressCreate a 301 redirect in WordPress from the dashboard or at the server, test it with curl, and avoid the homepage and chain mistakes that waste the redirect.
- How to set up hreflang tags in WordPressAdd correct hreflang tags to a multilingual WordPress site: pick a setup, use the right language codes, make tags reciprocal, add x-default, check the output.
Content 5
- How to bulk add alt text in WordPressClear a backlog of images with no alt text in WordPress: write the important ones by hand, generate the rest in bulk with AI, and review before you save.
- How to find and fix orphan pages in WordPressFind WordPress pages that nothing links to, decide which deserve links and which should go, and add internal links that give them context and crawl paths.
- How to fix keyword cannibalization in WordPressFind WordPress posts competing for the same query, confirm the overlap in Search Console, then merge, re-angle or re-link them so one page ranks.
- How to prune thin content in WordPress without losing trafficFind thin WordPress posts, decide for each one whether to improve, merge, noindex or delete it, and clean up redirects and links so nothing of value is lost.
- How to refresh old WordPress posts for SEOPick old posts worth updating with Search Console data, rewrite what has gone stale, keep the URL, and change the date only when the content really changed.
Performance 2
- How to improve Core Web Vitals in WordPressFind which WordPress templates fail Core Web Vitals, then fix LCP, INP and CLS in order, using field data from Search Console to confirm the result.
- How to reduce TTFB in WordPressMeasure time to first byte in WordPress, then cut it with page caching, an object cache, newer PHP and fewer slow plugins, testing each change as you go.
WooCommerce 2
- How to optimize WooCommerce category pages for SEOTurn WooCommerce product categories into pages that rank: write descriptions, set titles, keep filter and sort URLs out of the index and handle pagination.
- How to optimize WooCommerce product pages for SEOOptimize WooCommerce product pages for search: title templates, original descriptions, image alt text, one clean Product schema and a sensible plan for stock.
Local 1
AI search 3
- How to add an llms.txt file to WordPressPublish an llms.txt file on WordPress without FTP: what to write in it, how to serve it at /llms.txt, how to check it, and what it can and cannot do.
- How to block AI crawlers in robots.txtBlock GPTBot, ClaudeBot, CCBot and other AI crawlers in robots.txt while staying in Google Search, and see which bots train models and which fetch for search.
- How to optimize your WordPress content for Google AI OverviewsWhat gets a page cited in Google AI Overviews, what Google says about it, and the WordPress changes that make your pages easier to pull an answer from.