If you manage a Magento 2 or Adobe Commerce store, you already know the platform creates SEO challenges that generic e-commerce checklists do not address. Layered navigation generates thousands of duplicate URLs. Canonical tags point to the wrong pages. Crawl budget gets consumed by filter combinations that will never rank. Product schema is missing or invalid. Core Web Vitals fail on mobile because RequireJS loads dozens of scripts on every page.
This workbook gives you a structured way to audit, score, and fix every major SEO problem on your Magento store. Work through six audit domains, score each one, identify your weakest areas, and build a prioritized action plan. Every checklist item includes the Magento admin path, what to check, and how to verify the result.
How This Workbook Works
The workbook covers six audit domains, each weighted by its impact on Magento SEO performance. You score every checklist item as pass, partial, or fail. The scoring system converts your results into a 0 to 100 score per domain and an overall store score. Use the results to prioritize fixes using the action plan template at the end.
You do not need a paid SEO tool to complete most of this audit. Google Search Console, PageSpeed Insights, and a free crawl with Screaming Frog (up to 500 URLs) cover the majority of checks. For larger stores, a licensed crawler and Search Console URL Inspection API will speed things up.
| Audit Domain | Weight | What It Covers |
|---|---|---|
| Crawl and Indexation | 25% | robots.txt, XML sitemaps, crawl budget, indexation coverage |
| URL Structure and Canonical Tags | 20% | URL rewrites, canonical configuration, duplicate URL control |
| Faceted Navigation | 15% | Filter URL generation, noindex rules, robots.txt blocking |
| On-Page and Content | 15% | Title tags, meta descriptions, H1s, category content, product descriptions |
| Structured Data and Schema | 10% | Product schema, breadcrumb schema, review schema, validation |
| Core Web Vitals and Performance | 15% | LCP, CLS, INP, full-page cache, JavaScript optimization |
Each domain weight reflects how much it influences organic search performance on a typical Magento store. Crawl and indexation carries the highest weight because if Google cannot crawl and index the right pages, nothing else matters. URL structure and canonical tags are second because duplicate content silently suppresses rankings across hundreds of URLs. Faceted navigation is third because it is the single biggest source of crawl budget waste on Magento.
Scoring System
Each checklist item is scored as follows:
| Score | Meaning | Points |
|---|---|---|
| Pass | The check is fully implemented and verified | 1.0 |
| Partial | Partially implemented, inconsistent, or needs verification | 0.5 |
| Fail | Not implemented, misconfigured, or broken | 0.0 |
Domain score = (sum of item scores / total items) x 100. Overall store score = weighted sum of all domain scores. Use the action plan template at the end to record scores and prioritize fixes.
Domain 1: Crawl and Indexation
This domain checks whether search engines can find, crawl, and index your most important pages. Magento stores with thousands of products are especially vulnerable to crawl budget waste. If Google spends its crawl budget on filter URLs, search result pages, and duplicate category paths, your actual product and category pages may not get indexed at all.
flowchart TD
A[Googlebot crawls store] --> B{robots.txt check}
B -->|Allowed| C[Page renders]
B -->|Blocked| D[URL skipped]
C --> E{Canonical tag}
E -->|Self-referencing| F[Indexable]
E -->|Points elsewhere| G[Consolidates to canonical]
C --> H{noindex directive}
H -->|Present| I[Not indexed]
H -->|Absent| F
F --> J[XML sitemap check]
J -->|In sitemap| K[Indexed and ranked]
J -->|Missing from sitemap| L[May be delayed or missed]
1.1 robots.txt Configuration
- Confirm robots.txt disallows /checkout/, /customer/, /catalogsearch/, /catalog/product_compare/, and all admin paths
- Verify robots.txt does not block /media/ or /static/ directories, which would block CSS, JS, and images from rendering for Googlebot
- Check that robots.txt does not block /pub/media/ on deployments where media is served from that path
- Add disallow rules for filter parameter patterns, such as /?color=, /?size=, /?price=, if faceted navigation URLs are not separately handled by noindex
- Verify robots.txt is accessible at /robots.txt and returns HTTP 200, not a 404 or redirect
- Confirm the sitemap URL is declared in robots.txt with a Sitemap: directive
To configure robots.txt in Magento 2 admin, go to Content > Design > Configuration > Edit > Search Engine Optimization. Enter your robots.txt rules in the text field. Save and flush the cache.
1.2 XML Sitemaps
- Verify XML sitemaps are enabled in Stores > Configuration > Catalog > XML Sitemap
- Confirm sitemaps contain only canonical, indexable URLs, not filtered, redirected, or 404 pages
- Check that out-of-stock products set to noindex are excluded from the sitemap
- Verify CMS pages with noindex tags are excluded from the sitemap
- Confirm customer account, checkout, and search result URLs are not in the sitemap
- Check that sitemap index files are submitted to Google Search Console and return HTTP 200
- Verify the sitemap generation cron job is running and sitemaps are regenerating after catalog changes
- Compare the URL count in your sitemap against your active product count: a large gap signals URL expansion or missing products
To enable sitemaps in Magento 2: Stores > Configuration > Catalog > XML Sitemap. Set Categories, Products, and CMS pages to Yes. Set the frequency to Daily for stores with frequent catalog changes. Set the priority sensibly: categories at 0.8, products at 0.9, CMS pages at 0.5. Do not set everything to 1.0.
1.3 Crawl Budget and Indexation Coverage
- In Google Search Console, compare indexed URLs against your active product count: a ratio above 3:1 signals significant URL expansion
- Review the Indexation report for "crawled but not indexed" URLs grouped by parameter pattern to identify filter waste
- Check the Crawl Stats report in Search Console for average crawl rate and host load: if Googlebot is crawling mostly parameter URLs, your crawl budget is misallocated
- Identify soft 404s in Search Console: category pages with no products that return HTTP 200 instead of 404
- Verify that internal search result pages (/catalogsearch/result/) are blocked from indexing via robots.txt or noindex
- Audit 404 and 301 redirect chains using a crawler: identify redirect loops and broken internal links pointing to retired product URLs
- Check that URL rewrites for discontinued products redirect to the closest category page, not to the homepage
Domain 1 Score
Record your score: ____ / 100. Multiply by 0.25 for weighted contribution to overall score.
Domain 2: URL Structure and Canonical Tags
Magento generates URLs dynamically based on category paths, attribute combinations, and store view configurations. The same product can appear at multiple URLs depending on how a customer navigated to it. Without correct canonical tag configuration, these duplicate URLs compete against each other in search results and dilute link equity.
2.1 URL Structure
- Decide whether to use category paths in product URLs and apply the decision consistently across the store
- If using category paths, verify that canonical tags point to the category-path URL, not the root product URL
- If using root product URLs (e.g., /product-name.html), verify that category-path URLs canonicalize to the root URL
- Check for .html suffix consistency: all URLs should either have or omit .html, not mixed
- Verify URL rewrites are in place for any category or product URL changes, with 301 redirects from old to new
- Audit for trailing slash inconsistency: Magento does not use trailing slashes by default, but custom themes or extensions may introduce them
- Confirm product URL keys are human-readable and keyword-informed, not numeric IDs or default Magento-generated slugs
To configure URL structure in Magento 2: Stores > Configuration > Catalog > Search Engine Optimization. Set "Use Categories Path for Product URLs" to your chosen value. Set "Product URL Suffix" to .html or leave empty, but be consistent. Flush the cache and regenerate URL rewrites after changing these settings.
2.2 Canonical Tag Configuration
- Verify canonical meta tags are enabled for products: Stores > Configuration > Catalog > Search Engine Optimization > Use Canonical Link Meta Tag For Products = Yes
- Verify canonical meta tags are enabled for categories: same settings path, Use Canonical Link Meta Tag For Categories = Yes
- Crawl 20 random product pages and confirm each has exactly one canonical tag in the HTML head
- Verify canonical tags on product pages point to the correct clean URL, not a category-filtered variant
- Check that canonical tags on paginated category pages point to the page itself (self-referencing), not to page 1
- Audit products that appear in multiple categories: confirm canonical tags resolve to one consistent URL across all navigation paths
- Verify that filtered category URLs (e.g., /category?color=blue) canonicalize to the base category URL
- Check for conflicting signals: URLs with both a canonical tag and a noindex tag, which sends mixed messages to Google
2.3 URL Rewrite Audit
- Open Marketing > URL Rewrites and review for duplicate or conflicting rewrite rules
- Identify redirect chains (A redirects to B redirects to C) and collapse them to a single 301 from A to C
- Verify that category merge or rename operations created automatic rewrites, not broken links
- Check that URL rewrites for out-of-stock products point to the parent category or a replacement product, not the homepage
- Test 10 random product URLs from the frontend to confirm they resolve without redirect loops
Domain 2 Score
Record your score: ____ / 100. Multiply by 0.20 for weighted contribution to overall score.
Domain 3: Faceted Navigation
Faceted navigation is the single biggest source of crawl budget waste on Magento stores. A category with 20 filterable attributes across 500 products can generate millions of unique filter-combination URLs. Googlebot will crawl a fraction of them, wasting budget that should go to indexing actual product and category pages.
flowchart TD
A[Category page loaded] --> B{User applies filter}
B --> C[URL with query parameter]
C --> D{"Is filter combination indexable?"}
D -->|No, noindex or robots blocked| E[Crawl budget preserved]
D -->|Yes, default Magento behavior| F[New URL created and crawled]
F --> G[Duplicate or near-duplicate content]
G --> H[Crawl budget wasted]
H --> I[Product pages crawled less frequently]
I --> J[Slower indexation of new products]
3.1 Filter URL Generation
- Identify all filterable attributes in your layered navigation: Stores > Attributes > Product, filter by "Use in Layered Navigation = Yes"
- Count the number of filterable attributes per category to estimate URL expansion: attributes x values per attribute = potential URL combinations
- Decide which filter combinations, if any, have genuine search demand and should be indexable landing pages
- For all other filter combinations, apply one of three control methods: noindex, robots.txt disallow, or both
- Verify that AJAX-based filters do not generate separate crawlable URLs if they are not meant to be indexed
- Check whether filter URLs use query parameters (?color=blue) or path-based URLs (/category/color/blue/) and apply consistent control
3.2 Indexation Control for Filtered URLs
- Enable "Display Product Count" off if it generates additional URL parameters that expand crawl surface
- Apply noindex meta tag to filtered category pages that should not rank: Stores > Configuration > Catalog > Layered Navigation
- For SEO-friendly filter URLs (path-based), add robots.txt disallow rules for filter path patterns
- For query-parameter filter URLs, use Google Search Console's URL Parameters tool to signal which parameters do not change content
- Verify that canonical tags on filtered pages point to the base category URL, not to the filtered URL itself
- Add nofollow to filter links in the layered navigation block if you want to prevent link equity from flowing to filtered URLs
- Test the configuration: apply 3 different filters on a category page and verify the generated URLs return noindex or are blocked by robots.txt
3.3 Search Result Page Control
- Confirm /catalogsearch/result/ is blocked in robots.txt
- Verify internal search result pages have a noindex meta tag
- Check that search result URLs are not included in XML sitemaps
- Review Search Console for any indexed search result pages and request removal if found
- If using Elasticsearch or OpenSearch, verify that autocomplete and suggestion endpoints are not generating crawlable URLs
Domain 3 Score
Record your score: ____ / 100. Multiply by 0.15 for weighted contribution to overall score.
Domain 4: On-Page and Content
Once search engines can crawl the right pages, the next step is making sure each page clearly communicates its topic. Magento stores often generate generic metadata from short product names or incomplete catalog data. Category pages are thin by default. Product descriptions duplicate manufacturer copy across every retailer carrying the same product.
4.1 Title Tags and Meta Descriptions
- Crawl 500+ URLs and identify missing, duplicate, or truncated title tags grouped by page template
- Verify title tags are under 60 characters and follow a consistent template: [Product Name] | [Brand] | [Store Name]
- Check that category page title tags include the primary keyword and a differentiating element, not just the category name
- Identify products sharing the same generic title pattern and plan a bulk fix operation
- Verify meta descriptions are present, unique, and under 160 characters on all indexable pages
- Check that meta descriptions on product pages include the key selling point, not just a product description excerpt
- Review pages auto-generating meta descriptions from product short descriptions: ensure they are not truncated or empty
4.2 H1 Tags and Heading Structure
- Verify each indexable page has exactly one H1 that matches the product or category name
- Check for pages with missing H1 tags, especially custom CMS pages and blog posts
- Identify pages with multiple H1 tags, which can confuse search engines about page topic
- Verify H1 tags are not auto-generated from URL slugs or SKU numbers on product pages
- Review H2 and H3 structure on category pages: look for logical hierarchy, not decorative headings
4.3 Category Page Content
- Check that each category page has unique descriptive copy, not just a product grid
- Verify category descriptions are at least 100 words and help users understand what the category contains
- Review above-the-fold content: does it answer what this category is and why someone should buy here?
- Check for below-the-fold content covering use cases, buying guides, or brand context
- Verify category meta descriptions follow a template that includes the primary keyword and a differentiator
- Identify categories with zero descriptive content and prioritize them for content creation
4.4 Product Page Content
- Audit product descriptions against manufacturer copy: identify products using identical descriptions across multiple retailers
- Verify each product has a unique description of at least 150 words that addresses the buyer's specific use case
- Check that product attributes like brand, material, dimensions, weight, and color are populated and visible on the page
- Review product image alt text: should describe the image specifically, not repeat the product title or leave the field empty
- Verify product image roles (base, small, thumbnail, swatch) are all populated with correctly sized, compressed images
- Identify products with zero reviews or ratings and plan a review collection strategy
- Check for products with no specifications or attributes table, which reduces both SEO value and conversion rate
Domain 4 Score
Record your score: ____ / 100. Multiply by 0.15 for weighted contribution to overall score.
Domain 5: Structured Data and Schema
Magento does not implement structured data out of the box. Product schema, breadcrumb schema, and review schema need to be added through a module or custom development. Without schema markup, your product listings miss rich result features in search, which reduces click-through rates on competitive product queries.
5.1 Product Schema
- Verify product pages include JSON-LD Product schema in the page HTML
- Confirm the Product schema includes: name, description, sku, brand, image, and offers
- Check that the Offer block includes: price, priceCurrency, availability, and url
- Verify the price in schema matches the displayed price on the page, including tax handling
- If using configurable products, confirm child product offers are included in the schema structure
- Run 10 product pages through Google's Rich Results Test and verify zero errors or warnings
- Check Search Console Enhancement reports for Product schema errors and warnings at scale
Example JSON-LD Product schema for a Magento product page:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Product Name Here",
"description": "Product description text here.",
"sku": "SKU12345",
"brand": {
"@type": "Brand",
"name": "Brand Name"
},
"image": "https://store.com/media/catalog/product/image.jpg",
"offers": {
"@type": "Offer",
"url": "https://store.com/product-name.html",
"priceCurrency": "EUR",
"price": "49.99",
"availability": "https://schema.org/InStock"
}
}
</script>
5.2 Breadcrumb Schema
- Verify breadcrumb navigation is enabled and displays on product and category pages
- Confirm BreadcrumbList JSON-LD schema is present on product and category pages
- Check that breadcrumb schema matches the visible breadcrumb trail on the page
- Verify breadcrumb URLs in schema are canonical URLs, not filtered or parameter-based
- Test 10 pages with Google's Rich Results Test for BreadcrumbList validation
Example BreadcrumbList schema:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Home",
"item": "https://store.com/"
},
{
"@type": "ListItem",
"position": 2,
"name": "Category Name",
"item": "https://store.com/category-name.html"
},
{
"@type": "ListItem",
"position": 3,
"name": "Product Name",
"item": "https://store.com/product-name.html"
}
]
}
</script>
5.3 Review and Rating Schema
- If using Magento's native review system, verify AggregateRating schema is present on products with reviews
- If using a third-party review system (Yotpo, Trustpilot), confirm it injects valid AggregateRating schema
- Check that ratingValue and reviewCount in schema match the actual displayed values
- Verify products with zero reviews do not output AggregateRating schema with zero values
- Run the Rich Results Test on 5 products with reviews and 5 without to verify correct behavior
Domain 5 Score
Record your score: ____ / 100. Multiply by 0.10 for weighted contribution to overall score.
Domain 6: Core Web Vitals and Performance
Google uses Core Web Vitals as a ranking signal. Magento stores often struggle here because the default Luma frontend loads dozens of JavaScript files through RequireJS on every page. Product galleries, layered navigation JavaScript, and third-party scripts add weight to templates. Test each major template separately: a fast homepage does not mean your category or product pages are fast.
6.1 Largest Contentful Paint (LCP)
Target: under 2.5 seconds on mobile. LCP measures how long the largest visible element takes to render.
- Test LCP on homepage, category, and product templates using PageSpeed Insights
- Identify the LCP element on each template: usually a hero image, product image, or category banner
- Verify the LCP image is served in a modern format (WebP) via CDN or image optimization
- Check that the LCP image has explicit width and height attributes to avoid layout shifts
- Confirm full-page cache (Varnish) is enabled and serving cached HTML for uncached requests
- Measure time to first byte: target under 600ms. If TTFB is above 800ms, check Varnish configuration and PHP-FPM tuning
- Verify a CDN is serving static assets (JS, CSS, images) from edge locations close to users
- Preload the LCP image using a link rel=preload tag in the HTML head
6.2 Cumulative Layout Shift (CLS)
Target: under 0.1. CLS measures visual stability, how much the page layout shifts as it loads.
- Check all product and category images for missing width and height attributes
- Verify advertisement or promotional banners have reserved space, not late-loading overlays
- Review late-loading third-party widgets (live chat, reviews, social) that push content down after render
- Check for font swap behavior: if using custom fonts, ensure font-display: swap does not cause large layout shifts
- Test CLS on mobile specifically, where slower connections amplify layout shift impact
- Verify that Magento's product gallery does not cause layout shifts when switching between product images
6.3 Interaction to Next Paint (INP)
Target: under 200ms. INP measures responsiveness to user interactions like clicks and taps.
- Test INP on product pages with configurable options (color swatches, size selectors)
- Identify long JavaScript tasks blocking main thread execution on product pages
- Review the number of third-party scripts loaded on product and checkout pages: each one adds to total blocking time
- Check if JavaScript bundling is enabled: bin/magento config:set dev/js/enable_js_bundling 1
- Verify RequireJS is not loading unnecessary modules on pages that do not need them
- Audit third-party scripts (Tag Manager, analytics, live chat, reviews, affiliate): each needs a business case to remain
- If using Hyva theme, confirm Alpine.js is replacing the default RequireJS stack for reduced JavaScript payload
6.4 Full-Page Cache and Server Configuration
- Verify full-page cache is enabled: Stores > Configuration > Advanced > System > Full Page Cache
- Confirm Varnish is configured as the cache backend, not the default file-based cache
- Check that cache invalidation works correctly after product or category updates: make a change and verify the cached page updates
- Verify Redis is configured for session storage and cache, reducing database load
- Check that the Varnish VCL configuration matches your Magento version and server architecture
- Test uncached page TTFB: if above 1.5 seconds, investigate PHP-FPM worker count, OPcache status, and database query performance
- Verify that hole punching is correctly configured for dynamic blocks (cart, user menu) on cached pages
flowchart LR
A[User request] --> B{Varnish cache}
B -->|Cache hit| C[Serve in under 50ms]
B -->|Cache miss, uncached| D[PHP renders page]
D --> E[Magento FPC]
E --> F[Database queries]
F --> G[Page assembled]
G --> H[Cache stored in Varnish]
H --> I[Serve to user]
I --> J[Subsequent requests hit cache]
Domain 6 Score
Record your score: ____ / 100. Multiply by 0.15 for weighted contribution to overall score.
Overall Score Calculation
Add up the weighted scores from all six domains to get your overall store score out of 100.
| Domain | Raw Score / 100 | Weight | Weighted Score |
|---|---|---|---|
| 1. Crawl and Indexation | ____ | 0.25 | ____ |
| 2. URL Structure and Canonical Tags | ____ | 0.20 | ____ |
| 3. Faceted Navigation | ____ | 0.15 | ____ |
| 4. On-Page and Content | ____ | 0.15 | ____ |
| 5. Structured Data and Schema | ____ | 0.10 | ____ |
| 6. Core Web Vitals and Performance | ____ | 0.15 | ____ |
| Overall Store Score | ____ / 100 |
Score Interpretation
| Score Range | Assessment | What It Means |
|---|---|---|
| 80 to 100 | Strong | SEO foundations are solid. Focus on content scale and competitive keywords. |
| 60 to 79 | Moderate | Several domains need work. Fix high-impact, low-effort items first to gain momentum. |
| 40 to 59 | Weak | Significant technical debt is suppressing rankings. Prioritize crawl, canonical, and faceted navigation fixes. |
| Below 40 | Critical | Major structural problems. Start with crawl and indexation before any content work. |
Priority Matrix: What to Fix First
Use this matrix to sequence your fixes by impact and effort. Tackle high-impact, low-effort items first. Defer high-effort items until you have resolved the quick wins. The goal is to build momentum with visible results before investing in larger projects.
| Fix | Impact | Effort | Priority | Domain |
|---|---|---|---|---|
| Block search result pages in robots.txt | High | Low | 1. Do this week | 1, 3 |
| Verify canonical tags on 20 product pages | High | Low | 2. Do this week | 2 |
| Clean XML sitemaps: remove noindex URLs | High | Low | 3. Do this week | 1 |
| Add noindex to filtered category pages | High | Medium | 4. Do this month | 3 |
| Add robots.txt disallow for filter parameters | High | Medium | 5. Do this month | 1, 3 |
| Implement Product and Breadcrumb JSON-LD schema | Medium | Medium | 6. Do this month | 5 |
| Fix duplicate title tags by template | Medium | Medium | 7. Do this month | 4 |
| Add category page descriptive content | Medium | Medium | 8. Do this month | 4 |
| Enable Varnish full-page cache | High | High | 9. Plan for next quarter | 6 |
| Defer render-blocking JavaScript | High | High | 10. Plan for next quarter | 6 |
| Write unique product descriptions for full catalog | Medium | High | 11. Ongoing | 4 |
| Migrate to Hyva theme for JS reduction | High | Very High | 12. Strategic project | 6 |
Action Plan Template
Use this template to record your audit results and build a prioritized action plan. For each fix, assign an owner, a deadline, and a verification method. Review the plan weekly until all high-priority items are complete.
| # | Fix Description | Domain | Priority | Owner | Deadline | Verification Method | Status |
|---|---|---|---|---|---|---|---|
| 1 | |||||||
| 2 | |||||||
| 3 | |||||||
| 4 | |||||||
| 5 |
Verification Methods Reference
Each fix needs a verification step to confirm it works. Use these methods depending on the fix type.
| Fix Type | Verification Method | Tools |
|---|---|---|
| robots.txt changes | Fetch the blocked URL with Googlebot in Search Console URL Inspection | Search Console, Screaming Frog |
| Canonical tag fixes | Crawl 20 affected URLs and verify canonical tag in HTML head | Screaming Frog, Sitebulb |
| Sitemap cleanup | Download sitemap XML and cross-reference against noindex URLs | Browser, Search Console |
| Faceted navigation noindex | Apply filters on frontend and check meta robots tag in page source | Browser DevTools |
| Schema markup | Run page through Rich Results Test, check Search Console Enhancement reports | Rich Results Test, Search Console |
| Core Web Vitals | Test page URL in PageSpeed Insights, check field data in Search Console | PageSpeed Insights, Search Console |
| Title and meta description fixes | Crawl affected pages and verify title length, uniqueness, and content | Screaming Frog, Search Console |
| Full-page cache | Check HTTP response headers for X-Magento-Cache-Debug: HIT | Browser DevTools, curl |
How This Workbook Connects to Your Campaign Articles
Each audit domain in this workbook maps to a specific article in the Magento SEO and Conversion Optimization series. Use the articles for deep dives on implementation, and return to the workbook to track your progress and score your store.
| Workbook Domain | Related Article | What the Article Adds |
|---|---|---|
| All domains | Magento SEO: How to Optimize Your E-Commerce Store | Overview of the full Magento SEO landscape and strategy |
| 2. URL Structure | Magento URL Structure Best Practices | Deep guide to configuring URL paths, suffixes, and rewrites |
| 1. Crawl and Indexation | How to Improve Magento Search Relevance and Speed | Internal search optimization and crawl control for search pages |
| 3. Faceted Navigation | Magento Faceted Navigation SEO | Complete guide to filter URL control and indexation strategies |
| 4. On-Page and Content | Magento Product Page SEO | Detailed product page optimization for metadata, content, and schema |
| 2. Canonical Tags | Magento Canonical Tags | Full canonical configuration guide for multi-category products |
| 5. Schema | Magento Schema Markup Guide | Complete structured data implementation with code examples |
| All domains | Magento SEO Services: How to Choose | How to evaluate providers for the fixes identified in this workbook |
| 1, 6 | Magento 2 SEO: Technical Optimization | Deep technical guide to crawl, performance, and infrastructure |
| All domains | Magento SEO Audit: A Practical Checklist | Companion article that walks through the audit process end to end |
Scaling Content Fixes Across Your Catalog
Once you have completed the audit and fixed the technical foundations, the next challenge is scaling on-page improvements across hundreds or thousands of products. Manually rewriting product descriptions, generating unique title tags, and populating missing meta descriptions one by one is not feasible for a mid-market catalog. If you are evaluating providers to help with this, our guide on how to choose a Magento SEO service covers what to look for.
This is where bulkbase.ai fits into the workflow. Export your product data as CSV, build a content pipeline that chains AI prompts to generate unique descriptions, optimized titles, and complete metadata fields, validate the output with quality checks, and merge the results back into your Magento import format. You use your own OpenAI API keys with zero token markup, so the cost stays transparent and predictable.
If you want to see how this works on your actual catalog data, book a demo at bulkbase.ai/book_demo. Booking a demo is the first step to activating a free trial, so you can test the workflow on your own product data before committing.
Frequently Asked Questions
How long does a full Magento SEO audit take with this workbook?
A store with 500 to 5,000 products can complete the full audit in 4 to 8 hours spread across a week. Larger stores with 50,000+ products may need 1 to 2 days, primarily for crawl analysis and URL pattern identification. The audit goes faster if you have Google Search Console and a crawler like Screaming Frog already set up.
Do I need developer access to complete this audit?
The audit itself does not require developer access. You can complete all checklist items with admin access to Magento, Google Search Console, and a web crawler. Implementing fixes for some items, particularly schema markup, JavaScript optimization, and Varnish configuration, will require developer involvement.
What tools do I need to run this audit?
Google Search Console (free), PageSpeed Insights (free), Screaming Frog SEO Spider (free up to 500 URLs, licensed for larger crawls), and a browser with DevTools. For larger stores, Sitebulb or a licensed Screaming Frog license is recommended. No paid Magento extensions are required for the audit, though some may speed up implementation of fixes.
Should I fix everything at once or prioritize?
Prioritize. Use the priority matrix in this workbook to sequence fixes by impact and effort. Start with high-impact, low-effort items like blocking search result pages, verifying canonical tags, and cleaning up sitemaps. Move to medium-effort items like faceted navigation control and schema markup. Reserve high-effort items like Varnish configuration and JavaScript optimization for a planned project with developer support.
How often should I re-audit my Magento store?
Run the full audit after major catalog changes, platform upgrades, or theme migrations. For ongoing monitoring, check Domain 1 (crawl and indexation) monthly via Search Console and Domain 6 (Core Web Vitals) monthly via PageSpeed Insights. Re-run the full workbook audit quarterly to catch regressions from new extensions, configuration changes, or catalog growth.
Can I use this workbook for Adobe Commerce stores?
Yes. Adobe Commerce is built on the same codebase as Magento 2. All admin paths, configuration settings, and SEO mechanisms described in this workbook apply equally to Adobe Commerce. Some Adobe Commerce Cloud features, like Fastly CDN and managed Varnish, may already be configured, which simplifies Domain 6.