{
    "archive_path": "archive/1789207597.058711",
    "base_url": "www.autom.dev/blog/google-search-goto-links",
    "basename": "google-search-goto-links",
    "bookmarked_date": "2026-09-12 10:06",
    "canonical": {
        "archive_org_path": "https://web.archive.org/web/www.autom.dev/blog/google-search-goto-links",
        "dom_path": "output.html",
        "favicon_path": "favicon.ico",
        "git_path": "git/",
        "google_favicon_path": "https://www.google.com/s2/favicons?domain=www.autom.dev",
        "headers_path": "headers.json",
        "htmltotext_path": "htmltotext.txt",
        "index_path": "index.html",
        "media_path": "media/",
        "mercury_path": "mercury/content.html",
        "pdf_path": "output.pdf",
        "readability_path": "readability/content.html",
        "screenshot_path": "screenshot.png",
        "singlefile_path": "singlefile.html",
        "warc_path": "warc/",
        "wget_path": "www.autom.dev/blog/google-search-goto-links.html"
    },
    "domain": "www.autom.dev",
    "extension": "",
    "hash": "2540KR6PMQRC7NEZWFDB",
    "history": {
        "archive_org": [],
        "dom": [],
        "favicon": [
            {
                "cmd": [
                    "curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--max-time",
                    "120",
                    "--output",
                    "favicon.ico",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 ArchiveBox/0.7.4 (+https://github.com/ArchiveBox/ArchiveBox/) curl/curl 8.14.1 (x86_64-pc-linux-gnu)",
                    "https://www.google.com/s2/favicons?domain=www.autom.dev"
                ],
                "cmd_version": "curl 8.14.1 (x86_64-pc-linux-gnu)",
                "end_ts": "2026-09-12T10:07:19.561725+00:00",
                "index_texts": null,
                "output": "favicon.ico",
                "pwd": "/data/archive/1789207597.058711",
                "schema": "ArchiveResult",
                "start_ts": "2026-09-12T10:07:19.084480+00:00",
                "status": "succeeded"
            }
        ],
        "git": [],
        "headers": [
            {
                "cmd": [
                    "curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--head",
                    "--max-time",
                    "120",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 ArchiveBox/0.7.4 (+https://github.com/ArchiveBox/ArchiveBox/) curl/curl 8.14.1 (x86_64-pc-linux-gnu)",
                    "https://www.autom.dev/blog/google-search-goto-links"
                ],
                "cmd_version": "curl 8.14.1 (x86_64-pc-linux-gnu)",
                "end_ts": "2026-09-12T10:07:20.041593+00:00",
                "index_texts": null,
                "output": "headers.json",
                "pwd": "/data/archive/1789207597.058711",
                "schema": "ArchiveResult",
                "start_ts": "2026-09-12T10:07:19.571783+00:00",
                "status": "succeeded"
            }
        ],
        "htmltotext": [],
        "media": [],
        "mercury": [
            {
                "cmd": [
                    "/app/node_modules/@postlight/parser/cli.js",
                    "https://www.autom.dev/blog/google-search-goto-links"
                ],
                "cmd_version": "1.0.0",
                "end_ts": "2026-09-12T10:07:35.225329+00:00",
                "index_texts": null,
                "output": "mercury",
                "pwd": "/data/archive/1789207597.058711",
                "schema": "ArchiveResult",
                "start_ts": "2026-09-12T10:07:31.576500+00:00",
                "status": "succeeded"
            }
        ],
        "pdf": [],
        "readability": [
            {
                "cmd": [
                    "/app/node_modules/readability-extractor/readability-extractor",
                    "/tmp/tmpu70q41ib",
                    "https://www.autom.dev/blog/google-search-goto-links"
                ],
                "cmd_version": "0.0.11",
                "end_ts": "2026-09-12T10:07:31.566919+00:00",
                "index_texts": [
                    "google.com/goto: Google's anti-scraping updateWhat's happening\nGoogle Search is rewriting organic result links to google.com/goto?url=... instead of exposing the destination URL directly in the HTML.\nWhen you click a result, Google redirects you to the real page. The url parameter uses a custom, Google-specific encoding. It is not a plain base64 of the target URL. In practice, it looks like an opaque reference to Google's index record for that page.\nAs of late August 2026, this is showing up consistently across searches when you are logged out or browsing in private mode. It may still be an experiment, but it is no longer limited to a small slice of SERPs.\nNot the same as google.com/url\nGoogle has used redirect wrappers before. The older format is google.com/url?q=[URL-encoded destination], where the target link is readable in the query string.\nThe new goto format is different:\n\nThe result href is /goto, not the destination\nYou cannot decode the url= blob offline\nThe real URL is in the Location header on /goto. Request that URL. Do not follow the redirect.\n\nGoogle still needs the destination to draw the SERP (domain, favicon, attribution), so copies of the URL remain on the page. That is a separate story from reading Location. The walkthrough is here: google.com/goto: read Location with HEAD.\nThat shift matters for anyone building a search index from SERP data at scale.\nWhy Google is doing this\nThis fits Google's broader push against automated SERP harvesting, especially from AI crawlers and SEO scrapers that bulk-extract result URLs to build their own indexes.\nWith plaintext links, a scraper could parse thousands of URLs from HTML without touching Google again. With goto, each result needs a request back to Google just to learn the destination. You read Location; you do not follow through to the page. That is slower, noisier, and gives Google a clear signal when the same client resolves hundreds of links in sequence.\nCombined with earlier moves like removing &num=100 and tightening BotGuard/SearchGuard, Google is steadily raising the cost of naive SERP scraping.\nWhat we saw at Autom\nWe first spotted goto links on a small percentage of SERPs. At that level, it was hard to ship a reliable fix without breaking responses for everyone else.\nAs of late August 2026, the pattern is much more consistent for logged-out and private sessions. Result URLs on Google Search are effectively all goto in those conditions.\nWe have been monitoring the rollout and testing against it.\nUpdate at Autom.dev\nWe have updated our Google Search pipeline to resolve google.com/goto links (read Location, no follow) and return the final destination URL in API responses, in the same structured fields customers already use.\nIf you call Autom's Google Search endpoints, you should keep getting usable destination URLs without changing your integration. We will keep watching Google's rollout and adjust if the redirect format shifts again.\nRelated reading\n\ngoogle.com/goto: read Location with HEAD\nGoogle killed num=100\nGoogle sues SerpAPI: What SearchGuard reveals\nScraping SERP with Google, Bing, and Brave\n\nNeed live SERP data while Google keeps moving the goalposts? Try 1,000 free requests on Autom pricing, or get an API key at app.autom.dev/register."
                ],
                "output": "readability",
                "pwd": "/data/archive/1789207597.058711",
                "schema": "ArchiveResult",
                "start_ts": "2026-09-12T10:07:29.906466+00:00",
                "status": "succeeded"
            }
        ],
        "screenshot": [],
        "singlefile": [],
        "title": [
            {
                "cmd": [
                    "curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--max-time",
                    "120",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 ArchiveBox/0.7.4 (+https://github.com/ArchiveBox/ArchiveBox/) curl/curl 8.14.1 (x86_64-pc-linux-gnu)",
                    "https://www.autom.dev/blog/google-search-goto-links"
                ],
                "cmd_version": "curl 8.14.1 (x86_64-pc-linux-gnu)",
                "end_ts": "2026-09-12T10:07:29.898792+00:00",
                "index_texts": null,
                "output": "google.com/goto: Google's anti-scraping update",
                "pwd": "/data/archive/1789207597.058711",
                "schema": "ArchiveResult",
                "start_ts": "2026-09-12T10:07:29.874228+00:00",
                "status": "succeeded"
            }
        ],
        "wget": [
            {
                "cmd": [
                    "wget",
                    "--no-verbose",
                    "--adjust-extension",
                    "--convert-links",
                    "--force-directories",
                    "--backup-converted",
                    "--span-hosts",
                    "--no-parent",
                    "-e",
                    "robots=off",
                    "--timeout=120",
                    "--restrict-file-names=windows",
                    "--warc-file=/data/archive/1789207597.058711/warc/1789207640",
                    "--page-requisites",
                    "--user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 ArchiveBox/0.7.4 (+https://github.com/ArchiveBox/ArchiveBox/) wget/GNU Wget 1.21.3",
                    "--compression=auto",
                    "https://www.autom.dev/blog/google-search-goto-links"
                ],
                "cmd_version": "GNU Wget 1.21.3",
                "end_ts": "2026-09-12T10:07:29.864785+00:00",
                "index_texts": null,
                "output": "www.autom.dev/blog/google-search-goto-links.html",
                "pwd": "/data/archive/1789207597.058711",
                "schema": "ArchiveResult",
                "start_ts": "2026-09-12T10:07:20.051354+00:00",
                "status": "succeeded"
            }
        ]
    },
    "icons": null,
    "is_archived": true,
    "is_static": false,
    "latest": {
        "archive_org": null,
        "dom": null,
        "favicon": "favicon.ico",
        "git": null,
        "media": null,
        "pdf": null,
        "screenshot": null,
        "singlefile": null,
        "title": "google.com/goto: Google's anti-scraping update",
        "warc": null,
        "wget": "www.autom.dev/blog/google-search-goto-links.html"
    },
    "link_dir": "/data/archive/1789207597.058711",
    "newest_archive_date": "2026-09-12T10:07:31.576500+00:00",
    "num_failures": 0,
    "num_outputs": 6,
    "oldest_archive_date": "2026-09-12T10:07:19.084480+00:00",
    "path": "/blog/google-search-goto-links",
    "schema": "Link",
    "scheme": "https",
    "snapshot_id": "d2becf2e-4437-4737-9e25-9ce87d7fb8fb",
    "sources": [
        "/data/sources/1789207597-import.txt"
    ],
    "tags": null,
    "tags_str": "",
    "timestamp": "1789207597.058711",
    "title": "google.com/goto: Google's anti-scraping update",
    "updated": "2026-09-12T10:07:19.084038+00:00",
    "updated_date": "2026-09-12 10:07",
    "url": "https://www.autom.dev/blog/google-search-goto-links"
}