If you own, manage, monetize, or promote online content via Google Search, this guide is meant for you. You might be the owner of a growing and thriving business, the website owner of a dozen sites, the SEO specialist in a web agency or a DIY SEO expert passionate about the mechanics of Search: this guide is meant for you. If you're interested in having a complete overview of the basics of SEO according to our best practices, you are indeed in the right place. This guide won't provide any secrets that'll automatically rank your site first in Google (sorry!), but following the best practices will hopefully make it easier for search engines to crawl, index, and understand your content.
Search engine optimization (SEO) is often about making small modifications to parts of your website. When viewed individually, these changes might seem like incremental improvements, but when combined with other optimizations, they could have a noticeable impact on your site's user experience and performance in organic search results. You're likely already familiar with many of the topics in this guide, because they're essential ingredients for any web page, but you may not be making the most out of them.
You should build a website to benefit your users, and any optimization should be geared toward making the user experience better. One of those users is a search engine, which helps other users discover your content. SEO is about helping search engines understand and present content. Your site may be smaller or larger than our example site and offer vastly different content, but the optimization topics in this guide should apply to sites of all sizes and types. We hope our guide gives you some fresh ideas on how to improve your website, and we'd love to hear your questions, feedback, and success stories in the Google Search Central Help Community.
Do a site:
search for your site's home URL. If you see results, you're in the index. For example, a search for site:wikipedia.org
returns these results.
Although Google crawls billions of pages, it's inevitable that some sites will be missed. When our crawlers miss a site, it's frequently for one of the following reasons:
Inclusion in Google's search results is free and easy; you don't even need to submit your site to Google. Google is a fully automated search engine that uses web crawlers to explore the web constantly, looking for sites to add to our index. In fact, the vast majority of sites listed in our results aren't manually submitted for inclusion, but found and added automatically when we crawl the web. Learn how Google discovers, crawls, and serves web pages.
We offer webmaster guidelines for building a Google-friendly website. While there's no guarantee that our crawlers will find a particular site, following these guidelines should help make your site appear in our search results.
Google Search Console provides tools to help you submit your content to Google and monitor how you're doing in Google Search. If you want, Search Console can even send you alerts on critical issues that Google encounters with your site. Sign up for Search Console.
Here are a few basic questions to ask yourself about your website when you get started.
You can find additional getting started information on https://g.co/webmasters
The rest of this document provides guidance on how to improve your site for search engines, organized by topic. You can download a short, printable checklist of tips from https://g.co/WebmasterChecklist.
The first step to getting your site on Google is to be sure that Google can find it. The best way to do that is to submit a sitemap. A sitemap is a file on your site that tells search engines about new or changed pages on your site. Learn more about how to build and submit a sitemap.
Google also finds pages through links from other pages. Learn how to encourage people to discover your site by Promoting your site.
A robots.txt file tells search engines whether they can access and therefore crawl parts of your site. This file, which must be named robots.txt, is placed in the root directory of your site. It is possible that pages blocked by robots.txt can still be crawled, so for sensitive pages you should use a more secure method.
# brandonsbaseballcards.com/robots.txt
# Tell Google not to crawl any URLs in the shopping cart or images in the icons folder,
# because they won't be useful in Google Search results.
User-agent: googlebot
Disallow: /checkout/
Disallow: /icons/
You may not want certain pages of your site crawled because they might not be useful to users if found in a search engine's search results. If you do want to prevent search engines from crawling your pages, Google Search Console has a friendly robots.txt generator to help you create this file. Note that if your site uses subdomains and you wish to have certain pages not crawled on a particular subdomain, you'll have to create a separate robots.txt file for that subdomain. For more information on robots.txt, we suggest this guide on using robots.txt files.
Read about several other ways to prevent content from appearing in search results.
Avoid:
A robots.txt file is not an appropriate or effective way of blocking sensitive or confidential material. It only instructs well-behaved crawlers that the pages are not for them, but it does not prevent your server from delivering those pages to a browser that requests them. One reason is that search engines could still reference the URLs you block (showing just the URL, no title or snippet) if there happen to be links to those URLs somewhere on the Internet (like referrer logs). Also, non-compliant or rogue search engines that don't acknowledge the Robots Exclusion Standard could disobey the instructions of your robots.txt. Finally, a curious user could examine the directories or subdirectories in your robots.txt file and guess the URL of the content that you don't want seen.
In these cases, use the noindex
tag if you just want the page not to appear in Google, but don't mind if any user with a link can reach the page. For real security, though, you should use proper authorization methods, like requiring a user password, or taking the page off your site entirely.
When Googlebot crawls a page, it should see the page the same way an average user does. For optimal rendering and indexing, always allow Googlebot access to the JavaScript, CSS, and image files used by your website. If your site's robots.txt file disallows crawling of these assets, it directly harms how well our algorithms render and index your content. This can result in suboptimal rankings.
Recommended action: Use the URL Inspection tool. It will allow you to see exactly how Googlebot sees and renders your content, and it will help you identify and fix a number of indexing issues on your site.
A <title>
tag tells both users and search engines what the topic of a particular page is. The <title>
tag should be placed within the <head>
element of the HTML document. You should create a unique title for each page on your site.
<html>
<head>
<title>Brandon's Baseball Cards - Buy Cards, Baseball News, Card Prices</title>
<meta name="description" content="Brandon's Baseball Cards provides a large selection of
vintage and modern baseball cards for sale.
We also offer daily baseball news and events.">
</head>
<body>
...
If your document appears in a search results page, the contents of the title
tag may appear in the first line of the results (if you're unfamiliar with the different parts of a Google Search result, you might want to check out the anatomy of a search result video).
The title for your homepage can list the name of your website/business and could include other bits of important information like the physical location of the business or maybe a few of its main focuses or offerings.
Choose a title that reads naturally and effectively communicates the topic of the page's content.
Avoid:
Each page on your site should ideally have a unique title, which helps Google know how the page is distinct from the others on your site. If your site uses separate mobile pages, remember to use good titles on the mobile versions too.
Avoid:
Titles can be both short and informative. If the title is too long or otherwise deemed less relevant, Google may show only a portion of it or one that's automatically generated in the search result. Google may also show different titles depending on the user's query or device used for searching.
Avoid:
title
tags.description
meta tagA page's description
meta tag gives Google and other search engines a summary of what the page is about. A page's title may be a few words or a phrase, whereas a page's description
meta tag might be a sentence or two or even a short paragraph. Like the <title>
tag, the description
meta tag is placed within the <head>
element of your HTML document.
<html>
<head>
<title>Brandon's Baseball Cards - Buy Cards, Baseball News, Card Prices</title>
<meta name="description" content="Brandon's Baseball Cards provides a large selection of vintage and modern baseball cards for sale. We also offer daily baseball news and events.">
</head>
<body>
...
description
meta tags?description
meta tags are important because Google might use them as snippets for your pages. Note that we say "might" because Google may choose to use a relevant section of your page's visible text if it does a good job of matching up with a user's query. Adding description
meta tags to each of your pages is always a good practice in case Google cannot find a good selection of text to use in the snippet. The Google Search Central blog has informative posts on improving snippets with better description
meta tags. We also have a handy article on how to create good titles and snippets.
Write a description that would both inform and interest users if they saw your description
meta tag as a snippet in a search result. While there's no minimal or maximal length for the text in a description
meta tag, we recommend making sure that it's long enough to be fully shown in Search (note that users may see different sized snippets depending on how and where they search), and contains all the relevant information users would need to determine whether the page will be useful and relevant to them.
Avoid:
description
meta tag that has no relation to the content on the page.description
meta tag.Having a different description
meta tag for each page helps both users and Google, especially in searches where users may bring up multiple pages on your domain (for example, searches using the site:
operator). If your site has thousands or even millions of pages, hand-crafting description
meta tags probably isn't feasible. In this case, you could automatically generate description
meta tags based on each page's content.
Avoid:
description
meta tag across all of your site's pages or a large group of pages.Use meaningful headings to indicate important topics, and help create a hierarchical structure for your content, making it easier for users to navigate through your document.
Similar to writing an outline for a large paper, put some thought into what the main points and sub-points of the content on the page will be and decide where to use heading tags appropriately.
Avoid:
<em>
and <strong>
may be more appropriate.Use heading tags where it makes sense. Too many heading tags on a page can make it hard for users to scan the content and determine where one topic ends and another begins.
Avoid:
Structured data is code that you can add to your sites' pages to describe your content to search engines, so they can better understand what's on your pages. Search engines can use this understanding to display your content in useful (and eye-catching!) ways in search results. That, in turn, can help you attract just the right kind of customers for your business.
For example, if you've got an online store and mark up an individual product page, this helps us understand that the page features a bike, its price, and customer reviews. We may display that information in the snippet for search results for relevant queries. We call these rich results.
In addition to using structured data markup for rich results, we may use it to serve relevant results in other formats. For instance, if you've got a brick-and-mortar store, marking up the opening hours allows your potential customers to find you exactly when they need you, and inform them if your store is open/closed at the time of searching.
You can mark up many business-relevant entities:
See a full list of supported content types.
We recommend that you use structured data with any of the supported notations markup to describe your content. You can add the markup to the HTML code to your pages, or use tools like Data Highlighter and Markup Helper.
Once you've marked up your content, you can use the Google Rich Results test to make sure that there are no mistakes in the implementation. You can either enter the URL where the content is, or copy the actual HTML which includes the markup.
Avoid:
If you want to give structured markup a try without changing the source code of your site, you can use Data Highlighter, which is a free tool integrated in Search Console that supports a subset of content types.
If you'd like to get the markup code ready to copy and paste to your page, try the Markup Helper.
Avoid:
The various Rich result reports in Search Console shows you how many pages on your site we've detected with a specific type of markup, how many times they appeared in search results, and how many times people clicked on them over the past 90 days. It also shows any errors we've detected.
Avoid:
Correct structured data on your pages also makes your page eligible for many special features in Google Search results, including review stars, fancy decorated results, and more. See the gallery of search result types that your page can be eligible for.
Search engines need a unique URL per piece of content to be able to crawl and index that content, and to refer users to it. Different content (for example, different products in a shop) as well as modified content (for example, translations or regional variations) need to use separate URLs in order to be shown in search appropriately.
URLs are generally split into multiple distinct sections:
protocol://hostname/path/filename?querystring#fragment
For example:
https://www.example.com/RunningShoes/Womens.htm?size=8#info
Google recommends that all websites use https://
when possible. The hostname is where your website is hosted, commonly using the same domain name that you'd use for email. Google differentiates between the www and non-www version (for example, www.example.com
or just example.com
). When adding your website to Search Console, we recommend adding both http://
and https://
versions, as well as the www and non-www versions.
Path, filename, and query string determine which content from your server is accessed. These three parts are case-sensitive, so FILE
would result in a different URL than file
. The hostname and protocol are case-insensitive; upper or lower case wouldn't play a role there.
A fragment (in this case, #info
) generally identifies which part of the page the browser scrolls to. Because the content itself is usually the same regardless of the fragment, search engines commonly ignore any fragment used.
When referring to the homepage, a trailing slash after the hostname is optional since it leads to the same content (https://example.com/
is the same as https://example.com
). For the path and filename, a trailing slash would be seen as a different URL (signaling either a file or a directory), for example, https://example.com/fish
is not the same as https://example.com/fish/
.
The navigation of a website is important in helping visitors quickly find the content they want. It can also help search engines understand what content the website owner thinks is important. Although Google's search results are provided at a page level, Google also likes to have a sense of what role a page plays in the bigger picture of the site.
All sites have a home or root page, which is usually the most frequented page on the site and the starting place of navigation for many visitors. Unless your site has only a handful of pages, you should think about how visitors will go from a general page (your root page) to a page containing more specific content. Do you have enough pages around a specific topic area that it would make sense to create a page describing these related pages (for example, root page -> related topic listing -> specific topic)? Do you have hundreds of different products that need to be classified under multiple category and subcategory pages?
A breadcrumb is a row of internal links at the top or bottom of the page that allows visitors to quickly navigate back to a previous section or the root page. Many breadcrumbs have the most general page (usually the root page) as the first, leftmost link and list the more specific sections out to the right. We recommend using breadcrumb structured data markup when showing breadcrumbs.
A navigational page is a simple page on your site that displays the structure of your website, and usually consists of a hierarchical listing of the pages on your site. Visitors may visit this page if they are having problems finding pages on your site. While search engines will also visit this page, getting good crawl coverage of the pages on your site, it's mainly aimed at human visitors.
Make it as easy as possible for users to go from general content to the more specific content they want on your site. Add navigation pages when it makes sense and effectively work these into your internal link structure. Make sure all of the pages on your site are reachable through links, and that they don't require an internal search functionality to be found. Link to related pages, where appropriate, to allow users to discover similar content.
Avoid:
Controlling most of the navigation from page to page on your site through text links makes it easier for search engines to crawl and understand your site. When using JavaScript to create a page, use a
elements with URLs as href
attribute values, and generate all menu items on page-load, instead of waiting for a user interaction.
Avoid:
Include a simple navigational page for your entire site (or the most important pages, if you have hundreds or thousands) for users. Create an XML sitemap file to ensure that search engines discover the new and updated pages on your site, listing all relevant URLs together with their primary content's last modified dates.
Avoid:
Users will occasionally come to a page that doesn't exist on your site, either by following a broken link or typing in the wrong URL. Having a custom 404 page that kindly guides users back to a working page on your site can greatly improve a user's experience. Your 404 page should probably have a link back to your root page and could also provide links to popular or related content on your site. You can use Google Search Console to find the sources of URLs causing "not found" errors.
Avoid:
noindex
tag when non-existent pages are requested).Creating descriptive categories and filenames for the documents on your website not only helps you keep your site better organized, it can create easier, friendlier URLs for those that want to link to your content. Visitors may be intimidated by extremely long and cryptic URLs that contain few recognizable words.
URLs like the following can be confusing and unfriendly:
https://www.brandonsbaseballcards.com/folder1/22447478/x2/14032015.html
If your URL is meaningful, it can be more useful and easily understandable in different contexts:
https://www.brandonsbaseballcards.com/article/ten-rarest-baseball-cards.html
Lastly, remember that the URL to a document is usually displayed in some form in a Google Search result near the document title.
Google is good at crawling all types of URL structures, even if they're quite complex, but spending the time to make your URLs as simple as possible is a good practice.
URLs with words that are relevant to your site's content and structure are friendlier for visitors navigating your site.
Avoid:
page1.html
.baseball-cards-baseball-cards-baseballcards.html
.Use a directory structure that organizes your content well and makes it easy for visitors to know where they're at on your site. Try using your directory structure to indicate the type of content found at that URL.
Avoid:
.../dir1/dir2/dir3/dir4/dir5/dir6/page.html
.To prevent users from linking to one version of a URL and others linking to a different version (this could split the reputation of that content between the URLs), focus on using and referring to one URL in the structure and internal linking of your pages. If you do find that people are accessing the same content through multiple URLs, setting up a 301 redirect from non-preferred URLs to the dominant URL is a good solution for this. If you cannot redirect, you may also use the rel="canonical"
link element.
Avoid:
domain.com/page.html
and sub.domain.com/page.html
.Creating compelling and useful content will likely influence your website more than any of the other factors discussed here. Users know good content when they see it and will likely want to direct other users to it. This could be through blog posts, social media services, email, forums, or other means.
Organic or word-of-mouth buzz is what helps build your site's reputation with both users and Google, and it rarely comes without quality content.
Think about the words that a user might search for to find a piece of your content. Users who know a lot about the topic might use different keywords in their search queries than someone who is new to the topic. For example, a long-time football fan might search for "fifa", an acronym for the Fédération Internationale de Football Association, while a new fan might use a more general query like "football playoffs". Anticipating these differences in search behavior and accounting for them while writing your content (using a good mix of keyword phrases) could produce positive results. Google Ads provides a handy Keyword Planner that helps you discover new keyword variations and see the approximate search volume for each keyword. Also, Google Search Console provides you with the top search queries your site appears for and the ones that led the most users to your site in the Performance Report.
Consider creating a new, useful service that no other site offers. You could also write an original piece of research, break an exciting news story, or leverage your unique user base. Other sites may lack the resources or expertise to do these things.
Users enjoy content that is well written and easy to follow.
Avoid: