Stay organized with collections
Save and categorize content based on your preferences.
Get started with Search: a developer's guide
Making your content search-friendly matters because it's how you get more relevant users viewing
your content. This is called search engine optimization (SEO), which can result in more
interested users coming to your site. If Google Search has trouble understanding your page,
you're possibly missing out on an important source of traffic.
This guide covers what developers can do to make sure that their sites work well with Google
Search. In addition to the items in this guide, make sure that your site is
secure,
fast,
accessible to all, and
works on all devices.
You may be surprised to find that Google doesn't always see everything that you see in the
browser. In the following example, Google doesn't know there are images on this page
because the page uses a JavaScript feature that isn't supported by Google.
User view
Here's how a user views the page. Users can view the images and text in the browser.
Google view
Here's how Google views the page. Google doesn't know there are images on this page
because the page uses a JavaScript feature that isn't supported by Google.
Check your links
Googlebot navigates from URL to URL by fetching and parsing links, sitemaps, and redirects. Googlebot
treats every URL as if it's the first and only URL it has seen from your site. To make sure
that Googlebot can find all the URLs on your site:
Use <a> elements that Google can crawl.
Ensure that all pages on the site can be reached by a link from another findable page. Make
sure the referring link includes either text or, for images, an alt
attribute, that is relevant to the target page.
Build and submit a sitemap
to help Googlebot more intelligently crawl your site. A sitemap is a file where
you provide information about the pages, videos, and other files on your site, and the
relationships between them.
For JavaScript apps that have only one HTML page, make sure that each screen or piece of
individual content has a URL.
Check how you're using JavaScript
While Google does run JavaScript, there are some differences and limitations that you need
to account for when designing your pages and applications to accommodate how crawlers access
and render your content.
Learn more about the basics of JavaScript SEO or how to fix
Search-related JavaScript problems.
To learn more about how Google handles JavaScript when crawling, rendering, and indexing, see the following video.
Keep Google updated when content changes
To make sure that Google finds your new or updated pages quickly:
If you're still having trouble getting your page indexed, check your server logs for errors.
Don't forget about the words on the page
Googlebot can only find content that is textually visible. For example, text in videos is
invisible to Googlebot. To make sure that Google Search understands what your page is about:
Make sure that your visual content is expressed in text form.
For example, a product category page that contains a list of images of shirts with no textual
context about each image is suboptimal. The product category page should include some
textual explanation for each image.
Make sure that every page has a
descriptive title and
meta description.
Unique titles and meta descriptions help Google show how your
pages are relevant to users, which in turn can increase your search traffic.
Use semantic HTML. While Google indexes HTML, PDF content, images,
and videos, it doesn't index content that requires plugins (for example, Java or Silverlight)
or content that is rendered in a canvas. Instead of using a plugin, use semantic HTML markup
for your content whenever possible.
Make sure your text content is accessible in the
DOM.
For example, content that is added via the CSS content property
is not part of the DOM and Google Search ignores it at the moment. It's fine to use the content property for decorative content; Google Search may not index this content.
Tell Google about other versions of your content
Google doesn't automatically know that there are multiple versions of your site or content. For
example, a mobile and desktop version, or international versions of your site. To make sure
that Google serves the right version to users, you can:
To block Google from finding your page, restrict access to your content to logged in
users (for example, use a login page or
password-protect your
page).
Test your robot.txt
file to see if you're unintentionally blocking Googlebot from crawling your
site.
Check your HTML for noindex rules in meta tags.
Enable rich results for your site
A rich result can include styling, images, or other interactive features that can help your
site stand out more in Search results. You can help Google understand your page better and
show rich results for it in Search by providing explicit clues about the meaning of a page
with structured data on the page. If
you're not sure where to start, explore our gallery of available features.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-02-04 UTC."],[[["\u003cp\u003eOptimize your website for Google Search by ensuring Googlebot can discover, crawl, and understand your content, resulting in more relevant traffic.\u003c/p\u003e\n"],["\u003cp\u003eUse the URL Inspection Tool and Rich Results Test to see how Google perceives your site, addressing any discrepancies between user and Google's view.\u003c/p\u003e\n"],["\u003cp\u003eImplement best practices for JavaScript SEO, sitemaps, and descriptive content to improve Google's understanding and indexing of your website.\u003c/p\u003e\n"],["\u003cp\u003eLeverage structured data to enable rich results, enhancing your site's visibility and engagement in search results.\u003c/p\u003e\n"],["\u003cp\u003eControl Google's access and indexing of content using robots.txt, noindex tags, and password protection as needed.\u003c/p\u003e\n"]]],["Developers can optimize their sites for Google Search by ensuring they are secure, fast, and accessible. Key actions include testing the site with the URL inspection or Rich Results tools to see how Google views it. Use crawlable `\u003ca\u003e` elements, build sitemaps, and ensure each content piece has a unique URL. Also, use text to represent visual elements, add descriptive titles and meta descriptions, and utilize semantic HTML. Finally, use methods to notify Google about changes like updated content.\n"],null,["Get started with Search: a developer's guide\n\n\nMaking your content search-friendly matters because it's how you get more relevant users viewing\nyour content. This is called search engine optimization (SEO), which can result in more\ninterested users coming to your site. If Google Search has trouble understanding your page,\nyou're possibly missing out on an important source of traffic.\n\n\nThis guide covers what developers can do to make sure that their sites work well with Google\nSearch. In addition to the items in this guide, make sure that your site is\n[secure](https://web.dev/explore/secure),\n[fast](https://web.dev/explore/fast),\n[accessible to all](https://web.dev/explore/accessible), and\n[works on all devices](/search/docs/crawling-indexing/mobile/mobile-sites-mobile-first-indexing).\n| For help that's not so technical, visit the [SEO starter guide](/search/docs/fundamentals/seo-starter-guide). The SEO starter guide covers other aspects of SEO, like authoring content.\n\nFind out how Google sees your site\n\n\nTo get started, test your site in the [URL inspection tool](https://search.google.com/search-console) or\n[Rich Results Test](https://search.google.com/test/rich-results) to\nsee how Google sees your site.\n[Googlebot is Google's web\ncrawling bot](/search/docs/crawling-indexing/googlebot) that discovers new and updated pages for the Google index. For\nmore information about the process, go to\n[How Google Search Works](/search/docs/fundamentals/how-search-works).\n\n\nYou may be surprised to find that Google doesn't always see everything that you see in the\nbrowser. In the following example, Google doesn't know there are images on this page\nbecause the page uses a JavaScript feature that isn't supported by Google.\nUser view\n\nHere's how a user views the page. Users can view the images and text in the browser.\n\nGoogle view\n\nHere's how Google views the page. Google doesn't know there are images on this page\nbecause the page uses a JavaScript feature that isn't supported by Google.\n\nCheck your links\n\n\nGooglebot navigates from URL to URL by fetching and parsing links, sitemaps, and redirects. Googlebot\ntreats every URL as if it's the first and only URL it has seen from your site. To make sure\nthat Googlebot can find all the URLs on your site:\n\n- Use [`\u003ca\u003e` elements that Google can crawl](/search/docs/crawling-indexing/links-crawlable#crawlable-links). Ensure that all pages on the site can be reached by a link from another findable page. Make sure the referring link includes either text or, for images, an alt attribute, that is relevant to the target page.\n- [Build and submit a sitemap](/search/docs/crawling-indexing/sitemaps/build-sitemap) to help Googlebot more intelligently crawl your site. A sitemap is a file where you provide information about the pages, videos, and other files on your site, and the relationships between them.\n- For JavaScript apps that have only one HTML page, make sure that each screen or piece of individual content has a URL.\n\nCheck how you're using JavaScript\n\n\nWhile Google does run JavaScript, there are some differences and limitations that you need\nto account for when designing your pages and applications to accommodate how crawlers access\nand render your content.\n\nLearn more about the [basics of JavaScript SEO](/search/docs/guides/javascript-seo-basics) or how to [fix\nSearch-related JavaScript problems](/search/docs/guides/fix-search-javascript).\n\n\nTo learn more about how Google handles JavaScript when crawling, rendering, and indexing, see the following video. \n\nKeep Google updated when content changes\n\n\nTo make sure that Google finds your new or updated pages quickly:\n\n- [Submit sitemaps](/search/docs/crawling-indexing/sitemaps/build-sitemap).\n- [Ask Google to recrawl your\n URLs](/search/docs/crawling-indexing/ask-google-to-recrawl).\n\nIf you're still having trouble getting your page indexed, check your server logs for errors.\n\nDon't forget about the words on the page\n\n\nGooglebot can only find content that is textually visible. For example, text in videos is\ninvisible to Googlebot. To make sure that Google Search understands what your page is about:\n\n- **Make sure that your visual content is expressed in text form.** For example, a product category page that contains a list of images of shirts with no textual context about each image is suboptimal. The product category page should include some textual explanation for each image.\n- **Make sure that every page has a\n [descriptive title](/search/docs/appearance/title-link#page-titles) and\n [meta description](/search/docs/appearance/snippet#meta-descriptions)**. Unique titles and meta descriptions help Google show how your pages are relevant to users, which in turn can increase your search traffic.\n- **Use semantic HTML**. While Google indexes HTML, PDF content, images, and videos, it doesn't index content that requires plugins (for example, Java or Silverlight) or content that is rendered in a canvas. Instead of using a plugin, use semantic HTML markup for your content whenever possible.\n- **Make sure your text content is accessible in the\n [DOM.](https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model/Introduction)** [For example, content that is added via the](https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model/Introduction)[CSS `content` property](https://developer.mozilla.org/en-US/docs/Web/CSS/content) is not part of the DOM and Google Search ignores it at the moment. It's fine to use the `content` property for decorative content; Google Search may not index this content.\n\nTell Google about other versions of your content\n\n\nGoogle doesn't automatically know that there are multiple versions of your site or content. For\nexample, a mobile and desktop version, or international versions of your site. To make sure\nthat Google serves the right version to users, you can:\n\n- [Consolidate duplicate\n URLs](/search/docs/crawling-indexing/consolidate-duplicate-urls).\n- [Tell\n Google about localized versions of your site](/search/docs/specialty/international/localized-versions).\n- [Make your AMP pages\n discoverable](https://www.ampproject.org/docs/fundamentals/discovery).\n\nControl what content Google sees\n\n\nThere are several ways to block Googlebot:\n\n- To block Google from finding your page, restrict access to your content to logged in users (for example, use a login page or [password-protect your\n page](/search/docs/crawling-indexing/control-what-you-share)).\n- To block Googlebot from crawling your page, [create a robots.txt](/search/docs/crawling-indexing/robots/create-robots-txt). A robots.txt is not a mechanism for keeping a web page out of Google. To keep a web page out of Google, use the `noindex` robots rules, or [password-protect](/search/docs/crawling-indexing/control-what-you-share) your page.\n- To block Google from indexing your page but still allow crawling, [add a\n `noindex` tag](/search/docs/crawling-indexing/robots-meta-tag#noindex). Combining multiple crawling and indexing rules might cause some rules to counteract other rules. Learn how to configure these rules properly by reading [Combining crawling with indexing / serving rules](/search/docs/crawling-indexing/robots-meta-tag#combining).\n\nIf your content isn't showing up in Google Search and you want it to show up, follow these\nsteps:\n\n- Check if Googlebot can access the page with the [URL inspection tool](https://support.google.com/webmasters/answer/9012289).\n- [Test your robot.txt](https://support.google.com/webmasters/answer/6062598) file to see if you're unintentionally blocking Googlebot from crawling your site.\n- Check your HTML for `noindex` rules in `meta` tags.\n\nEnable rich results for your site\n\n\nA rich result can include styling, images, or other interactive features that can help your\nsite stand out more in Search results. You can help Google understand your page better and\nshow rich results for it in Search by providing explicit clues about the meaning of a page\n[with structured data on the page](/search/docs/appearance/structured-data/intro-structured-data). If\nyou're not sure where to start, [explore our gallery of available features](/search/docs/guides/search-gallery)."]]