What does WordPress give you for SEO?
WordPress is a good platform for SEO, but it does not rank anything by itself. Out of the box it gives you clean, editable URLs, a built-in XML sitemap, full control over page text and headings, and a huge choice of plugins.
What it does not give you is a fast theme, a sensible heading structure, schema that describes your business, or a correct setup for Thai and English pages. Those come from how the site is built.
That split matters when you are deciding where to spend. Some things are fixed at build time and are expensive to change later: the theme code, how templates output headings, how many scripts load on each page, and how language versions are structured. Other things an SEO plugin or an editor can add afterwards: titles, meta descriptions, redirects and some schema. This guide goes through both, in the order we check them on a Bangkok business site.
It sits in our SEO, speed and analytics guides. If you are still choosing a platform, our comparison of Wix against WordPress for search visibility argues that question; this page assumes WordPress.
Which settings should you check on day one?
A surprising number of WordPress sites launch with a setting left over from development that tells search engines to stay away. Before worrying about keywords, check these basics in the dashboard. They take ten minutes and cost nothing.
- Search engine visibilitySettings, Reading: make sure "Discourage search engines from indexing this site" is unticked on the live site. It is often ticked on staging and forgotten.
- PermalinksSettings, Permalinks: choose "Post name" so URLs read /services/aircon-repair/ rather than ?p=123. Decide this before launch; changing it later means redirects.
- Site title and taglineSettings, General: the site title often appears in page titles. Replace the default tagline, which otherwise shows up in some themes.
- HTTPS everywhereBoth the WordPress Address and Site Address should start with https://, with one version (www or not) redirecting to the other.
- XML sitemapWordPress creates one at /wp-sitemap.xml; an SEO plugin may replace it. Confirm one sitemap loads and lists your real pages.
- Search ConsoleVerify the domain in Google Search Console and submit the sitemap, so you can see indexing problems instead of guessing.
- Leftover demo contentDelete the sample page, the Hello World post and unused demo pages that came with the theme.
Which SEO plugin should you choose?
Three widely used WordPress SEO plugins are Yoast SEO, Rank Math and SEOPress. All three have free versions and paid upgrades, and all three cover the same core jobs:
- editing the title and meta description of each page and post;
- an XML sitemap, replacing or extending the WordPress default;
- noindex controls for pages, archives and post types;
- basic schema output, such as Organization and Article;
- social sharing previews (Open Graph);
- redirects, in some versions or add-ons.
The differences are mostly in interface, how much each plugin does automatically, and which features sit behind the paid tier. Feature lists change with each release, so compare the current versions on each plugin's own site rather than trusting an old comparison.
What no plugin does
A plugin cannot make a heavy theme fast, cannot fix a template that wraps the logo in an H1 on every page, and cannot write useful content. Its readability and keyword scores are a rough guide, not a ranking signal; a green light does not mean the page will rank, and a red one does not mean it will not.
Pick one plugin and stay with it. Running two SEO plugins at once produces duplicate meta tags and duplicate schema, which is a common mess on inherited sites.
Titles, meta descriptions and headings
These three elements tell search engines and people what a page is about. On WordPress they are easy to edit, which is exactly why they are easy to get wrong.
Titles
Each page needs its own title that names the topic and, where it fits, the place: "Dental implants in Sukhumvit" says more than "Services". Keep the brand at the end. Avoid the default pattern where every page title is the site name followed by the same tagline.
Meta descriptions
Search engines do not use the description as a ranking signal, and they often rewrite it, but a clear one still helps people choose your result. Write one or two sentences that say what the visitor gets on the page. Leave it empty rather than copy the same text across twenty pages.
One H1, sensible H2s
Each page should have one H1 that states the main topic, then H2s for its sections and H3s under those. In WordPress the page title usually becomes the H1 automatically, so editors should start their content at H2. The common faults we find on inherited sites are a theme that makes the logo an H1, editors using headings to make text bigger, and page builder sections that skip straight from H1 to H4. Screen reader users rely on the same structure, so fixing it helps accessibility too.
Themes, page builders and speed
The theme is the biggest SEO decision on a WordPress site, and it is made before any plugin is installed. It controls how much code each page loads, how headings are output, whether images get width and height attributes, and how the site behaves on a mid-range Android phone on mobile data, which is how many Thai visitors will see it.
Multipurpose themes and visual page builders are popular because anyone can drag sections around. The price is weight: extra CSS and JavaScript on every page, nested containers, and heading levels chosen for looks rather than structure. That does not make them unusable, but it does make good Core Web Vitals harder to reach and keep, one of the causes covered in our guide on why a WordPress site is slow.
Questions to ask about any theme
- How many scripts and stylesheets load on a simple page with no special features?
- Does it output one H1 per page, and can editors see the heading levels they are choosing?
- Are images served in modern formats, with sizes set to avoid layout shift?
- Can it be updated without breaking your custom changes?
We go deeper on layout, navigation and mobile design in whether design choices change your rankings. For the server, crawl and indexing side, which applies whatever platform you use, work through our technical SEO checklist for business sites.
Categories, tags and thin pages
Every category, tag, author and date archive in WordPress is a separate URL that search engines can crawl. On a blog with a sensible structure that is useful. On many business sites it produces dozens of near-empty pages: a tag used once, an author archive for the only author, a date archive for a month with a single post.
Those pages rarely help anyone, and a large number of thin pages makes it harder for search engines to see which pages matter.
A simple policy
- Categories: keep a small number, each with several posts and a short written introduction. Leave these indexable.
- Tags: use them sparingly or not at all. If you keep them, set tag archives to noindex.
- Author and date archives: on a single-author business blog, noindex or disable them.
- Attachment pages: make sure image attachment URLs redirect to the file or the parent post rather than creating a page per image.
- Internal search results: keep them out of the index.
Your SEO plugin handles most of these with a few switches. Check them once at launch, and again whenever someone adds a new custom post type, such as rooms for a hotel or listings for a property agency.
Schema markup on WordPress
Schema markup is structured data, usually JSON-LD in the page code, that describes what a page is about in terms machines understand: this is a local business with this address and opening hours (our guide to local business schema markup covers that type), this is an article written on this date, these are the questions and answers on this page. It helps search engines understand the page, and some types can make a result eligible for richer display. Eligibility is not the same as getting that display; search engines decide case by case.
There are two ways to add it on WordPress.
Plugin output
SEO plugins generate a general graph: Organization or Person, WebSite, WebPage and Article. That is a fine starting point. The weak spots are business-specific details, such as a clinic's services, a hotel's rooms or a restaurant's menu, which usually need paid add-ons or manual blocks, and duplicate output when a theme or a second plugin also prints schema.
Theme-level JSON-LD
On custom builds the theme can output one connected graph per page from the site's real data: your address, hours and services pulled from the same fields shown on the page. The advantage is consistency; the schema always matches what visitors see, which is what search engines expect. Whichever route you take, test pages in Google's Rich Results Test and the Schema Markup Validator, and never mark up reviews or ratings you do not actually display.
Thai and English versions
Many Bangkok businesses need both languages: Thai for local customers, English for expats, tourists and foreign partners. For search, the rule is simple. Each language version needs its own URL, its own translated title and description, and hreflang tags that tell search engines the pages are equivalents in different languages. A language switcher that swaps text with JavaScript on the same URL gives search engines only one version to index.
Polylang or WPML
The two established WordPress plugins for this are Polylang and WPML. Both create separate posts per language, both can use a folder structure such as /th/ and /en/, and both output hreflang when set up correctly. Polylang has a free version; WPML is paid. Check each plugin's current features and pricing on its own site, and confirm it works with your SEO plugin, since sitemaps and hreflang have to agree.
Mistakes we look for
- Thai pages that are machine translation of the English, left unedited. Thai readers notice immediately.
- hreflang pointing to the homepage instead of the matching page.
- Thai slugs that turn into long percent-encoded strings when shared. Short Latin slugs are easier to handle.
- Menus, buttons and form messages left in English on Thai pages.
What we include at build time
We build websites; we do not sell monthly SEO, link building or ads. So our part is getting the foundations right before launch, when they are cheapest to get right.
- Starter, from THB 10,000: up to 5 pages with custom design on WordPress, mobile-first, with on-page SEO and PDPA cookie consent.
- Business, from THB 30,000: up to 15 pages in English and Thai on a custom WordPress theme with no page builder, plus keyword mapping so each page targets its own search, and schema markup.
Prices are indicative and one-time; the final price is set in your written quote. A typical project takes around 15 days. After launch, the content, links and ongoing work that grow rankings are yours to run, or to hand to an SEO specialist, on a site that will not hold them back.
Selling online rather than taking enquiries? The platform changes the checklist, and our guide to SEO with Shopify stores covers that side. If WordPress is the right fit, read how we approach WordPress website design and development, or send us your brief and we will reply with a scope and quote. You can also reach us on WhatsApp at +66 93 004 4098, every day from 10:00 to 19:00 Bangkok time.
Who reviewed this guide

Who builds your site
Litesh Dhir
Builds and ranks the websites: the systems behind the 17 client sites whose Search Console numbers we publish.
More about usMore SEO and speed guides
Sources
- WordPress.org: Search engine optimization
- Google Search Central: SEO starter guide
- Google Search Central: Localized versions of your pages (hreflang)
- Yoast SEO
- Rank Math
- SEOPress
- Polylang
- WPML
