To ensure a good user experience, Google will check that the provided action
links are operational and abide by
[Place Action policies](https://developers.google.com/actions-center/verticals/appointments/redirect/policies/integration-policies#place-action-policies).
To do so, Google will use a combination of human and automated review.

### Manual checks

Google has a globally distributed team. It's recommended that action links
aren't blocked in these regions to ensure timely onboarding and post-launch
support.

### Automated checks (Crawlers)

Automated crawlers will periodically access your action links to verify that
pages load properly. If a crawler receives a 4xx or 5xx HTTP status code (such
as `403 Forbidden` or `404 Not Found`), the link will be marked as broken or
inaccessible and disabled from Google Search and Maps.

### Web crawler detection and firewall configuration

To ensure that web crawlers don't get blocked (which will cause your action
links to be disabled), make sure your Web Application Firewall (WAF), Content
Delivery Network (CDN), or IP restriction rules allow our crawlers to query your
pages at all times.

To identify and unblock Google crawlers:

- **Actions Center crawlers** : The User-Agent will contain the string `Google-Appointments` (for example: `Mozilla/5.0 (X11; Linux x86_64)
  AppleWebKit/537.36 (KHTML, like Gecko; Google-Appointments)
  Chrome/104.0.5112.101 Safari/537.36`). Calls originate from proxy hostnames following the pattern `google-proxy-***-***-***-***.google.com`.
- **Googlebot crawlers** : Link verification crawlers also use standard **Googlebot** user-agent strings.
- **Verification** : You can verify that incoming requests are genuinely from Google using reverse DNS lookups (`*.googlebot.com` or `*.google.com`) as described in ["Verifying Googlebot and other Google crawlers"](https://developers.google.com/search/docs/crawling-indexing/verifying-googlebot).
- **Testing crawlability** : You can use the [URL Inspection tool](https://support.google.com/webmasters/answer/9012289) in Google Search Console to test whether Googlebot can successfully crawl and render your pages in real time. Paste your full URL into the search bar at the top of Google Search Console, press Enter, and click **Test Live
  URL** to view real-time crawl, render, and index data.

If an action link was disabled due to crawler errors, updating your server or
firewall settings so that requests from Google crawlers return `200 OK` will
allow automated re-verification to clear the block and automatically restore the
link.

### Google Search Console removal requests

In addition to automated crawler checks, links may be disabled if active URL or
domain removal requests were submitted by the domain owner in Google Search
Console.

If your action links aren't appearing despite returning `200 OK` to Google
crawlers, check
[Google Search Console](https://search.google.com/search-console) to verify if
any removal requests were submitted for your domain or URLs, and cancel any
outdated or active removal requests using the
[Search Console Removals tool](https://support.google.com/webmasters/answer/9689846).

#### Caching

For purposes of reducing load on the partner website, our crawlers are generally
configured to respect all standard HTTP caching headers present in the response.
That means that for correctly configured websites we avoid repeatedly fetching
content that changes rarely (e.g. JavaScript libraries). For more details on how
to implement caching, read this
[HTTP caching documentation](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Caching).