Getting started
This page tells you how to install Vantage SEO, set it up with the wizard, publish your site, and check that the SEO tags are in the published HTML.
Requirements
- A self-hosted Instatic site. The plugin was tested live on Instatic v0.0.18.
- An Instatic admin account that can install plugins. Instatic can ask for your password again before it installs a plugin.
- The public address of your site, for example
https://harborandpine.coffee. The plugin needs this address for canonical URLs, the sitemap,llms.txt, IndexNow and the JSON-LD graph. - For Pro features: the Pro plugin zip and a license key.
Get the plugin
The free edition is on GitHub under the MIT license. The repository README tells you how to build the zip from source. The build writes vantage-seo.plugin.zip.
The Pro edition is a separate zip with the same plugin id. Pricing is announced at launch.
Install the plugin
Instatic installs plugins from zip files. There is no plugin marketplace.
- In the Instatic admin, open Plugins.
- Click Upload Plugin and select the zip file.
- Read the permission review. Instatic always shows this review. It lists each permission and each external host the plugin can contact.
- Confirm the install. If Instatic asks for your password, enter it.
- Find the new SEO item in the admin sidebar. It opens the SEO Settings page.
Permissions the plugin asks for
Instatic enforces each permission at runtime. This table tells you why the plugin needs each one.
| Permission | Why the plugin needs it |
|---|---|
cms.storage | Stores settings, per-page SEO values, the sitemap page list and daily counts. |
cms.routes | Serves the logged-in routes that the settings page and the editor panel use. |
cms.hooks | Adds the SEO tags to each page at publish time. |
cms.content.read | Reads the pages table (read only) to find template pages. |
admin.navigation | Adds the SEO item to the admin sidebar. |
editor.code | Runs the settings page and the editor panel in the admin window. Instatic shows a warning for this permission because this code does not run in the sandbox. |
editor.panels | Adds the SEO panel to the page editor. |
editor.store.read | Reads the page you edit, for the search preview and the content analysis. |
editor.store.write | Opens the SEO panel from the ⌘K command. No other part of the plugin changes editor state. |
cms.routes.public | Serves the sitemap, llms.txt, the IndexNow key file and the analytics beacon to visitors who are not logged in. In Pro, it also serves the MCP endpoint and the 404 redirect lookup. |
network.outbound | Sends IndexNow requests. In Pro, it also sends license checks, Search Console requests and AI provider requests. |
cms.schedule | Runs a maintenance task every 15 minutes. |
frontend.assets | Adds the analytics script file to published pages. The script does nothing until you turn analytics on. |
dashboard.widgets.register | Adds the SEO traffic widget to the dashboard. |
editor.commands | Adds two ⌘K commands: Open SEO settings and SEO: open panel. |
The free edition can contact one external host: api.indexnow.org. The Pro edition adds the license server, two Google hosts and three AI provider hosts. See Privacy and data for the full list.
Run the setup wizard
The setup guide opens on the SEO Settings page until you save a site URL. It has six steps. Each step saves when you click Save & continue.
- Site basics. Enter the site URL, the site name and the title separator. Only the site URL is required. Enter the bare origin with no path, for example
https://harborandpine.coffee. - Titles. Enter the site title template, for example
%title% %sep% %site%. The step shows a sample title. - Indexing. Turn IndexNow on or off. IndexNow is on by default. The step shows the address of your sitemap and your
llms.txtfile. - Search engines. Paste the verification token for Google Search Console, Bing Webmaster Tools or Pinterest. You can paste the full
<meta>tag. The plugin keeps only the token. This step is optional. - Analytics. Turn the first-party page-view counter on or off. It is off by default.
- Finish. Read the setup summary. It tells you which items are set and whether the sitemap is serving.
To change these values later, use the General, Titles and Schema tabs on the SEO Settings page.
Publish your site
The plugin adds its tags when Instatic publishes a page. Pages that you published before you installed the plugin do not have the tags. Publish the site again after you finish the wizard.
Every later change to SEO settings also needs a publish. The plugin does not change HTML that Instatic already published.
Check the output
View the page source
Open a published page in a browser and view the source. In the <head>, look for:
- A
<title>that matches your template. - A
<meta name="description">tag, if the page or the site has a description. - A block between the comments
<!--seo:start-->and<!--seo:end-->. This block holds the plugin's tags: Open Graph tags, verification tags and a<script type="application/ld+json">block with the schema.org graph.
The plugin replaces the title and description that Instatic writes. It does not add a second copy. If you publish the same page twice with no changes, the plugin does not add duplicate tags.
Check the sitemap and llms.txt
Instatic cannot serve files at the root of your site. The plugin therefore serves its files from its own runtime path:
https://harborandpine.coffee/admin/api/cms/plugins/monkeywebs.seo/runtime/sitemap.xml
https://harborandpine.coffee/admin/api/cms/plugins/monkeywebs.seo/runtime/llms.txtOpen these addresses in a browser. If you get a "not available" message, do these steps:
- Save the site URL in SEO Settings, on the General tab.
- Publish at least one page.
The addresses /sitemap.xml and /llms.txt at the root of your site work only after you add proxy rules on your web server. See Serve the files at the root of your site.
Upgrade from free to Pro
Upload the Pro zip on the Plugins page, the same way as the free zip. The two editions use the same plugin id, so Instatic treats the Pro zip as an upgrade. Your settings, per-page values and counts stay. Then enter your license key on the License tab. See Activate a license.
Next steps
- Set title templates for each table: Titles and meta.
- Set your publisher name and logo: Social and schema.
- Submit your sitemap to search engines: Sitemaps and indexing.