Things you can check yourself
- Does it load quickly on a phone?
- Does it survive a WordPress update without breaking?
- Can your team edit it without asking for help?
- Does another developer say it is workable?
The fourth is the most reliable test. Ask a second developer to spend an hour looking. Their assessment is worth more than any credential.
Functionality belongs in a plugin
Business functionality — post types, integrations, custom logic — should live in a plugin, not the theme. Otherwise changing your design means losing your functionality.
That single architectural decision separates work that lasts from work that traps you.
Signs of quality
- A child theme, so parent updates are safe
- No modified core or plugin files
- Custom post types registered in a plugin
- Assets loaded only where needed
- Settings in configuration rather than hard-coded
Signs of trouble
| Sign | Why it matters |
|---|---|
| Core files modified | Every update overwrites the change |
| Everything in functions.php | Changing theme loses functionality |
| Credentials in the code | Security exposure |
| No child theme | Theme updates destroy customisation |
| Twenty plugins doing small things | Maintenance burden and performance cost |
Ask for a second opinion
An hour of another developer's time is a small cost against a build you will live with for years.
Any competent developer will give you a straight assessment, and it is worth having before you commit or after you inherit something.