<?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: Dale</title>
    <description>The latest articles on DEV Community by Dale (@dale87).</description>
    <link>https://dev.to/dale87</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4142148%2F823bf54f-6633-460e-b24e-0a40d2c781be.png</url>
      <title>DEV Community: Dale</title>
      <link>https://dev.to/dale87</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/dale87"/>
    <language>en</language>
    <item>
      <title>I QA'd Samsung.com Launches for 5 Years. Here's My Pre-Launch Audit Process.</title>
      <dc:creator>Dale</dc:creator>
      <pubDate>Mon, 28 Sep 2026 20:22:17 +0000</pubDate>
      <link>https://dev.to/dale87/i-qad-samsungcom-launches-for-5-years-heres-my-pre-launch-audit-process-2h3h</link>
      <guid>https://dev.to/dale87/i-qad-samsungcom-launches-for-5-years-heres-my-pre-launch-audit-process-2h3h</guid>
      <description>&lt;p&gt;A website launch has exactly one moment where everything has to work at once. The DNS cutover happens, traffic arrives, and every mistake your team made in the last three months becomes public simultaneously.&lt;/p&gt;

&lt;p&gt;I spent five years in digital content operations at Samsung, running pre-publish QA and launch support for Samsung.com. I've been the person staring at a staging environment at 11 PM the night before a launch, working through a checklist, knowing that whatever I missed would be live by morning.&lt;/p&gt;

&lt;p&gt;Here's the process I used. It works on any CMS, any site, any team size — including a team of one.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why launches break
&lt;/h2&gt;

&lt;p&gt;In my experience, launches don't break because of one catastrophic bug. They break because of twenty small things nobody checked:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A hero image that looks perfect on desktop but crops someone's face out on mobile&lt;/li&gt;
&lt;li&gt;A product page linking to a PDF that 404s&lt;/li&gt;
&lt;li&gt;Meta descriptions that are still "Lorem ipsum" from the template&lt;/li&gt;
&lt;li&gt;An analytics tag that fires on staging but was never added to production&lt;/li&gt;
&lt;li&gt;A "Buy now" button that works in Chrome and does nothing in Safari&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each one is trivial. Together, they're a launch-day disaster. A process beats heroics.&lt;/p&gt;

&lt;h2&gt;
  
  
  The process, step by step
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Freeze the content
&lt;/h3&gt;

&lt;p&gt;Before you QA anything, get a content freeze. No new pages, no edits, no "just one quick change." Every change after the freeze invalidates the checks you already ran. In Jira, I marked the freeze as a hard status change so the whole team could see it. If your team won't agree to a freeze, scope your audit to a snapshot and note the timestamp — at least you'll know what you actually checked.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Crawl the staging site
&lt;/h3&gt;

&lt;p&gt;Run a crawler (Screaming Frog's free tier covers 500 URLs) and export everything. You're looking for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Broken links&lt;/strong&gt; — internal and external. External links rot constantly; check every one.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Redirect chains&lt;/strong&gt; — especially after a migration. A chain of three redirects is a page that loads slowly for no reason.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Missing or duplicate titles and meta descriptions&lt;/strong&gt; — template leftovers are among the most common findings I've seen.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Images over 500KB&lt;/strong&gt; — page speed killers. Flag them for compression.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Orphan pages&lt;/strong&gt; — pages with no internal links pointing to them. If nothing links to it, users can't find it, and neither can search engines.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This one step surfaces more issues than any other single check. It's also the step most teams skip because "we'll check manually." You won't. Crawl it.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Walk the money paths
&lt;/h3&gt;

&lt;p&gt;Identify the 3–5 pages that matter most — homepage, top product pages, checkout or contact flow — and test them by hand, end to end, like a user would:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fill out every form. Submit it. Confirm the confirmation page loads and the email actually arrives.&lt;/li&gt;
&lt;li&gt;Click every CTA. On every browser you support.&lt;/li&gt;
&lt;li&gt;Test on a real phone, not just responsive mode in dev tools. Real phones have real rendering quirks.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I call these the money paths because if they're broken, nothing else matters. A perfect blog archive doesn't save a broken checkout.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. The device and browser matrix
&lt;/h3&gt;

&lt;p&gt;You don't need 40 devices. You need the ones your analytics say your users have. At minimum:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Chrome and Safari on desktop&lt;/li&gt;
&lt;li&gt;Safari on iPhone, Chrome on Android&lt;/li&gt;
&lt;li&gt;One tablet view&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Check layout, navigation, and forms on each. Take screenshots. An outsized share of the issues I found lived in exactly one place: Safari on iOS, usually a flexbox or video autoplay issue.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. SEO and analytics spot-check
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Is there a robots.txt? Does it block staging but allow production? (Getting this backwards is one of the most expensive mistakes you can make on launch day.)&lt;/li&gt;
&lt;li&gt;Are canonical tags present and correct?&lt;/li&gt;
&lt;li&gt;Is the analytics/GTM container on every template, including the new ones?&lt;/li&gt;
&lt;li&gt;Are 404 and 500 pages branded, or are they server defaults?&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  6. Accessibility basics
&lt;/h3&gt;

&lt;p&gt;You don't need a full WCAG audit before launch, but check the cheap wins: alt text on images (especially linked images), keyboard navigation on the main menu, color contrast on body text, and form labels. These take an hour and prevent the most embarrassing findings.&lt;/p&gt;

&lt;h3&gt;
  
  
  7. The go-live checklist
&lt;/h3&gt;

&lt;p&gt;The night before, verify the boring infrastructure stuff:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;DNS cutover plan and who owns it&lt;/li&gt;
&lt;li&gt;SSL certificate installed and forced (http → https redirect working)&lt;/li&gt;
&lt;li&gt;Staging environment locked or de-indexed so it doesn't compete in search&lt;/li&gt;
&lt;li&gt;Rollback plan — who decides, how fast, and what's the trigger&lt;/li&gt;
&lt;li&gt;Who's on call for the first 24 hours&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How long does this take?
&lt;/h2&gt;

&lt;p&gt;For a site under 100 pages: about two days, solo. Day one is the crawl and the money paths. Day two is browsers, SEO, accessibility, and writing up the findings. For a 1,000-page site, add a day for triage and prioritization.&lt;/p&gt;

&lt;p&gt;The deliverable is a prioritized list: &lt;strong&gt;blockers&lt;/strong&gt; (fix before launch), &lt;strong&gt;should-fix&lt;/strong&gt; (fix this week), and &lt;strong&gt;nice-to-have&lt;/strong&gt; (backlog). No launch I've ever worked had zero findings. The goal isn't perfection — it's knowing what's broken &lt;em&gt;before&lt;/em&gt; your users do.&lt;/p&gt;

&lt;h2&gt;
  
  
  The part nobody wants to hear
&lt;/h2&gt;

&lt;p&gt;The process only works if someone actually runs it. On most teams, launch QA is everyone's responsibility, which means it's nobody's. The single highest-value thing I did on launches wasn't finding bugs — it was being the person whose job it was to look.&lt;/p&gt;

&lt;p&gt;If you're launching a site and you don't have that person: that's the gap.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;I do pre-launch website audits for agencies and site owners — the full process above, delivered as a prioritized findings report in 5–7 days. If your launch is coming up, drop a comment and I'll walk you through what an audit would cover for your site.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>testing</category>
      <category>career</category>
      <category>aem</category>
    </item>
    <item>
      <title>5 AEM Publishing Mistakes That Break Launches</title>
      <dc:creator>Dale</dc:creator>
      <pubDate>Sun, 27 Sep 2026 14:25:08 +0000</pubDate>
      <link>https://dev.to/dale87/5-aem-publishing-mistakes-that-break-launches-omb</link>
      <guid>https://dev.to/dale87/5-aem-publishing-mistakes-that-break-launches-omb</guid>
      <description>&lt;p&gt;If you read my last piece, you know I'm big on the pre-publish QA checklist. That checklist exists because I've watched every one of these mistakes happen on real launches — including weeks where the whole team worked overtime to hit the date anyway.&lt;/p&gt;

&lt;p&gt;Here are the five I see most often.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Publishing without confirming the cache actually cleared
&lt;/h2&gt;

&lt;p&gt;You hit publish, the page looks right in Author, and you move on. Meanwhile the dispatcher is still serving yesterday's version to everyone else. On a launch day with coordinated timing, "it's live" turning out to mean "it's live for us" is a bad surprise.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The fix:&lt;/strong&gt; after every publish, check the page in a fresh incognito window or from a device outside the network. Make it a line item, not a hope.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Links that broke when pages moved
&lt;/h2&gt;

&lt;p&gt;AEM makes it easy to restructure — move a page, and the old URL either redirects or it doesn't. Multiply that by a launch with dozens of new and moved pages, and you've got a 404 minefield.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The fix:&lt;/strong&gt; run the link checker before publish day, and re-run it after any late restructuring. The pages that moved at 4pm are the ones that break at 9am.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Metadata and alt text treated as optional
&lt;/h2&gt;

&lt;p&gt;Title, description, alt text — the stuff that gets skipped when everyone's rushing. Then the launch is live, search listings look wrong, and screen readers hit a wall of "image."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The fix:&lt;/strong&gt; make metadata part of the authoring template's required fields, not a separate step someone does later. Later never comes.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Nobody checked mobile
&lt;/h2&gt;

&lt;p&gt;The authoring UI is a desktop experience. Authors build for the screen in front of them. Then launch day traffic — mostly phones — sees overlapping components and cropped hero images.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The fix:&lt;/strong&gt; responsive preview is in the checklist for a reason. Check the two breakpoints your analytics say matter most, every time.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. The page went live without sign-off
&lt;/h2&gt;

&lt;p&gt;This is the process one. Someone publishes directly because the workflow felt slow, the approver was out, the deadline was real. Sometimes it's fine. Sometimes marketing sees a headline they never approved.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The fix:&lt;/strong&gt; workflows only work if the path of least resistance goes through them. If people are bypassing approvals, the workflow is the problem — simplify it until going around it is harder than going through it.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Get the full playbook:&lt;/strong&gt; I expanded this checklist into &lt;em&gt;Adobe Experience Manager Simplified&lt;/em&gt; — 38 pages on AEM content operations: publishing lifecycles, governance, metadata, DAM workflows, Jira intake, launch runbooks, and 8 copy-paste templates I actually used. $39: &lt;a href="https://davidverse176.gumroad.com/l/saaok" rel="noopener noreferrer"&gt;https://davidverse176.gumroad.com/l/saaok&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What would you add to this list? I read every comment.&lt;/p&gt;

</description>
      <category>aem</category>
      <category>adobe</category>
      <category>contentmanagement</category>
      <category>webdev</category>
    </item>
    <item>
      <title>The Pre-Publish QA Checklist I Wish I'd Had on Day One in AEM</title>
      <dc:creator>Dale</dc:creator>
      <pubDate>Fri, 25 Sep 2026 02:47:37 +0000</pubDate>
      <link>https://dev.to/dale87/the-pre-publish-qa-checklist-i-wish-id-had-on-day-one-in-aem-4bb9</link>
      <guid>https://dev.to/dale87/the-pre-publish-qa-checklist-i-wish-id-had-on-day-one-in-aem-4bb9</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Every item on this list exists because something broke in production.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I spent four years running content operations on a large AEM site. In that time, I watched a page go live with the staging cache still warm, a promo banner with last quarter's pricing, and a checkout link pointing at the author environment. Each one had the same root cause: someone eyeballed the page in author preview and hit publish.&lt;/p&gt;

&lt;p&gt;Author lies. Publish tells the truth.&lt;/p&gt;

&lt;p&gt;So I built a checklist. Not a theoretical one — a "this exact thing burned us" one. I ran it before every publish, and the production incidents dropped off a cliff. Here it is.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Content correctness
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;All copy matches the approved source document. No placeholder text, no lorem ipsum, no "TK."&lt;/li&gt;
&lt;li&gt;Product names, prices, and specs match the source of truth.&lt;/li&gt;
&lt;li&gt;Dates, times, and time zones are correct and clearly labeled.&lt;/li&gt;
&lt;li&gt;Legal disclaimers and footnotes are present where required.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Critical: any pricing, offer terms, or claims have written stakeholder approval on file.&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  2. SEO and meta
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Page title set, unique, under 60 characters. Meta description under 160.&lt;/li&gt;
&lt;li&gt;Canonical URL correct — especially for campaign or duplicated pages.&lt;/li&gt;
&lt;li&gt;Open Graph tags present for anything that will be shared.&lt;/li&gt;
&lt;li&gt;One H1 per page, headings in order, no skipped levels.&lt;/li&gt;
&lt;li&gt;Staging and test pages must NOT be indexable. Launch pages must be.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  3. Links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Every link clicked and verified — internal and external.&lt;/li&gt;
&lt;li&gt;No links to author-environment URLs. If you see &lt;code&gt;/editor.html&lt;/code&gt; in a href, stop.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Critical: checkout, cart, and conversion-path links tested end to end.&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  4. Images and media
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Every image loads at every breakpoint. No broken image icons.&lt;/li&gt;
&lt;li&gt;Alt text on every meaningful image; decorative images marked decorative.&lt;/li&gt;
&lt;li&gt;File sizes sane: heroes under ~300 KB, gallery images under ~200 KB. Check the actual rendition, not the original.&lt;/li&gt;
&lt;li&gt;Correct rendition for each placement — no full-size originals in thumbnail slots.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  5. Responsive and cross-browser
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Check at mobile (~375px), tablet (~768px), and desktop (~1440px).&lt;/li&gt;
&lt;li&gt;No horizontal scrolling. Text doesn't overlap anything.&lt;/li&gt;
&lt;li&gt;Checked in your two most-used browsers (usually Chrome and Safari).&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  6. Accessibility basics
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Color contrast meets WCAG AA for body text (4.5:1).&lt;/li&gt;
&lt;li&gt;Form fields have visible labels, not placeholder-only text.&lt;/li&gt;
&lt;li&gt;Page is keyboard-navigable: logical tab order, visible focus, no traps.&lt;/li&gt;
&lt;li&gt;Videos have captions; audio has a transcript link.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  7. Personalization and targeting
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Targeting rules reviewed: which audiences see this, and is the logic right?&lt;/li&gt;
&lt;li&gt;Default (untargeted) experience verified.&lt;/li&gt;
&lt;li&gt;No audience sees content meant for a different audience. The classic: employees seeing the "new customer" offer.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  8. Publishing mechanics
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Content activated to the right publish environment — not just sitting in author.&lt;/li&gt;
&lt;li&gt;Scheduled publishes have the correct date, time, AND time zone.&lt;/li&gt;
&lt;li&gt;Dispatcher cache flushed for the changed pages — then verified by loading the page in a fresh session.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Critical: check on the live URL, not the author preview.&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  9. Analytics and tracking
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Page views registering. Conversion events firing — test each one.&lt;/li&gt;
&lt;li&gt;Campaign tracking parameters correct on promo links.&lt;/li&gt;
&lt;li&gt;No duplicate page-view tags after template changes.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How to run this without it taking all day
&lt;/h2&gt;

&lt;p&gt;For a major launch, run the full list — budget half a day. For routine updates, run the starred critical-path items plus whatever sections the change touches. A copy change needs sections 1–3. An image swap needs 4–5.&lt;/p&gt;

&lt;p&gt;The rule: &lt;strong&gt;the checklist scales with the blast radius of the change.&lt;/strong&gt; A homepage hero gets the full pass. A typo fix gets content correctness and a live-URL check.&lt;/p&gt;

&lt;p&gt;And keep a QA log — ticket number, date, who ran QA, pass/fail, issues found. When something breaks in production despite QA, the log tells you whether the checklist failed or the checklist was skipped. Those are very different problems.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Want the full checklist as a playbook?&lt;/strong&gt; This article is Chapter 6 of &lt;em&gt;Adobe Experience Manager Simplified&lt;/em&gt; — my 38-page guide to running content operations in AEM: lifecycles, governance, metadata, DAM workflows, Jira intake, launch runbooks, plus 8 copy-paste templates. $39: &lt;a href="https://davidverse176.gumroad.com/l/saaok" rel="noopener noreferrer"&gt;https://davidverse176.gumroad.com/l/saaok&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What's the worst thing that ever slipped past your QA? I read every comment.&lt;/p&gt;

</description>
      <category>aem</category>
      <category>adobe</category>
      <category>contentstrategy</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
