# Improve SEO health

> Read the score, start with the quick wins, fix issues page by page, and keep metadata complete.

Source: https://docs.bifrostorbit.com/cms/editors/seo-health/

Open **SEO › Health** for the region and language in the top bar.

## The score

Each page starts at 100 and loses 15 for each error and 5 for each warning; the score is the average across pages. Notes cost nothing. The trend shows one reading a day for 90 days. Checks run against drafts, so a fix shows as soon as it is saved.

## Where to start

- **Quick wins** show how many points the score would rise with an issue fixed everywhere.
- **Dead ends** count missing addresses and broken links. They do not change the score, but each one loses a visitor.
- **Issues by impact** group pages by issue. Open one to fix it in place, assign it to someone, or mark it as one to leave, with the reason.

"No main heading" means no block on the page is known to show an H1. If your website does show one, for example from a block's title, ask a developer to set that field as the component's **Main heading of the page**.

## In Insights Orbit

When your organisation has Insights Orbit and the space is connected to a site, the **Top pages** list under **Pages** in Insights Orbit shows each published page's score and open issues from the day's check, next to its visitors. Selecting the score opens the page's SEO here. See [See how pages and campaigns do](https://docs.bifrostorbit.com/cms/editors/insights/).

## Environments that search engines cannot find

When the environment in the top bar cannot appear in search results, a notice at the top of **SEO › Health** says so. That is every environment except Production, and Production when it is set to hide from search engines. The checks and the score work as usual, so you can fix pages before they go live. See [How CMS Orbit is organised](https://docs.bifrostorbit.com/cms/editors/how-the-cms-is-organised/) for the setting.

## Languages and regions

When a page has versions in other languages or regions, CMS Orbit links them for search engines with hreflang (see [Languages, regions and search engines](https://docs.bifrostorbit.com/cms/editors/languages-in-search/)), in the page's metadata and in the sitemap, and picks an x-default from the **Default region** in **SEO › Settings**. That happens by itself. The **Languages** checks in **SEO › Health** tell you when something stops it from working:

- **Errors:**
  - a language code that isn't valid hreflang, such as `de_DE` instead of `de-DE`;
  - two versions with the same code;
  - two versions at the same address;
  - a version whose address now redirects.
- **Warnings:**
  - a page hidden from search engines, which its other versions then can't link to;
  - a canonical that points to another page, so search engines ignore its language links;
  - a region without a website address.
- **Notes:**
  - a version that isn't published yet;
  - an x-default that uses another region, because the default region has no version of the page.

In the editor, a page's **SEO** tab lists every version under **Languages and regions**: its language code, region and address, and whether it is linked, hidden or not published yet.

These errors are rare, because CMS Orbit builds the links itself; they come from settings around them, such as a redirect left behind. A redirect, a hidden page and a canonical elsewhere can be fixed in one click from the issue. See [Languages, regions and search engines](https://docs.bifrostorbit.com/cms/editors/languages-in-search/) for why each happens and how to fix it.

### Checking the live website

The checks above look at what CMS Orbit sends. To be sure your website really shows it, CMS Orbit also loads each published page in Production from the live website, about once a day, and compares its language links and canonical with what they should be. Choose **Check live website** in a page's SEO tab to check it straight away.

It reports a live page that has no language links, links that don't match, a canonical that differs, or a page that couldn't be loaded. No language links at all usually means the website doesn't add the page's metadata from CMS Orbit: ask your developer to follow [SEO with the SDK](https://docs.bifrostorbit.com/cms/developers/seo-with-the-sdk/). Only pages on a verified domain are checked.

## Metadata

**SEO › Metadata** shows every page as it appears in search results. Change titles and descriptions one page at a time, write them in bulk with AI, or leave a warning that is right for a page as it is. See [Edit search titles and descriptions](https://docs.bifrostorbit.com/cms/editors/seo-metadata/).

## Settings

Share images work best at 1200 × 630. When cropping one, choose the **Share 1.91:1** shape so it keeps that size. The share preview in a page's SEO tab shows the image that will really be used: the page's own, its hero image, or the website's default.

**SEO › Settings** holds the title template, the default description and share image, social profiles, robots.txt for production, search engine verification, and the addresses the website serves itself.
