
Great content on a technically broken site is invisible. If canonicals point to the wrong URL, your sitemap lists pages that no longer exist, or a stray noindex tag is hiding your best landing page, no amount of writing will fix it. Technical SEO is the plumbing. Get it right once, check it periodically, and let your content do the rest.
Why Technical SEO Comes First
Search engines have to discover a URL, crawl it, render it, understand what the canonical version is, and decide whether to index it. Each of those steps can fail independently of how good the writing is. A rewrite of your homepage copy will not help if Google is indexing a duplicate URL with a query string, or if your sitemap has not been regenerated in months. Fixing the foundation is usually the highest-leverage SEO work you can do, and most of it takes minutes once you know where to look.
Canonical Tags: Telling Search Engines What’s Real
A canonical tag tells search engines which URL is the authoritative version of a page when duplicates exist (common with pagination, tracking parameters, print views, or content syndicated across categories). Most WordPress SEO plugins set this automatically in the <head> as:
<link rel="canonical" href="https://example.com/your-page/" />Problems show up in a few common ways:
- A staging or migrated site still pointing canonicals at an old domain.
- Pages accessible through multiple URLs (with and without trailing slash, with and without
www) that lack a consistent canonical. - Category or tag archives that duplicate content already canonicalized to a single post.
To spot-check quickly, view source on a handful of key pages and confirm the canonical URL matches what you would expect, including protocol (https) and trailing slash consistency. If you use Cloudflare in front of your site, also confirm the canonical uses your public domain, not an internal or origin hostname.
XML Sitemaps: A Map, Not a Magnet
A sitemap does not force indexing. It simply tells search engines which URLs you consider worth crawling, and roughly how they relate to each other. Most modern SEO plugins generate one automatically at a predictable path such as /sitemap_index.xml or /sitemap.xml.
A useful sitemap should:
- Only include indexable, canonical URLs (no redirects, no noindexed pages, no 404s).
- Update automatically when you publish or unpublish content.
- Be submitted in Google Search Console and Bing Webmaster Tools so you can see indexing status per URL.
To check your sitemap from the command line:
curl -s https://example.com/sitemap_index.xml | head -50Scan for stale entries, old domains, or thousands of low-value URLs (author archives, empty tag pages) bloating the file. A sitemap full of noise makes it harder for crawlers to prioritize your actual content.
Robots.txt and Noindex Logic
Your robots.txt file controls what crawlers are allowed to request. It does not control indexing directly, that is the job of the noindex meta tag or the X-Robots-Tag HTTP header. Confusing the two is one of the most common technical SEO mistakes.
Check your robots file directly:
curl -s https://example.com/robots.txtLook for accidental blanket disallows left over from a staging environment, such as Disallow: /. Also check the WordPress setting that toggles this at the platform level:
wp option get blog_publicA value of 0 means “Discourage search engines from indexing this site” is enabled in Settings, which injects a sitewide noindex directive. This is easy to forget after a site migration or relaunch, and it silently deindexes everything.
To check for a noindex tag or header on a specific URL:
curl -sI https://example.com/your-page/ | grep -i x-robots-tagAnd view source for a meta robots tag in the head:
<meta name="robots" content="noindex, follow" />Some SEO plugins apply noindex by default to certain post types, search results, or paginated archives. That is usually correct behavior, but confirm it is not leaking onto pages you actually want ranked, like key landing pages or your top blog posts.
Internal Linking That Actually Helps
Internal links do two jobs: they help crawlers discover deeper pages, and they distribute authority toward the content you consider most important. A flat site where every page links only to the homepage wastes both.
A few practical habits:
- Link to cornerstone content (your most comprehensive guides or highest converting pages) from multiple related posts, not just the navigation menu.
- Use descriptive anchor text rather than “click here” or bare URLs.
- Audit for orphaned pages, published content with no internal links pointing to it at all.
To get a quick inventory of published content to review for internal linking gaps:
wp post list --post_type=post --post_status=publish --fields=ID,post_title,post_date --format=tableCross-reference the list against your site’s navigation and your most-linked-to pages. Anything published more than a few months ago with no inbound internal links is a candidate for a linking pass.
The One-Hour Audit
Here is a practical run-through you can do on any WordPress site in under an hour:
- Confirm
blog_publicis set to1withwp option get blog_public. - Fetch
robots.txtand confirm nothing important is disallowed. - Fetch the sitemap index and spot-check a handful of URLs for stale or duplicate entries.
- View source on your five most important pages and confirm the canonical tag is correct and self-referencing.
- Check the
X-Robots-Tagheader on those same five pages to rule out an unexpected noindex. - List recent posts with
wp post listand check for orphaned content with no internal links. - Confirm your site is verified in Google Search Console and that the sitemap is submitted there, so you can monitor indexing status over time rather than guessing.
None of this requires special tooling beyond curl, wp-cli, and your browser’s view-source. Run it quarterly, and after any migration, redesign, or plugin change that touches SEO settings.
The Takeaway
Technical SEO is not glamorous, but it is the layer that determines whether search engines can even see the content you worked hard to write. Canonicals prevent duplicate confusion, sitemaps guide discovery, robots and noindex directives control what gets indexed, and internal links spread authority to the pages that matter. Spend an hour auditing these fundamentals before your next content push, and you will get more value out of every post you publish afterward.