Pricing

An advanced SEO module.

SEO structure, fields and integrations inside the platform. Structured data together with Solaris, with sitemaps, feeds and robots governed from here, and data layers ready to run or adapt. Built for how SEO actually works today.

SEO fields where the content lives.

Structure, fields and integrations

Templates underneath, exceptions on top

Titles and descriptions are generated from templates per entity type and language. If somebody writes their own value, that wins. The completeness report shows where templates are used and where content is missing.

Entities
Item, variant, category, brand, CMS page, landing page, blog post
Per language
Your own fields and templates per language and channel, with hreflang linking
Indexing
Robots per entity, canonical, pagination and faceted views
Redirects
301 and 302 with bulk import, hit logging and a 404 report
Permissions
An SEO role that edits metadata without touching price or stock

Integrations included

Verification, measurement and tagging are connected in the platform, not in the theme. Change frontend and the connections come with you.

Consent mode governs which events may be sent, and the same setting applies both in the browser and server-side.

Google Search ConsoleBing Webmaster ToolsGA4Google Tag ManagerGoogle Merchant CenterMeta BusinessConsent Mode v2Server-side tagging
Structured data

Together with Solaris.

ProductPage · JSON-LD
// Generated by Solaris from the platform's data
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Shell Tech Jacka",
  "sku": "APP-221",
  "gtin13": "7350061234567",
  "brand": { "@type": "Brand", "name": "Nordkust" },
  "offers": {
    "@type": "Offer",
    "price": 2495,
    "priceCurrency": "SEK",
    "availability": "https://schema.org/InStock",
    "shippingDetails": { "@id": "#frakt-se" },
    "hasMerchantReturnPolicy": { "@id": "#retur" }
  },
  "aggregateRating": { "ratingValue": 4.6, "reviewCount": 128 }
}

Solaris renders structured data server-side from the same data the page shows. Price, stock, shipping terms and return policy come from the platform, so the markup and the page never drift apart.

Commerce

  • Product · Offer
  • AggregateOffer
  • ShippingDetails
  • MerchantReturnPolicy
  • AggregateRating · Review

Navigation

  • BreadcrumbList
  • ItemList (listings)
  • CollectionPage
  • SearchAction
  • WebSite

Company & content

  • Organization
  • LocalBusiness
  • FAQPage
  • Article · BlogPosting
  • VideoObject

Custom types are added per page type, and the markup is validated in the build so a release cannot ship with broken JSON-LD.

Sitemaps and robots are governed from here.

No files to remember

Facets without index clutter

You decide which filter combinations become indexable pages with their own title and copy, and which are closed off through robots and canonical. The rest is handled with parameter rules.

Indexable
Selected facets — category + colour, say — with their own metadata
Closed
Sorting, page numbers beyond the series, empty results
Pagination
A self-referencing canonical with correct lastmod
404 & 410
Discontinued items with a suggested replacement, or a redirect

Google feed, Meta feed or your own.

The same field picker, different destinations

Custom feeds are built from the same field picker as export, in any format, to any destination — URL, FTP, email or API.

Data layer

Ready-made data layers, ready to run or adapt.

The whole purchase journey is instrumented from the start: list views, product views, cart, checkout steps and purchase. The events follow GA4's ecommerce schema and can be remapped to your own names without rebuilding the theme.

Included
view_item_list, view_item, select_item, add_to_cart, remove_from_cart, view_cart, begin_checkout, add_shipping_info, add_payment_info, purchase, refund
Customisable
Your own events and parameters — customer group, margin class or stock status, for example
Destinations
GA4, GTM, Meta, your own endpoints — one event, several destinations
Server-side
Purchases and refunds can be sent server-side, independent of blockers
Consent
Consent Mode v2 governs what may be sent, per category
dataLayer · purchase
// Sent by Solaris on order confirmation
window.dataLayer.push({
  event: 'purchase',
  ecommerce: {
    transaction_id: 'SO-104882',
    value: 3990,
    tax: 798,
    shipping: 49,
    currency: 'SEK',
    coupon: 'HOST20',
    items: [{
      item_id: 'APP-221',
      item_name: 'Shell Tech Jacka',
      item_brand: 'Nordkust',
      item_category: 'Jackor',
      item_variant: 'Svart / M',
      price: 2495,
      quantity: 1,
      // custom parameters
      customer_group: 'b2c',
      margin_class: 'A',
    }],
  },
});

Built for how SEO actually works today: server-rendered pages with Core Web Vitals designed in, structured data that follows the page’s real data, and index hygiene that keeps facets, pagination and discontinued items under control.

Technology

Rendered on the server

Solaris renders pages server-side with revalidation on price and stock changes, so what gets indexed is current.

Content

Templates and exceptions

Metadata is generated from templates per language and channel, with a completeness report on what is missing.

Measurement

Measurement that holds up

Data layers, server-side tagging and consent mode sit in the platform, not in the theme.

Questions about the SEO module.

Common questions

Do we need Solaris for structured data?+

No, but it is the easiest route. Solaris renders the markup ready from the platform’s data. With your own frontend, the same data is exposed through the API and you render the JSON-LD yourself.

Do we keep our URLs in a migration?+

Yes. The URL structure is set in the platform and redirects are imported in bulk. See replatforming for how it works in practice.

Can we have different SEO settings per market?+

Yes. Fields, templates, robots, sitemaps and feeds are set per channel and language, with hreflang between the versions.

How often are sitemaps updated?+

On publish for products and content, on a schedule for images. Search Console can be pinged automatically on update.

Can we build a custom feed for a reseller?+

Yes. Custom feeds use the same field picker as export, in any format, to a URL, FTP, email or the API.

Does measurement work with a consent banner?+

Yes. Consent Mode v2 governs which events are sent per category, and the same rule applies server-side.

Can we rename the events in the data layer?+

Yes. The default follows GA4’s schema, but events and parameters can be remapped and extended without rebuilding the theme.

SEO review

Bring your current store.

We go through the URL structure, indexing and feeds as they stand today, and what moves with you when you switch platform.