> For the complete documentation index, see [llms.txt](https://handbook.marsbased.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://handbook.marsbased.com/our-guides/seo-guidelines.md).

# Our SEO guidelines for new projects

As a development consultancy, we get the chance to work on very different products and projects. From all of them, we learn something new, but in all of them, we apply our previous knowledge.

With dozens of different projects in well over five years, we've compiled our SEO 101 that we apply to all our projects.

***

## Tools

### Google Search Console

**URL:** <https://search.google.com/search-console>

**Description:** Google Search Console is a powerful tool for managing your domains and monitoring their performance in Google search. From domain verification to keyword analysis and error tracking, this is an indispensable tool.

* Use the **domain property** verification method to automatically include all variants of your domain (e.g., http/https, www/non-www).
* Key features:
  * **Core Web Vitals** report to monitor performance metrics: Largest Contentful Paint (LCP), Interaction to Next Paint (INP), and Cumulative Layout Shift (CLS). INP replaced First Input Delay (FID) as the responsiveness metric in 2024 — if you find older guides or tooling referencing FID, treat it as deprecated.
  * **Page Indexing** report (under *Indexing > Pages*) to track and resolve indexing issues.
  * **Generative AI performance** report to see how your content shows up in Google's AI-powered search features (AI Overviews, AI Mode).

### Google Analytics 4 (GA4)

**URL:** <https://analytics.google.com>

**Description:** GA4 is Google's event-based analytics platform, with privacy-centric data collection and predictive insights.

* Obtain the GA4 tracking code from the Admin section and embed it in the `<head>` of your HTML (or load it via a tag manager).
* GA4 supports custom event tracking and enhanced measurement for scrolls, video engagement, and more.
* If the project targets the EU/UK, configure **Consent Mode** so tracking respects the visitor's cookie consent choice.

***

## Sitemap

The sitemap is typically an XML file that describes the structure of your site and is placed at the root of the project.

* Use dynamic sitemaps generated by CMSs or frameworks to ensure they stay up-to-date with site changes.
* Submit your sitemap URL via Google Search Console and Bing Webmaster Tools.

Example dynamic sitemap URL: <https://marsbased.com/sitemap.xml>.

***

## Robots.txt

Robots.txt guides crawlers on how to interact with your site. It is located at `<www.site.com/robots.txt>`.

* Modern best practices:
  * Allow access to important resources like JavaScript and CSS for proper rendering and indexing.
  * Example configuration:

```plaintext
User-agent: *
Disallow:
Sitemap: https://www.marsbased.com/sitemap.xml
```

Test and submit your robots.txt file using Google Search Console.

***

## HTTPS

Ensure HTTPS is enforced site-wide, as non-HTTPS sites are flagged as insecure and perform poorly in rankings.

* Use at least **HTTP/2**; prefer **HTTP/3** (QUIC) where your hosting/CDN supports it, since it's now widely adopted and improves load times, especially on mobile networks.
* Implement **HSTS (HTTP Strict Transport Security)** for additional security.

***

## Tags, Metatags, and Schema.org

### Metatags

Modern SEO no longer uses outdated tags like `author` or `copyright`. Instead, include:

```html
<meta name="description" content="MarsBased is a web & mobile development consultancy.">
<meta property="og:title" content="MarsBased | Web Development">
<meta property="og:description" content="Development consultancy for web & mobile applications.">
<meta property="og:image" content="https://www.marsbased.com/og-image.png">
```

`index, follow` is the default behavior for `<meta name="robots">`, so you only need to add it explicitly when overriding it (e.g. `noindex` on a staging page).

### Schema.org

Use **JSON-LD** for structured data, as it's preferred by search engines:

```json
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "MarsBased",
  "url": "https://marsbased.com",
  "sameAs": [
    "https://x.com/marsbased",
    "https://www.linkedin.com/company/marsbased"
  ]
}
</script>
```

Validate with [Google’s Rich Results Test](https://search.google.com/test/rich-results).

***

## Content

Key guidelines for content creation:

* Use **E-E-A-T** principles: demonstrate Experience, Expertise, Authority, and Trustworthiness.
* Internal linking: ensure every page is linked to another for full crawlability.
* Avoid duplicate content. For necessary duplicates (e.g., multi-language), use canonical tags:

```html
<link rel="canonical" href="https://www.site.com/original-page" />
```

* Optimize headers:
  * Only one `<h1>` per page.
  * Maintain hierarchical structure (e.g., `<h2>` under `<h1>`, `<h3>` under `<h2>`).

***

## Bonus Track #1: AI Search (AEO/GEO)

"AI search" actually covers two different readers, and they don't take the same input:

* **Google's AI Overviews and AI Mode** are built on Google's normal Search ranking and quality systems. Per Google's own guidance, there's no special file or markup needed to appear in them — no `llms.txt`, no chunking content for AI consumption. The classic SEO fundamentals in this guide (E-E-A-T, structured data, genuinely helpful content) are what feed them. See [Google's AI features documentation](https://developers.google.com/search/docs/appearance/ai-features).
* **Conversational answer engines** (ChatGPT, Claude, Perplexity) work differently: they fetch and cite pages directly, so serving them a clean, dedicated version of your content (e.g. `llms.txt`, per-page Markdown) measurably helps you get read and cited correctly. This is GEO (Generative Engine Optimization) proper, and it's what we cover in our [GEO guidelines](/our-guides/geo-guidelines.md), distilled from the AI-discoverability work shipped on marsbased.com itself.

In short: don't bother with `llms.txt` for Google's AI Overviews, but do bother with it — along with the rest of the GEO guidelines — for being cited by LLM-based answer engines.

***

## Bonus Track #2: Migrations

For URL structure or domain migrations:

* Use 301 redirects to preserve SEO value. Example:

```plaintext
Redirect 301 /old-page /new-page
```

* Audit the migration using tools like [Screaming Frog SEO Spider](https://www.screamingfrog.co.uk/seo-spider/).

***

## Bonus Track #3: Multi-language Sites

Use hreflang tags to signal equivalent content in different languages:

```html
<link rel="alternate" hreflang="en" href="https://www.site.com/en/" />
<link rel="alternate" hreflang="es" href="https://www.site.com/es/" />
```

Validate hreflang implementations using tools like [Ahrefs](https://ahrefs.com/) or [Semrush](https://www.semrush.com/).

***

By following these updated guidelines, you'll ensure your projects are SEO-optimized and aligned with modern best practices.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://handbook.marsbased.com/our-guides/seo-guidelines.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
