Title: SEOGeoX
Author: Softnika
Published: <strong>9 сар 24, 2026</strong>
Last modified: 9 сар 24, 2026

---

Search plugins

![](https://s.w.org/plugins/geopattern-icon/seogeox.svg)

# SEOGeoX

 By [Softnika](https://profiles.wordpress.org/softnikasolutions/)

[Download](https://downloads.wordpress.org/plugin/seogeox.1.0.5.zip)

 * [Details](https://mn.wordpress.org/plugins/seogeox/#description)
 * [Reviews](https://mn.wordpress.org/plugins/seogeox/#reviews)
 *  [Installation](https://mn.wordpress.org/plugins/seogeox/#installation)
 * [Development](https://mn.wordpress.org/plugins/seogeox/#developers)

 [Support](https://wordpress.org/support/plugin/seogeox/)

## Description

SEOGeoX is a lean, fast SEO plugin built around one idea: do the
 same core job 
as Yoast/RankMath, with less admin overhead and a fully transparent scoring model—
no opaque single-number score, no bundled JS admin framework, and no assets loaded
outside the one screen that needs them. The “Geo” in the name is the built-in Local
SEO toolkit further down this list (address/geo-coordinate fields, LocalBusiness
schema, and a multi-location “SEO Locations” post type) rather than a separate add-
on — everywhere else, “geo” isn’t used as a stand-in for features that don’t exist
yet. This is a new plugin looking for real-world testers before it grows further;
see “Has this been tested on a live site?” in the FAQ below for exactly where your
testing would help most. It currently includes:

 * A single per-post meta box: SEO title, meta description, up to 5 focus
    keyphrases(
   the first treated as primary), a live Google/Facebook/ Twitter-X preview, optional
   noindex, optional canonical override, optional cornerstone-content flag, and 
   an optional per-post schema type override.
 * Frontend `<title>` override, meta description, canonical link, Open
    Graph tags,
   and Twitter Card tags — rendered from data already loaded on the page request,
   with no extra database queries.
 * A social preview + snippet editor right in the meta box: live, no-
    network-request
   previews of how a page will look in Google search results, a Facebook/X link 
   share, and a Twitter/X card, with optional title/description/image overrides 
   for the social cards (via the media library) that never touch the SEO title or
   meta description search engines see. Twitter/X reuses the Facebook card’s content
   unless you opt into a separate title/description/image for it.
 * JSON-LD structured data: an Organization/WebSite graph sitewide, plus
    Article
   and BreadcrumbList nodes on singular content. When WooCommerce is active, product
   pages automatically get a Product node instead — with Offer (or AggregateOffer
   for variable products), stock availability, SKU, AggregateRating, and up to 10
   individual Review nodes (most recent first) when the product has reviews with
   a star rating. A per-post Schema Type Override (in the meta box’s advanced fields)
   can replace the automatic Article/Product node with an Event, Course, Podcast
   Episode, Dataset, or FAQ Page node instead, each with its own small set of type-
   specific fields. A GTIN/MPN/brand-override section appears on WooCommerce product
   edit screens, feeding straight into the Product node for better Google Merchant
   Center / Shopping eligibility. When Organization type (SEOGeoX > General Settings)
   is set to a business type (LocalBusiness, Store, Restaurant, etc.), the sitewide
   Organization node also carries address, geo coordinates, phone, price range, 
   and opening hours from the new “Local Business Info” section there. For multi-
   location businesses, a new “SEO Locations” post type (nested under the SEOGeoX
   menu) gives each branch its own page, its own LocalBusiness node (same address/
   hours/geo fields, per location), and — since it’s a public post type — its own
   entry in the XML sitemap automatically.
 * A cached XML sitemap at `/sitemap.xml` (index) and
    /sitemap-{post_type}.xml,
   rebuilt only when content changes — not on every visit. When WPML or Polylang
   is active, each per-type sitemap covers every active language in one file, with
   every translation cross-linked via `hreflang` alternate tags — built against 
   both plugins’ public APIs, but not yet exercised against a live multilingual 
   install. Please verify the sitemap output on a real WPML/Polylang site before
   relying on it, and let us know what you find. Each URL entry can also carry `
   <image:image>` tags for its featured image and any images found in the post content(
   toggle in SEOGeoX > General Settings) — pulled with a lightweight regex scan,
   not a DOM parser, so it doesn’t add a hard dependency on an extension not every
   host has enabled. Two more specialized sitemaps are available, both off by default:
   a Google News sitemap (`/sitemap-news.xml`, only for sites approved as a Google
   News publisher — lists content published in the last 48 hours from whichever 
   post types you choose) and a video sitemap (`/sitemap-videos.xml`, auto-detects
   self-hosted `<video>` tags and YouTube/Vimeo embeds already in your post content—
   nothing extra to fill in).
 * A client-side, in-browser on-page analyzer with per-check pass/warn/fail
    reasoning(
   title length, description length, sentence length, passive voice, paragraph length)
   instead of one opaque numeric score, scored separately against every focus keyphrase
   you’ve added — not just one — so each gets its own title/description/content-
   presence and density checks. No external requests.
 * One lean settings screen built on WordPress’s core Settings API — no
    bundled
   JS admin framework.
 * A redirect manager (SEOGeoX > SEO Redirects): add 301/302 redirects,
    see hit
   counts and last-hit time per redirect, and get one created _automatically_ whenever
   a published post or page’s URL slug changes — so old links don’t silently start
   404ing. Matching is a single indexed database lookup per request, not a cached
   map that has to be rebuilt and unserialized on every page load. Alongside exact-
   path redirects, wildcard patterns are supported too — e.g. old path `/blog/*`
   to target /new-blog/$1 — checked only as a small cached fallback when the exact
   lookup misses, so sites without any wildcard redirects pay nothing extra.
 * A bulk editor (SEOGeoX > SEO Bulk Editor): filter by post type, see a
    paginated
   table of posts with inline SEO title/description fields and live character counters,
   and save every row in one submit — instead of opening each post individually.
   Focus keyword, noindex, and canonical overrides already set on a post are left
   untouched by a bulk save. The same screen flags duplicate SEO titles and duplicate
   meta descriptions across every post of the filtered type — a summary list with
   edit links, plus a “Duplicate” badge on affected rows in the current page.
 * A robots.txt editor (SEOGeoX > Robots.txt), using WordPress’s own
    virtual-robots.
   txt filter — no file written to disk. Prefilled with WordPress’s current effective
   default as a starting point, with a “Sitemap:” line added automatically when 
   the XML sitemap is enabled. Warns when a physical robots.txt file on the server
   would override it, and when the site’s “discourage search engines” setting is
   on (custom content would override WordPress’s own blanket Disallow in that case).
 * Redirect CSV export/import, right on the Redirects screen: export
    every redirect(
   including hit counts) as a CSV, or upload a CSV with “source”/”target” columns(
   an optional “type” column, 301 default) to bulk-add redirects — handy for migrating
   off another redirect plugin.
 * A Yoast SEO / Rank Math data migration screen (SEOGeoX > SEO
    Migration): detects
   existing per-post titles, descriptions, focus keywords, noindex flags, and canonical
   URLs from either plugin and imports them in one click. Only fills posts that 
   don’t already have SEOGeoX data — nothing already set here is overwritten. Common
   template variables (%%title%%, %sitename%, etc.) are resolved; anything less 
   common is left as literal text to clean up afterward in the Bulk Editor.
 * A 404 monitor (SEOGeoX > 404 Monitor): logs real front-end 404s
    (path, hit count,
   first/last seen), ranked by frequency, with a one-click “Add Redirect” button
   that opens the Redirects screen with the path pre-filled. Once a redirect exists
   for a logged path, it stops accumulating new hits automatically — the redirect
   manager catches it first. Noisy paths (wp-admin, wp-content, favicon.ico, etc.)
   are excluded, and the log self-prunes to the least-hit, longest-stale 5,000 entries
   so bot scanning can’t grow it without bound.
 * A settings export/import screen (SEOGeoX > General Settings): export the
    organization/
   logo/Twitter/sitemap/schema settings and robots.txt content as a JSON file, or
   upload one to apply those same settings on another site — handy for staging  
   production deployment. Imported data is run back through the same validation 
   a manual save uses, not trusted as-is.
 * Instant Indexing (SEOGeoX > Instant Indexing): pings search engines the
    moment
   a public post is published, updated, or unpublished, instead of waiting for their
   next crawl. IndexNow (Bing, Yandex, Seznam, Naver, and others) needs no account—
   just a generated key, verified by a plain-text file this plugin serves automatically—
   and is off by default, so nothing is sent anywhere until you turn it on in SEOGeoX
   > Instant Indexing. An optional Google Indexing API integration is also included,
   off by default and clearly flagged: Google officially restricts that API to JobPosting/
   BroadcastEvent pages, so using it for ordinary content isn’t sanctioned by Google
   even though it works in practice for many sites. Neither call ever blocks a post
   save — both run a few seconds later via WP-Cron, with the actual sent/failed 
   result shown on the settings screen.
 * Internal linking (SEOGeoX > Internal Linking, plus a new “Cornerstone
    content”
   checkbox in the meta box): an on-site internal-link graph is kept in its own 
   small table and rebuilt whenever a post is saved. An Orphaned Content Finder 
   lists cornerstone content with no incoming internal links from anywhere else 
   on the site; a Stale Cornerstone Content Finder lists cornerstone content untouched
   for a configurable number of months. While editing a post, a “Link suggestions”
   panel shows other published posts worth linking to (cornerstone pages surfaced
   first), with a one-click “Copy link” button — the only network request this plugin’s
   admin JS makes anywhere, and it never leaves the site.
 * A Role Manager (SEOGeoX > Role Manager): control which WordPress roles
    can see
   and use each of this plugin’s settings screens, and which roles can edit the “
   advanced” per-post fields (noindex, canonical override, cornerstone). Built on
   WordPress’s own capabilities system, not a separate permission layer. Defaults
   preserve exactly what already worked before this screen existed — screen access
   defaults to whichever roles already had `manage_options`, and advanced-field 
   access defaults to whichever roles already had `edit_posts` — and any role that
   already has full admin access is never editable from this screen, so there’s 
   no way to use it to lock yourself out.
 * Google Search Console integration (SEOGeoX > Search Console):
    connects with 
   a Google Cloud service account (the same auth approach the Google Indexing API
   integration uses) and reads Search Console’s own Search Analytics report — never
   by scraping live search results, which would violate Google’s terms of service.
   One cached report (refreshed every 6 hours) powers a sitewide clicks/impressions/
   CTR/ position overview, a Keyword Ranking table for up to 20 tracked keywords/
   phrases (their real average position, clicks, impressions, and CTR, straight 
   from Search Console), and a Top Queries table that flags queries already earning
   meaningful impressions but ranking past position 10 as an “Opportunity” — a keyword
   suggestion backed by this site’s own real search demand, not a generic volume
   guess.
 * A second, independent Google Keyword Suggestion tool sits right in the
    meta 
   box: a “Get keyword ideas” button next to focus keyphrases that calls Google’s
   own public autocomplete endpoint — the same suggestions the Google search box
   itself shows as you type. Off by default and flagged the same way the Google 
   Indexing API is (it’s not a documented, supported Google API); enable it in SEOGeoX
   > General Settings. Only the typed keyphrase is ever sent, and results are cached
   for 12 hours per term.
 * Automated Image SEO: fills in missing alt text automatically and for
    free — 
   from an image’s own caption or title, or a cleaned-up version of its filename(
   WordPress’s own resize suffix and camera-generated prefixes like “IMG_”/”DSC_”
   stripped) — never by looking at the image itself, so it never claims to describe
   what’s actually depicted. Runs once, automatically, right when an image is uploaded(
   only ever filling an _empty_ alt field), and a new Image SEO screen lists every
   image already in the Media Library with missing alt text, with an editable suggestion
   for each, fixed in bulk. The on-page analyzer also now flags images in the post
   being edited that are missing alt text.

Assets (JS/CSS) load only on the specific admin screen that needs them —
 never 
sitewide across wp-admin.

### Roadmap ideas (not yet built)

Every item originally on this list — including every purely in-house
 batch toward
RankMath Pro / Yoast Premium parity, and the Search Console / keyword ranking / 
keyword suggestion integrations that used to be queued here as “bring your own API
key” ideas — has now been built. The only thing still queued is:

 * AI-assisted title/content suggestions, using your own OpenAI/
    Anthropic-style
   API key. This is the one item that genuinely can’t be done as plain code — everything
   else originally queued for a “bring-your-own-API-key” integration (keyword rank
   tracking, a Search Console dashboard inside wp-admin) turned out to be buildable
   as a fully-authenticated Search Console integration instead, needing only a free
   Google Cloud service account rather than a paid third-party key. AI-assisted 
   content will always be off until you supply your own credentials — this plugin
   will never bundle or resell access to someone else’s API.

## Installation

 1. Zip the `seogeox` folder if it isn’t already, or upload it as-is
     via Plugins >
    Add New > Upload Plugin.
 2. Activate the plugin.
 3. Go to the new “SEOGeoX” menu in the main admin sidebar (its own
     top-level menu,
    not nested under Settings) to set your organization name, logo, Twitter handle,
    and toggle the sitemap/schema output.
 4. Edit any post or page — the SEOGeoX meta box appears below the
     content editor.

## FAQ

### Has this been tested on a live WordPress site?

Not extensively yet — this is a new plugin, and this release is
 specifically meant
to invite that testing rather than assume it. Areas where real-site testing matters
most: the WooCommerce schema output, the WPML/Polylang sitemap output, the Yoast/
Rank Math migration screen against real existing data, the 404 monitor under real
traffic, the robots.txt filter against your actual server config, the settings export/
import round-trip, wildcard redirect matching, the image sitemap’s `<img>` extraction,
IndexNow’s key-file verification, the Google Indexing API and Search Console integrations’
service-account authentication, the internal-link graph and its suggestions panel,
multi-keyphrase scoring and the Role Manager’s capability defaults, the social preview/
snippet editor, the Event/Course/Podcast/Dataset/FAQ schema types, the Google News/
video sitemaps, the Local SEO / SEO Locations post type, the top-level admin menu’s
per-role visibility, the Automated Image SEO auto-fill-on-upload behavior, and the
Google Keyword Suggestion button. If you hit something that doesn’t work as described,
please open a support topic — that report is exactly what this release is asking
for.

### Does this plugin send data to any external service?

Every integration below is off by default (none of them run until you turn
 them
on in the relevant settings screen), sends only the minimum data each one needs 
to function, and is disclosed here in full:

**IndexNow** — Off by default. Once enabled in SEOGeoX > Instant Indexing,
 it sends
the URL of a public post to the IndexNow API the moment that post is published, 
updated, or unpublished, plus a plugin-generated key (not a personal account credential)
used to verify you control the site. Nothing else about the post — its content, 
author, or any personal data — is transmitted. This happens automatically in the
background (via WP-Cron) every time a matching post changes, for as long as the 
setting stays on. Destination: `https://api.indexnow.org/indexnow`, run by Microsoft
and Yandex. Terms: https://www.indexnow.org/terms — Documentation: https://www.indexnow.
org/documentation — Privacy/FAQ: https://www.indexnow.org/faq

**Google Indexing API** — Off by default and requires you to first create
 and paste
in your own Google Cloud service account JSON key. Once configured, publishing, 
updating, or unpublishing a public post sends that post’s URL to Google’s Indexing
API in the background (via WP-Cron), the same way IndexNow does. A “Test Connection”
button lets you verify the credentials without submitting a real URL. Google officially
restricts this API to JobPosting/BroadcastEvent pages; using it for ordinary content
works in practice but isn’t a sanctioned use, which the settings screen flags. Destination:
Google’s `indexing.googleapis.com`. Docs: https://developers.google.com/search/apis/
indexing-api/v3/quickstart — Terms: https://developers.google.com/terms — Privacy:
https://policies.google.com/privacy

**Google OAuth (service-account authentication)** — Not a separate feature
 you 
turn on; it’s the shared authentication step behind both the Google Indexing API
and Search Console integrations above; it runs only when one of those is enabled
and configured. This plugin never asks you (or your site’s visitors) to sign in 
to a personal Google account — instead, it reads the `client_email` and private 
key from the service account JSON you paste in yourself, signs a short-lived authentication
token locally with PHP’s own OpenSSL extension, and exchanges that token directly
with Google for an access token scoped to only the one API being used. No personal
Google account, password, or visitor data is ever involved. Destination: Google’s`
oauth2.googleapis.com/token`. Policies: https://developers.google.com/identity/protocols/
oauth2/policies and https://developers.google.com/terms/api-services-user-data-policy—
Privacy: https://policies.google.com/privacy

**Google Autocomplete (Keyword Suggestion button)** — Off by default;
 enable it
in SEOGeoX > General Settings. When you click “Get keyword ideas” in the post-edit
meta box, only the keyphrase you’ve typed at that moment is sent — never post content,
title, or any personal data — to fetch the same suggestions Google’s own search 
box shows as you type. Results are cached for 12 hours per term so retyping an idea
doesn’t repeat the request. Destination: `suggestqueries.google.com`, a public endpoint
Google uses for its own autocomplete UI. It isn’t part of any documented, officially
supported Google API, so there’s no dedicated Terms of Service page for it specifically;
Google’s general terms and privacy policy apply: https://policies.google.com/terms
and https://policies.google.com/privacy

**Google Search Console** — Off by default and, like the Indexing API,
 requires
your own Google Cloud service account first. Once configured, this plugin only _reads_
your site’s existing Search Console Search Analytics report (clicks, impressions,
position, and query data Google already collected) on a schedule (cached for 6 hours)—
it never writes to, modifies, or submits anything to Search Console, and it never
scrapes live Google search results. Destination: Google’s searchconsole.googleapis.
com / `www.googleapis.com/webmasters`. Docs: https://developers.google.com/webmaster-
tools/v1/terms — Terms: https://developers.google.com/terms — Privacy: https://policies.
google.com/privacy

Automated Image SEO, the on-page analyzer, XML sitemaps, redirects, the
 404 monitor,
and everything else this plugin does make no external request of any kind — alt 
text, for example, is generated from the image’s own filename/caption/title, entirely
on your own server.

### Will this conflict with Yoast SEO or Rank Math?

Running two SEO plugins at once usually means duplicate meta tags and
 duplicate
JSON-LD schema, so deactivate the other one first. The SEO Migration screen (SEOGeoX
> SEO Migration) then copies over existing titles, descriptions, focus keywords,
noindex flags, and canonical URLs from whichever of the two you were using, in one
click.

### Does this work with WooCommerce, WPML, or Polylang?

WooCommerce product pages automatically get Product schema (price,
 stock, SKU, 
ratings/reviews) instead of the default Article node, plus a GTIN/MPN/brand fields
section on the product edit screen — no configuration needed beyond having WooCommerce
active. WPML and Polylang are supported in the XML sitemap (every active language
in one sitemap per post type, cross-linked with `hreflang` alternates) if either
plugin is active; see the note above about this not yet being tested against a real
multilingual install.

## Reviews

![](https://secure.gravatar.com/avatar/c1b8e6f64c6d8de53158dbce83a88a6fa63db81be6ec699a174ce506d843ecde?
s=60&d=retro&r=g)

### 󠀁[One of the best Plugin for SEO and AI Rankings.](https://wordpress.org/support/topic/one-of-the-best-plugin-for-seo-and-ai-rankings/)󠁿

 [rjnaiden](https://profiles.wordpress.org/rjnaiden/) 9 сар 25, 2026

One of the best plugin for SEO and AI rankings, it is one solution for everything
i needed to rank my website.

 [ Read all 1 review ](https://wordpress.org/support/plugin/seogeox/reviews/)

## Contributors & Developers

“SEOGeoX” is open source software. The following people have contributed to this
plugin.

Contributors

 *   [ Softnika ](https://profiles.wordpress.org/softnikasolutions/)

[Translate “SEOGeoX” into your language.](https://translate.wordpress.org/projects/wp-plugins/seogeox)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/seogeox/), check out
the [SVN repository](https://plugins.svn.wordpress.org/seogeox/), or subscribe to
the [development log](https://plugins.trac.wordpress.org/log/seogeox/) by [RSS](https://plugins.trac.wordpress.org/log/seogeox/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.5

Closes a gap in 1.0.3’s IndexNow/Google Indexing API enabled-state fix: that
 round
guarded the _callers_ (the automatic publish/update ping and the “Resubmit All” 
button) but not the function that actually sends the HTTP request. That was enough
for both normal paths, but not for a request already queued on WordPress’s cron 
before the integration got disabled — such a request would reach `send()` directly,
skipping both guarded callers. Added the same `enabled` check inside `send()` itself
in both includes/class-indexnow.php and `includes/class-google-indexing.php`, so
neither integration can reach its external API once disabled, regardless of which
code path gets there.

#### 1.0.4

Small follow-up to 1.0.3, closing the last two spots a text-based scanner
 (rather
than a person) could still flag:

 * The social preview card’s image was rendered with a dynamically generated
    style
   =”background-image:url(…)” attribute in `assets/admin.js`. Replaced with a plain`
   <img>` element (same visual result, styled via assets/admin.css) run through 
   the file’s existing `escapeHtml()` helper.
 * Removed the one remaining literal `onclick="..."` example text from a code
    comment
   in `assets/confirm-submit.js` describing the earlier fix, for the same reason
   literal examples were cleaned out of other comments in 1.0.3.

#### 1.0.3

A second round of fixes on the same “SEOGeoX” review:

 * Removed every remaining inline `style=""` attribute from admin screens
    (field
   widths, table column widths, form spacing, and show/hide states that used to 
   be set with `style="display:none;"`). All of it now lives in `assets/admin.css`
   as reusable classes, or is toggled via classList in JavaScript instead of writing
   to `.style.display` directly.
 * Removed three remaining inline click-confirm handlers (Clear All 404s,
    Regenerate
   IndexNow Key, Migrate Now) that were passed to WordPress’s own `submit_button()`
   helper as an `onclick` attribute — still a real inline event handler even though
   it wasn’t typed as literal HTML in the template. Replaced with a plain `data-
   confirm` attribute and one small shared enqueued script (`assets/confirm-submit.
   js`).
 * Fixed the JSON-LD schema output’s JSON encoding: it was passing
    JSON_UNESCAPED_SLASHES
   to `wp_json_encode()`, which would let a literal `</` sequence through unescaped—
   meaning post content containing `</script>` could break out of the structured-
   data `<script>` tag it’s embedded in. Removed that flag (PHP’s default behavior
   escapes / as `\/`, which prevents this) and added an explicit `</`  `<\/` replacement
   as defense in depth.
 * IndexNow’s “Resubmit All Published URLs” button (and, for the same
    reason, the
   Google Indexing API’s equivalent button) now checks that the integration is actually
   enabled before doing anything — previously a disabled integration’s automatic
   pinging correctly stayed off, but the manual resubmit button could still reach
   the API even while the toggle was off.
 * Removed a couple of literal `<script>`/`onclick=` examples from code
    comments(
   describing fixes from the previous round) that a text-based scanner can’t distinguish
   from the real thing still being present.
 * Trimmed the readme’s changelog: the full multi-generation rename history
    (three
   product names, two different company names, and internal class-prefix details
   like `RCSEO_`/`SEOP_`) has been collapsed into short, brand-neutral notes. That
   level of internal development history doesn’t belong in a public-facing readme,
   and specifically shouldn’t reference a company name unrelated to this submission.
 * A stray code comment left over from an earlier rename still said
    “SEO Presence”
   instead of “SEOGeoX” — fixed.

#### 1.0.2

Addresses the WordPress.org review feedback on the “SEOGeoX” submission:

 * IndexNow (Instant Indexing) is now off by default, matching every other
    integration
   in the plugin that calls an external service: Google Indexing API, Search Console,
   and Keyword Suggestions were already off until you supplied credentials or flipped
   a setting, but IndexNow previously started pinging Bing/Yandex/Seznam/Naver on
   every publish/ update/unpublish the moment the plugin was activated, with no 
   configuration required first. That’s now consistent — turn it on in SEOGeoX >
   Instant Indexing when you’re ready to use it. No other behavior changed; if you
   already turned it on deliberately, this update does not turn it back off for 
   you (the setting is only re-defaulted for installs that never touched it).
 * The “Does this plugin send data to any external service?” FAQ entry now
    documents
   every integration individually — IndexNow, the Google Indexing API, the shared
   Google service-account authentication step, the Google Autocomplete-based Keyword
   Suggestion button, and Google Search Console — with exactly what each one sends,
   when, where it goes, and links to its Terms of Service and (where one exists 
   specifically for it) Privacy Policy.
 * Removed the one inline `<script>` tag and the one inline `onclick=""`
    attribute
   this plugin printed directly into an admin page (both on the SEO Redirects screen);
   that behavior now lives in a properly enqueued assets/redirects.js, loaded only
   on that one screen. The plugin’s other use of an inline `<script type="application/
   ld+json">` block (front-end structured data) is intentionally unchanged — it’s
   a per-page JSON data payload, not executable logic, and can’t be moved into a
   static enqueued file; this is the same approach every major SEO plugin uses for
   schema markup.
 * Fixed the `Contributors:` line below to the correct WordPress.org
    username.

#### 1.0.0 – 1.0.1

Internal development milestones before this plugin’s first public
 submission, including
settling on its final name and branding. No end-user-facing features changed in 
either step.

#### 0.1.0 – 0.22.0

Pre-1.0 development releases that built out the feature set described
 above, one
batch at a time, before the first public submission.

## Meta

 *  Version **1.0.5**
 *  Last updated **1 өдөр ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **7.1.2**
 *  PHP version ** 7.4 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/seogeox/)
 * Tags
 * [redirects](https://mn.wordpress.org/plugins/tags/redirects/)[schema](https://mn.wordpress.org/plugins/tags/schema/)
   [Search Console](https://mn.wordpress.org/plugins/tags/search-console/)[seo](https://mn.wordpress.org/plugins/tags/seo/)
   [sitemap](https://mn.wordpress.org/plugins/tags/sitemap/)
 *  [Advanced View](https://mn.wordpress.org/plugins/seogeox/advanced/)

## Ratings

 5 out of 5 stars.

 *  [  1 5-star review     ](https://wordpress.org/support/plugin/seogeox/reviews/?filter=5)
 *  [  0 4-star reviews     ](https://wordpress.org/support/plugin/seogeox/reviews/?filter=4)
 *  [  0 3-star reviews     ](https://wordpress.org/support/plugin/seogeox/reviews/?filter=3)
 *  [  0 2-star reviews     ](https://wordpress.org/support/plugin/seogeox/reviews/?filter=2)
 *  [  0 1-star reviews     ](https://wordpress.org/support/plugin/seogeox/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/seogeox/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/seogeox/reviews/)

## Contributors

 *   [ Softnika ](https://profiles.wordpress.org/softnikasolutions/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/seogeox/)