Chapter 10 · Technical basics
Technical SEO basics: indexing, sitemaps, canonicals and MovingCompany markup
Search engines can only rank pages they can find, fetch and index. For a typical mover site that means five things: verify the site in Google Search Console, submit a sitemap, keep robots.txt from blocking pages you want found, make every page available at one address, and describe the company with schema.org MovingCompany structured data that matches what the page shows (Search Console Help; schema.org).
Set up Search Console
Search Console is Google's free tool for seeing how your site appears in search and what problems Google finds. Verify the whole domain, then check these reports first:
- Page indexing: which pages are indexed and the reasons others are not (Page indexing report).
- URL Inspection: the indexed version of one page, a live test, and a button to request indexing after you fix something (URL Inspection tool).
- Sitemaps: whether Google could read your sitemap (Sitemaps report).
- Performance: queries, clicks and positions (chapter 6).
Keep the owner role on a company account. Search Console has owners, full users and restricted users; only owners can add users (Managing owners, users, and permissions).
Sitemaps
A sitemap lists the pages you want search engines to find. Google says a small site, about 500 pages or fewer, with good internal links may not need one, but most sites benefit, and new sites with few links from other sites are a case where a sitemap helps (Learn about sitemaps). A sitemap does not guarantee every page gets crawled or indexed.
- List only pages you want indexed: no redirects, no error pages, no duplicates.
- Submit it in Search Console and reference it in robots.txt.
- Regenerate it when you add or remove pages.
robots.txt and noindex
robots.txt tells crawlers which addresses they may fetch. Google says it exists mainly to avoid overloading a site and is not a way to keep a page out of Google; for that, use a noindex rule or password protection (Introduction to robots.txt).
A rule left over from the site's build period can block the whole site. Open yourdomain.com/robots.txt and make sure it does not contain Disallow: / for all crawlers. Use noindex for utility pages such as thank-you pages, and never on pages you want customers to find.
One address per page
The same page often loads at several addresses: with and without www, http and https, with and without a trailing slash, with tracking parameters. Pick one form and send the rest to it:
- Redirect http to https and the non-preferred host to the preferred one with permanent (301) redirects.
- Add a
rel="canonical"link on each page pointing to its own preferred address. - Link internally only to preferred addresses.
- When you remove or merge a page, redirect the old address to the closest page that replaces it.
Google calls redirects and rel="canonical" strong signals and sitemap inclusion a weak one, and says the methods work better when combined, so keep them pointing at the same address (How to specify a canonical URL with rel="canonical" and other methods).
MovingCompany structured data
Schema.org defines MovingCompany as a type of LocalBusiness, under HomeAndConstructionBusiness (MovingCompany). Google's local business guidelines say to use the most specific type that fits, and list name and address as required for local business rich results (Local business (LocalBusiness) structured data). Put the markup on the homepage or the contact page.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "MovingCompany",
"name": "Example Moving Co.",
"url": "https://www.example.com/",
"logo": "https://www.example.com/logo.png",
"telephone": "+1-XXX-XXX-XXXX",
"address": {
"@type": "PostalAddress",
"streetAddress": "Street address, if shown publicly",
"addressLocality": "City",
"addressRegion": "State",
"postalCode": "ZIP",
"addressCountry": "US"
},
"areaServed": [
{ "@type": "City", "name": "First city you serve" },
{ "@type": "City", "name": "Second city you serve" }
],
"openingHoursSpecification": [{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"],
"opens": "08:00",
"closes": "18:00"
}],
"sameAs": ["Link to your Business Profile or social profile"]
}
</script>
Rules to follow:
- Every value must match what the page and your Business Profile show. Google's AI features guidance also asks that structured data match the visible text (Google Search Central).
- If you hide your address on Google because customers never visit, do not publish a street address in markup either. Use only the locality and region, and accept that the markup may not qualify for a local business rich result.
- Do not add
aggregateRatingor reviews for your own company. Google treats those as self-serving and does not show them as review snippets (Review snippet (Review, AggregateRating) structured data). - Test the markup with Google's Rich Results Test and fix errors before publishing.
Titles and descriptions
Every page needs its own title and meta description. Google's starter guide says a good title is unique to the page, clear and concise, and accurately describes it, and may include the business name; a good meta description is short, unique to the page and covers its most relevant points (SEO Starter Guide). For service and city pages, put the service and place in the title where they are true, followed by the company name.
Work order
Do these in order
- Verify Search ConsoleDomain-level property on a company account.
- Check robots.txtNo sitewide Disallow; sitemap location listed.
- Submit the sitemapOnly indexable, preferred addresses; confirm it reads without errors.
- Fix duplicate addressesRedirect http, www variants and old pages; add self-referencing canonicals.
- Review Page indexingRead each “not indexed” reason and decide whether it matters.
- Add MovingCompany markupValues copied from the master record; test before publishing.
- Write titles and descriptionsUnique for every page.
Chapter 10 sign-off
Technical basics
- Search Console verified; company account holds the owner role.
- robots.txt does not block the site and lists the sitemap.
- Sitemap contains only indexable, preferred addresses.
- http, https, www and non-www versions resolve to one address with 301 redirects.
- Every indexable page has a self-referencing canonical link.
- Removed pages redirect to their closest replacement.
- Thank-you and utility pages use noindex.
- MovingCompany markup matches the visible page and Business Profile.
- No street address in markup if the address is hidden on Google.
- No self-serving review ratings in markup.
- Rich Results Test passes without errors.
- Every page has a unique title and description.
Every line true for your company · print this page to keep it with the chapter
Sources
- 01About Search Console · Search Console Help
- 02Page indexing report · Search Console Help
- 03URL Inspection tool · Search Console Help
- 04Sitemaps report · Search Console Help
- 05Managing owners, users, and permissions · Search Console Help
- 06Learn about sitemaps · Google Search Central
- 07Introduction to robots.txt · Google Search Central
- 08How to specify a canonical URL with rel="canonical" and other methods · Google Search Central
- 09MovingCompany · Schema.org
- 10Local business (LocalBusiness) structured data · Google Search Central
- 11Review snippet (Review, AggregateRating) structured data · Google Search Central
- 12AI features and your website · Google Search Central
- 13SEO Starter Guide · Google Search Central