{"id":406027,"date":"2026-11-13T04:34:51","date_gmt":"2026-11-13T04:34:51","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/kapatagan-seo\/"},"modified":"2026-11-13T09:36:47","modified_gmt":"2026-11-13T09:36:47","slug":"kapatagan-seo","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/kapatagan-seo\/","author":23603085,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.5","stable_tag":"1.0.5","tested":"7.1.4","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"Kapatagan SEO","header_author":"Kapatagan","header_description":"Simple, free SEO with no upsells: titles, descriptions, an SEO score, schema, sitemaps, redirects and link suggestions. Imports from All in One SEO.","last_updated":"2026-11-13 09:36:47","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/buymeacoffee.com\/pinoygaming","header_plugin_uri":"https:\/\/kapatagan.dev\/projects\/kapatagan-seo\/","header_author_uri":"https:\/\/kapatagan.dev\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":91,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.4":{"tag":"1.0.4","author":"kapatagandev","date":"2026-11-13 04:34:44","revision":3799662},"1.0.5":{"tag":"1.0.5","author":"kapatagandev","date":"2026-11-13 09:36:47","revision":3800104}},"upgrade_notice":{"1.0.5":"<p>Imports on big sites can now continue where they stopped instead of starting over.<\/p>","1.0.4":"<p>Adds a one-click importer for Yoast SEO.<\/p>","1.0.3":"<p>SEO fields can now be filled in through the WordPress REST API (same permissions as the editor box).<\/p>","1.0.2":"<p>Safer redirect chains (www\/non-www loops, temporary redirects kept temporary) and stricter YouTube video detection.<\/p>","1.0.1":"<p>Fixes redirect loops, moves YouTube lookups to the background and makes video schema follow Google&#039;s rules. Video schema now needs a free YouTube API key.<\/p>","1.0.0":"<p>Security fix for the search results page title. Please update.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3800104,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3800104,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3800104,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3800104,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.4","1.0.5"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3800104,"resolution":"1","location":"assets","locale":"","width":1300,"height":1190},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3800104,"resolution":"2","location":"assets","locale":"","width":1300,"height":1660},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3800104,"resolution":"3","location":"assets","locale":"","width":1300,"height":1150},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3800104,"resolution":"4","location":"assets","locale":"","width":1300,"height":1140},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3800104,"resolution":"5","location":"assets","locale":"","width":1300,"height":1150}},"screenshots":{"1":"SEO Overview: average score, most common problems and site checks.","2":"The SEO box while writing: score, To do list, Google preview and link suggestions.","3":"Settings in simple tabs, with a title builder that shows a live example.","4":"Quick SEO Fix: add main keywords and descriptions to many posts on one screen.","5":"Redirects and the list of broken links people visited."}},"plugin_section":[],"plugin_tags":[2752,726,1117,186,1557],"plugin_category":[55],"plugin_contributors":[292437],"plugin_business_model":[],"class_list":["post-406027","plugin","type-plugin","status-publish","hentry","plugin_tags-breadcrumbs","plugin_tags-redirects","plugin_tags-schema","plugin_tags-seo","plugin_tags-sitemap","plugin_category-seo-and-marketing","plugin_contributors-kapatagandev","plugin_committers-kapatagandev"],"banners":{"banner":"https:\/\/ps.w.org\/kapatagan-seo\/assets\/banner-772x250.png?rev=3800104","banner_2x":"https:\/\/ps.w.org\/kapatagan-seo\/assets\/banner-1544x500.png?rev=3800104","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/kapatagan-seo\/assets\/icon-128x128.png?rev=3800104","icon_2x":"https:\/\/ps.w.org\/kapatagan-seo\/assets\/icon-256x256.png?rev=3800104","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/kapatagan-seo\/assets\/screenshot-1.png?rev=3800104","caption":"SEO Overview: average score, most common problems and site checks."},{"src":"https:\/\/ps.w.org\/kapatagan-seo\/assets\/screenshot-2.png?rev=3800104","caption":"The SEO box while writing: score, To do list, Google preview and link suggestions."},{"src":"https:\/\/ps.w.org\/kapatagan-seo\/assets\/screenshot-3.png?rev=3800104","caption":"Settings in simple tabs, with a title builder that shows a live example."},{"src":"https:\/\/ps.w.org\/kapatagan-seo\/assets\/screenshot-4.png?rev=3800104","caption":"Quick SEO Fix: add main keywords and descriptions to many posts on one screen."},{"src":"https:\/\/ps.w.org\/kapatagan-seo\/assets\/screenshot-5.png?rev=3800104","caption":"Redirects and the list of broken links people visited."}],"raw_content":"<!--section=description-->\n<p>Kapatagan SEO gives you the SEO features that matter, in plain language, with no paid version and no ads. It was built for a busy Filipino gaming news site and works for any blog or news site.<\/p>\n\n<h4>Write better posts<\/h4>\n\n<ul>\n<li><strong>SEO score (0\u2013100)<\/strong> while you write, with a short \"To do\" list in plain words<\/li>\n<li><strong>Main keyword, title in Google and description in Google<\/strong> for every post, with a live Google preview and length bars that turn green<\/li>\n<li><strong>Link suggestions:<\/strong> related posts you can link to, with a one-click Copy link<\/li>\n<li><strong>Quick SEO Fix:<\/strong> add main keywords and descriptions to many posts on one screen (also in Quick Edit)<\/li>\n<li><strong>SEO Overview:<\/strong> your average score, the most common problems, recent posts to fix first, and simple site checks<\/li>\n<\/ul>\n\n<h4>Look good in Google and on social media<\/h4>\n\n<ul>\n<li>Title formats you build by clicking (Post title, Separator, Site name\u2026) with a live example<\/li>\n<li>Facebook, X, Discord and Messenger share cards, with a backup share image<\/li>\n<li>Schema for Google: your organization, website, pages and articles (Article, NewsArticle or BlogPosting)<\/li>\n<li><strong>Game reviews:<\/strong> star ratings (Review schema) plus a score box readers can see<\/li>\n<li><strong>YouTube videos:<\/strong> posts with an embedded YouTube player can show in Google's video results (needs a free YouTube API key)<\/li>\n<li><strong>Breadcrumbs:<\/strong> schema for Google, plus a theme function and shortcode<\/li>\n<li>Big image previews for Google Discover<\/li>\n<\/ul>\n\n<h4>Keep Google focused on your best pages<\/h4>\n\n<ul>\n<li>Hide thin pages (tags, authors, dates, search results) from Google<\/li>\n<li>Hide any post, category or tag from Google, or point it to an original (canonical)<\/li>\n<li>A cleaner WordPress sitemap that leaves out hidden pages<\/li>\n<li>A Google News sitemap for posts from the last 2 days<\/li>\n<\/ul>\n\n<h4>Fix broken links<\/h4>\n\n<ul>\n<li>Redirects: moved for good, moved for now, or deleted for good, including whole sections<\/li>\n<li>A list of broken links people visited, with a one-click Fix<\/li>\n<li>Old AMP links go to the normal page automatically<\/li>\n<\/ul>\n\n<h4>Easy to switch<\/h4>\n\n<ul>\n<li>One-click import from Yoast SEO and All in One SEO (versions 3 and 4): titles, descriptions, main keywords, share cards, canonical and noindex settings, title formats, category and tag settings, and Yoast SEO Premium redirects. It never changes the other plugin's data, so you can switch back anytime.<\/li>\n<li>Kapatagan SEO waits while another SEO plugin is on, so your pages never get two sets of SEO tags.<\/li>\n<li>Imports run in small batches, so they work on shared hosting.<\/li>\n<li>Optional WP-CLI commands: <code>wp kapatagan-seo import yoast<\/code> (or <code>aioseo<\/code>), <code>wp kapatagan-seo score<\/code>, <code>wp kapatagan-seo status<\/code><\/li>\n<\/ul>\n\n<p>The SEO score is a helpful writing checklist, not a Google ranking.<\/p>\n\n<h4>Support<\/h4>\n\n<p>Kapatagan SEO is free. If it helps your site, you can <a href=\"https:\/\/buymeacoffee.com\/pinoygaming\">buy us a coffee<\/a>.<\/p>\n\n<p>Need help or found a problem? Visit <a href=\"https:\/\/kapatagan.dev\/\">kapatagan.dev<\/a> or email support@kapatagan.dev.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to YouTube only if you add a YouTube API key in Settings. It then asks the YouTube Data API (https:\/\/www.googleapis.com\/youtube\/v3\/videos) for the details of videos embedded in your posts (title, upload date, length, description and thumbnail) so Google can show them in video search. The video ID and your key are sent. This happens in the background after a post is saved (or, for older posts, after someone visits them), never while a post is saving or a page is loading.<\/p>\n\n<p>Without a key, nothing is sent to YouTube.<\/p>\n\n<p>You can turn this off in Settings \u2192 News, reviews &amp; video. YouTube API Services Terms of Service: https:\/\/developers.google.com\/youtube\/terms\/api-services-terms-of-service \u00b7 YouTube Terms of Service: https:\/\/www.youtube.com\/t\/terms \u00b7 Google Privacy Policy: https:\/\/policies.google.com\/privacy<\/p>\n\n<!--section=installation-->\n<ol>\n<li>In WordPress, go to Plugins \u2192 Add New, search for \"Kapatagan SEO\", then click Install and Activate.<\/li>\n<li>Open <strong>Kapatagan SEO \u2192 Settings<\/strong>. The defaults already work; check the Basics tab (your name and logo).<\/li>\n<li>Moving from Yoast SEO or All in One SEO? Go to <strong>Kapatagan SEO \u2192 Import &amp; Tools<\/strong> and click <strong>Start import<\/strong>. Check a few posts, then turn off the old SEO plugin.<\/li>\n<li>Go to <strong>Import &amp; Tools \u2192 Update all scores<\/strong> once, then see <strong>Kapatagan SEO \u2192 Overview<\/strong>.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"is%20there%20a%20paid%20version%3F\"><h3>Is there a paid version?<\/h3><\/dt>\n<dd><p>No. Every feature is free, with no ads and no upsells.<\/p><\/dd>\n<dt id=\"can%20i%20use%20it%20together%20with%20yoast%2C%20rank%20math%20or%20all%20in%20one%20seo%3F\"><h3>Can I use it together with Yoast, Rank Math or All in One SEO?<\/h3><\/dt>\n<dd><p>You can keep them installed while you switch. Kapatagan SEO waits and adds nothing to your pages until the other SEO plugin is turned off, so you never get two sets of tags.<\/p><\/dd>\n<dt id=\"will%20i%20lose%20my%20yoast%20seo%20or%20all%20in%20one%20seo%20titles%20and%20descriptions%3F\"><h3>Will I lose my Yoast SEO or All in One SEO titles and descriptions?<\/h3><\/dt>\n<dd><p>No. The importer copies them over and never changes the other plugin's own data. Titles and descriptions you already filled in Kapatagan SEO are kept unless you tick \"Overwrite anything already filled in Kapatagan SEO\". Yoast variables like %%title%% become Kapatagan SEO tags like {title}; variables with no match (such as custom fields) are left out, and redirects that use regular expressions are skipped.<\/p><\/dd>\n<dt id=\"does%20a%20high%20score%20mean%20i%20will%20rank%20first%20on%20google%3F\"><h3>Does a high score mean I will rank first on Google?<\/h3><\/dt>\n<dd><p>No. The score is a checklist of good habits (main keyword, title, description, links, images). It helps you write posts that are easy for Google and readers to understand.<\/p><\/dd>\n<dt id=\"how%20do%20i%20show%20breadcrumbs%20on%20my%20site%3F\"><h3>How do I show breadcrumbs on my site?<\/h3><\/dt>\n<dd><p>Add <code>&lt;?php if ( function_exists( 'kseo_breadcrumbs' ) ) { kseo_breadcrumbs(); } ?&gt;<\/code> to your theme, or use the <code>[kseo_breadcrumbs]<\/code> shortcode.<\/p><\/dd>\n<dt id=\"where%20is%20my%20sitemap%3F\"><h3>Where is my sitemap?<\/h3><\/dt>\n<dd><p>At \/wp-sitemap.xml, and the Google News sitemap at \/news-sitemap.xml. Submit both in Google Search Console \u2192 Sitemaps.<\/p><\/dd>\n<dt id=\"can%20other%20tools%20fill%20in%20the%20seo%20fields%3F\"><h3>Can other tools fill in the SEO fields?<\/h3><\/dt>\n<dd><p>Yes. The fields are available in the WordPress REST API under \"meta\" (for example <code>_kseo_focus_kw<\/code>, <code>_kseo_title<\/code>, <code>_kseo_desc<\/code>), for anyone allowed to edit the post. Request a post with <code>?context=edit<\/code> to also get its SEO score and to-do list in the read-only <code>kapatagan_seo<\/code> field.<\/p><\/dd>\n<dt id=\"do%20i%20need%20a%20youtube%20api%20key%3F\"><h3>Do I need a YouTube API key?<\/h3><\/dt>\n<dd><p>For video schema, yes. Google requires each video's real upload date, and only the YouTube Data API provides it, so without a key no video schema is added. The key is free from Google Cloud.<\/p><\/dd>\n<dt id=\"does%20it%20work%20on%20shared%20hosting%3F\"><h3>Does it work on shared hosting?<\/h3><\/dt>\n<dd><p>Yes. Imports and score updates run in small batches, the broken-link list protects itself from bots, and nothing slows down your pages.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Imports and \"Update all scores\" now remember where they stopped. On big sites, if the server stops answering or you reload the page, click Continue to pick up from the same post instead of starting from zero. A Start over link is there if you need it.<\/li>\n<li>If the server is briefly busy, the import waits and tries again by itself before stopping.<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>New: import from Yoast SEO. Brings over each post's title, description, main keyword, share card, canonical address, noindex\/nofollow and article type, plus title formats, separator, homepage and archive settings, organization and social profiles, category and tag SEO, and Yoast SEO Premium redirects. Yoast SEO's data is never changed.<\/li>\n<li>The Import &amp; Tools screen shows one card for each SEO plugin it finds.<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>New: the SEO fields (main keyword, title and description in Google, share title\/description\/picture, review details, and the advanced options) can be read and filled in through the WordPress REST API, so publishing tools and assistants can set them on drafts. The same rules as the editor box apply: you must be able to edit the post, and only editors and above can change \"Hide from Google\", \"Don't follow links\", the original address and the schema type.<\/li>\n<li>New: ask for a post with ?context=edit to get a read-only \"kapatagan_seo\" field with its live SEO score and to-do list.<\/li>\n<li>The SEO fields are never shown to visitors who can't edit the post, and the score is updated after a REST save.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Redirects: www and non-www addresses of your site are treated as the same site, so loops between them are caught. Addresses on another port count as a different site.<\/li>\n<li>Redirects: chains are only combined when every step is the same type, so a \"moved for now\" step is never turned into \"moved for good\". Loops are still detected through the whole chain.<\/li>\n<li>Redirects: query parameters added by combined steps (like ?campaign=abc) are kept, and so are the visitor's own (like ?utm_source=\u2026).<\/li>\n<li>YouTube: a waiting background lookup checks again that video schema is on, a key is set and the post is still published before contacting YouTube.<\/li>\n<li>YouTube: only real players count (an embed block, an [embed] shortcode, an iframe, or a YouTube address on its own line). A plain link to a video no longer adds video schema.<\/li>\n<li>Category and tag sitemaps keep conditions added by other plugins.<\/li>\n<li>Uninstall uses escaped table names. The readme links the YouTube API Services Terms.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Video schema follows Google's rules: the video's real upload date from the YouTube API (never the article's date), embedUrl only (no contentUrl), and no video schema without that date.<\/li>\n<li>YouTube is contacted only in the background, never while a post is saving. Failed lookups retry after a day, and details are upgraded right away when you add an API key.<\/li>\n<li>Redirects: \"starts with\" rules that would loop (like \/blog\/* \u2192 \/blog\/archive\/*) are refused, loops made of several rules are detected, and chains are followed so visitors get one redirect.<\/li>\n<li>Redirects: \"starts with\" rules are cached (no more 500-rule limit), so matching is fast.<\/li>\n<li>Sitemaps keep conditions added by other plugins when hiding noindexed posts.<\/li>\n<li>Safer escaping in the SEO box's link suggestions, and the Redirects screen no longer uses an inline onclick.<\/li>\n<li>Database queries tightened to pass the latest Plugin Check with no warnings.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First public release.<\/li>\n<li>Security: the page title on search results is now always escaped.<\/li>\n<li>Scripts and styles now load the WordPress way (no inline tags).<\/li>\n<li>Uninstall also removes category and tag SEO data (only when you choose to delete everything).<\/li>\n<\/ul>\n\n<h4>0.6.0<\/h4>\n\n<ul>\n<li>New: Video schema for posts with embedded YouTube videos, with an optional YouTube API key.<\/li>\n<\/ul>\n\n<h4>0.5.0<\/h4>\n\n<ul>\n<li>New: Quick SEO Fix screen and Quick Edit fields.<\/li>\n<li>New: Internal link suggestions in the editor.<\/li>\n<\/ul>\n\n<h4>0.4.0<\/h4>\n\n<ul>\n<li>New look: tabs, on\/off switches, title builder, friendlier words everywhere.<\/li>\n<\/ul>\n\n<h4>0.3.0<\/h4>\n\n<ul>\n<li>New: SEO Overview, category and tag SEO, breadcrumbs.<\/li>\n<\/ul>\n\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>New: Game review star ratings, Google News sitemap, redirects and broken-link list.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>First version, used on Pinoy Gaming Network.<\/li>\n<\/ul>","raw_excerpt":"Simple, free SEO with no upsells: titles, descriptions, an SEO score, schema, sitemaps, redirects and link suggestions.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/406027","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=406027"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/kapatagandev"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=406027"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=406027"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=406027"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=406027"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=406027"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=406027"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}