<?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>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;em&gt;This is Chapter 6 of "Adobe Experience Manager Simplified," my plain-language guide to running content operations in AEM — lifecycles, governance, metadata, DAM workflows, Jira intake, launch runbooks, plus 8 copy-paste templates. 38 pages, $39: &lt;a href="https://davidverse176.gumroad.com/l/saaok" rel="noopener noreferrer"&gt;https://davidverse176.gumroad.com/l/saaok&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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