Why I prefer SEOPress over RankMath

calendar-event2 October 2026

8–12 minutes
3D illustration of complex system transforming into streamlined digital platform

When I set up or take over a WordPress website, choosing an SEO plugin is one of those decisions that’s made in a flash but often stays with you for years afterwards. There are a few good options, and in recent years I’ve worked extensively with two of them in particular: SEOPress and RankMath. I know both well enough to appreciate their strengths. And yet I now have a clear preference, which has less to do with features than with what a plugin does behind the scenes.

Both can master the basics

To get this out of the way first: neither plugin falls short when it comes to the basics of SEO. Titles and meta descriptions, XML sitemaps, structured data, redirects, breadcrumbs and Open Graph can be implemented just as effectively with SEOPress as with RankMath. If you only look at these aspects, you’ll struggle to find a reason to choose one over the other. The only real difference might be how data management feels in the backend 🤓

The difference only becomes apparent when you look beneath the surface. More specifically, in the database.

What RankMath’s analytics feature does to the database

RankMath offers an analytics module that pulls data from Google Search Console and, in the Pro version, from Google Analytics directly into the WordPress dashboard. It’s very handy. You can view clicks, impressions, rankings and keywords without having to leave WordPress.

To ensure this works, RankMath retrieves this data regularly and stores it in its own database tables, such as ` rank_math_analytics_gsc`, ` rank_math_analytics_objects ` and `rank_math_analytics_inspections`, as well as a separate table for Google Analytics once this connection is active. It doesn’t just store a summary, but data down to the level of individual search terms, including position history. Every additional page, every additional keyword and every additional tag therefore generates new data records.

You can specify how long this data is retained in the Analytics database settings. A detail from the RankMath documentation itself illustrates just how much work is involved. It states that importing 90 days’ worth of data takes around 17 minutes, with larger amounts of data taking correspondingly longer. And on the WordPress support forum, there is a case of someone whose database had reached their host’s limit and who therefore had to disable the Search Console integration.

For a small website, this may hardly be an issue. However, the situation is quite different for projects with a lot of content, many keywords and a longer running time. The database grows larger, backups become more resource-intensive, migrations and staging environments take longer, and you’ll reach the limits of shared hosting more quickly. Added to this are the regular background processes that retrieve and process the data.

What bothers me most about this is the basic idea. Google already holds this data anyway. Search Console is where it is managed, processed and retained for 16 months. Duplicating it in such detail within every single WordPress installation goes against my understanding of what constitutes a lean and data-efficient website.

How SEOPress solves this

SEOPress PRO also offers integration with Google Search Console, but focuses on different aspects. Clicks, impressions, CTR and average position appear as columns in the overviews of posts, pages and other content types; they can be sorted and are displayed right where I’m working on editorial content. I can see at a glance which content is performing well and where a revamp might be worthwhile, and that’s more than enough for my day-to-day work.

Shortly before this post was published, SEOPress 10.3 was released, and this update significantly expands the Search Console integration. The dashboard now features a chart showing trends over the last twelve months, the SEO metabox displays the key metrics for each post, and a new column in the overviews shows the indexing status on Google. The figures are taken from the most recent synchronisation, so that not every call in the backend triggers a new request to Google.

This means that SEOPress now also stores more data in WordPress than before, and it’s only fair to mention that. The difference compared to RankMath lies in the depth of analysis. SEOPress works with metrics per piece of content and the website’s overall performance, rather than tracking a history for each individual search term. This keeps the volume of data manageable. It will be interesting to see how this develops in future versions.

To be honest, setting up SEOPress is a bit more involved. You need to create your own service account in the Google Cloud Console and grant it access to Search Console, rather than connecting the website via an account with the plugin provider. But that’s precisely what I see as an advantage. The connection runs directly between my website and Google, with no additional service in between.

Incidentally, this doesn’t just apply to Search Console. To activate RankMath PRO at all, the website must be linked to the RankMath account; there’s no traditional licence key there. With SEOPress PRO, I enter a licence key to ensure updates and support work, but I don’t need to link a user account to the website to use the features. It’s not a huge difference, but to me it feels a bit more like data protection and independence.

In other respects, too, it is clear that SEOPress takes database cleanliness seriously. Since version 6.2, SEOPress has included an uninstallation routine that cleans up the database, and empty metadata is not saved in the first place.

And what about keyword tracking?

If you want to track specific keywords, you can add SEOPress Insights to SEOPress. This is a separate extension that allows you to monitor the rankings of selected keywords on Google, compare competitors and keep an eye on backlinks. For some projects, this is a useful addition.

Personally, though, it doesn’t feel quite the same to me. A rank tracker monitors keywords that have been selected in advance. Search Console, on the other hand, shows what my content is actually being found for – even for search terms I would never have thought of myself. That’s exactly where I find the most interesting insights.

For this analysis, I therefore use Google Search Console directly or, even better, SEO Gets. SEO Gets builds on the data from Search Console and makes it much quicker and easier to analyse, without anything having to be stored in my WordPress database. This keeps the division of tasks clear for me. WordPress takes care of the content and its technical infrastructure; the analysis takes place where the data is stored anyway.

A direct comparison of SEOPress and RankMath

CharacteristicRankMathSEOPress
Data retrieval from Search Consoleautomatically at fixed intervalsSynchronisation: the latest status is displayed
Storageown database tablessaved status of the last synchronisation
Level of detailexcept for search terms with a position historyContent and overall structure of the website
Connection to Googlevia the RankMath accountvia your own service account in Google Cloud
Activating the Pro versionConnecting to your RankMath accountLicence key, without bank details
Growth of the databasegrows with duration, content and keywordsremains manageable
Branding in the sitemapNote on RankMathno branding
Furnishingsquicklya bit more involved

If you want to know how much space RankMath is already taking up on your website, you can check this with a simple query, for example via phpMyAdmin or Adminer.

SELECT table_name,
       ROUND((data_length + index_length) / 1024 / 1024, 1) AS size_mb
FROM information_schema.tables
WHERE table_schema = DATABASE()
  AND table_name LIKE '%rank_math%'
ORDER BY size_mb DESC;

When RankMath should be removed from the website

One issue I keep coming across with RankMath concerns deactivation. If you deactivate and delete the plugin, your data is not automatically removed. Tables, settings and metadata remain in the database. RankMath explains this by saying that the plugin is sometimes only temporarily removed – for example, whilst troubleshooting – and that nothing should be lost in the process. Whilst this is understandable, in practice it means that many websites are left with leftover data that nobody needs any more.

If you want to remove RankMath completely, you’ll need to set up a small filter first. RankMath recommends doing this in the theme’s functions.php file. I prefer to place snippets like this in a small ‘Must Use’ plugin or a snippet plugin, so that they aren’t tied to the theme.

add_filter( 'rank_math_clear_data_on_uninstall', '__return_true' );

Once the filter is active, RankMath displays a message in the plugin overview stating that the deletion can no longer be undone. The plugin is then deactivated and deleted as usual. It’s still worth checking the database afterwards, as RankMath itself recommends manually removing any remaining tables with the prefix ‘rank_math’. The query above will help with this. And, as always, make sure you create a recent backup beforehand.

And what about the other SEO plugins?

SEOPress and RankMath are, of course, not the only options. Slim SEO takes a deliberately minimalist approach and handles a lot for you automatically, without overwhelming you with settings. The SEO Framework has been renowned for years for its streamlined and clean implementation. And Yoast is the classic choice, which also creates its own tables with its ‘Indexables’ feature, albeit with a different aim. They all have their merits and, of course, their fans, and depending on the project, any of them could be the right choice. However, I have the most experience with SEOPress and RankMath, so I’ll stick to these two in this post.

What this means for my work

To be fair, it’s worth noting that the analytics module in RankMath can be disabled. Anyone who doesn’t use it won’t encounter the problem described. Nevertheless, the direction a product takes says a lot about what it’s intended for. RankMath aims to bundle as much as possible into WordPress. SEOPress sees itself more as a tool that gets the job done without drawing any further attention to itself.

However, even SEOPress is no longer entirely free of self-promotion. References to other products of its own have recently started appearing in the backend, even though SEOPress continues to advertise on its plugin page on WordPress.org that it refrains from upselling in the admin area. This is part of a fair comparison. Nevertheless, SEOPress remains discreet where it matters most. The XML sitemap is free of branding, whilst RankMath inserts a reference to itself there. And with the white-label feature, which is already included in the free version, the SEOPress branding can be largely removed from the backend, which can be particularly useful for client projects.

For me, it ultimately comes down to a question of approach. Search data belongs in Search Console; content belongs in WordPress. A website should remain lean enough to be easy to back up, migrate and maintain, even five years down the line. SEOPress fits this approach better, which is why it’s my first choice for most of my projects.

I’d be interested to hear your thoughts on this. Which SEO plugin do you use, and have you ever checked how big your database has become as a result?

Continue the discussion, share this article via

Leave a comment

To respond on your own website, enter the URL of your response which should contain a link to this post's permalink URL. Your response will then appear (possibly after moderation) on this page. Want to update or remove your response? Update or delete your post and re-enter your post's URL again. (Find out more about Webmentions.)

Teilen über