WordPress is one of the most popular content management systems (CMS) in the world, powering over 40% of all websites. It is highly flexible, allowing users to customise and extend its functionality through themes, plugins, and custom code. WordPress is widely used by small to large businesses, bloggers, and developers because of its ease of use, scalability, and adaptability for different types of websites—from simple blogs to large eCommerce stores.
For clarity we’re advocates of using Yoast SEO. It makes everyone’s lives easier, but for those that prefer to reduce dependencies there are options. In this guide, we’ll cover how to optimise WordPress SEO, step-by-step, while keeping full control over your website’s performance, security, and rankings.
Introduction
One of the most important aspects of running a successful website is Search Engine optimisation (SEO). Many WordPress users rely on SEO plugins like Yoast SEO, Rank Math, or All in One SEO to handle their optimisation needs. However, while plugins provide convenience, they aren’t always the best solution for every website or every task. Many SEO experts and developers prefer to optimise WordPress manually for several reasons:
- Better Performance – SEO plugins can bloat a website, slowing it down with unnecessary features and scripts. Especially those that try to do more than they need to.
- More Control – Manual SEO allows complete control over title tags, meta descriptions, structured data, and page speed optimisation without plugin-imposed restrictions.
- Security – Some plugins introduce vulnerabilities due to outdated code or excessive permissions.
- Custom Solutions – Advanced users may need custom SEO configurations that plugins don’t support.
- No Dependence on Third-Party Updates – Relying on plugins means waiting for updates, bug fixes, and compatibility patches with each WordPress update.
For these reasons, many WordPress professionals prefer to manually optimise SEO without using plugins. Or they might prefer to use a combination of smaller, less impactful plugins that are more focused on a specific task such as schema or caching. They can also be more cost-effective than customising everything through code and therefore taking a balanced view is important.
Basic SEO Foundations in WordPress
Choosing an SEO-Friendly Theme
Selecting the right theme is one of the most important factors in achieving good SEO performance. A lightweight, well-coded theme ensures faster loading times, better search rankings, and an optimal user experience. Themes that follow best practices, such as clean HTML, proper schema markup, and minimal CSS and JavaScript files, contribute significantly to a website’s SEO success.
As a leading UK WordPress agency, we always advocate building a bespoke theme. It’s what we do best. Off-the-shelf themes are notorious for bloat and have been built to target a mass market and a number of sectors. They aren’t tailored to your business needs. Themes control how your site looks to your visitors, but they don’t affect the underlying content or data – think of them as the clothes that give a person their unique style while the person remains the same.
Why Lightweight Themes Matter
- Many pre-built WordPress themes come with bloated code, excessive animations, and unnecessary features, all of which slow down a website.
- A fast-loading theme ensures that pages render quickly, which improves Core Web Vitals and Google’s Page Experience ranking factors.
- Themes with built-in schema markup help search engines understand the site structure more effectively.
The Alternative: Custom-Built Themes
Instead of relying on pre-made themes, an alternative is to hire a developer to create a custom lightweight theme from scratch. This approach ensures that only essential code is included, reducing unnecessary files and improving performance.
- A custom-built theme eliminates reliance on third-party updates and unnecessary features.
- Developers can build a minimalist, optimised, and highly customisable WordPress theme that meets specific SEO needs.
- While this approach requires a budget, it offers a long-term solution for businesses serious about performance and search rankings.
Avoiding Website Builders for improved SEO
- Drag-and-drop page builders like Elementor, Divi, and WPBakery provide ease of use, but they generate bloated, inefficient code.
- These builders increase page load time by adding excessive inline CSS, JavaScript, and unnecessary div elements.
- While Elementor and Divi offer convenience, they are less optimal for SEO compared to a well-coded custom-built or lightweight theme.
- If a page builder is necessary, Gutenberg (the native WordPress block editor) is a better alternative as it produces cleaner code and faster page load times.
By selecting an SEO-friendly, bespoke lightweight WordPress theme, website owners can gain from better performance, cleaner code, and improved search rankings without relying on third-party page builders that compromise SEO quality.
Hosting and Performance Considerations
Before setting up your WordPress site, choosing the right hosting provider is crucial for SEO. A slow-loading website negatively affects user experience, bounce rates, and search engine rankings. When selecting a hosting plan, consider server speed, uptime reliability, and data center locations based on your target market. If your audience is primarily in one country, choosing a server located closer to them will improve site speed and response times.
Also, look for hosting solutions that offer built-in caching, speed optimisation tools, and security features. Features like CDN integration, server-level caching, and automatic backups can enhance both SEO performance and website security. Ensuring your hosting environment is optimized before adding your website prevents the need for excessive performance tuning later. Managed WordPress hosts such as Kinsta, WP Engine, and Cloudways provide a balance of speed, security, and scalability, making them ideal for SEO-focused sites.
WordPress Technical SEO optimisations
Now that we’ve covered the importance of choosing an SEO-friendly theme and hosting and structuring your website for optimal performance, it’s time to dive into the technical aspects of WordPress SEO. These optimisations go beyond basic settings and require manual adjustments to the underlying code of your website. Modifying code doesn’t come without risk, so before you dive in it’s worth taking a backup of your site and be ready to roll back any changes that cause a problem. However, nothing here is beyond the ability of a technically savvy marketer or website owner and the end result for doing a thorough job is to ensure search engines can properly crawl, index, and rank your site. From fine-tuning on-page elements like meta descriptions and headings to implementing schema markup, sitemaps, and image optimisation, each step plays a crucial role in improving your website’s visibility.
The following sections will guide you through these key areas, helping you achieve a fully optimised WordPress site without relying on plugins.
Optimising WordPress Site Visibility Settings
- Go to Settings > Reading and ensure “Discourage search engines from indexing this site” is unchecked.
- Use the robots.txt file to control search engine crawlers:
User-agent: *
Disallow: /wp-admin/
Allow: /wp-content/uploads/
Sitemap: https://yourwebsite.com/sitemap.xml
Optimising On-Page SEO Without Plugins
Setting Title Tags Manually
- A well-crafted title tag improves rankings and click-through rates.
- Add this code to your functions.php file:
function custom_title_tag() {
echo '<title>' . wp_title('', false) . '</title>';
}
add_action('wp_head', 'custom_title_tag');
Adding Meta Descriptions Manually
- Insert meta descriptions in your theme’s header.php file:
function add_meta_description() {
if (is_single() || is_page()) {
echo '<meta name="description" content="' . get_the_excerpt() . '">';
}
}
add_action('wp_head', 'add_meta_description');
optimising Headings (H1, H2, H3 Structure)
- Use H1 for main titles, H2 for subheadings, and H3 for subsections.
- Ensure your content follows a logical hierarchy for better readability and SEO.
Setting Up SEO-Friendly URLs (Permalinks)
- Go to Settings > Permalinks and select /%postname%/ for clean URLs.
Adding Schema Markup Manually
- Improve search visibility with structured data:
- Insert this in header.php or functions.php.
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "SEO Without Plugins",
"author": { "@type": "Person", "name": "Your Name" },
"publisher": { "@type": "Organization", "name": "Your Website" }
}
Image optimisation for SEO
Adding Alt Text to Images Manually
- Go to Media Library and enter alt text for each image.
Reducing Image Size Without Plugins
- Use TinyPNG, ImageOptim, or WebP format.
Lazy Loading Images Without Plugins
- Add the loading=”lazy” attribute manually:
<img src="image.jpg" loading="lazy" alt="Example Image">
Creating and Submitting an XML Sitemap Without Plugins
- Use an online XML sitemap generator (e.g., xml-sitemaps.com).
- Add the sitemap URL to robots.txt:
Sitemap: https://yourwebsite.com/sitemap.xml
- Submit your sitemap in Google Search Console.
Speed optimisation Without SEO Plugins
Using Browser Caching for Faster Load Times
- Add this to .htaccess:
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType text/html "access plus 1 month"
</IfModule>
Minifying CSS and JavaScript Manually
- Remove unnecessary spaces and comments.
- Use MinifyCode.com to minify files.
Using a Content Delivery Network (CDN)
- Use Cloudflare, Amazon CloudFront, or BunnyCDN.
Internal Linking and Navigation optimisation
Using Breadcrumbs for Better Navigation
- Add this code to display breadcrumbs:
function custom_breadcrumbs() {
echo '<a href="' . home_url() . '">Home</a> » ' . single_cat_title("", false);
}
Avoiding Orphan Pages
- Ensure all pages have at least one internal link.
Social Media optimisation Without Plugins
Adding Open Graph Meta Tags Manually
- Insert this in header.php:
<meta property="og:title" content="SEO Without Plugins">
<meta property="og:description" content="Learn how to optimise WordPress SEO without using plugins.">
<meta property="og:image" content="https://yourwebsite.com/image.jpg">
Adding Social Share Buttons Manually
- Example Facebook share button:
<a href="https://www.facebook.com/sharer/sharer.php?u=https://yourwebsite.com" target="_blank">Share on Facebook</a>
Security Considerations for SEO Without Plugins
Preventing Hotlinking of Images via .htaccess
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^https://yourwebsite.com/.*$ [NC]
RewriteRule .(jpg|jpeg|png|gif)$ - [F]
Blocking Spam Bots Using robots.txt
User-agent: BadBot
Disallow: /
Manually Setting Up HTTPS Without a Plugin
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
WordPress SEO Mistakes to Avoid
Even with the best intentions, many website owners make critical SEO mistakes when optimising their WordPress site. These errors can lead to poor indexation, lower rankings, and decreased organic traffic. Below are the most common pitfalls and how to avoid them.
1. Poor Website Structure and Navigation
- Failing to create a logical website hierarchy can make it difficult for search engines to crawl and index pages properly.
- Solution: Use a clear URL structure and internal linking strategy to help search engines understand the relationship between pages.
- Example:
- Good URL structure: yourwebsite.com/category/topic
- Poor URL structure: yourwebsite.com/p=123
2. Ignoring Internal Linking Best Practices
- A lack of internal links leaves pages orphaned, making them harder for search engines to find.
- Overusing internal links can appear spammy and dilute link equity.
- Solution: Implement contextual internal links to related articles and ensure important pages are well-linked throughout the site.
3. Blocking Search Engines from Crawling Important Pages
- Some site owners accidentally block search engines using the robots.txt file or noindex tags.
- Solution: Ensure that important pages are not disallowed in robots.txt and confirm indexable pages in Google Search Console.
- Example of a bad robots.txt rule:
User-agent: *
Disallow: /
- This blocks the entire site from being crawled!
4. Not Using SEO-Friendly Permalinks
- WordPress by default may use query strings instead of clean URLs (?p=123).
- Solution: Set permalinks to a search-friendly format under Settings > Permalinks (/%postname%/).
5. Duplicate Content Issues
- Poor category/tag configurations can create duplicate content, harming rankings.
- Solution: Use canonical tags to indicate the primary version of a page.
- Example of a canonical tag in header.php:
<link rel="canonical" href="https://yourwebsite.com/original-page/">
6. Slow Page Speed and Poor Performance
- Large unoptimized images, excessive CSS/JavaScript, and slow hosting negatively impact rankings.
- Solution: Compress images, use lazy loading, and enable browser caching.
7. Forgetting Mobile Optimization
- Google prioritizes mobile-first indexing, meaning unoptimized mobile pages rank lower.
- Solution: Use a responsive theme, optimize mobile navigation, and test with Google’s Mobile-Friendly Test.
8. Not Submitting an XML Sitemap
- Without a sitemap, search engines may struggle to discover all site pages.
- Solution: Generate an XML sitemap and submit it in Google Search Console.
9. Not Implementing Schema Markup
- Rich snippets help search engines understand your content but are often ignored.
- Solution: Add JSON-LD structured data manually in header.php.
- Example of an article schema:
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "WordPress SEO Without Plugins",
"author": { "@type": "Person", "name": "Your Name" }
}
10. Overlooking HTTPS and Security Issues
- Not having an SSL certificate can hurt rankings and user trust.
- Solution: Redirect HTTP traffic to HTTPS via .htaccess:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Avoiding these mistakes will significantly improve your site’s search visibility and ensure long-term SEO success.
Final Thoughts
Manually optimising WordPress SEO without plugins requires effort, but it gives you full control over site performance, security, and customisation. By implementing the steps outlined in this guide, you can improve search rankings, speed up your site, and enhance the user experience without relying on third-party plugins. Following these manual SEO best practices will help you achieve long-term success.
That being said, SEO is an ongoing process that requires regular updates, technical adjustments, and strategic planning. While it is possible to optimise your WordPress site yourself, hiring an experienced SEO expert can help you avoid common pitfalls, refine your strategy, and maximise your website’s potential. A professional SEO consultant can conduct technical audits, keyword research, and competitive analysis to ensure that your website remains optimised in the long run.
If you’re serious about boosting organic traffic and outranking competitors, consider working with an SEO specialist to fine-tune your efforts and implement advanced SEO techniques that go beyond the basics. Whether you choose to go the DIY route or invest in expert guidance, a well-optimised WordPress site will always have the edge in search rankings.