Lists of blog SEO tips tend to start with the post: headings, word count, keyword placement. That is the wrong end. A blog post sits inside a structure, and the structure is set in a handful of settings screens that most people visit once and forget. Those settings are dull, and that is exactly why they get done badly.
This post covers the structural decisions, using WordPress’s own documentation as the reference because that is where most blogs live. The writing itself is covered in our SEO writing tips, and keeping old posts current is covered in our guide to a content refresh, so neither is repeated here.
Permalinks: choose once, then leave them alone
WordPress.org’s documentation on customising permalinks defines them as “the permanent URLs of your posts, pages, categories, and other archive pages on your website.” It adds: “These URLs are permanent and should never be changed — hence the name permalink.” It also notes that when Google indexes an article, “they use the permalink of the content.”
The same page describes the Plain setting, which produces addresses like example.com/?p=N, as “not user-friendly and also not optimized for search engines.” It says Plain “is automatically configured when you install WordPress.” The alternatives sit under Settings → Permalinks: “Day and name”, “Month and name”, “Numeric”, “Post name” and “Custom Structure”.
For a blog, Post name is the readable choice. The documentation’s example: ““This Is A Great Post!” becomes this-is-a-great-post in the URI.” If you build a custom structure, “End your structure with either %post_id% or %postname% so that WordPress can target an individual post for every permalink.” Then “You must click the Save Changes button at the bottom of the screen for the new settings to take effect.” If WordPress cannot write to .htaccess, it tells you “You should update your .htaccess now.” and you copy the rewrite rules yourself.
The point of choosing early is that changing later is expensive. An established blog that switches structure needs redirects for every old URL; our post on 301 vs 302 redirects explains which one applies, and URL structure for SEO covers the wider choices. Do not rewrite working permalinks in search of a gain.

Categories are the real structure of a blog
The WordPress documentation puts it simply: “Each post in WordPress is filed under one or more Categories. This aids in navigation and allows posts to be grouped with others of similar content.” Categories can be hierarchical, with a “Category Parent”, and “The Category Slug is used in the URL”, as in example.com/category/animals/.
That makes categories the closest thing a blog has to a site architecture. Keep them few, name them for the topics you actually cover, and give each one enough posts to justify an archive page. Our post on category page SEO covers what to do with those archives.
Two details from the documentation are worth knowing before you put categories in URLs. “The default values for Category base and Tag base are category and tag. You can change them, but you can’t remove them from the URLs altogether.” And with %category% in the permalink, “When you assign multiple categories to a post, only one can show up in the permalink. Which category gets displayed in the permalink is determined alphabetically.” Deleting a category moves its posts to the Default Category, and “the Default Category cannot be deleted.”

Tags are optional. “Unlike Categories, Tags have no hierarchy so there is no Parent->Child relationship like that of Categories.” Each tag gets “a Tag archive page with all the posts belonging to that Tag”, which is why a sprawl of one-post tags creates a sprawl of thin pages. Our post on WordPress tags and SEO goes through how to handle them.
| Setting | Where it is in WordPress | The blog decision |
|---|---|---|
| Permalink structure | Settings → Permalinks | Move off Plain before launch; end custom structures with %postname% or %post_id% |
| Category base and tag base | Settings → Permalinks | Defaults are category and tag; can be renamed, not removed |
| Categories | Posts → Categories | A small set of topics; parents only where the topic genuinely nests |
| Tags | Posts → Tags | Optional and flat; skip them rather than create one-post archives |
| Search engine visibility | Settings → Reading | Unticked on the day you launch |

The search visibility box
Under Settings → Reading sits “Discourage search engines from indexing this site”. The documentation says ticking it causes “<meta name=’robots’ content=’noindex,nofollow’ />” to be generated in the page head, and it “Stops pings to ping-o-matic and any other RPC ping services”.
It is useful while a blog is being built and harmful if it survives launch. It is also not a lock: “Neither of these options blocks access to your site — it is up to search engines to honor your request.” Check it on launch day, and again after any migration from a staging copy. Our post on WordPress noindex covers the wider picture.

Blog SEO tips for each post
Once the structure is fixed, the post-level work is shorter than most checklists suggest. Give each post one search intent, and make sure no two posts are chasing the same one. Our guide to search intent explains how to read what a query wants before you write for it.
Then link related posts to each other. A new post should link to the older posts it builds on, and at least one older post should link back to it, so it is not stranded with only an archive page pointing at it. Our post on internal linking for SEO covers anchors and placement.

Choose the category before publishing, not after. Filing posts into whichever category is nearest at the time is how a blog ends up with overlapping archives that no reader uses.
Check the slug at the same moment. With Post name permalinks the URL is built from the title, as in the documentation’s “this-is-a-great-post” example, so a working headline or a date-stamped draft title can end up as the permanent address. Edit it to something short and accurate before you press publish, because after that the permalink is meant to stay put.

That is the whole list: a readable permalink set before launch, categories as the structure, tags used sparingly or not at all, the visibility box unticked, one intent per post and links between related posts. None of it is clever. Most blogs that struggle in search have skipped one of these steps rather than missed a secret.
The limitation is specific. The menu paths and quotes here are WordPress’s, read from its documentation in October 2026; other platforms make the same decisions in different places, and settings can move between versions. And structure only gives good posts a fair chance. It cannot make a post rank, and it says nothing about how long any blog takes to earn traffic.
Frequently asked questions
Which permalink setting should a blog use?
The WordPress documentation calls Plain “not user-friendly and also not optimized for search engines.” Post name gives readable URLs; custom structures should end with %postname% or %post_id%.
Should I change my existing permalinks for SEO?
Generally no. WordPress says permalinks “should never be changed”. If you must, every old URL needs a 301 redirect to its new address.
Does “Discourage search engines” block my site?
No. It adds a noindex, nofollow robots meta tag, and the documentation says “it is up to search engines to honor your request.”
Do I need tags as well as categories?
No. Categories carry the structure. Tags are flat and each creates its own archive page, so use them only where they group several posts.
The takeaway Blog SEO is mostly decided once: permalinks, categories and the visibility box. Set them before launch, leave them alone, and give every post one intent and a few links.


