<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Branden Thomas</title>
    <description>The latest articles on DEV Community by Branden Thomas (@toweringmediaco).</description>
    <link>https://dev.to/toweringmediaco</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3982098%2F8bcf4e14-aec1-49d3-b7c3-d3479b872abf.png</url>
      <title>DEV Community: Branden Thomas</title>
      <link>https://dev.to/toweringmediaco</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/toweringmediaco"/>
    <language>en</language>
    <item>
      <title>Allow utf8mb4 Extension for Magento 2</title>
      <dc:creator>Branden Thomas</dc:creator>
      <pubDate>Sat, 13 Jun 2026 04:39:03 +0000</pubDate>
      <link>https://dev.to/toweringmediaco/allow-utf8mb4-extension-for-magento-2-b34</link>
      <guid>https://dev.to/toweringmediaco/allow-utf8mb4-extension-for-magento-2-b34</guid>
      <description>&lt;p&gt;Emoji in customer names, international characters in addresses, and modern marketing copy can break on older utf8 MySQL configurations. Magento 2 projects on legacy database charsets hit truncation errors and silent data loss. The Allow utf8mb4 extension helps teams adopt full Unicode storage without a risky manual migration guess. Four-byte characters fail quietly until a customer support case exposes corrupted names or addresses. Imports from marketplaces and ERPs increasingly include characters legacy utf8 cannot store. Social login and UGC features assume four-byte Unicode supportâ€”legacy charsets block modern UX.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who needs this
&lt;/h2&gt;

&lt;p&gt;Magento developers and merchants seeing database charset errors during imports, customer registration, or UGC features. Agencies inheriting older hosting environments that never moved past utf8 three-byte mode. International storefronts where localized copy and customer data include characters outside BMP.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why teams adopt it
&lt;/h2&gt;

&lt;p&gt;Magento 2.4.x expects modern MySQL collations, but long-lived stores often carry historical utf8 tables from earlier versions. Manual ALTER scripts on production are error-prone when foreign keys and index lengths differ per table. A purpose-built extension documents the Magento-specific touchpoints so developers do not guess which entities need attention. Emoji in reviews, chat, and marketing banners are table stakes for UXâ€”storage should not block them. Coordinate with hosting on innodb settings before cutover so rollback windows stay realistic. Customer registration QA should include emoji and accented characters before you call the migration done.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Purpose-built extension for utf8mb4 compatibility on Magento 2&lt;/li&gt;
&lt;li&gt;Reduces emoji and four-byte character storage failures&lt;/li&gt;
&lt;li&gt;Supports international storefronts and modern UX expectations&lt;/li&gt;
&lt;li&gt;Safer path than ad hoc ALTER TABLE scripts on production&lt;/li&gt;
&lt;li&gt;From a Magento agency familiar with upgrade and hosting constraints&lt;/li&gt;
&lt;li&gt;Documents Magento entity touchpoints affected by charset migration&lt;/li&gt;
&lt;li&gt;Helps teams pass UAT on customer names, reviews, and marketing content&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Learn more
&lt;/h2&gt;

&lt;p&gt;Explore the &lt;a href="https://toweringmedia.com/magento-2-allow-utf8mb4-extension" rel="noopener noreferrer"&gt;Magento 2 Allow utf8mb4 extension&lt;/a&gt; for setup details, compatibility notes, and licensing.&lt;/p&gt;

&lt;p&gt;Charset issues look like application bugs but are database configuration problems. Fix the storage layer before blaming checkout or customer modules. Schedule charset work in a maintenance window with backups and row-size checks on large tables. Re-test imports and registration flows with real international samples after cutover. Charset migrations are finished only when support stops filing truncated-name tickets.&lt;/p&gt;




&lt;p&gt;Branden Thomas, cofounder of Towering Media Co. &lt;a href="https://toweringmedia.com" rel="noopener noreferrer"&gt;https://toweringmedia.com&lt;/a&gt;&lt;/p&gt;

</description>
      <category>magento</category>
      <category>magento2</category>
      <category>ecommerce</category>
      <category>database</category>
    </item>
    <item>
      <title>Cart Slideout Cross-Sell Extension for Magento 2</title>
      <dc:creator>Branden Thomas</dc:creator>
      <pubDate>Sat, 13 Jun 2026 04:28:02 +0000</pubDate>
      <link>https://dev.to/toweringmediaco/cart-slideout-cross-sell-extension-for-magento-2-20nd</link>
      <guid>https://dev.to/toweringmediaco/cart-slideout-cross-sell-extension-for-magento-2-20nd</guid>
      <description>&lt;p&gt;Mini-cart experiences should do more than show line itemsâ€”they are the last merchandising moment before checkout. A cart slideout with cross-sell surfaces related products without forcing shoppers back to category pages, improving average order value on mobile and desktop. Most recommendation widgets sit below the fold on PDPs where few buyers scroll; the cart moment captures intent. Accessory revenue often hides in the gap between add-to-cart and pay. HyvÃ¤ slideout carts are the default UX patternâ€”merchandising should match that behavior.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who needs this
&lt;/h2&gt;

&lt;p&gt;Magento 2 retailers with attach-rate opportunities: accessories, consumables, warranties, and frequently-bought-together SKUs. Stores using slideout carts on HyvÃ¤ or Luma who want controlled cross-sell rules. Teams measuring AOV who need merchandising surfaces that do not require checkout rebuilds.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why teams adopt it
&lt;/h2&gt;

&lt;p&gt;Slideout carts are standard on modern Magento frontends, yet many still mirror core mini-cart functionality. Adding cross-sell in the slideout keeps shoppers in the purchase flow instead of sending them hunting for compatible accessories. Merchandisers control which relationships surface, so brand and margin rules stay intact. The extension targets a narrow UX upgrade compared to rebuilding cart templates from scratch. A/B test one high-margin accessory category first before rolling cross-sell rules across the catalog. Slideout placements outperform homepage carousels when shoppers already have items in cart.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Slideout cart UX with integrated cross-sell placements&lt;/li&gt;
&lt;li&gt;Merchandiser-controlled related product presentation&lt;/li&gt;
&lt;li&gt;Captures incremental revenue at high-intent cart moments&lt;/li&gt;
&lt;li&gt;Designed for modern Magento frontends&lt;/li&gt;
&lt;li&gt;Lightweight alternative to rebuilding the entire cart experience&lt;/li&gt;
&lt;li&gt;Mobile-friendly placement where shoppers already review line items&lt;/li&gt;
&lt;li&gt;Supports rule-based relationships instead of generic recommendation black boxes&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Learn more
&lt;/h2&gt;

&lt;p&gt;Explore the &lt;a href="https://toweringmedia.com/cart-slideout-cross-sell-extension" rel="noopener noreferrer"&gt;Cart Slideout Cross-Sell extension&lt;/a&gt; for setup details, compatibility notes, and licensing.&lt;/p&gt;

&lt;p&gt;Cross-sell belongs where intent is highestâ€”the cartâ€”not only on PDP recommendations nobody scrolls to. Test slideout merchandising before funding another homepage carousel. Track attach rate per placement to prove incremental revenue, not just clicks. Start with hero SKUs that already have strong accessory attach in offline channels. Small attach-rate lifts at checkout scale faster than homepage merchandising experiments.&lt;/p&gt;




&lt;p&gt;Branden Thomas, cofounder of Towering Media Co. &lt;a href="https://toweringmedia.com" rel="noopener noreferrer"&gt;https://toweringmedia.com&lt;/a&gt;&lt;/p&gt;

</description>
      <category>magento</category>
      <category>magento2</category>
      <category>ecommerce</category>
      <category>checkout</category>
    </item>
    <item>
      <title>Search and Navigation Extensions for Magento 2</title>
      <dc:creator>Branden Thomas</dc:creator>
      <pubDate>Sat, 13 Jun 2026 04:27:23 +0000</pubDate>
      <link>https://dev.to/toweringmediaco/search-and-navigation-extensions-for-magento-2-ffg</link>
      <guid>https://dev.to/toweringmediaco/search-and-navigation-extensions-for-magento-2-ffg</guid>
      <description>&lt;p&gt;Default Magento search and category navigation are fine for small catalogs; they become revenue leaks when shoppers cannot find variants, synonyms, or high-margin collections. Towering Media's search and navigation extension lane groups tools that improve discovery without replacing your entire PIM. Zero-result searches are often merchandising problems disguised as search bugs. Large catalogs outgrow default layered navigation faster than teams expect after the first major assortment expansion. B2B part-number search exposes gaps long before B2C teams notice.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who needs this
&lt;/h2&gt;

&lt;p&gt;Mid-market Magento merchants with large SKU counts, synonym-heavy catalogs, or complex category trees. Teams evaluating layered navigation upgrades alongside Search Intelligence. B2B catalogs where part numbers, aliases, and hidden categories determine whether a buyer finds stock.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why teams adopt it
&lt;/h2&gt;

&lt;p&gt;Monolithic search replacements are expensive and risky. Modular extensions let you improve layered navigation, synonyms, and merchandising rules incrementally. Search Intelligence covers AI-assisted relevance; the search-navigation category addresses structural findability gaps in category trees and filters. Agencies can standardize on a toolkit rather than pitching a rip-and-replace search platform for every RFP. Review site search logs monthlyâ€”recurring zero-result terms are your backlog for navigation and synonym work. Category managers should see the same zero-result list as search merchandisers.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Extension category focused on findability and browse paths&lt;/li&gt;
&lt;li&gt;Complements Search Intelligence for AI-assisted relevance&lt;/li&gt;
&lt;li&gt;Supports merchandising workflows beyond core Magento layered nav&lt;/li&gt;
&lt;li&gt;Agency-tested patterns for B2B and B2C catalogs&lt;/li&gt;
&lt;li&gt;Modular add-ons instead of a monolithic search replacement&lt;/li&gt;
&lt;li&gt;Targets zero-result queries and weak category paths incrementally&lt;/li&gt;
&lt;li&gt;Keeps PIM and ERP integrations intact while improving discovery&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Learn more
&lt;/h2&gt;

&lt;p&gt;Explore the &lt;a href="https://toweringmedia.com/magento2-extensions/search-navigation" rel="noopener noreferrer"&gt;Magento 2 search and navigation extensions&lt;/a&gt; for setup details, compatibility notes, and licensing.&lt;/p&gt;

&lt;p&gt;Search is a sales channel. If zero-result queries show up in reports every week, navigation tooling deserves the same roadmap priority as checkout performance. Pair browse improvements with synonym governance so marketing and search teams share one vocabulary. Export search logs monthly to prioritize category and filter investments. Findability work compounds when you fix the same synonym gaps shoppers hit every week.&lt;/p&gt;




&lt;p&gt;Branden Thomas, cofounder of Towering Media Co. &lt;a href="https://toweringmedia.com" rel="noopener noreferrer"&gt;https://toweringmedia.com&lt;/a&gt;&lt;/p&gt;

</description>
      <category>magento</category>
      <category>magento2</category>
      <category>ecommerce</category>
      <category>search</category>
    </item>
    <item>
      <title>Analytics Integrations for Magento 2 Extensions</title>
      <dc:creator>Branden Thomas</dc:creator>
      <pubDate>Sat, 13 Jun 2026 04:16:38 +0000</pubDate>
      <link>https://dev.to/toweringmediaco/analytics-integrations-for-magento-2-extensions-1lhn</link>
      <guid>https://dev.to/toweringmediaco/analytics-integrations-for-magento-2-extensions-1lhn</guid>
      <description>&lt;p&gt;Magento stores run on more than GA4: server-side tagging, marketplace pixels, and ERP-adjacent reporting all need reliable event hooks. Towering Media's analytics integrations category bundles extensions that connect storefront behavior to measurement stacks without fragile theme edits. When analytics live only in theme JavaScript, every frontend deploy risks silent event loss. Growth teams lose weeks reconciling GA4 gaps that trace back to a single template change. Server-side tagging projects fail when the storefront cannot emit stable events.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who needs this
&lt;/h2&gt;

&lt;p&gt;Growth and engineering teams on Magento 2 / Adobe Commerce who need dependable analytics wiring across checkout, catalog, and campaign landing pages. Agencies shipping multiple clients who want repeatable analytics modules instead of one-off GTM hacks. Merchants adopting server-side tagging or consent-mode workflows that require stable event contracts.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why teams adopt it
&lt;/h2&gt;

&lt;p&gt;HyvÃ¤ and headless frontends amplify the cost of theme-embedded pixels. Extension-based hooks fire from Magento layers that survive theme swaps. The analytics integrations lane groups modules tested across Luma, HyvÃ¤, and common checkout replacements so agencies do not reinvent dataLayer pushes per project. Consent and privacy requirements also favor centralized instrumentation you can audit once instead of scattered script tags. Document event schemas in your runbook so CRO tests do not fork incompatible payloads. Stakeholders trust dashboards only when purchase events survive theme releases without emergency hotfixes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Curated analytics-focused extensions for Magento 2 merchants&lt;/li&gt;
&lt;li&gt;Patterns that respect modern privacy and consent requirements&lt;/li&gt;
&lt;li&gt;Reduces theme-level JavaScript drift across deployments&lt;/li&gt;
&lt;li&gt;Useful alongside headless and HyvÃ¤ frontends when events must stay consistent&lt;/li&gt;
&lt;li&gt;Documented extension lane from a Magento agency shipping since 2008&lt;/li&gt;
&lt;li&gt;Supports repeatable agency delivery across multiple client storefronts&lt;/li&gt;
&lt;li&gt;Centralizes event contracts for GA4, ads, and server-side tagging projects&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Learn more
&lt;/h2&gt;

&lt;p&gt;Explore the &lt;a href="https://toweringmedia.com/magento2-extensions/analytics-integrations" rel="noopener noreferrer"&gt;Magento 2 analytics integrations&lt;/a&gt; for setup details, compatibility notes, and licensing.&lt;/p&gt;

&lt;p&gt;If your analytics break every time you deploy a frontend change, the problem is placementâ€”not the pixel itself. Extension-based instrumentation is easier to regression-test. Treat purchase and add-to-cart events as release gates, not post-launch surprises. Validate consent-mode behavior in staging before traffic campaigns go live. Instrumentation should be boring on deploy dayâ€”that is the goal.&lt;/p&gt;




&lt;p&gt;Branden Thomas, cofounder of Towering Media Co. &lt;a href="https://toweringmedia.com" rel="noopener noreferrer"&gt;https://toweringmedia.com&lt;/a&gt;&lt;/p&gt;

</description>
      <category>magento</category>
      <category>magento2</category>
      <category>ecommerce</category>
      <category>analytics</category>
    </item>
    <item>
      <title>SEO Redirect Management for Magento 2</title>
      <dc:creator>Branden Thomas</dc:creator>
      <pubDate>Sat, 13 Jun 2026 04:16:02 +0000</pubDate>
      <link>https://dev.to/toweringmediaco/seo-redirect-management-for-magento-2-c3e</link>
      <guid>https://dev.to/toweringmediaco/seo-redirect-management-for-magento-2-c3e</guid>
      <description>&lt;p&gt;Catalog reorganizations, discontinued SKUs, and migration projects all create redirect debt. Spreadsheet imports and ad hoc .htaccess edits do not scale on Magento 2. A dedicated redirect management extension gives SEO and engineering teams a governed way to create, audit, and maintain 301/302 rules from admin. Redirect chains and loops silently dilute link equity after every category merge unless someone owns ongoing hygiene. Discontinued SKUs and merged brands generate redirect tickets faster than engineering can clear them without admin tooling. HyvÃ¤ and headless migrations multiply URL changesâ€”plan redirect ownership before cutover.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who needs this
&lt;/h2&gt;

&lt;p&gt;Magento merchants undergoing HyvÃ¤ migrations, category restructuring, or brand consolidation. SEO leads who need visibility into redirect chains without SSH access. Agencies running migration playbooks where marketing must ship URL changes on a schedule engineering cannot always meet.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why teams adopt it
&lt;/h2&gt;

&lt;p&gt;Server-level redirect tables work until hundreds of SKU discontinuations land the same week. Magento-native redirect UI keeps rules versioned with your deployment process and visible to non-SSH users. That matters during HyvÃ¤ replatforms when URL patterns change and legacy paths must map cleanly. Preventing orphaned URLs protects both crawl budget and paid landing pages that still point at old paths in ad platforms. Export redirect lists before major releases so rollback plans include URL equity, not just code. Paid search teams feel redirect debt first when old category URLs still receive budget.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Central admin UI for redirect creation and maintenance&lt;/li&gt;
&lt;li&gt;Supports common Magento SEO migration workflows&lt;/li&gt;
&lt;li&gt;Reduces reliance on server-level-only redirect tables&lt;/li&gt;
&lt;li&gt;Helps prevent orphaned URLs after catalog cleanup&lt;/li&gt;
&lt;li&gt;Built for teams that treat redirects as ongoing operations, not one-time launches&lt;/li&gt;
&lt;li&gt;Improves collaboration between SEO and engineering during replatforms&lt;/li&gt;
&lt;li&gt;Makes redirect audits part of regular merchandising releases&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Learn more
&lt;/h2&gt;

&lt;p&gt;Explore the &lt;a href="https://toweringmedia.com/seo-redirect-management-for-magento-2" rel="noopener noreferrer"&gt;SEO Redirect Management for Magento 2&lt;/a&gt; for setup details, compatibility notes, and licensing.&lt;/p&gt;

&lt;p&gt;Redirects are infrastructure. When marketing cannot ship a category move because engineering is busy, you need admin-owned redirect toolingâ€”not another CSV over the wall. Audit redirects after every major catalog release the same way you regression-test checkout. Watch for chains longer than two hops; they dilute equity and slow crawlers. A single admin-owned redirect tool beats a quarterly emergency CSV every time.&lt;/p&gt;




&lt;p&gt;Branden Thomas, cofounder of Towering Media Co. &lt;a href="https://toweringmedia.com" rel="noopener noreferrer"&gt;https://toweringmedia.com&lt;/a&gt;&lt;/p&gt;

</description>
      <category>magento</category>
      <category>magento2</category>
      <category>ecommerce</category>
      <category>seo</category>
    </item>
    <item>
      <title>Choose Your LLM Provider for Magento 2 Search Intelligence</title>
      <dc:creator>Branden Thomas</dc:creator>
      <pubDate>Sat, 13 Jun 2026 04:05:24 +0000</pubDate>
      <link>https://dev.to/toweringmediaco/choose-your-llm-provider-for-magento-2-search-intelligence-a98</link>
      <guid>https://dev.to/toweringmediaco/choose-your-llm-provider-for-magento-2-search-intelligence-a98</guid>
      <description>&lt;p&gt;AI-assisted merchandising in Magento should not lock you into one vendor's model on day one. Towering Media's Search Intelligence LLM Provider add-on lets stores choose and configure the large-language-model backend that powers selected Search Intelligence workflowsâ€”without forking your entire search stack. Model pricing, latency, and data residency policies change quarterly; hard-coding one provider into catalog tooling ages poorly. Merchants evaluating AI features should separate model contracts from the search features shoppers actually see.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who needs this
&lt;/h2&gt;

&lt;p&gt;Magento 2 merchants already using Search Intelligence Core who want flexibility across LLM providers for content, synonym, or automation tasks. Agencies standardizing on Search Intelligence but serving clients with different AI compliance requirements. Teams piloting generative merchandising who need to swap models without redeploying custom modules.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why teams adopt it
&lt;/h2&gt;

&lt;p&gt;Search Intelligence Core handles relevance, synonyms, and merchant workflows inside Magento admin. The LLM Provider add-on isolates the model endpoint configuration so operations can respond to vendor changes without touching search indexing code. That separation mirrors how mature teams treat payment gateways: business logic in Magento, credentials and routing in configuration. For agencies, one Search Intelligence baseline across clients with per-tenant model settings reduces forked custom code. Pilot on non-production catalogs first so synonym and content experiments do not affect live revenue. Operations teams should own API key rotation the same way they manage payment gateway credentials.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Configurable LLM provider selection within Search Intelligence&lt;/li&gt;
&lt;li&gt;Keeps AI features inside Magento admin workflows merchants already use&lt;/li&gt;
&lt;li&gt;Supports teams that need to swap models as pricing or policy changes&lt;/li&gt;
&lt;li&gt;Pairs with the broader Search Intelligence suite for Magento 2&lt;/li&gt;
&lt;li&gt;Agency-friendly extension model from a long-running Magento specialist&lt;/li&gt;
&lt;li&gt;Isolates API keys and endpoints from catalog indexing code paths&lt;/li&gt;
&lt;li&gt;Eases compliance reviews when clients restrict specific model vendors&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Learn more
&lt;/h2&gt;

&lt;p&gt;Explore the &lt;a href="https://toweringmedia.com/search-intelligence-llm-provider" rel="noopener noreferrer"&gt;Search Intelligence LLM Provider add-on&lt;/a&gt; for setup details, compatibility notes, and licensing.&lt;/p&gt;

&lt;p&gt;Model choice is becoming an operational decision, not a science experiment. If AI search or merchandising is on your roadmap, pick tooling that separates provider configuration from catalog logic. Document which workflows call external models so security reviews stay straightforward. Revisit provider settings when contracts renewâ€”latency and cost profiles shift quickly. Treat the LLM layer as infrastructure with its own change-control checklist.&lt;/p&gt;




&lt;p&gt;Branden Thomas, cofounder of Towering Media Co. &lt;a href="https://toweringmedia.com" rel="noopener noreferrer"&gt;https://toweringmedia.com&lt;/a&gt;&lt;/p&gt;

</description>
      <category>magento</category>
      <category>magento2</category>
      <category>ecommerce</category>
      <category>ai</category>
    </item>
    <item>
      <title>Product FAQ Extension for Magento 2 SEO and Conversion</title>
      <dc:creator>Branden Thomas</dc:creator>
      <pubDate>Sat, 13 Jun 2026 04:04:47 +0000</pubDate>
      <link>https://dev.to/toweringmediaco/product-faq-extension-for-magento-2-seo-and-conversion-1h7l</link>
      <guid>https://dev.to/toweringmediaco/product-faq-extension-for-magento-2-seo-and-conversion-1h7l</guid>
      <description>&lt;p&gt;Product detail pages lose sales when shoppers cannot find answers about fit, compatibility, or shippingâ€”and search engines miss long-tail questions your support team answers daily. A structured product FAQ block on PDPs improves conversion and gives merchandisers a controlled place to publish buyer questions with schema-friendly markup. FAQs also reduce bounce when shoppers would otherwise open a new tab to search your brand plus a part number. Considered-purchase buyers often abandon when specs are buried in PDFs instead of scannable Q&amp;amp;A.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who needs this
&lt;/h2&gt;

&lt;p&gt;Magento merchants with technical or considered-purchase catalogs: industrial parts, supplements, electronics, and configurable products where pre-purchase questions block add-to-cart. SEO teams chasing rich results for question queries and support leads measuring ticket volume per SKU both benefit from PDP-native answers.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why teams adopt it
&lt;/h2&gt;

&lt;p&gt;Blog posts and knowledge bases rarely rank for SKU-specific questions. PDP FAQs keep answers next to the buy button where hesitation happens. Admin assignment by product or attribute set lets merchandisers scale content without developer deploys for every new SKU. Schema-oriented structure gives SEO teams a lever beyond generic meta descriptions. The extension stays lightweight compared to bolting a full CMS onto catalog entities. Start with your top twenty SKUs by revenue and expand FAQ coverage as support tags reveal patterns. PDP FAQs also give sales teams approved language for chat and phone quotes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Admin-managed FAQs assigned to individual products or attribute sets&lt;/li&gt;
&lt;li&gt;On-page FAQ presentation designed for product detail conversion&lt;/li&gt;
&lt;li&gt;SEO-oriented FAQ structure for common buyer questions&lt;/li&gt;
&lt;li&gt;Reduces repetitive support tickets for the same PDP questions&lt;/li&gt;
&lt;li&gt;Lightweight extension pattern that does not require a full CMS rebuild&lt;/li&gt;
&lt;li&gt;Merchandiser-friendly workflows without per-SKU developer tickets&lt;/li&gt;
&lt;li&gt;Keeps answers synchronized with catalog changes and discontinuations&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Learn more
&lt;/h2&gt;

&lt;p&gt;Explore the &lt;a href="https://toweringmedia.com/magento-2-product-faq-extension-for-product-pages-seo-conversion" rel="noopener noreferrer"&gt;Magento 2 Product FAQ extension&lt;/a&gt; for setup details, compatibility notes, and licensing.&lt;/p&gt;

&lt;p&gt;If your support inbox repeats the same product questions, those answers belong on the PDPâ€”not only in email templates. Structured FAQs help humans and search engines at once. Review top ticket drivers quarterly and promote them to published FAQs before peak season. Pair FAQ content with internal links to sizing guides or compatibility charts where relevant. Even five well-written FAQs on a hero SKU can move conversion measurably.&lt;/p&gt;




&lt;p&gt;Branden Thomas, cofounder of Towering Media Co. &lt;a href="https://toweringmedia.com" rel="noopener noreferrer"&gt;https://toweringmedia.com&lt;/a&gt;&lt;/p&gt;

</description>
      <category>magento</category>
      <category>magento2</category>
      <category>ecommerce</category>
      <category>seo</category>
    </item>
    <item>
      <title>USPS Add-on for Multivendor Dropship on Magento 2</title>
      <dc:creator>Branden Thomas</dc:creator>
      <pubDate>Sat, 13 Jun 2026 03:54:05 +0000</pubDate>
      <link>https://dev.to/toweringmediaco/usps-add-on-for-multivendor-dropship-on-magento-2-3jed</link>
      <guid>https://dev.to/toweringmediaco/usps-add-on-for-multivendor-dropship-on-magento-2-3jed</guid>
      <description>&lt;p&gt;Marketplace and multivendor Magento stores cannot rate USPS from a single global origin. Each vendor warehouse needs its own ship-from context, and USPS now expects OAuth-backed REST API v3 callsâ€”not legacy Web Tools XML. This USPS add-on extends Towering Media's multivendor dropship shipping stack with vendor-aware USPS rating. Legacy XML outages are no longer edge cases; they are the default risk for unmigrated integrations.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who needs this
&lt;/h2&gt;

&lt;p&gt;Multivendor Magento 2 merchants using Towering Media dropship shipping for FedEx or UPS who also need USPS from vendor origins. Agencies migrating marketplace clients off broken legacy USPS integrations will recognize the vendor-origin requirement immediately. Marketplaces where vendors ship Media Mail or Priority from their own docks cannot share one store-level USPS credential.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why teams adopt it
&lt;/h2&gt;

&lt;p&gt;USPS API v3 and OAuth client credentials are the new baseline. Dropship marketplaces that quoted from a single origin looked fine until vendors demanded accurate USPS options for lightweight SKUs. This add-on plugs into the same multivendor split-shipment model as FedEx and UPS dropship modules, so checkout sees one coherent experience while backends fan out vendor-specific rate requests. That architecture prevents the common bug where marketplace orders show $0 shipping because USPS failed silently for secondary origins. Treat vendor warehouse addresses as first-class shipping origins in QA, not optional metadata. Split-shipment checkout is unforgiving when one origin still uses deprecated USPS XML credentials.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;USPS REST/OAuth rating integrated into multivendor dropship workflows&lt;/li&gt;
&lt;li&gt;Vendor-specific origin addresses flow into USPS rate requests&lt;/li&gt;
&lt;li&gt;Pairs with the broader multi-vendor FedEx, USPS, and UPS dropship suite&lt;/li&gt;
&lt;li&gt;Avoids treating marketplace shipping as a single-store carrier configuration&lt;/li&gt;
&lt;li&gt;Built for Magento 2 / Adobe Commerce checkout and admin patterns&lt;/li&gt;
&lt;li&gt;Supports OAuth credential flows required by USPS API v3&lt;/li&gt;
&lt;li&gt;Helps marketplaces quote lightweight vendor SKUs with accurate USPS options&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Learn more
&lt;/h2&gt;

&lt;p&gt;Explore the &lt;a href="https://toweringmedia.com/usps-addon-for-multivendor-dropship" rel="noopener noreferrer"&gt;USPS add-on for multivendor dropship&lt;/a&gt; for setup details, compatibility notes, and licensing.&lt;/p&gt;

&lt;p&gt;When only the main warehouse shows USPS but vendor lines do not, the fix is usually origin-aware carrier logicâ€”not another global USPS credential. Extend dropship shipping instead of bolting core USPS onto marketplace quotes. Plan OAuth credential rotation per vendor or per warehouse according to your marketplace rules. Test split carts with multiple vendor origins before launch.&lt;/p&gt;




&lt;p&gt;Branden Thomas, cofounder of Towering Media Co. &lt;a href="https://toweringmedia.com" rel="noopener noreferrer"&gt;https://toweringmedia.com&lt;/a&gt;&lt;/p&gt;

</description>
      <category>magento</category>
      <category>magento2</category>
      <category>ecommerce</category>
      <category>usps</category>
    </item>
    <item>
      <title>Standalone FedEx Dry Ice Shipping for Magento 2</title>
      <dc:creator>Branden Thomas</dc:creator>
      <pubDate>Sat, 13 Jun 2026 03:53:29 +0000</pubDate>
      <link>https://dev.to/toweringmediaco/standalone-fedex-dry-ice-shipping-for-magento-2-44ei</link>
      <guid>https://dev.to/toweringmediaco/standalone-fedex-dry-ice-shipping-for-magento-2-44ei</guid>
      <description>&lt;p&gt;Perishable and temperature-sensitive products need more than a generic FedEx rate quote. Dry ice shipments require correct service mapping, package handling assumptions, and carrier rules that core Magento does not ship out of the box. Towering Media's standalone FedEx Dry Ice extension gives merchants a focused carrier module for this lane. Without dry-ice-aware logic, checkout may hide valid services or quote rates that operations cannot actually fulfill.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who needs this
&lt;/h2&gt;

&lt;p&gt;Food, supplement, lab-sample, and cold-chain Magento merchants that ship with dry ice via FedEx. Also useful for agencies supporting clients who cannot use a full multi-carrier suite but still need compliant dry-ice rating at checkout. Operations teams tired of manually overriding shipping after customers pick the wrong method at checkout are a common buyer profile.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why teams adopt it
&lt;/h2&gt;

&lt;p&gt;FedEx REST migrations already forced many Magento stores to revisit carrier extensions. Dry ice adds another layer: not every FedEx service accepts dry ice packaging, and quoting the wrong option creates chargebacks and reship costs. A stand-alone module lets you adopt dry-ice rating without buying the entire Towering Media carrier bundleâ€”useful when UPS or USPS are handled elsewhere. Admin configuration ties services to your origin and cold-chain SOPs so merchandising and ops stay aligned. Staging tests should include weight breakpoints and transit times your CS team promises on PDPs.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;FedEx dry-ice-focused shipping method for Magento 2&lt;/li&gt;
&lt;li&gt;Works as a stand-alone extension without requiring the full Towering Media carrier bundle&lt;/li&gt;
&lt;li&gt;Admin configuration for services and origin assumptions tied to cold-chain workflows&lt;/li&gt;
&lt;li&gt;Designed for real-time rating alongside standard checkout flows&lt;/li&gt;
&lt;li&gt;Maintained by a Magento agency with production FedEx REST migrations&lt;/li&gt;
&lt;li&gt;Reduces checkout surprises when PDPs promise overnight cold-chain delivery&lt;/li&gt;
&lt;li&gt;Fits merchants who only need FedEx dry iceâ€”not a full multi-carrier rewrite&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Learn more
&lt;/h2&gt;

&lt;p&gt;Explore the &lt;a href="https://toweringmedia.com/toweringmedia-fedex-dry-ice-stand-alone" rel="noopener noreferrer"&gt;FedEx Dry Ice stand-alone extension&lt;/a&gt; for setup details, compatibility notes, and licensing.&lt;/p&gt;

&lt;p&gt;If dry-ice failures show up as missing methods or wrong service levels at checkout, treat it as a carrier specialization problemâ€”not a theme bug. A purpose-built module is usually faster than patching generic FedEx logic. Validate rates against your warehouse cutoffs and transit promises before peak season, when support tickets spike. Document which SKUs require dry ice so CS and merchandising share the same assumptions at checkout.&lt;/p&gt;




&lt;p&gt;Branden Thomas, cofounder of Towering Media Co. &lt;a href="https://toweringmedia.com" rel="noopener noreferrer"&gt;https://toweringmedia.com&lt;/a&gt;&lt;/p&gt;

</description>
      <category>magento</category>
      <category>magento2</category>
      <category>ecommerce</category>
      <category>shipping</category>
    </item>
    <item>
      <title>Add Apple Pay, Google Pay, and PayPal Express to Magento 2 Checkout</title>
      <dc:creator>Branden Thomas</dc:creator>
      <pubDate>Sat, 13 Jun 2026 03:42:31 +0000</pubDate>
      <link>https://dev.to/toweringmediaco/add-apple-pay-google-pay-and-paypal-express-to-magento-2-checkout-3ceo</link>
      <guid>https://dev.to/toweringmediaco/add-apple-pay-google-pay-and-paypal-express-to-magento-2-checkout-3ceo</guid>
      <description>&lt;p&gt;Shoppers expect wallet buttons at the top of checkoutâ€”not buried behind a long address form. The React Checkout Pro Express Add-on adds an express wallet row above the checkout form in Towering Media's React Checkout Pro, so high-intent buyers can approve payment and shipping in one step. Mobile conversion often dies in the first three fields of a traditional checkout. Express wallets skip repetitive data entry by returning verified email, shipping, and payment tokens from Apple, Google, or PayPal directly into your Magento order pipeline.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who needs this
&lt;/h2&gt;

&lt;p&gt;Magento 2 and Adobe Commerce stores already running React Checkout Pro that want faster mobile checkout without rebuilding payment integrations. It fits B2C brands where cart abandonment spikes on phones and stores that already support guest checkout or smart account creation. Marketing teams pushing paid social traffic to mobile landing pages also benefitâ€”every extra form field costs measurable revenue.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why teams adopt it
&lt;/h2&gt;

&lt;p&gt;Core Magento checkout and many Luma themes treat wallets as afterthoughts. React Checkout Pro already modernizes the flow with a React SPA; the Express Add-on layers wallet authorization on that foundation without forking payment modules. PayPal Express talks to Magento backends directly, so returned addresses stay consistent with your shipping rules. Apple Pay requires domain verification in adminâ€”plan that step during staging, not launch day. Google Pay appears only where the browser supports it, which prevents the broken-button experience that hurts trust.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Express wallet row at the top of checkout (admin toggle, disabled by default on new installs)&lt;/li&gt;
&lt;li&gt;Apple Pay on Safari macOS/iOS with verified-domain support&lt;/li&gt;
&lt;li&gt;Google Pay on supported Chrome browsers&lt;/li&gt;
&lt;li&gt;PayPal Express with one-click approval and address return via direct backend calls&lt;/li&gt;
&lt;li&gt;Auto-fills email and shipping from wallet data; shows only buttons that work on the shopper's device&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Learn more
&lt;/h2&gt;

&lt;p&gt;Explore the &lt;a href="https://toweringmedia.com/rcp-express-add-on" rel="noopener noreferrer"&gt;React Checkout Pro Express Add-on&lt;/a&gt; for setup details, compatibility notes, and licensing.&lt;/p&gt;

&lt;p&gt;Wallet-first checkout is not a theme tweakâ€”it is a dedicated express layer on top of a modern React checkout. If your team is optimizing conversion on mobile, start with express buttons that respect device capabilities instead of showing broken payment options. Measure drop-off before and after enabling the row; most merchants see the biggest lift on Safari iOS and Chrome Android.&lt;/p&gt;




&lt;p&gt;Branden Thomas, cofounder of Towering Media Co. &lt;a href="https://toweringmedia.com" rel="noopener noreferrer"&gt;https://toweringmedia.com&lt;/a&gt;&lt;/p&gt;

</description>
      <category>magento</category>
      <category>magento2</category>
      <category>ecommerce</category>
      <category>checkout</category>
    </item>
    <item>
      <title>AI-Powered Search for Magento 2: What It Actually Changes for Merchants</title>
      <dc:creator>Branden Thomas</dc:creator>
      <pubDate>Sat, 13 Jun 2026 03:41:58 +0000</pubDate>
      <link>https://dev.to/toweringmediaco/ai-powered-search-for-magento-2-what-it-actually-changes-for-merchants-1a9h</link>
      <guid>https://dev.to/toweringmediaco/ai-powered-search-for-magento-2-what-it-actually-changes-for-merchants-1a9h</guid>
      <description>&lt;p&gt;"AI search" gets pitched to Magento merchants as magic: flip a switch, conversions go up, SEO fixes itself. The reality is more practicalâ€”and more valuable when you understand what actually changes at checkout, on category pages, and in your search reports.&lt;/p&gt;

&lt;p&gt;At &lt;a href="https://toweringmedia.com" rel="noopener noreferrer"&gt;Towering Media&lt;/a&gt;, we ship search and AI tooling for Magento 2 stores daily. This article explains what AI-powered site search means for merchantsâ€”not in vendor-slide language, but in terms of autocomplete behavior, synonym management, relevance tuning, and the conversion metrics you can measure this quarter.&lt;/p&gt;

&lt;h2&gt;
  
  
  Default Magento search is a catalog filter, not a sales tool
&lt;/h2&gt;

&lt;p&gt;Out of the box, Magento search matches keywords against product attributes. It does not understand that "sneakers" and "running shoes" are the same intent. It does not learn from queries that return zero results. It does not surface bestsellers when relevance scores tie.&lt;/p&gt;

&lt;p&gt;Merchants feel this as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Shoppers type natural language and get empty results&lt;/li&gt;
&lt;li&gt;Autocomplete shows SKU fragments instead of products people buy&lt;/li&gt;
&lt;li&gt;Marketing teams maintain synonym lists in spreadsheets that never reach production&lt;/li&gt;
&lt;li&gt;Search reports show volume but not revenue per query&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;AI-powered search in Magento does not replace your catalog. It improves how shopper intent maps to productsâ€”and gives you levers to tune that mapping without redeploying code.&lt;/p&gt;

&lt;h2&gt;
  
  
  What changes: autocomplete that sells
&lt;/h2&gt;

&lt;p&gt;The first visible upgrade is &lt;strong&gt;search autocomplete&lt;/strong&gt;. Good AI-assisted autocomplete does more than prefix-match product names:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ranks suggestions by purchase probability, not alphabetical order&lt;/li&gt;
&lt;li&gt;Groups products, categories, and popular queries in one dropdown&lt;/li&gt;
&lt;li&gt;Handles typos and partial words ("runing shos" â†’ running shoes)&lt;/li&gt;
&lt;li&gt;Respects stock status and visibility so you do not suggest unavailable items&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For merchants, the measurable outcome is &lt;strong&gt;search-to-cart rate&lt;/strong&gt; on autocomplete clicks vs full search results page visits. Stores with slow or irrelevant autocomplete lose high-intent shoppers before they see a product grid.&lt;/p&gt;

&lt;p&gt;When evaluating search tooling, ask: can merchandisers adjust autocomplete ranking weights without a developer ticket? If not, you will not iterate fast enough to matter.&lt;/p&gt;

&lt;h2&gt;
  
  
  What changes: synonym management that stays in sync
&lt;/h2&gt;

&lt;p&gt;Synonyms are where most Magento stores leak revenue. A B2B industrial supplier sells "hex bolts" and "hex cap screws"â€”same product family, different search terms. A fashion retailer sells "trainers" and "sneakers" depending on customer geography.&lt;/p&gt;

&lt;p&gt;Traditional approach: maintain a CSV, hope someone imports it, discover six months later it was never deployed.&lt;/p&gt;

&lt;p&gt;AI-assisted search platforms built for Magento should offer:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Admin-managed synonym groups&lt;/strong&gt; (two-way and one-way: "laptop" â†’ "notebook")&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Query log analysis&lt;/strong&gt; that surfaces zero-result searches worth adding as synonyms&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Conflict detection&lt;/strong&gt; when a synonym would override a intentional redirect or landing page&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The merchant win is operational: your customer service team hears "I couldn't find X" less often, and your SEO team stops fighting internal search cannibalization.&lt;/p&gt;

&lt;p&gt;Tools like &lt;a href="https://toweringmedia.com/search-intelligence-core-for-magento-2" rel="noopener noreferrer"&gt;Search Intelligence Core for Magento 2&lt;/a&gt; bundle synonym management with broader SEO automationâ€”connecting on-site search behavior to indexation and content gaps, not just the search results page.&lt;/p&gt;

&lt;h2&gt;
  
  
  What changes: relevance tuning merchants can understand
&lt;/h2&gt;

&lt;p&gt;"Relevance tuning" sounds like a data science project. For Magento merchants, it should mean adjustable weights on factors you already care about:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Signal&lt;/th&gt;
&lt;th&gt;Merchant use&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Conversion rate per product&lt;/td&gt;
&lt;td&gt;Boost bestsellers for ambiguous queries&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Margin or MAP constraints&lt;/td&gt;
&lt;td&gt;Deprioritize low-margin matches when ties occur&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;New arrivals&lt;/td&gt;
&lt;td&gt;Temporary boost during launch windows&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Review score&lt;/td&gt;
&lt;td&gt;Surface highly rated variants first&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Category intent&lt;/td&gt;
&lt;td&gt;Prefer "parts" category when query includes model numbers&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;AI does not remove the need for merchandising judgment. It gives merchandisers &lt;strong&gt;sliders and rules&lt;/strong&gt; instead of Elasticsearch YAML files.&lt;/p&gt;

&lt;p&gt;Start with one category that has high search volume and confusing nomenclatureâ€”automotive parts, medical SKUs, or configurable B2B catalogs. Run a two-week A/B: default Magento search vs tuned relevance. Track revenue per search session, not just click-through rate.&lt;/p&gt;

&lt;h2&gt;
  
  
  What changes: conversion rates (with realistic expectations)
&lt;/h2&gt;

&lt;p&gt;Merchants ask us: "What lift should we expect?" Honest answer: &lt;strong&gt;8â€“25% improvement in search-attributed conversion&lt;/strong&gt; is common when you fix zero-result queries and autocompleteâ€”but only if search already drives meaningful traffic.&lt;/p&gt;

&lt;p&gt;If only 3% of sessions use search, sitewide conversion lift will look small even when search conversion doubles. Check your analytics first:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Search usage rate&lt;/strong&gt; â€” % of sessions with at least one search&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zero-result rate&lt;/strong&gt; â€” queries returning no products&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Search exit rate&lt;/strong&gt; â€” searches followed by session end without add-to-cart&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Revenue per search&lt;/strong&gt; â€” tie search queries to order attribution&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;AI search pays off fastest when (a) search usage is above 15% of sessions, or (b) your catalog is large enough that browse navigation fails shoppersâ€”5,000+ SKUs, heavy configurables, or multi-attribute B2B catalogs.&lt;/p&gt;

&lt;p&gt;Quick wins before any extension purchase:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Export 90 days of search terms; fix the top 20 zero-result queries manually (synonyms, redirects, or new products)&lt;/li&gt;
&lt;li&gt;Measure autocomplete latency; anything over 200ms feels broken on mobile&lt;/li&gt;
&lt;li&gt;Ensure searchable attributes actually contain how customers describe products&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  AI search vs AI customer service
&lt;/h2&gt;

&lt;p&gt;Search handles product discovery; conversational AI handles order questions and policy queries. &lt;a href="https://toweringmedia.com/nora-ai-for-magento-2" rel="noopener noreferrer"&gt;Nora AI for Magento 2&lt;/a&gt; complements search tuningâ€”it does not replace it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Implementation reality on Magento 2
&lt;/h2&gt;

&lt;p&gt;Whether you use native Elasticsearch/OpenSearch, Algolia, or a Magento-native suite, AI features only work if:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Product data is clean&lt;/strong&gt; â€” searchable attributes populated, configurable children indexed correctly&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Staging matches production&lt;/strong&gt; â€” tune relevance on a copy with real catalog volume&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;HyvÃ¤/Luma/PWA frontends&lt;/strong&gt; â€” autocomplete JavaScript must match your theme; test mobile INP&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cache invalidation&lt;/strong&gt; â€” synonym changes should appear within minutes, not after overnight reindex only&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Avoid "AI" modules that are thin wrappers around a single API call with no admin tooling.&lt;/p&gt;

&lt;h2&gt;
  
  
  Bottom line
&lt;/h2&gt;

&lt;p&gt;AI-powered search for Magento is not about chatbots on your homepage. It is about &lt;strong&gt;autocomplete that converts&lt;/strong&gt;, &lt;strong&gt;synonyms your team can maintain&lt;/strong&gt;, and &lt;strong&gt;relevance rules tied to business outcomes&lt;/strong&gt;â€”with metrics merchants already track.&lt;/p&gt;

&lt;p&gt;If search drives meaningful traffic and your catalog is hard to navigate, the ROI case is straightforward. If search is an afterthought, fix analytics and data quality first; AI will not rescue an empty &lt;code&gt;description&lt;/code&gt; field.&lt;/p&gt;

&lt;p&gt;For a Magento-native approach that connects search intelligence to SEO workflows, see &lt;a href="https://toweringmedia.com/search-intelligence-core-for-magento-2" rel="noopener noreferrer"&gt;Search Intelligence Core&lt;/a&gt;. For customer-facing AI beyond product discovery, explore &lt;a href="https://toweringmedia.com/nora-ai-for-magento-2" rel="noopener noreferrer"&gt;Nora AI&lt;/a&gt;.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;About the author:&lt;/strong&gt; Branden Thomas is cofounder of &lt;a href="https://toweringmedia.com" rel="noopener noreferrer"&gt;Towering Media&lt;/a&gt;, a Chicago Magento agency since 2008. Towering Media builds AI-powered search, SEO, and customer service extensions for Magento 2 and Adobe Commerce merchants across the US and Canada.&lt;/p&gt;

</description>
      <category>magento</category>
      <category>ai</category>
      <category>ecommerce</category>
      <category>search</category>
    </item>
    <item>
      <title>UPS Just Deprecated Their XML API: Magento 2 Migration Guide</title>
      <dc:creator>Branden Thomas</dc:creator>
      <pubDate>Sat, 13 Jun 2026 03:29:09 +0000</pubDate>
      <link>https://dev.to/toweringmediaco/ups-just-deprecated-their-xml-api-magento-2-migration-guide-4ifa</link>
      <guid>https://dev.to/toweringmediaco/ups-just-deprecated-their-xml-api-magento-2-migration-guide-4ifa</guid>
      <description>&lt;p&gt;If your Magento store still pulls UPS rates through the legacy XML API, treat that integration as expiredâ€”not "working fine for now."&lt;/p&gt;

&lt;p&gt;UPS has been winding down XML access in favor of REST APIs with OAuth 2.0. Magento's built-in UPS carrier was built for the old model: Access Key, User ID, Password, and XML payloads over HTTP. That stack is increasingly unreliable, and when it fails, checkout shows no UPS options with little useful error detail in admin.&lt;/p&gt;

&lt;p&gt;At &lt;a href="https://toweringmedia.com" rel="noopener noreferrer"&gt;Towering Media&lt;/a&gt;, we have migrated US and Canadian merchants off UPS XML alongside FedEx SOAP and USPS Web Tools migrations. This guide covers what changed, how to audit your store, and the production path we use for Magento 2 and Adobe Commerce.&lt;/p&gt;

&lt;h2&gt;
  
  
  What UPS changed (and why XML is a liability)
&lt;/h2&gt;

&lt;p&gt;The legacy UPS integration most Magento stores know is the &lt;strong&gt;XML Rating and Shipping API&lt;/strong&gt; accessed with static credentials. UPS now expects new integrations on the &lt;strong&gt;UPS Developer Portal&lt;/strong&gt; using:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;REST endpoints (Rating, Shipping, Tracking as separate APIs)&lt;/li&gt;
&lt;li&gt;OAuth 2.0 client credentials (short-lived access tokens)&lt;/li&gt;
&lt;li&gt;JSON request and response bodies&lt;/li&gt;
&lt;li&gt;Separate sandbox and production credentials&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is not a URL swap. Authentication, error handling, and payload structure all differ from XML.&lt;/p&gt;

&lt;p&gt;SOAP/XML failures tend to arrive without warning:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;UPS methods disappear from checkout while other carriers work&lt;/li&gt;
&lt;li&gt;Rate requests return empty with no admin log entry&lt;/li&gt;
&lt;li&gt;Label or tracking jobs fail during peak season when legacy throttling kicks in&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you already migrated FedEx or USPS to REST, UPS is the remaining legacy legâ€”delaying it leaves a single point of failure.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: Inventory every UPS touchpoint
&lt;/h2&gt;

&lt;p&gt;Before changing credentials, map where UPS is used:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Stores â†’ Configuration â†’ Sales â†’ Delivery Methods â†’ UPS&lt;/strong&gt; â€” core carrier settings&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Custom modules&lt;/strong&gt; â€” search for &lt;code&gt;Ups&lt;/code&gt;, &lt;code&gt;ups&lt;/code&gt;, &lt;code&gt;AccessLicenseNumber&lt;/code&gt;, &lt;code&gt;RatingService&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Marketplace and dropship extensions&lt;/strong&gt; â€” vendor-origin rating often wraps the legacy UPS model per warehouse&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ERP, WMS, and label crons&lt;/strong&gt; â€” batch jobs may hardcode XML endpoints&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;From your Magento root:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;grep&lt;/span&gt; &lt;span class="nt"&gt;-ri&lt;/span&gt; &lt;span class="s2"&gt;"ups"&lt;/span&gt; app/code vendor/your-namespace &lt;span class="nt"&gt;--include&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"*.php"&lt;/span&gt; &lt;span class="nt"&gt;--include&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"*.xml"&lt;/span&gt; | &lt;span class="nb"&gt;grep&lt;/span&gt; &lt;span class="nt"&gt;-i&lt;/span&gt; &lt;span class="s2"&gt;"rate&lt;/span&gt;&lt;span class="se"&gt;\|&lt;/span&gt;&lt;span class="s2"&gt;ship&lt;/span&gt;&lt;span class="se"&gt;\|&lt;/span&gt;&lt;span class="s2"&gt;carrier"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Document which environments use production vs test credentials. REST OAuth keys are &lt;strong&gt;not&lt;/strong&gt; interchangeable with XML Access Keys.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Create UPS REST credentials
&lt;/h2&gt;

&lt;p&gt;In the &lt;a href="https://developer.ups.com/" rel="noopener noreferrer"&gt;UPS Developer Portal&lt;/a&gt;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create an application (or use your organization's existing app)&lt;/li&gt;
&lt;li&gt;Enable &lt;strong&gt;Rating API&lt;/strong&gt; and &lt;strong&gt;Shipping API&lt;/strong&gt; if you print labels from Magento&lt;/li&gt;
&lt;li&gt;Note your &lt;strong&gt;Client ID&lt;/strong&gt;, &lt;strong&gt;Client Secret&lt;/strong&gt;, and UPS account number&lt;/li&gt;
&lt;li&gt;Start in the &lt;strong&gt;Customer Integration Environment (CIE)&lt;/strong&gt; sandbox; production credentials are separate&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;OAuth uses the client credentials grant:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight http"&gt;&lt;code&gt;&lt;span class="err"&gt;POST https://wwwcie.ups.com/security/v1/oauth/token
Content-Type: application/x-www-form-urlencoded
Authorization: Basic BASE64(client_id:client_secret)

grant_type=client_credentials
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Production uses &lt;code&gt;https://onlinetools.ups.com/security/v1/oauth/token&lt;/code&gt;. The response includes a short-lived &lt;code&gt;access_token&lt;/code&gt; you must cacheâ€”not request fresh on every rate call.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: Choose your Magento implementation path
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Option A: Core or Adobe Commerce updates
&lt;/h3&gt;

&lt;p&gt;Check whether your Magento version ships a maintained UPS REST carrier. If yes, plan an upgrade-first path and regression-test rates against your last known XML baselines.&lt;/p&gt;

&lt;h3&gt;
  
  
  Option B: Replace with a maintained REST extension
&lt;/h3&gt;

&lt;p&gt;For most merchants we support, a dedicated &lt;a href="https://toweringmedia.com/magento-2-ups-rest-api-shipping-extension" rel="noopener noreferrer"&gt;Magento 2 UPS REST API shipping extension&lt;/a&gt; is faster and lower risk than patching core. Look for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;OAuth token caching with automatic refresh before expiry&lt;/li&gt;
&lt;li&gt;Configurable services (Ground, 3 Day Select, Next Day Air) mapped to Magento methods&lt;/li&gt;
&lt;li&gt;Residential and commercial address handling from quote data&lt;/li&gt;
&lt;li&gt;Structured logging with masked credentials&lt;/li&gt;
&lt;li&gt;HyvÃ¤ and headless checkout compatibility&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Option C: Custom module
&lt;/h3&gt;

&lt;p&gt;Build a carrier model that maps &lt;code&gt;RateRequest&lt;/code&gt; to UPS REST JSON only for unique multi-origin or packaging logic. Marketplace stores should audit &lt;a href="https://toweringmedia.com/magento-2-multi-vendor-dropship-fedex-usps-ups" rel="noopener noreferrer"&gt;multi-vendor FedEx, USPS, and UPS dropship integrations&lt;/a&gt; alongside UPS migration.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 4: Parallel-test rates on staging
&lt;/h2&gt;

&lt;p&gt;Never flip production in one deploy. Run XML (if still working) and REST side by side on staging:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Configure REST with CIE sandbox credentials&lt;/li&gt;
&lt;li&gt;Build a basket matrix: light parcel, heavy parcel, residential vs commercial, Alaska/Hawaii if applicable&lt;/li&gt;
&lt;li&gt;Compare REST quotes to last known XML quotes (small deltas are normal; large gaps mean wrong service mapping)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Example REST rating request structure (simplified):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"RateRequest"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"Shipment"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"Shipper"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"Address"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"PostalCode"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"60601"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"CountryCode"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"US"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"ShipTo"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"Address"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"PostalCode"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"90210"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"CountryCode"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"US"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"ShipFrom"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"Address"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"PostalCode"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"60601"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"CountryCode"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"US"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"Package"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"PackagingType"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"Code"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"02"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"PackageWeight"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"Weight"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"5"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"UnitOfMeasurement"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"Code"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"LBS"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Log full request/response pairs during testing. UPS REST error payloads are JSON and far easier to debug than XML fault strings.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 5: Cut over and monitor
&lt;/h2&gt;

&lt;p&gt;Once rates match:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Disable&lt;/strong&gt; the legacy UPS carrier in admin (keep config for rollback one sprint)&lt;/li&gt;
&lt;li&gt;Enable the REST carrier with production OAuth credentials&lt;/li&gt;
&lt;li&gt;Re-test checkout: guest, logged-in, multi-shipment quotes if applicable&lt;/li&gt;
&lt;li&gt;Update ERP/WMS mappings if tracking number formats changed&lt;/li&gt;
&lt;li&gt;Monitor logs for 401/403 spikesâ€”usually expired or uncached tokens&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Run &lt;code&gt;bin/magento cache:flush&lt;/code&gt; after deployment and verify &lt;code&gt;env.php&lt;/code&gt; does not lock old carrier settings.&lt;/p&gt;

&lt;h2&gt;
  
  
  Common migration pitfalls
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Negotiated vs published rates.&lt;/strong&gt; REST requires explicit rate request types. If you only request list rates, account-negotiated pricing may not appear.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Dimensional weight.&lt;/strong&gt; REST is stricter about package dimensions. Weight-only requests can produce mismatches vs the old XML integration.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Multi-origin dropship.&lt;/strong&gt; Vendor modules that call UPS per origin need each ship-from address in the REST payload. One global origin config is not enough for marketplace stores.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Token thrashing.&lt;/strong&gt; Requesting a new OAuth token on every rate call adds latency and can trigger UPS rate limits.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this is urgent
&lt;/h2&gt;

&lt;p&gt;FedEx SOAP and USPS Web Tools migrations are already production reality for most serious Magento stores. UPS XML is the remaining legacy carrier for many US merchants. Peak season is the worst time to discover your rating integration no longer responds.&lt;/p&gt;

&lt;p&gt;If checkout shipping is business-critical, schedule UPS REST migration this quarterâ€”not after your next FedEx/USPS fire drill.&lt;/p&gt;

&lt;h2&gt;
  
  
  Summary checklist
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;[ ] Audit codebase and extensions for legacy UPS XML usage&lt;/li&gt;
&lt;li&gt;[ ] Create UPS Developer Portal REST + OAuth credentials (CIE sandbox first)&lt;/li&gt;
&lt;li&gt;[ ] Implement REST carrier (extension or custom) with token caching&lt;/li&gt;
&lt;li&gt;[ ] Parallel-test rate matrix on staging&lt;/li&gt;
&lt;li&gt;[ ] Cut over production; monitor errors for 72 hours&lt;/li&gt;
&lt;li&gt;[ ] Revoke legacy XML Access Keys in the UPS portal&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;About the author:&lt;/strong&gt; Branden Thomas is cofounder of &lt;a href="https://toweringmedia.com" rel="noopener noreferrer"&gt;Towering Media&lt;/a&gt;, a Chicago Magento and Adobe Commerce agency since 2008. Towering Media builds UPS REST, FedEx REST, and USPS OAuth shipping integrations for US and Canadian merchants.&lt;/p&gt;

</description>
      <category>magento</category>
      <category>ups</category>
      <category>shipping</category>
      <category>ecommerce</category>
    </item>
  </channel>
</rss>
