Being found, being measured and being usable are related jobs. A theme provides the technical groundwork for each of them, and none of them is finished by a theme alone.
Clean markup, fast pages and correct headings are the starting point. What you rank for is decided by what you write, who links to you, and whether you filled in the fields nobody enjoys filling in.
#Do not audit a demo site to judge a theme's SEO
People run SEO tools against theme demos and conclude the theme is bad for SEO. The conclusion is wrong, and here is why.
Every theme demo we run is deliberately kept out of search engines. The robots.txt on a demo disallows everything, and it is meant to. A demo exists to show what a theme looks like, and its text is placeholder copy written to fill a layout. A dozen near identical placeholder sites in the index would help nobody, least of all the real sites built on the theme.
So an SEO audit of a demo reports that the site is not indexed, has no inbound links, and carries thin content. Each of those describes the demo's purpose, not the theme. The technical layer underneath is the same one your site gets.
The only meaningful test is your own site, with your own content, once it is set up.
Install the theme, write real pages, fill in the metadata, and then run the audit. That result tells you something.
#SEO
Work from indexing outward.
- Visibility
Confirm search engines are not blocked. The "discourage search engines" checkbox in SettingsReading is switched on more often than anyone expects, usually left over from building the site.
- A sitemap
WordPress generates one. An SEO plugin gives you more control over what is in it.
- Canonical URLs
One address per piece of content, so the same page under two URLs does not compete with itself.
- Metadata
A title and description per page, written for a person reading a search result rather than stuffed with keywords.
- Heading structure
One h1 per page, then h2 and h3 in order. Headings describe the outline of the page; font sizes are a separate matter.
- Internal links
How search engines find your older content, and how readers do.
- Readable URLs
Words rather than numbers, decided before you publish rather than after.
#What you have to do yourself
Install one well maintained SEO plugin and then use it. The second half is where most sites stop.
Using it means a written title and description on every page that matters, real alt text on images, and a moment's thought about the URL before publishing. None of it is difficult and all of it is manual. A plugin with empty fields does nothing.
Alongside that, write pages worth reading, keep the images sensibly sized, and link your own content together. It is a short, boring list, and it is most of the job.
No theme delivers rankings.
A theme provides correct technical structure. What you rank for is decided by your content and by who links to it, and any theme sold on a promise of rankings is selling you the wrong thing.
#Structured data, and who owns it
Structured data is machine readable markup describing what a page is: an article, its author, a breadcrumb trail, a recipe. Search engines read it to build the extra detail shown under a result.
Getting the split between a theme and an SEO plugin wrong produces duplicates instead of errors, and duplicates are hard to notice.
An SEO plugin owns page level markup. Article, author, organization, website, and the social sharing tags that decide what a link looks like when somebody posts it. This is what SEO plugins are for, and it is why our themes do not emit those tags: two sources of the same markup on one page is worse than one.
The theme owns the markup for what it draws. In our themes that is the breadcrumb trail. The theme builds the visible trail, so it also emits the BreadcrumbList describing it, with no plugin required. Install nothing and your breadcrumbs are still machine readable.
That leaves one decision. If you run an SEO plugin that also draws breadcrumbs, you have two trails available and should show one.
#Breadcrumbs and your SEO plugin
Our themes build their own breadcrumb trail and let you point it at a plugin's trail instead. The choice sits in the theme's breadcrumb settings, and the supported sources are Yoast SEO, Rank Math, SEOPress and All in One SEO.
All four are always listed. The ones whose plugin is not active appear disabled, so the list shows what is supported without hiding anything.
- Built in
The theme builds the trail and emits the
BreadcrumbListfor it. This is the default, and it is complete on its own.- An SEO plugin
The plugin builds the trail and the theme displays it. The theme emits no structured data in this mode, because the plugin is already describing its own trail.
A separate setting decides whether a plugin supplied trail is repainted in the theme's styling or left with the plugin's styling. Repainting is the default, so switching source does not change how the page looks.
Never show the theme trail and a plugin trail at the same time.
Two BreadcrumbList blocks on one page is a conflict a search engine resolves by picking one, and which one it picks is not up to you.
#Analytics
Our themes have no analytics built in, on purpose. Tracking is not a theme's job. Built into a theme, your measurement history is tied to a design decision and disappears the day you change theme. A visitor should also be able to audit tracking in one place instead of finding it buried in theme code.
Connect it yourself, through one of these:
- The provider's own plugin, which is the least work and the most likely to keep up with the provider's changes.
- A general purpose plugin whose only job is inserting header and footer code, if you want one place for several scripts.
- A tag manager, if you already run one and know why you do.
- A child theme's own hook, if you are comfortable maintaining it. Still not the parent theme.
After connecting, check that data arrives, that your caching and optimization plugins are not stripping the script, and how much weight the third party script added to your pages.
On consent: a banner by itself does not block anything. The tracking script has to be registered with a consent category in whichever consent solution you use, or consent will be requested and the script will run regardless.
#Accessibility
The structural half is already done. Our themes are built with keyboard navigation, focus indicators, heading order, landmark structure and contrast handled from the start. You do not have to configure any of it.
The content half is yours:
Alt text on images that carry meaning
A consistent heading hierarchy in what you write
Link text that describes its destination, never "click here"
Enough contrast between text and background, including any colors you change
Captions on video
No meaning carried by color alone
A theme can give you accessible components. It cannot stop you putting gray text on a white background, or publishing forty images with empty alt attributes. Third party plugins are the other variable, since a form or a slider from elsewhere brings its own markup.
Finish with two checks. Walk one page using only the keyboard, which finds problems no tool reports. Then run an automated audit such as WAVE, and treat it as a supplement to your own check.
#Common questions
The theme demo scores badly in an SEO tool. Is the theme bad for SEO?
No. Demos are excluded from search on purpose and carry placeholder text, so an audit of one measures a site that was never meant to be indexed. Judge the theme on your own site once it has real content and its metadata filled in.
Which SEO plugin should I use?
Any of the well maintained ones. What matters is running only one, because two SEO plugins emit competing metadata for the same page.
Does the theme add structured data?
Yes, for the breadcrumb trail, with no plugin needed. Article, author and organization markup comes from your SEO plugin. A page with no SEO plugin carries breadcrumb markup and no article level markup.
Who writes the social sharing preview?
Your SEO plugin. The image, title and description a link shows when posted are set per page there. The theme stays out of it so the two never disagree.
Why is there no analytics setting in the theme?
Tracking belongs to the site, not to the theme. Put it in a plugin and it survives a redesign, a theme change and a staging copy, and it stays somewhere a person can audit.
How do I check what my pages actually emit?
Run a page through the Google Rich Results Test or the Schema Markup Validator. Both list every block of structured data they find, which is how you spot a duplicate you did not know about.
My pages are not indexed
Check the reading setting first, then your robots.txt, then whether the pages are linked from anywhere at all. New sites also take time to be indexed, however correct everything is.
Is an accessibility overlay widget enough?
No. Overlays sit on top of problems without fixing them, and the checklist above does more for real users than any widget.
Analytics shows no data
Check in a private window with any ad blocker off, since blockers stop most analytics. Then check whether your consent setup is holding the script until consent is given. That is correct behavior, and it looks identical to a broken install.
#Still stuck
Open a support ticket and say what you tried and where it stopped. Your product, your domain, a screenshot and the exact message you saw are usually enough to settle it in one reply.
Last updated