Migration Guide Part 2 - Site Structure Planning
Information architecture is a crucial part of SEO for every website. It’s a broad subject but is especially important when handling a migration. If your new site structure is too different from your old structure, or poorly optimised, it could affect how search engines interact with your site.
In this section we discuss how we build an effective site structure when we replatform websites onto Shopify.
Shopify’s Site Structure
It’s important to understand the architecture of a Shopify website. Shopify uses a specific URL structure that can’t be changed. Every page you migrate into Shopify has to adopt one of these page types.
a) Collections
On Shopify a collection is a page that lists a selection of products. You might call them product category pages or product listing pages (PLPs), but on Shopify they’re always called ‘Collections’.
Shopify collections are placed in the /collections/ subdirectory using the following URL format
domain.com/collections/[collection name]
b) Products
On Shopify a product is a page that presents a single product. The product page displays information about that product and is where the product can be added to cart.
Shopify products are placed in the /products/ subdirectory using the following URL format:
domain.com/products/[product name]
The default behavior of Shopify is to create different URLs for products depending on the collection used to reach the product. For example, if you reached a coat product from the Red Coats collection, this could be the URL:
domain.com/collections/red-coats/products/coat
These products are canonicalised back to the base /products/ URL.
c) Pages
On Shopify, custom pages such as About, Delivery or FAQs go in the /pages/ subdirectory.
domain.com/pages/faqs
d) Blogs
Shopify has its own blogging system that creates pages for blog categories and blog posts. Blog content is placed in the /blogs/ subdirectory. The URL structure depends on what categories you create on your blog.
domain.com/blogs/news
domain.com/blogs/news/[blog post]
The overall goal of this part of the process is making sure that all the pages on the existing site can be recreated as one of the 4 page types above.
Ideal Ecommerce Site Structure
For websites with thousands of products, you need a site architecture that helps both users and search engines discover those products. Ideally every product should be reachable from the homepage within 3 clicks.
- Large websites need to consider how people and search engines will reach products
- A ‘hub and spoke’ structure is a good way to do this
Replicating Site Structure
- It’s important that the new site has a similar structure to the old site
- The internal linking should match the old site as much as possible
- When the site architecture changes dramatically, it makes it harder for search engines to process the migration
Reviewing Existing Structure
- We need to get a view of the current site structure and understand how to translate it into Shopify’s architecture
- Core to this is identifying all of the PLPs (product listing pages) from the current site which will be used to determine what collections need to be on the new site
- This is cross-referenced with the keyword analysis undertaken in the audit phase
How to get all pages from current site
We gather this information from various sources:
- The Search Console pages export we did in the audit phase
- The Screaming Frog crawl
- A download of the page reports from Google Analytics
- A download of the XML sitemaps
- A download of the page data from SEMRush and Ahrefs
- The ‘Wayback Machine’ API to download historical pages
These are merged into a single list and deduped.
Then we crawl all the URLs in Screaming Frog in list-mode. We configure the crawl to flag whether the page is a product-page or a product-listing page. This is done by finding an HTML element that is unique to each page type, and using the ‘custom extract’ method (that we used in the mini-audit phase) to extract product descriptions.
Once this crawl has finished we have the following:
- A list of all pages
- The status codes of those pages (so we know which are live and which 404)
- The meta-data for all those pages
- Using the custom-extract method, we’ve separated product and product-listing pages
Products
Products should be created like-for-like on Shopify - there shouldn't be any need to merge products.
The best way to get a list of products is to run an export from the existing CMS.
What’s important is making sure products are linked to from the same places as they are on the current site.
Hub Pages
Does the current site use hub pages to aid navigation? (If so, these need to be replicated on the new Shopify site.)
This can be extremely useful in helping bots and users navigate large websites.
Blog
The blog should be recreated on the new site using the same structure as on the current one.
However, consider whether all blog content needs to be migrated to the new site. If there are old blogs and articles that don’t have any value any more, it could make sense to merge them into other pages. ‘Low value’ would include the following:
- Doesn’t generate any traffic
- Nobody views it on site
- Doesn’t have any links
- ‘Thin’ or poor content
- Irrelevant content
- Was published for a specific activity in the past (such as a launch or event)
Building The New Site Structure
The goal here is to replicate the current site on Shopify - however, we don’t want to carry across legacy content ‘debt’ from the old site.
Building a List of Collections
Our aim here is to have a list of every collection that will be on the new site.
We want to identify and remove as much junk from the existing site as possible.
Now that we have a list of all the product-listing-pages, we need to work out which need to be carried across as collections to the new site.
This stage requires going through all the product-listing pages we’ve found, and categorising them by topic and sub-topic. Once all the PLPs have been categorised, we will have a clear picture of all the topics the existing website covers.
This process also reveals if there are multiple PLPs that cover the same topic. This is very common on large ecommerce websites. When we find these instances, we assess whether they should be merged into other PLPs that cover the same topic.
The end-result of this process is a list of all the collection pages that need to be on the new site.
Mapping keyword groups to collections
We now go back to our keyword research phase and look at the priority and opportunity terms we identified.
Make sure the collections structure reflects the keyword research.
Avoiding Subcollections
On Shopify, a subcollection is a filtered version of an existing collection. Subcollections append an extra level onto the URL:
domain.com/collections/[collection name/[subcollection name]
We strongly advise not to use subcollections on your site. The reason for this is that Shopify subcollections normally duplicate their parent collection. They’ll normally use the same heading, page title and collection description text. This can dilute the SEO value of the parent collection.
Conclusion
By the end of this phase you will have done the following:
- Sourced all the URLs from the site you’re migrating
- Identified how many products, PLPs and other types of pages there are
- Built a list of all the collections that will be on the new Shopify site
- Built an internal linking structure that will be applied to the new site.
GO TO PART 3 - REDIRECT MAPPING
BACK TO PART 1 - DISCOVERY AUDIT