Catch broken or redirecting final URLs in Google and Microsoft Ads
Collects every final URL from enabled ads and sitelinks in Google and Microsoft Ads, checks status, redirect hops and parameter loss, and prepares URL fixes as previews for your approval.
When to use it
When you changed or removed pages on your website and want to be sure no Google or Microsoft ad sends people to a dead or redirecting page.
What you get
A list of every ad and sitelink URL grouped by severity (broken, redirecting, fine) with what uses each one, a suggested replacement page, and URL fix previews applied only after you approve each change.
Does it change anything in my account?
Only with your approval. The assistant first shows a preview of every change and waits for your go-ahead.
I changed some pages on my website and want to make sure no ad sends people to a dead page.
1. Collect every unique final URL:
- Google Ads [Google Ads account]: run a GAQL query on ad_group_ad for enabled ads in enabled campaigns and ad groups, returning campaign.name, ad_group.name, ad_group_ad.ad.id and ad_group_ad.ad.final_urls. Then list the sitelinks with list_extension_assets and take their final URLs.
- Microsoft Ads [Microsoft Ads account]: list the campaigns, then the ad groups in each, then the ads in each ad group, and take each ad's final URL. List the sitelinks with list_microsoft_ad_extensions.
Keep a map of which campaign, ad group, ad or sitelink uses each URL.
2. Open each URL as a visitor would, with a test parameter added (?utm_source=opus_test&gclid=opus_test). Record the HTTP status code. If the response is a redirect (a 3xx status or a Location header), open the target too and repeat until you reach a 200 or an error. Record the number of redirects and the final URL reached.
3. Flag these cases: 4xx or 5xx errors; more than one redirect; a redirect to the homepage instead of the specific page; and the test parameters missing from the final URL.
Group the results by severity: broken (fix today), redirecting (fix this week), fine. For each broken URL, show what uses it and suggest the correct replacement page from my site. To find candidates, read [site URL]/sitemap.xml; if my site is a connected WordPress site, also list its published pages and posts. If neither works, ask me to paste the list of current page URLs.
Prepare the URL changes as previews only (confirm=false): RSA final URLs in Google with update_rsa, Google sitelinks with update_sitelink, Microsoft RSAs with update_microsoft_responsive_search_ad. A Microsoft sitelink cannot be edited in place, so preview removing it and re-adding it with the new URL. Do not apply any change until I approve each one.
Finds page-one pages that get impressions but few clicks, compares them to your site-wide CTR, and rewrites their meta title and description around the queries that actually bring them traffic.
When to use itWhen your pages rank on page one and get impressions but few clicks, so your titles and descriptions are probably not convincing.
Matches GA4 landing-page performance against your WordPress menus, flags valuable pages missing from the navbar, dead weight and broken links, and proposes a leaner main menu.
When to use itWhen your site menu feels cluttered or outdated and you suspect it does not point visitors to the pages that actually bring conversions.
A plugin-by-plugin action list that flags outdated, duplicate and conflicting plugins and double-firing tags.
When to use itWhen your WordPress site has too many plugins, updates piling up, or you fear duplicate tags are inflating the conversions your ads optimize toward.