<?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: Ed Dominic</title>
    <description>The latest articles on DEV Community by Ed Dominic (@edom87).</description>
    <link>https://dev.to/edom87</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%2F3723960%2F12424ecd-1aee-48c0-a9f6-fcfd746257f6.png</url>
      <title>DEV Community: Ed Dominic</title>
      <link>https://dev.to/edom87</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/edom87"/>
    <language>en</language>
    <item>
      <title>Why Your WordPress Theme Doesn’t Look Like The Pretty Preview (And How To Easily Get One That Does)</title>
      <dc:creator>Ed Dominic</dc:creator>
      <pubDate>Thu, 12 Feb 2026 14:25:42 +0000</pubDate>
      <link>https://dev.to/edom87/why-your-wordpress-theme-doesnt-look-like-the-pretty-preview-and-how-to-easily-get-one-that-does-9dc</link>
      <guid>https://dev.to/edom87/why-your-wordpress-theme-doesnt-look-like-the-pretty-preview-and-how-to-easily-get-one-that-does-9dc</guid>
      <description>&lt;p&gt;If you’ve ever installed a WordPress theme and immediately thought, &lt;em&gt;“Why does this look nothing like the example?”&lt;/em&gt; — you’re not crazy, and you’re definitely not alone. This is one of the most common WordPress pain points, and it shows up on Reddit over and over again.&lt;/p&gt;

&lt;p&gt;You’ll see the same frustration echoed in posts like:&lt;br&gt;
&lt;a href="https://www.reddit.com/r/Wordpress/comments/18ipaix/why_the_premium_theme_i_bought_for_wordpress/" rel="noopener noreferrer"&gt;The Premium Theme I bought for Wordpress doesn't look like the demo&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.reddit.com/r/Wordpress/comments/veybbq/why_doesnt_my_page_look_like_the_theme_demo/" rel="noopener noreferrer"&gt;The homepage doesn't look like the theme&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.reddit.com/r/Wordpress/comments/1jmr9j2/gah_could_somebody_please_explain_to_me_how/" rel="noopener noreferrer"&gt;Could somebody please explain to me how themes work on WordPress?! So annoying as a noob!!&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There’s a reason this keeps happening. In this post, we’ll outline the common reasons it happens, any how to find a theme that actually looks like the example without loosing your mind in the process.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reason 1: Themes don’t actually build your site&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is the part that trips most people up.&lt;/p&gt;

&lt;p&gt;A WordPress theme styles your site, but it doesn’t automatically create your homepage, services pages, or layouts. As several Reddit answers bluntly point out: themes don’t build your site — they style it.&lt;/p&gt;

&lt;p&gt;If you were expecting a finished website after clicking “Activate,” WordPress can feel misleading.&lt;/p&gt;

&lt;p&gt;Theme previews are essentially showroom versions of a site. They’re built with custom pages, polished copy, perfectly cropped images, hand-picked fonts, and carefully tuned spacing.&lt;/p&gt;

&lt;p&gt;When you install the theme, you’re usually getting the structure, not the furniture. Without the same content and configuration, the site naturally looks very different.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reason 2: Demo content is not always included&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To build upon reason 1, many themes rely on demo content to achieve the look-and-feel of the preview, but importing it is rarely automatic, and often NOT included. If it is included, it is often hidden in the theme export, behind a setup wizard, buried in documentation, or requires installing multiple “helper” plugins that can make your theme perform like a senior citizen.&lt;/p&gt;

&lt;p&gt;I see this as a catch 22: If your theme designer doesn’t include demo content, your site will often not look like the preview, but if they do, you’ll have a whole lot of work to edit and remove when you are done, not to mention performance issues you might experience by installing helper plugins.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reason 3: Page builders quietly control everything&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;One of the ways your theme might not look like the preview is if your theme requires a certain page builder. A huge number of themes are designed around a specific page builder like Elementor, Divi, or WPBakery. If you activate the theme without the expected builder, layouts collapse into basic blocks or raw text.&lt;/p&gt;

&lt;p&gt;Several Reddit users discover this the hard way, assuming the theme itself is the problem, when in reality the demo was never meant to work without that extra layer.&lt;/p&gt;

&lt;p&gt;Be sure you know if a website builder is required for a theme you are purchasing before you buy it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reason 4: Fonts, spacing, and images do most of the heavy lifting, but sometimes clash&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Even when layouts are technically correct, things still feel “off.” That’s usually typography and spacing.&lt;/p&gt;

&lt;p&gt;Theme demos use custom fonts, font weights, line heights, and image dimensions.&lt;/p&gt;

&lt;p&gt;WordPress defaults are intentionally plain, so unless you manually configure these settings, your site won’t match the vibe of the preview. But if you’ve made any edits to your site (or previously installed a theme with demo content) sometime CSS or JS can clash.&lt;/p&gt;

&lt;p&gt;If you experience this, try creating a new homepage and changing the “Front Page” setting under “Reading” in your WordPress installation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reason 5: Even hosting differences can matter&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This one is far less common but some users run into differences caused by hosting environments. PHP versions, missing server extensions, disabled fonts, or caching behavior can all subtly (or dramatically) change how a theme renders compared to its demo.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why this keeps frustrating people&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you read enough of these threads, the pattern is obvious:&lt;br&gt;
– Beginners feel misled&lt;br&gt;
– Experienced users get tired of juggling themes and plugins&lt;br&gt;
– and everyone ends up wondering why something so common feels so unintuitive.&lt;/p&gt;

&lt;p&gt;That exact frustration is what led us to build &lt;a href="https://www.pressmegpt.com" rel="noopener noreferrer"&gt;PressMeGPT&lt;/a&gt;, an AI WordPress theme generator and website builder that helps WP noobs and pros create and customize WordPress themes quicker than just using a website builder.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A different way to start a WordPress site with AI&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Over my career, I’ve helped build nearly 1900 WordPress websites for small businesses and startups.&lt;/p&gt;

&lt;p&gt;Instead of starting with a generic theme demo and trying to force your content into it, PressMeGPT generates a real WordPress theme based on what you want. For example, you can tell it:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;“Build a modern website for a Med Spa using black an gold as the colors. We offer weight loss, Botox, and give new patients $50 off their first service.”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Or &lt;em&gt;“Design a website for a cabinet company that services the greater Tampa area. Our logo and sample work is attached.”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;You describe the site you want, add any images or logos, and it produces a theme that already matches that direction. No demo imports, no required plugins, and no subscriptions.&lt;/p&gt;

&lt;p&gt;Simply edit it the same way with AI style prompts, change fonts, icons, images, colors, add or remove sections.&lt;/p&gt;

&lt;p&gt;Then, you can export to a Classic or Gutenberg block theme, edit them normally inside or outside WordPress, and host them anywhere you want – Bluehost, Dreamhost, GoDaddy, Hostinger, Digital Ocean, even WordPress.com, etc.&lt;/p&gt;

&lt;p&gt;It’s still WordPress — just without the &lt;em&gt;“why doesn’t this look like the preview?”&lt;/em&gt; moment.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The takeaway&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Most WordPress themes don’t look like their previews or thumbnails due to several uncontrollable reasons — it’s the polished end result. Often, free and even premium paid themes require a WordPress web designer or developer to customize.&lt;/p&gt;

&lt;p&gt;Once you understand that, WordPress makes a lot more sense. But if you’re tired of reverse-engineering demos just to get started, it might be time to rethink how you begin building a site in the first place.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>ai</category>
      <category>wordpress</category>
      <category>themes</category>
    </item>
    <item>
      <title>I vibe coded beautiful web apps, but AI still can't create a simple sitemap for Google Search Console 😂</title>
      <dc:creator>Ed Dominic</dc:creator>
      <pubDate>Wed, 21 Jan 2026 15:34:05 +0000</pubDate>
      <link>https://dev.to/edom87/i-vibe-coded-beautiful-web-apps-but-ai-still-cant-create-a-simple-sitemap-for-google-search-18nn</link>
      <guid>https://dev.to/edom87/i-vibe-coded-beautiful-web-apps-but-ai-still-cant-create-a-simple-sitemap-for-google-search-18nn</guid>
      <description>&lt;p&gt;I’ve been seeing a lot of folks vibe coding websites for small businesses and startups lately, so I finally decided to jump in myself.&lt;/p&gt;

&lt;p&gt;First observation: most AI builders default to SPAs (single-page apps). Great for modern UX, terrible by default for SEO. You don’t really get clean, crawlable, search-engine-friendly pages unless you’re intentional about it (AKA burning through credits as I'll discuss later).&lt;/p&gt;

&lt;p&gt;That said, the stuff people are shipping with vibe coding is genuinely impressive. After leaving my last company post-acquisition, I wanted to experiment and build something useful.&lt;/p&gt;

&lt;p&gt;One of my first projects was a directory—but I wanted it to actually show up in search.&lt;/p&gt;

&lt;p&gt;Enter: sitemaps.&lt;/p&gt;

&lt;p&gt;Exit: my sanity.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The project&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The first place I hit this wall was &lt;a href="https://www.allergysafemenus.com" rel="noopener noreferrer"&gt;Allergy Safe Menus&lt;/a&gt;, a directory of restaurants in North America with food allergy menus.&lt;/p&gt;

&lt;p&gt;I have both friends and family members with severe food allergies, and every trip or night out turns into a scavenger hunt through PDFs, outdated menus, and awkward conversations with staff. I realized there wasn’t a single, up-to-date place to find allergy menus.&lt;/p&gt;

&lt;p&gt;So I:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Used Grok to help collect menus&lt;/li&gt;
&lt;li&gt;Generated summaries + allergen tags&lt;/li&gt;
&lt;li&gt;Stored everything in a Google Sheet&lt;/li&gt;
&lt;li&gt;Shipped an MVP once I had a couple dozen restaurants&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Cool. Pages existed. Content existed. Time to get indexed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;“No problem, just add a sitemap”&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I’ve handled SEO for thousands of website clients. This is muscle memory.&lt;/p&gt;

&lt;p&gt;“Create a sitemap.xml with all content pages, submit to Google Search Console, done.”&lt;/p&gt;

&lt;p&gt;It was not done.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Issue 1: Works locally, breaks in prod&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Classic. XML route worked in testing, failed after deploy. A few prompts, some Chrome console debugging, eventually fixed at the expense of 4-5 credits.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Issue 2: Wrong domain&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The sitemap technically loaded… just not on allergysafemenus.com/sitemap.xml&lt;/p&gt;

&lt;p&gt;It was living on some randomly generated &lt;a href="//lovable.dev"&gt;lovable.dev&lt;/a&gt; URL, which Google rejected since it wasn't on the main domain.&lt;/p&gt;

&lt;p&gt;More credits burned, but eventually got the sitemap route on the correct domain.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Issue 3: Dynamic pages not updating the sitemap&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;New restaurants were being added. Pages were rendering. Sitemap wasn’t updating.&lt;/p&gt;

&lt;p&gt;Back to prompting. Eventually fixed dynamic generation.&lt;br&gt;
But Google was still rejected it. 😡&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Issue 4: React routing + headers from hell&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This was the real fight.&lt;/p&gt;

&lt;p&gt;React routing is built for HTML, not XML. No matter what I did, the sitemap response kept getting HTML headers wrapped around it. The URL worked. The content looked fine in-browser. Google still said nope.&lt;br&gt;
At this point I’d burned ~25–30% of my Lovable credits on what should be a 10-minute task.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The workaround that finally worked&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is where old-school web dev instincts kicked in.&lt;/p&gt;

&lt;p&gt;Instead of continuing to fight headers and routing:&lt;br&gt;
&lt;strong&gt;1) Switched from XML to TXT&lt;/strong&gt;&lt;br&gt;
Google allows TXT sitemaps. TXT doesn’t care about XML parsing or headers. I just had a hunch it would be easier and Google Search Console would just read it as text instead of checking the formatting and headers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2) I made it a static file.&lt;/strong&gt;&lt;br&gt;
No dynamic routing. No React interception. Just a plain file Google can fetch.&lt;/p&gt;

&lt;p&gt;Google accepted it instantly. 🎉&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Keeping it up to date&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Of course, static files introduce a new problem: freshness.&lt;/p&gt;

&lt;p&gt;So I added a hook that updates the sitemap file whenever a new page is created. Static delivery, dynamic updates.&lt;/p&gt;

&lt;p&gt;Problem solved. Take that AI!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzpk9nagl1w6ojr1o7hn1.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzpk9nagl1w6ojr1o7hn1.gif" alt="Bang Head Against Wall" width="600" height="338"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;&lt;br&gt;
I’ve since built multiple projects on Lovable, Bolt, Rork, and Base44 and hit this exact issue again. &lt;/p&gt;

&lt;p&gt;On my latest project, an &lt;a href="https://www.pressmegpt.com" rel="noopener noreferrer"&gt;AI Wordpress theme generator&lt;/a&gt; &amp;amp; website builder, I skipped the pain by immediately applying the same solution so that free Wordpress themes in our Wordpress theme directory would be indexed. The coding tools still tripped but a who lot less at only 6 or 7 credits to get it right.&lt;/p&gt;

&lt;p&gt;If you’re vibe coding on Lovable (or other) and wondering why SEO feels cursed—this is probably why. Take my advice and do the above.&lt;/p&gt;

&lt;p&gt;AI builders CAN ship amazing apps as an MVP.&lt;br&gt;
SEO, though? Still needs a human in the loop.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>seo</category>
      <category>gemini</category>
      <category>wordpress</category>
    </item>
  </channel>
</rss>
