Skip to content

Why are my pages not being indexed?

MPG generates virtual pages and a separate sitemap that you submit to Google, but crawling and indexing are controlled entirely by Google. Pages that look correct in a browser can still be skipped if Google considers them thin, near-duplicate, or low-value.

This article explains how to confirm your pages are technically indexable, what causes them to be skipped, how to improve them, and how to safely remove pages you no longer want indexed.

Confirm the pages are technically indexable

Before working on content quality, rule out technical issues:

  1. Verify the URL returns a 200 status. Open one of your generated URLs in a browser and check that it loads. You can also use the URL Inspection tool in Google Search Console to confirm the server returns HTTP 200.
  2. Check your sitemap is submitted. MPG pages use a separate sitemap. Go to your MPG project, open the Sitemap tab, and copy the sitemap URL. Then submit it in Google Search Console > Sitemaps. See How to Generate a Sitemap for details.
  3. Check for a noindex tag. Inspect the page source or use Google Search Console's URL Inspection tool and look for <meta name="robots" content="noindex">. If one of your plugins or the template page has a noindex directive, generated pages will inherit it.
  4. Check robots.txt. Make sure robots.txt is not blocking the URL pattern used by your MPG project.
  5. Verify canonical URLs. MPG automatically generates a canonical URL pointing to each virtual page URL. If you have disabled this with the mpg_enable_canonical_url_generate filter, make sure your SEO plugin is setting the correct canonical instead. See How to Overwrite or Remove Canonical URLs in MPG for details.

💡 Tip: Use Google Search Console's URL Inspection tool on one of your generated URLs. It shows the HTTP status, canonical tag, noindex status, and whether Google has indexed the page — all in one place.

Why Google may crawl but not index MPG pages

Google can visit a URL (crawl it) and still decide not to add it to the index. The most common reasons for MPG pages:

  • Near-identical content across many pages. If hundreds of pages share the same template with only one or two words changed per page (for example, a city name in the heading), Google may classify them as near-duplicate and index only the strongest or none of them.
  • No unique metadata. If every generated page has the same SEO title and meta description, Google has little reason to treat them as distinct pages.
  • No internal links to generated pages. Pages that no other page links to are harder for Google to treat as authoritative. Internal links tell Google these pages are part of your site's content structure.
  • Thin data rows. If each row in your source file only provides a city name or ZIP code with no other differentiating content, the generated pages have very little unique value.

Improve your generated pages

The most reliable way to get pages indexed is to give Google a reason to value them. These steps address the most common causes:

Add unique metadata per page. Use your SEO plugin together with MPG placeholders to generate a distinct title and meta description for each row. See How to Add Meta Title and Meta Description for MPG-Generated Pages for step-by-step instructions.

Enrich your source file. Add columns that provide genuinely different content per page — local phone numbers, addresses, service areas, statistics, testimonials. The more unique content each row contributes, the more each generated page differs from the others. See Using AI to Enrich MPG Source Files for one approach to bulk-enriching your data.

Use placeholders throughout the template. Place MPG shortcodes in headings, body paragraphs, and image alt text — not just in the title. The more places your row data appears, the more distinct each page becomes. See Using MPG Placeholders in Custom Templates.

Add location-specific embeds. Embedding a Google Map for each location, local statistics, or customer testimonials adds content that is unique by definition. See How to Add a Google Map to Generated Pages in Bulk.

Add structured data. Schema markup (for example, LocalBusiness or Service schema) helps Google understand the page and can improve how it appears in search results. See Adding Programmatic Schema to MPG.

Build internal links to your generated pages. Add links from your main service pages, blog posts, or navigation to subsets of your generated pages. Even a sitewide "Service Areas" page listing links to generated city pages helps.

Prune low-value pages before optimizing

Fewer, higher-quality pages often perform better than thousands of near-identical ones. Before spending time enriching content:

  • Remove rows from your source file that are unlikely to drive real traffic (very low-population locations, duplicate city/service combinations, generic entries).
  • Consider consolidating multiple thin pages into one stronger regional page if you have limited unique data for individual locations.

📝 Note: Reducing your page count does not require deleting the MPG project. Remove the rows from your source file and click Fetch and use in your MPG project to regenerate only the URLs that have rows.

Remove MPG-generated pages from Google

MPG pages are virtual — they are not stored in the WordPress database as individual posts or pages. When you want to remove them:

  1. Delete the MPG project (or deactivate the MPG plugin). Once the project is gone, the generated URLs are no longer served by MPG, and WordPress returns a standard 404 Not Found response for those URLs.
  2. Let Google discover the 404. Google crawls previously indexed URLs over time. When it finds a 404, it will remove the page from the index. You do not need to do anything else for Google to de-index it.
  3. Optionally configure a 410 Gone status. A 410 response signals to Google that the removal is intentional and permanent, which can speed up de-indexing compared to a plain 404. You can set this up with a redirect plugin (for example, Redirection) after deleting the MPG project, by adding a redirect rule for the URL pattern that returns a 410.
  4. Redirect valuable URLs. If any of your generated URLs have earned backlinks or organic traffic, redirect them to a relevant remaining page using a redirect plugin before removing the project.

❗ Important: Do not use robots.txt to block removed URLs. Blocking a URL in robots.txt tells Google not to crawl it, but Google keeps already-indexed URLs in the index if it cannot crawl them to verify the 404. To de-index a URL, Google must be able to crawl it and receive a 404 or 410 response.

What MPG controls and what Google decides

MPG generates virtual pages, produces a separate XML sitemap, and integrates with SEO plugins to set metadata. It cannot control whether Google indexes a page or how it ranks.

Google's indexing decisions are based on content quality, site authority, user signals, and many other factors that are outside MPG's scope. Submitting a sitemap and generating technically correct pages are necessary steps, but they do not guarantee indexing.

Further reading