Simple SEO Meta is a tiny, single-file WordPress plugin that gives you the SEO basics without the weight of a full suite. It adds an SEO box to every post and page where you can set a custom title and meta description, mark content as noindex, and it automatically outputs clean Open Graph and Twitter Card tags plus a canonical URL. If all you need is control over how your pages look in search and social, this does the job in well under 300 lines of code.
Features
Installation
- Download the plugin file below (simple-seo-meta.php).
- Upload it to wp-content/plugins/ via FTP, or zip it and upload it under Plugins → Add New → Upload Plugin.
- Activate "Simple SEO Meta by ConvertAtlas" from the Plugins screen.
- Edit any post or page — you will see an "SEO — ConvertAtlas" box where you can set the title and description.
What’s inside
This plugin is open source under the GPL. Here is the start of the file — download it for the complete, ready-to-use plugin.
<?php
/**
* Plugin Name: Simple SEO Meta by ConvertAtlas
* Plugin URI: https://convertatlas.org/en/wordpress/simple-seo-meta
* Description: Lightweight SEO meta tags: custom titles & descriptions per post/page, plus Open Graph and Twitter Card output. No bloat, no account.
* Version: 1.0.0
* Requires at least: 5.5
* Requires PHP: 7.4
* Author: ConvertAtlas
* Author URI: https://convertatlas.org
* License: GPL-2.0-or-later
* License URI: https://www.gnu.org/licenses/gpl-2.0.html
* Text Domain: ca-simple-seo-meta
*
* Built with convertatlas.org — free developer tools & templates.
*/
if (!defined('ABSPATH')) { exit; }
final class CA_Simple_SEO_Meta {
const META_TITLE = '_ca_seo_title';
const META_DESC = '_ca_seo_desc';
const META_NOINDEX = '_ca_seo_noindex';
public static function init() {
$self = new self();
add_action('add_meta_boxes', array($self, 'add_box'));
add_action('save_post', array($self, 'save'), 10, 2);
// Output as early as possible in <head>.
add_action('wp_head', array($self, 'output_head'), 1);
// Let WordPress use our custom title when set.
add_filter('pre_get_document_title', array($self, 'filter_title'), 20);
add_filter('document_title_parts', array($self, 'filter_title_parts'), 20);
}
/** Meta box on posts and pages. */
public function add_box() {
foreach (array('post', 'page') as $type) {
add_meta_box(
'ca_seo_meta_box',
'SEO — ConvertAtlas',
/* … download the file for the full source … */Frequently asked questions
Does this conflict with Yoast or Rank Math?
If you already run a full SEO plugin, you do not need this one — running two SEO plugins that both output meta tags can cause duplicate tags. Use Simple SEO Meta on sites where you want the basics without a heavy suite.
Does it work with custom post types?
Out of the box it adds the SEO box to posts and pages. You can extend the array in the add_box() method to include your custom post types.
Does it send any data anywhere?
No. The plugin makes no external requests and stores everything in your own WordPress post meta. It is GPL-licensed and fully self-contained.
Is it safe to edit the code?
Yes — it is plain, readable PHP under the GPL. You are free to modify it for your site, for example to change the description length or add more meta tags.