How to remove URLs in bulk from Google Search Console and Bing
Remove hundreds of URLs from Google Search Console or Bing in one go with a free extension: one URL at a time or a whole prefix.
Nikita Kostin
· 9 min read
Search Console’s Removals tool and Bing’s Block URLs page both take one URL per request. That’s fine for a handful of pages, but not for 300 old filter pages or a whole section you just took down.
Bulk URL Remover for Google Search Console & Bing is a free Chrome extension that fills in those requests for you, one after another, from a list you paste in or upload. This guide covers both Google and Bing, the two ways to remove (a single URL, or everything under a prefix), and two extras: bulk URL inspection in Search Console, and IndexNow.
Before you start
- Use an account that owns the site. You need to be a verified owner (or have full access) in Search Console or Bing Webmaster Tools, and have the right property selected.
- Switch the tool’s language to English. The extension reads the page’s buttons by their English names, so it stops if the page is in another language.
- Removal is temporary. Google hides a removed URL for about six months; Bing blocks it for 90 days. To keep a page out for good, also delete it (so it returns 404 or 410) or add a
noindextag. Otherwise it can come back once the removal expires.
Preparing your list of URLs
Paste URLs into the box, one per line, or click Import CSV/TXT. Every URL needs http:// or https:// at the start; lines without it are listed under the box so you can fix them.
URLs with commas work. Filter and search pages often have commas in them, like /?filter=red,blue,yellow. The extension keeps those commas as part of the URL, whether you paste the list, upload a text file, or upload a CSV.
CSV files:
- A single column of URLs (with or without a header row) works as it is.
- An export with several columns works too, such as Search Console’s page report with clicks and impressions next to each URL. The extension picks out the URL in each row and ignores the other columns.
- If you make the CSV yourself in Excel or Google Sheets, it will put quotes around URLs that contain commas. That’s fine; leave them.
Duplicates are removed automatically. The counter under the box shows how many URLs it found and how many repeats it dropped. Check that it matches what you expect before you start.
Different settings for different URLs
Normally one removal type and one match setting apply to the whole list. To mix them, use a CSV with a column for each, and the extension reads them row by row:
| url | removal | match |
|---|---|---|
https://example.com/old-page |
temporary | exact |
https://example.com/private/ |
temporary | prefix |
https://example.com/updated-page |
cache | exact |
- Removal can be
temporaryorcache(which means Clear snippet on Google, and Cache only on Bing). - Match can be
exactorprefix(Bing:pageordirectory). - Leave a cell empty to use whatever is selected in the extension for that row.
- Column names don't matter. The extension recognises the columns by their values, so files made for other bulk removal tools (with
remove-url/clear-cachedandurl-only/prefix) work too.
Daily limits
Google allows up to 1,000 removal requests a day per property, and Bing up to about 500. You don't need to split long lists yourself. The extension sends the first day’s worth, then keeps the rest queued. Open the extension the next day and click Continue to send the next batch.
Remove this URL only, or everything with a prefix
This is the most important choice, so it’s worth getting right. In the extension it’s the Match setting.
This URL only removes exactly the URL on each line, and nothing else. https://example.com/shoes/ removes that one page. It does not remove https://example.com/shoes/red/ or https://example.com/shoes/?page=2.
Whole prefix removes every URL that starts with the text on each line. One line can cover thousands of pages:
| You enter | It removes |
|---|---|
https://example.com/shoes/ |
Everything in the shoes section: /shoes/red/, /shoes/?page=2, … |
https://example.com/shoes/?filter_ |
Every filtered shoes page: /shoes/?filter_color=red, /shoes/?filter_size=9, … but not /shoes/ itself |
https://example.com/old-blog/2019/ |
Every post under that folder |
A few things to know about prefixes:
- There’s no wildcard. A prefix already means “anything that starts with this”, so don’t add
*at the end. If you do, the extension removes it for you before submitting. - Be specific.
https://example.com/smatches/shoes/,/sale/and/sitemap.xml. Ending a prefix with/or?keeps it to what you meant. - Never use your homepage as a prefix.
https://example.com/matches every page on the site. - Use one line per prefix. Lines that share a prefix only need it once.
When you choose a prefix, the extension shows a reminder to double-check your list, because a wrong prefix can hide far more than you intended. If you do make a mistake, you can cancel a request in Search Console or Bing; the URLs come back once the removal is cancelled.
Google Search Console
- Open Search Console’s Removals page and select the property the URLs belong to.
- Click the extension’s icon. It picks Google automatically when you’re on Search Console.
- Choose Match: This URL only or Whole prefix (see above).
- Choose Removal type:
- Temporary hides the URL from Google Search for about six months and clears its cached snippet.
- Clear snippet (called “Clear cached URL” in older versions of Search Console) only clears the cached snippet and description. The page stays in search results, and Google shows the fresh version after its next crawl. Use it after you’ve removed something sensitive from a page that should stay in Google.
- Paste or import your URLs, then click Start removals.
It checks your URLs against the property first. If some of them belong to a different site than the one selected in Search Console, it lists them and asks whether to skip them or start anyway. Requests for URLs outside the property would only fail.
The extension opens a new request for each URL, fills it in and submits it. A small message in the corner of the page shows whether each one worked. A URL is marked as failed if a request for it already exists, or if it doesn’t belong to the selected property.
Bulk inspection
The Google tab has two more buttons. Both run each URL through Search Console's URL Inspection, and the CSV report records what Search Console says about it: whether it's on Google, its indexing status, the Google-selected and user-declared canonicals, and the last crawl date.
- Inspect only just records that. It doesn't change anything, so it's a quick way to audit a list of pages.
- Inspect & request indexing also tests the live page and clicks Request indexing when the page can be indexed. Use it after fixing pages or publishing new ones. Google limits how many indexing requests you can make a day; when you hit the limit, the remaining URLs are marked as failed with that reason.
Bing Webmaster Tools
- Open Bing’s Block URLs page and select your site.
- Click the extension’s icon. It picks Bing automatically on Bing Webmaster Tools.
- Choose Match. Bing calls the two options Page (this URL only) and Directory (everything under the URL), and they work the same way as described above.
- Choose the block type: URL & cache removes the page from Bing’s results, while Cache only just clears the cached copy.
- Paste or import your URLs, then click Start removals.
Each block lasts 90 days and shows up in Bing’s list of active blocks, where you can also remove a block early. Like with Google, the extension checks that your URLs belong to the selected site before it starts. If Bing’s own services are having problems, it pauses and tells you; wait about 15 minutes, then click Resume.
IndexNow
IndexNow is the opposite of removal: it tells search engines that pages are new or changed, so they crawl them sooner. One submission reaches Bing, Yandex, Seznam, Naver and the other engines that support it. Google doesn't use IndexNow.
- Create a key. In the extension, choose IndexNow and click Generate, then Download key file. (You can also type in a key you already use: 8 to 128 letters, numbers or dashes.)
- Upload the key file to the root of your site, so it opens at
https://yoursite.com/KEY.txtand shows only the key. Many SEO plugins and hosts can do this for you. If you put it somewhere else, enter its address in the extension;{host}in it is replaced with each URL's domain. - Paste the URLs and click Submit to IndexNow. The first time, Chrome asks you to allow the extension to contact
api.indexnow.org.
The report shows IndexNow's answer for each URL. “Still validating your key” is normal the first time. “Key not valid” means IndexNow couldn't find the key file at the address you gave.
While it’s running
- You can switch tabs or close the popup. The removals keep going in their own tab. Click the extension's icon any time to see progress; the icon itself shows the percentage complete.
- Pause and resume: click Pause to stop after the current URL, and Resume to carry on where it left off. If the tab is reloaded or closed by accident, the job pauses itself; open the page again and click Resume.
- Stop ends the job and reloads the tab. Anything already submitted stays submitted.
- Speed: under Options, Normal suits most connections. Fast goes quicker, and Safe waits longer between steps if requests fail on a slow connection.
The results report
Open Results in the extension to see every URL with its outcome and the reason for any failure. Filter by done, failed or skipped, or search for a URL. Download CSV report saves all of it, including the inspection details and any URLs still queued, so you can fix the failures and run just those again. Tick Download the CSV report when finished under Options to get it automatically.
If something goes wrong
| What you see | What to do |
|---|---|
| “Please, switch the language… to English” | Change the tool’s display language to English, reload, and start again. |
| It opens the Removals or Block URLs page instead of starting | You weren’t on the right page. Once it loads, open the extension and click Resume. |
| A URL failed with “already exists” | There’s already an active request for that URL. Nothing else to do. |
| Every URL fails | Check that the selected property matches the URLs’ domain, including www and https. |
| “Paused” with a message | Do what the message says (for example, switch the page to English or wait for Bing), then click Resume. |
| A prefix URL was skipped | The extension couldn’t find the prefix option on the page, so it submitted nothing rather than remove the wrong thing. Reload the page and try again; if it keeps happening, let me know. |
Questions or a bug to report? Get in touch. And if the extension saved you an afternoon, a review on the Chrome Web Store helps other people find it.