Editorial note

This guide is reviewed against live web behavior and current public documentation. Recommendations that depend on context are described as such.

robots.txt and XML Sitemaps is one of those subjects that becomes more useful when you stop treating it as a trick. This guide is written for people responsible for a live website: owners, developers, editors, support teams, and SEO specialists who need to decide what to change and what to leave alone. The goal is practical clarity, not a collection of slogans.

Use crawler controls and discovery files for their intended purposes without accidentally blocking important content. We will work from the outside in: first what a visitor and a crawler receive, then the signals created by the CMS and server, and finally the operational habits that keep the result stable. Where a recommendation depends on context, the guide says so rather than pretending there is one universal answer.

The examples assume a normal public website rather than a laboratory page. That matters because production sites have redirects, third-party scripts, legacy URLs, multiple editors, deployment schedules, and business constraints. A recommendation that ignores those realities is rarely useful for long.

01

robots.txt controls crawling, not indexing by itself

robots.txt controls crawling, not indexing by itself sounds straightforward until it has to work on a real site. In the context of robots.txt and XML Sitemaps, the useful question is not “do we have the setting?” but “does the live page behave the way we intend for a user, a crawler, and the team maintaining it?” That distinction matters because technical SEO is mostly the discipline of making the intended page easy to fetch, interpret, index, and revisit without contradictory signals. A technically valid configuration can still be the wrong configuration when it contradicts navigation, content, redirects, or the business purpose of the page.

A practical review starts with evidence. Open a representative URL, inspect what the server returns, and compare that with the visible page. Then look at live HTTP responses. Do not begin by changing five things at once. Capture the current behavior, make one meaningful change, and check the result again. This makes regressions easier to spot and gives the team a record of why the decision was made.

One failure pattern we see repeatedly is fixing symptoms in a plugin while the server still returns the wrong response. It usually happens because the implementation was optimized for a dashboard or a shortcut rather than for the system as a whole. The safer approach is to decide which signal should be authoritative, remove conflicting signals, and keep the implementation simple enough that the next developer or editor can understand it without reverse-engineering the entire site.

Treat this section as part of an operating process rather than a one-time project. Re-check it after redesigns, CMS changes, migrations, major content launches, CDN changes, or security incidents. A site can drift away from a good configuration even when nobody intentionally changes this specific feature. Monitoring representative templates is usually more valuable than assuming the homepage tells the whole story.

Example: imagine the team changes robots.txt controls crawling, not indexing by itself on a high-traffic template. Before launch, test one normal page, one edge case, and one older URL that may still receive links. After launch, confirm the response outside the CMS, not only inside the editor. If the result differs by device, locale, authentication state, or hostname, document that behavior explicitly. This kind of small test matrix catches a surprising number of problems before they become site-wide.

Before moving on, verify this on at least one real production URL and record the evidence. A correct CMS setting is useful, but the live response is the source of truth.

02

Keep sitemap URLs canonical and indexable

Keep sitemap URLs canonical and indexable sounds straightforward until it has to work on a real site. In the context of robots.txt and XML Sitemaps, the useful question is not “do we have the setting?” but “does the live page behave the way we intend for a user, a crawler, and the team maintaining it?” That distinction matters because technical SEO is mostly the discipline of making the intended page easy to fetch, interpret, index, and revisit without contradictory signals. A technically valid configuration can still be the wrong configuration when it contradicts navigation, content, redirects, or the business purpose of the page.

A practical review starts with evidence. Open a representative URL, inspect what the server returns, and compare that with the visible page. Then look at raw and rendered HTML. Do not begin by changing five things at once. Capture the current behavior, make one meaningful change, and check the result again. This makes regressions easier to spot and gives the team a record of why the decision was made.

One failure pattern we see repeatedly is using canonical tags as a substitute for cleaning duplicate architecture. It usually happens because the implementation was optimized for a dashboard or a shortcut rather than for the system as a whole. The safer approach is to decide which signal should be authoritative, remove conflicting signals, and keep the implementation simple enough that the next developer or editor can understand it without reverse-engineering the entire site.

Treat this section as part of an operating process rather than a one-time project. Re-check it after redesigns, CMS changes, migrations, major content launches, CDN changes, or security incidents. A site can drift away from a good configuration even when nobody intentionally changes this specific feature. Monitoring representative templates is usually more valuable than assuming the homepage tells the whole story.

Example: imagine the team changes keep sitemap urls canonical and indexable on a high-traffic template. Before launch, test one normal page, one edge case, and one older URL that may still receive links. After launch, confirm the response outside the CMS, not only inside the editor. If the result differs by device, locale, authentication state, or hostname, document that behavior explicitly. This kind of small test matrix catches a surprising number of problems before they become site-wide.

RUTSS editorial visual · robots.txt and XML Sitemaps

Before moving on, verify this on at least one real production URL and record the evidence. A correct CMS setting is useful, but the live response is the source of truth.

03

Use absolute consistent URLs

Use absolute consistent URLs sounds straightforward until it has to work on a real site. In the context of robots.txt and XML Sitemaps, the useful question is not “do we have the setting?” but “does the live page behave the way we intend for a user, a crawler, and the team maintaining it?” That distinction matters because technical SEO is mostly the discipline of making the intended page easy to fetch, interpret, index, and revisit without contradictory signals. A technically valid configuration can still be the wrong configuration when it contradicts navigation, content, redirects, or the business purpose of the page.

A practical review starts with evidence. Open a representative URL, inspect what the server returns, and compare that with the visible page. Then look at robots.txt and sitemap fetches. Do not begin by changing five things at once. Capture the current behavior, make one meaningful change, and check the result again. This makes regressions easier to spot and gives the team a record of why the decision was made.

One failure pattern we see repeatedly is allowing redirect chains to accumulate after migrations. It usually happens because the implementation was optimized for a dashboard or a shortcut rather than for the system as a whole. The safer approach is to decide which signal should be authoritative, remove conflicting signals, and keep the implementation simple enough that the next developer or editor can understand it without reverse-engineering the entire site.

Treat this section as part of an operating process rather than a one-time project. Re-check it after redesigns, CMS changes, migrations, major content launches, CDN changes, or security incidents. A site can drift away from a good configuration even when nobody intentionally changes this specific feature. Monitoring representative templates is usually more valuable than assuming the homepage tells the whole story.

Example: imagine the team changes use absolute consistent urls on a high-traffic template. Before launch, test one normal page, one edge case, and one older URL that may still receive links. After launch, confirm the response outside the CMS, not only inside the editor. If the result differs by device, locale, authentication state, or hostname, document that behavior explicitly. This kind of small test matrix catches a surprising number of problems before they become site-wide.

Before moving on, verify this on at least one real production URL and record the evidence. A correct CMS setting is useful, but the live response is the source of truth.

04

Split large sitemaps logically

Split large sitemaps logically sounds straightforward until it has to work on a real site. In the context of robots.txt and XML Sitemaps, the useful question is not “do we have the setting?” but “does the live page behave the way we intend for a user, a crawler, and the team maintaining it?” That distinction matters because technical SEO is mostly the discipline of making the intended page easy to fetch, interpret, index, and revisit without contradictory signals. A technically valid configuration can still be the wrong configuration when it contradicts navigation, content, redirects, or the business purpose of the page.

A practical review starts with evidence. Open a representative URL, inspect what the server returns, and compare that with the visible page. Then look at canonical, redirect, and indexability checks on representative URL sets. Do not begin by changing five things at once. Capture the current behavior, make one meaningful change, and check the result again. This makes regressions easier to spot and gives the team a record of why the decision was made.

One failure pattern we see repeatedly is keeping retired URLs in sitemaps for years. It usually happens because the implementation was optimized for a dashboard or a shortcut rather than for the system as a whole. The safer approach is to decide which signal should be authoritative, remove conflicting signals, and keep the implementation simple enough that the next developer or editor can understand it without reverse-engineering the entire site.

Treat this section as part of an operating process rather than a one-time project. Re-check it after redesigns, CMS changes, migrations, major content launches, CDN changes, or security incidents. A site can drift away from a good configuration even when nobody intentionally changes this specific feature. Monitoring representative templates is usually more valuable than assuming the homepage tells the whole story.

Example: imagine the team changes split large sitemaps logically on a high-traffic template. Before launch, test one normal page, one edge case, and one older URL that may still receive links. After launch, confirm the response outside the CMS, not only inside the editor. If the result differs by device, locale, authentication state, or hostname, document that behavior explicitly. This kind of small test matrix catches a surprising number of problems before they become site-wide.

RUTSS editorial visual · robots.txt and XML Sitemaps

Before moving on, verify this on at least one real production URL and record the evidence. A correct CMS setting is useful, but the live response is the source of truth.

05

Do not hide problems inside the sitemap

Do not hide problems inside the sitemap sounds straightforward until it has to work on a real site. In the context of robots.txt and XML Sitemaps, the useful question is not “do we have the setting?” but “does the live page behave the way we intend for a user, a crawler, and the team maintaining it?” That distinction matters because technical SEO is mostly the discipline of making the intended page easy to fetch, interpret, index, and revisit without contradictory signals. A technically valid configuration can still be the wrong configuration when it contradicts navigation, content, redirects, or the business purpose of the page.

A practical review starts with evidence. Open a representative URL, inspect what the server returns, and compare that with the visible page. Then look at live HTTP responses. Do not begin by changing five things at once. Capture the current behavior, make one meaningful change, and check the result again. This makes regressions easier to spot and gives the team a record of why the decision was made.

One failure pattern we see repeatedly is fixing symptoms in a plugin while the server still returns the wrong response. It usually happens because the implementation was optimized for a dashboard or a shortcut rather than for the system as a whole. The safer approach is to decide which signal should be authoritative, remove conflicting signals, and keep the implementation simple enough that the next developer or editor can understand it without reverse-engineering the entire site.

Treat this section as part of an operating process rather than a one-time project. Re-check it after redesigns, CMS changes, migrations, major content launches, CDN changes, or security incidents. A site can drift away from a good configuration even when nobody intentionally changes this specific feature. Monitoring representative templates is usually more valuable than assuming the homepage tells the whole story.

Example: imagine the team changes do not hide problems inside the sitemap on a high-traffic template. Before launch, test one normal page, one edge case, and one older URL that may still receive links. After launch, confirm the response outside the CMS, not only inside the editor. If the result differs by device, locale, authentication state, or hostname, document that behavior explicitly. This kind of small test matrix catches a surprising number of problems before they become site-wide.

Before moving on, verify this on at least one real production URL and record the evidence. A correct CMS setting is useful, but the live response is the source of truth.

06

Monitor fetch and processing

Monitor fetch and processing sounds straightforward until it has to work on a real site. In the context of robots.txt and XML Sitemaps, the useful question is not “do we have the setting?” but “does the live page behave the way we intend for a user, a crawler, and the team maintaining it?” That distinction matters because technical SEO is mostly the discipline of making the intended page easy to fetch, interpret, index, and revisit without contradictory signals. A technically valid configuration can still be the wrong configuration when it contradicts navigation, content, redirects, or the business purpose of the page.

A practical review starts with evidence. Open a representative URL, inspect what the server returns, and compare that with the visible page. Then look at raw and rendered HTML. Do not begin by changing five things at once. Capture the current behavior, make one meaningful change, and check the result again. This makes regressions easier to spot and gives the team a record of why the decision was made.

One failure pattern we see repeatedly is using canonical tags as a substitute for cleaning duplicate architecture. It usually happens because the implementation was optimized for a dashboard or a shortcut rather than for the system as a whole. The safer approach is to decide which signal should be authoritative, remove conflicting signals, and keep the implementation simple enough that the next developer or editor can understand it without reverse-engineering the entire site.

Treat this section as part of an operating process rather than a one-time project. Re-check it after redesigns, CMS changes, migrations, major content launches, CDN changes, or security incidents. A site can drift away from a good configuration even when nobody intentionally changes this specific feature. Monitoring representative templates is usually more valuable than assuming the homepage tells the whole story.

Example: imagine the team changes monitor fetch and processing on a high-traffic template. Before launch, test one normal page, one edge case, and one older URL that may still receive links. After launch, confirm the response outside the CMS, not only inside the editor. If the result differs by device, locale, authentication state, or hostname, document that behavior explicitly. This kind of small test matrix catches a surprising number of problems before they become site-wide.

RUTSS editorial visual · robots.txt and XML Sitemaps

Before moving on, verify this on at least one real production URL and record the evidence. A correct CMS setting is useful, but the live response is the source of truth.

07

How to audit the current implementation

How to audit the current implementation sounds straightforward until it has to work on a real site. In the context of robots.txt and XML Sitemaps, the useful question is not “do we have the setting?” but “does the live page behave the way we intend for a user, a crawler, and the team maintaining it?” That distinction matters because technical SEO is mostly the discipline of making the intended page easy to fetch, interpret, index, and revisit without contradictory signals. A technically valid configuration can still be the wrong configuration when it contradicts navigation, content, redirects, or the business purpose of the page.

A practical review starts with evidence. Open a representative URL, inspect what the server returns, and compare that with the visible page. Then look at robots.txt and sitemap fetches. Do not begin by changing five things at once. Capture the current behavior, make one meaningful change, and check the result again. This makes regressions easier to spot and gives the team a record of why the decision was made.

One failure pattern we see repeatedly is allowing redirect chains to accumulate after migrations. It usually happens because the implementation was optimized for a dashboard or a shortcut rather than for the system as a whole. The safer approach is to decide which signal should be authoritative, remove conflicting signals, and keep the implementation simple enough that the next developer or editor can understand it without reverse-engineering the entire site.

Treat this section as part of an operating process rather than a one-time project. Re-check it after redesigns, CMS changes, migrations, major content launches, CDN changes, or security incidents. A site can drift away from a good configuration even when nobody intentionally changes this specific feature. Monitoring representative templates is usually more valuable than assuming the homepage tells the whole story.

Example: imagine the team changes how to audit the current implementation on a high-traffic template. Before launch, test one normal page, one edge case, and one older URL that may still receive links. After launch, confirm the response outside the CMS, not only inside the editor. If the result differs by device, locale, authentication state, or hostname, document that behavior explicitly. This kind of small test matrix catches a surprising number of problems before they become site-wide.

Before moving on, verify this on at least one real production URL and record the evidence. A correct CMS setting is useful, but the live response is the source of truth.

08

What good looks like in production

What good looks like in production sounds straightforward until it has to work on a real site. In the context of robots.txt and XML Sitemaps, the useful question is not “do we have the setting?” but “does the live page behave the way we intend for a user, a crawler, and the team maintaining it?” That distinction matters because technical SEO is mostly the discipline of making the intended page easy to fetch, interpret, index, and revisit without contradictory signals. A technically valid configuration can still be the wrong configuration when it contradicts navigation, content, redirects, or the business purpose of the page.

A practical review starts with evidence. Open a representative URL, inspect what the server returns, and compare that with the visible page. Then look at canonical, redirect, and indexability checks on representative URL sets. Do not begin by changing five things at once. Capture the current behavior, make one meaningful change, and check the result again. This makes regressions easier to spot and gives the team a record of why the decision was made.

One failure pattern we see repeatedly is keeping retired URLs in sitemaps for years. It usually happens because the implementation was optimized for a dashboard or a shortcut rather than for the system as a whole. The safer approach is to decide which signal should be authoritative, remove conflicting signals, and keep the implementation simple enough that the next developer or editor can understand it without reverse-engineering the entire site.

Treat this section as part of an operating process rather than a one-time project. Re-check it after redesigns, CMS changes, migrations, major content launches, CDN changes, or security incidents. A site can drift away from a good configuration even when nobody intentionally changes this specific feature. Monitoring representative templates is usually more valuable than assuming the homepage tells the whole story.

Example: imagine the team changes what good looks like in production on a high-traffic template. Before launch, test one normal page, one edge case, and one older URL that may still receive links. After launch, confirm the response outside the CMS, not only inside the editor. If the result differs by device, locale, authentication state, or hostname, document that behavior explicitly. This kind of small test matrix catches a surprising number of problems before they become site-wide.

Before moving on, verify this on at least one real production URL and record the evidence. A correct CMS setting is useful, but the live response is the source of truth.

09

Common failure patterns

Common failure patterns sounds straightforward until it has to work on a real site. In the context of robots.txt and XML Sitemaps, the useful question is not “do we have the setting?” but “does the live page behave the way we intend for a user, a crawler, and the team maintaining it?” That distinction matters because technical SEO is mostly the discipline of making the intended page easy to fetch, interpret, index, and revisit without contradictory signals. A technically valid configuration can still be the wrong configuration when it contradicts navigation, content, redirects, or the business purpose of the page.

A practical review starts with evidence. Open a representative URL, inspect what the server returns, and compare that with the visible page. Then look at live HTTP responses. Do not begin by changing five things at once. Capture the current behavior, make one meaningful change, and check the result again. This makes regressions easier to spot and gives the team a record of why the decision was made.

One failure pattern we see repeatedly is fixing symptoms in a plugin while the server still returns the wrong response. It usually happens because the implementation was optimized for a dashboard or a shortcut rather than for the system as a whole. The safer approach is to decide which signal should be authoritative, remove conflicting signals, and keep the implementation simple enough that the next developer or editor can understand it without reverse-engineering the entire site.

Treat this section as part of an operating process rather than a one-time project. Re-check it after redesigns, CMS changes, migrations, major content launches, CDN changes, or security incidents. A site can drift away from a good configuration even when nobody intentionally changes this specific feature. Monitoring representative templates is usually more valuable than assuming the homepage tells the whole story.

Example: imagine the team changes common failure patterns on a high-traffic template. Before launch, test one normal page, one edge case, and one older URL that may still receive links. After launch, confirm the response outside the CMS, not only inside the editor. If the result differs by device, locale, authentication state, or hostname, document that behavior explicitly. This kind of small test matrix catches a surprising number of problems before they become site-wide.

RUTSS editorial visual · robots.txt and XML Sitemaps

Before moving on, verify this on at least one real production URL and record the evidence. A correct CMS setting is useful, but the live response is the source of truth.

10

A realistic implementation workflow

A realistic implementation workflow sounds straightforward until it has to work on a real site. In the context of robots.txt and XML Sitemaps, the useful question is not “do we have the setting?” but “does the live page behave the way we intend for a user, a crawler, and the team maintaining it?” That distinction matters because technical SEO is mostly the discipline of making the intended page easy to fetch, interpret, index, and revisit without contradictory signals. A technically valid configuration can still be the wrong configuration when it contradicts navigation, content, redirects, or the business purpose of the page.

A practical review starts with evidence. Open a representative URL, inspect what the server returns, and compare that with the visible page. Then look at raw and rendered HTML. Do not begin by changing five things at once. Capture the current behavior, make one meaningful change, and check the result again. This makes regressions easier to spot and gives the team a record of why the decision was made.

One failure pattern we see repeatedly is using canonical tags as a substitute for cleaning duplicate architecture. It usually happens because the implementation was optimized for a dashboard or a shortcut rather than for the system as a whole. The safer approach is to decide which signal should be authoritative, remove conflicting signals, and keep the implementation simple enough that the next developer or editor can understand it without reverse-engineering the entire site.

Treat this section as part of an operating process rather than a one-time project. Re-check it after redesigns, CMS changes, migrations, major content launches, CDN changes, or security incidents. A site can drift away from a good configuration even when nobody intentionally changes this specific feature. Monitoring representative templates is usually more valuable than assuming the homepage tells the whole story.

Example: imagine the team changes a realistic implementation workflow on a high-traffic template. Before launch, test one normal page, one edge case, and one older URL that may still receive links. After launch, confirm the response outside the CMS, not only inside the editor. If the result differs by device, locale, authentication state, or hostname, document that behavior explicitly. This kind of small test matrix catches a surprising number of problems before they become site-wide.

Before moving on, verify this on at least one real production URL and record the evidence. A correct CMS setting is useful, but the live response is the source of truth.

11

How to measure the result

How to measure the result sounds straightforward until it has to work on a real site. In the context of robots.txt and XML Sitemaps, the useful question is not “do we have the setting?” but “does the live page behave the way we intend for a user, a crawler, and the team maintaining it?” That distinction matters because technical SEO is mostly the discipline of making the intended page easy to fetch, interpret, index, and revisit without contradictory signals. A technically valid configuration can still be the wrong configuration when it contradicts navigation, content, redirects, or the business purpose of the page.

A practical review starts with evidence. Open a representative URL, inspect what the server returns, and compare that with the visible page. Then look at robots.txt and sitemap fetches. Do not begin by changing five things at once. Capture the current behavior, make one meaningful change, and check the result again. This makes regressions easier to spot and gives the team a record of why the decision was made.

One failure pattern we see repeatedly is allowing redirect chains to accumulate after migrations. It usually happens because the implementation was optimized for a dashboard or a shortcut rather than for the system as a whole. The safer approach is to decide which signal should be authoritative, remove conflicting signals, and keep the implementation simple enough that the next developer or editor can understand it without reverse-engineering the entire site.

Treat this section as part of an operating process rather than a one-time project. Re-check it after redesigns, CMS changes, migrations, major content launches, CDN changes, or security incidents. A site can drift away from a good configuration even when nobody intentionally changes this specific feature. Monitoring representative templates is usually more valuable than assuming the homepage tells the whole story.

Example: imagine the team changes how to measure the result on a high-traffic template. Before launch, test one normal page, one edge case, and one older URL that may still receive links. After launch, confirm the response outside the CMS, not only inside the editor. If the result differs by device, locale, authentication state, or hostname, document that behavior explicitly. This kind of small test matrix catches a surprising number of problems before they become site-wide.

Before moving on, verify this on at least one real production URL and record the evidence. A correct CMS setting is useful, but the live response is the source of truth.

12

Maintenance and governance

Maintenance and governance sounds straightforward until it has to work on a real site. In the context of robots.txt and XML Sitemaps, the useful question is not “do we have the setting?” but “does the live page behave the way we intend for a user, a crawler, and the team maintaining it?” That distinction matters because technical SEO is mostly the discipline of making the intended page easy to fetch, interpret, index, and revisit without contradictory signals. A technically valid configuration can still be the wrong configuration when it contradicts navigation, content, redirects, or the business purpose of the page.

A practical review starts with evidence. Open a representative URL, inspect what the server returns, and compare that with the visible page. Then look at canonical, redirect, and indexability checks on representative URL sets. Do not begin by changing five things at once. Capture the current behavior, make one meaningful change, and check the result again. This makes regressions easier to spot and gives the team a record of why the decision was made.

One failure pattern we see repeatedly is keeping retired URLs in sitemaps for years. It usually happens because the implementation was optimized for a dashboard or a shortcut rather than for the system as a whole. The safer approach is to decide which signal should be authoritative, remove conflicting signals, and keep the implementation simple enough that the next developer or editor can understand it without reverse-engineering the entire site.

Treat this section as part of an operating process rather than a one-time project. Re-check it after redesigns, CMS changes, migrations, major content launches, CDN changes, or security incidents. A site can drift away from a good configuration even when nobody intentionally changes this specific feature. Monitoring representative templates is usually more valuable than assuming the homepage tells the whole story.

Example: imagine the team changes maintenance and governance on a high-traffic template. Before launch, test one normal page, one edge case, and one older URL that may still receive links. After launch, confirm the response outside the CMS, not only inside the editor. If the result differs by device, locale, authentication state, or hostname, document that behavior explicitly. This kind of small test matrix catches a surprising number of problems before they become site-wide.

Before moving on, verify this on at least one real production URL and record the evidence. A correct CMS setting is useful, but the live response is the source of truth.

FAQ

Questions & answers

How often should I review robots.txt and xml sitemaps?

Review it after meaningful releases and on a regular maintenance cycle. Monthly is enough for many small sites; larger or frequently changing sites benefit from automated monitoring plus a deeper quarterly review.

Can one SEO plugin handle this completely?

A plugin can expose settings, but it cannot replace checking the live HTTP response, rendered page, architecture, server behavior, and editorial intent. Treat plugins as interfaces, not as proof that the implementation is correct.

Should I fix every warning an audit tool shows?

No. Prioritize issues that affect important URLs, users, crawling, indexing, security, or measurable performance. Some warnings are context-dependent and some are acceptable trade-offs.

How do I know whether a change actually helped?

Record a baseline, make one meaningful change, then compare the same URLs and outcome metrics afterward. Avoid judging success from a single score immediately after deployment.

Does this matter for AI search as well as classic search?

Usually yes when the work improves accessibility, clarity, retrieval, technical reliability, or factual usefulness. AI-assisted search still depends on understandable and retrievable web content.

What is the safest way to roll out a technical change?

Test on representative templates, stage the change when possible, keep a rollback path, and re-check the live response after deployment. For restrictive security policies, start in reporting mode when the technology supports it.

Authoritative resources

Google crawling and indexing documentationhttps://developers.google.com/search/docs/crawling-indexingGoogle Search Essentialshttps://developers.google.com/search/docs/essentialsGoogle SEO Starter Guidehttps://developers.google.com/search/docs/fundamentals/seo-starter-guide