Platforms

Technical SEO for Shopify vs. WordPress vs. Webflow: The Platform-Specific Traps

The same technical SEO question has a different answer depending on the platform underneath. This guide covers where each of the three most common platforms limits you, what each one does for you, and the checks I run first on each, with the official documentation to verify them.

Madhav Kushwaha Madhav KushwahaSEO, AEO & GEO consultant and trainer, Lalitpur Updated 12 min read Google claims linked to sources
In this guide

Key takeaways

  • Search engines do not care which platform you use. What matters is how much each one lets you control, and which defaults you inherit.
  • Shopify fixes your URL structure and gives you duplicate-URL handling by default. Your risks are redirects when URLs change, and app bloat.
  • WordPress gives you almost total control, so every problem is yours: plugins, thin archives, attachment pages and the "discourage search engines" switch.
  • Webflow gives clean markup and managed hosting, but you must set redirects yourself when a URL changes and add advanced structured data with custom code.
  • Whatever the platform, the check that matters is what the page actually serves. Verify canonicals, status codes and rendered output instead of trusting a platform's reputation.

Why the platform changes the checklist

I audit sites on all three platforms, and the first thing I do is find out which one I am looking at, because it tells me which problems to expect. On a hosted store the platform decides things I would normally control, so the work is about not breaking the defaults. On a self-hosted site nothing is decided for me, so the work is about finding what someone added. The Website Technology Checker and the WordPress Theme and Plugin Detector give a quick read of what a site is built on.

Platform features change, and so do plan limits, so treat this guide as a map of where to look. I link each platform's own documentation in the sources, and I suggest confirming anything that affects a launch against the current version. The four-stage view I use to diagnose problems on any platform is in technical SEO in four questions.

Where each platform gives you control, and where it does not.
AreaShopifyWordPressWebflow
URL structureFixed path prefixes for products, collections, pages and blogs. Limited room to changeFully configurable through permalink settingsConfigurable, but CMS items sit inside a collection folder
Hosting and server configManaged. No server files to editYour choice of host, so speed and caching vary widelyManaged hosting
robots.txtGenerated, editable through a theme templateVirtual file by default, or a real file you controlEditable in site settings
XML sitemapGenerated automaticallyCore sitemap, often replaced by a pluginAuto-generated, or a custom one you paste
RedirectsRedirect manager in the admin, with CSV importBy plugin, server rules or theme code301 section in site settings, with CSV import
Structured dataMostly from the theme and appsPlugins or theme codeCustom code you add
Main trapApps and theme code that add weight and duplicate markupPlugin sprawl and indexable low-value pagesForgotten redirects and unindexed staging

Shopify: the traps

You inherit a URL structure

Shopify puts products, collections, pages and blog posts under fixed path prefixes such as /products/ and /collections/. You can change the handle after the prefix, but not the prefix. That is rarely a ranking problem on its own. It becomes one when you plan an information architecture and find the platform will not produce it. Plan categories as collections first, then see how the URLs fall out.

Duplicate product URLs, handled by canonical

A product can usually be reached by more than one path, including through a collection, and with variant parameters in the query string. Shopify themes normally point the canonical tag at the main product URL, so the duplicates are meant to be consolidated by signal and not by redirects. My check is simple: view the source of a product reached through a collection and confirm the canonical is the clean product URL. If a theme or app has changed it, you have a duplication problem. I do not redirect these variants, because the canonical is the intended mechanism and visitors may arrive by either path.

Redirects when you change a handle

If you change a product, collection or page handle, the old URL breaks. Shopify's admin includes a URL redirects section where you can add redirects one by one or import them from a CSV, and it normally offers to create a redirect when you change a handle. I check that the box was ticked, and I review the redirect list for chains, because it is easy to point an old redirect at a URL that has since been changed. Shopify documents a maximum number of redirects per store, so check the current limit if your catalogue is large. Plan the destinations using the redirect guide.

robots.txt is generated, and editing it replaces the default

Shopify produces a default robots.txt for you. You can customise it through a robots.txt.liquid template, and Shopify's own documentation warns that adding the template replaces its generated output, advises saving a copy of the current file first and says to use its provided Liquid objects where possible. I treat any edit as a risk: compare the rendered output with the old file, and remember that a robots rule is not a way to remove pages from Google, as I explain in the robots.txt guide. The Robots.txt Generator includes a Shopify starting template, and the Robots.txt Tester shows which rule matches a URL.

Apps, theme code and structured data

Each installed app can add scripts, styles and markup to every page. The performance cost is real, and it shows up in the Core Web Vitals targets Google uses: an LCP of 2.5 seconds or less, INP of 200 milliseconds or less and CLS of 0.1 or less, at the 75th percentile. I audit apps one by one and ask what each one earns. Apps are also a common cause of duplicate or conflicting structured data, such as a theme and a reviews app both outputting product markup. Google requires that markup describes what visitors can see, so check each template with the Schema Markup Validator and remove duplicates.

Filters, variants and discontinued products

Filtering and sorting can create many URL combinations. Look at what your theme actually generates and decide which should be crawled. For products that are gone for good, I prefer a redirect to the closest equivalent product or collection, or a 404 or 410 if there is none. For items that are only out of stock for a while, I keep the page live and say so clearly. For the store-level view, including Nepal-specific points, see SEO for Nepali ecommerce and my ecommerce SEO service.

WordPress: the traps

The setting that hides a whole site

WordPress has a "Discourage search engines from indexing this site" option under Settings, Reading. Its documentation says that when it is ticked, WordPress adds a noindex meta tag to the page head, and that it only asks search engines to comply. It is frequently ticked during development and forgotten at launch. I check it on every WordPress audit before anything else, together with the page source of a live URL. It is the same class of fault as a staging block reaching production, covered in the deploy guide.

Plugin sprawl

Plugins are WordPress's great strength and its main risk. Each one can add scripts, change output, or clash with another. Two SEO plugins active at once can produce duplicate canonical or robots tags. Plugin updates can change behaviour without warning. My rule is to keep the set small, remove anything that no one can explain, and test updates on a staging copy before they reach the live site. If you are not sure what a site runs, the WordPress Theme and Plugin Detector lists the visible theme and plugins and checks them against WordPress.org.

Thin archives and attachment pages

WordPress generates archive pages by date, author, category and tag, and they can multiply into many near-empty pages. I decide archive by archive: keep the ones that offer a real, useful listing, and mark the thin ones noindex or switch them off. Media files used to get their own attachment pages too. Since WordPress 6.4, attachment pages are disabled on new installations, with visits redirected to the media file, but sites that were upgraded keep the old behaviour. On an older site, check whether attachment pages are still live and indexable.

Sitemaps and permalinks

WordPress has included core XML sitemaps since version 5.5, enabled by default for public sites. SEO plugins often add their own, so confirm there is one sitemap that lists only the canonical URLs you want indexed, and that the old one is not left behind. Changing the permalink structure on a live site changes every URL, so treat it as a migration with a redirect map, not a settings tweak. WordPress core keeps track of changed post slugs and redirects them, but that does not cover everything, such as removed pages or a changed structure.

Speed is your responsibility

Speed depends on your host, your theme, your page builder, your images and your caching. A lightweight theme with sound hosting and page caching can do well, and a heavy theme with a stack of plugins on slow shared hosting often does not. Measure with the Core Web Vitals Checker after every theme or plugin change, not just once.

Webflow: the traps

Redirects are on you

Webflow lets you set 301 redirects in site settings, under Publishing. Its help documentation notes that to redirect an existing page or CMS item you first need to delete or draft it, or change its slug, and it describes folder-level redirects using a capture group. Redirects are matched to paths on the root domain, so localised variants need their own rules. When a slug or a collection folder changes, nothing guarantees the old URL still works unless you add the redirect. After any structural edit I request the old URLs and check for a 301 instead of a 404. Webflow also has CSV import for bulk redirects; check its current limits for large moves.

CMS URL structure

CMS items live under a collection folder, such as a blog folder followed by the item slug. You can name that folder, but the collection structure shapes your URLs, and Webflow does not allow a collection folder and a static page folder to share a slug. Decide the folder names before launch, because changing a live collection's folder later changes every item URL in it.

Staging can end up indexed

Every Webflow project has a free staging subdomain. Webflow has a setting, under SEO and Indexing in site settings, that turns indexing of that subdomain off by publishing a robots.txt for it, and it requires a paid plan. Two cautions from the documentation: it only covers the Webflow subdomain, not your custom domain, and it does not remove results that are already indexed. That is the robots.txt limitation again, so if the staging site has already been indexed, follow the steps in the robots.txt guide.

Sitemap, robots and structured data

Webflow generates a sitemap automatically and lets you switch to a custom one by pasting your own into site settings. Robots.txt is editable in site settings too. For structured data beyond the basics, you add JSON-LD with custom code, either site-wide or per page, and you can fill values from CMS fields. That gives you full control, and also means you own the accuracy. Validate each template with the Schema Markup Validator.

Interactions and rendering

Heavy animation and scripted interactions can hurt interactivity and hide content that appears only after a trigger. Check the rendered page with the URL Inspection tool, and read the JavaScript SEO guide for what to look for. Managed hosting gives a sound baseline, but it does not guarantee good Core Web Vitals, so I still measure.

The checks that apply on every platform

  1. Fetch the live page and read the source. Confirm the canonical, the robots meta tag and the title are what you expect, on a few different templates.
  2. Check status codes. A real 404 for a missing URL, 301s for moved ones, and no chains. The HTTP Status Code Checker handles lists.
  3. Validate the sitemap. It should list canonical, indexable, live URLs only. The XML Sitemap Validator finds dead and redirected entries.
  4. Read robots.txt. Make sure it was not copied from staging.
  5. Check rendered output if scripts load content or links.
  6. Check structured data for duplicates and for accuracy against visible content.
  7. Measure Core Web Vitals before and after any app, plugin, theme or script is added.
  8. Watch Search Console for indexing and crawl changes after each release.

Choosing a platform, or leaving one

I do not recommend a platform on SEO grounds alone, because all three can rank well when they are looked after. The better question is who will maintain the site. A team that wants to manage a store without developers will usually do better on a hosted store platform. A content-heavy site with in-house skills may value WordPress's control. A design-led team that wants visual control and managed hosting may prefer Webflow. Pick the one your team can keep tidy, and pay attention to the traps above.

Moving from one platform to another is a full migration. URLs usually change, templates change, and structured data and redirects have to be rebuilt. Use Google's site move guidance and my migration checklist, build the redirect map first, and test on a staging copy before launch. If you want it handled for you, see my SEO migration service.

How I work on platform audits

I start by identifying the platform, then check the three or four places where that platform usually goes wrong, then work through the four questions in the technical SEO framework. I try to fix what the platform lets me fix and live with what it does not, instead of working around the platform with extra apps or plugins. If a limit really is the problem, I say so and show what it costs, so the decision about moving is made with evidence. This is the kind of work covered in my technical SEO service.

Frequently asked questions

Which platform is best for SEO?

None is best in general. Shopify, WordPress and Webflow can all rank well. Choose by who will maintain the site and how much control you need, then manage the traps specific to that platform.

Can I change my URL structure on Shopify?

Not the fixed prefixes for products, collections, pages and blogs. You can change the handle that follows them, and you should add a redirect when you do.

Does Shopify create duplicate product pages?

A product can be reached through several paths, but themes normally set the canonical to the main product URL. Check the page source of a product reached through a collection to confirm yours does.

Why is my WordPress site not showing in Google?

Check Settings, Reading for the option that discourages search engines. WordPress documents that, when ticked, it adds a noindex meta tag. Then check the live page source, robots.txt and the Page indexing report.

Do I need an SEO plugin on WordPress?

Not necessarily, but most sites use one to manage titles, canonicals and sitemaps. Use one at a time, and check that it does not clash with the core sitemap or the theme.

Does Webflow create redirects when I change a slug?

Do not rely on it. Webflow's documentation describes adding 301 redirects in site settings, with some prerequisites for pages that still exist. After a slug or folder change, request the old URL and confirm it returns a 301.

Is Webflow good for large sites?

It can be, but check your plan's CMS and redirect limits first, and plan structure and redirects early. Limits change, so use Webflow's current documentation.

Which platform is fastest?

It depends on how it is set up. Managed hosting gives a sound baseline, but theme code, apps, plugins, images and scripts decide the result. Measure real-user data instead of assuming.

Sources and further reading

Platform features and plan limits change, so the platform documentation below was checked on 24 October 2026 and should be reconfirmed before you act on it. Statements about Google are based on its own pages.

  1. Shopify: Editing robots.txt.liquid: the default robots.txt, what you can customise, and the warnings
  2. Shopify Help Center: URL redirects: creating redirects in the admin, CSV import and limits
  3. Shopify: SEO for theme developers: where the title tag and robots.txt are controlled in a theme
  4. WordPress: Settings Reading screen: the "Discourage search engines" setting and what it does
  5. WordPress: Changes to attachment pages in 6.4: attachment pages disabled on new installs, unchanged on existing sites
  6. WordPress: wp_sitemaps_enabled: core XML sitemaps and how to disable them
  7. Webflow Help: How do I set up redirects in Webflow?: 301 redirects in site settings, prerequisites and folder redirects
  8. Webflow Help: Create a sitemap in Webflow: auto-generated and custom sitemaps
  9. Webflow Help: Disable search engine indexing: turning off indexing of the webflow.io subdomain
  10. Introduction to robots.txt: robots.txt is not a way to keep a page out of Google
  11. How to specify a canonical URL: canonicals are signals, and how to use them
  12. Redirects and Google Search: permanent and temporary redirects
  13. General structured data guidelines: markup must match visible content
  14. Web Vitals: LCP, INP and CLS thresholds
  15. Site moves with URL changes: planning a move between platforms
Platform SEO

Work with the platform, not against it

Every platform has things it handles well and things you must fix yourself. A platform-aware technical review tells you which is which, before you spend on plugins, apps or a rebuild.

Call WhatsApp Contact