Overview

Google crawls and indexes the mobile version of a page. Mobile-first indexing became the default for new sites in July 2019, and from July 5, 2024 Google crawls every site with Googlebot Smartphone; a site whose content is not accessible on a mobile device is no longer indexable. Google retired the Mobile-Friendly Test and the Search Console Mobile Usability report in December 2023, so the usability rules below come from accessibility and design standards, not a Search score.

Ship one responsive site, not a separate m. subdomain

Google supports separate mobile URLs but recommends responsive design, because separate URLs add annotation and parity work that often goes wrong.

  • One URL and one canonical per page, regardless of device.
  • Avoid dynamic serving (User-Agent sniffing with Vary: User-Agent). Google supports it, but it multiplies parity work.
  • Migrate an m. site by 301 redirecting each m. URL to its responsive equivalent.

Match mobile content to desktop content

Content missing from the mobile version is not indexed. Per Google’s mobile-first guidance:

  • Keep the same primary content, structured data, titles, meta descriptions, robots meta tags, and image alt text on both versions. Do not put noindex or nofollow on the mobile version only.
  • Content in tabs or accordions is fine if it is in the HTML. Google does not load content that needs a swipe, click, or typed input.
  • Collapsed mobile navigation is fine; Google reads the HTML.

Skip AMP

AMP was never a direct ranking factor, and Google dropped the AMP requirement for Top Stories in 2021 with the page experience update. Retire an existing AMP setup by 301 redirecting /amp/ URLs to the canonical pages and removing the <link rel="amphtml"> tag. Spend the effort on a fast responsive page; see page-speed.

Declare the viewport tag on every page

Without it, mobile browsers render at desktop width and zoom out.

<meta name="viewport" content="width=device-width, initial-scale=1" />
  • Avoid user-scalable=no and maximum-scale=1; they block zoom and fail WCAG.
  • Ship exactly one viewport tag, early in <head>.

Size touch targets and text for phones

  • Touch targets: design for 48 by 48 CSS pixels (Material guidance). WCAG 2.2 SC 2.5.8 (AA) sets 24 by 24 as the minimum and exempts inline text links. Leave a gap between adjacent targets, around 8 pixels.
  • Body text: 16 pixels as the default. iOS Safari zooms into form inputs under 16 pixels. Set sizes in rem and never fix font-size in pixels on <html>, which overrides user preferences.
  • Line height: 1.5 for body text.
  • Add touch-action: manipulation to buttons and links to remove any tap delay without disabling gestures. Modern browsers skip the old 300 ms delay when the viewport tag is set, so avoid tap-delay libraries. See forms for input sizing.

Test on real devices

Emulators miss throttled CPUs, touch quirks, and browser chrome that eats the viewport. Run Lighthouse mobile in CI for regressions, test a mid-tier Android phone once per release, and segment field data by device class with the web-vitals library. See core-web-vitals.