Overview
Guides & Technical Breakdowns
In-depth diagnostics for WordPress bugs, design rules, and image mechanics. Understand what is happening under the hood before you touch a line of code or change a setting.
| How to Convert Images to WebP in WordPress | Core converts on upload through a single filter and ignores everything already in the library. Here is what that filter really covers, what regeneration adds, and why the uploads folder grows before it shrinks. | |
| Favicon Generator: The Icon Files a Site Actually Needs | The favicon is the one image on your site nobody checks at the size everybody sees. Here is the short list of files a site still needs, the two measurements that decide whether your mark survives a browser tab and an Android mask, and exactly where the WordPress site icon stops. | |
| Every Character Counter for Meta Descriptions Is Wrong | A character counter says two strings are the same length. A search result says one fits and the other does not. Search engines truncate by pixel width in a specific font, and the numbers are further apart than anyone expects. | |
| Redirect Rule Generator: The Rules That Never Fire | A redirect list rarely breaks. It accumulates: a broad prefix rule that kills every rule below it, a target missing a trailing slash that doubles your hop count, a 301 where a 308 was needed. Generate the Apache, nginx and CSV versions of your rules, then walk a URL through them and watch where it actually goes. | |
| WordPress Salts and Passwords: The Eight Lines Nobody Rotates | The eight define() lines in wp-config.php sign every admin cookie and every nonce your site issues. What each one does, why Math.random cannot be trusted to make them, what actually breaks when you rotate them, and an offline generator for the replacements. | |
| Cron Expression Generator: The Five Fields and the OR Rule | The five cron fields, the four special characters, and the rule that catches everyone: day of month and day of week are combined with OR, not AND. Plus why WP-Cron misses schedules, and the two lines that put WordPress on a real timer. | |
| Dummy Text Generator: Lorem Ipsum That Behaves Like Real Copy | Lorem ipsum has a longest word of thirteen letters and no umlauts at all, so a layout tested with it is tested with the easiest text it will ever hold. What placeholder text should actually prove, and a generator that produces it. | |
| Content Security Policy Generator: The Header Nobody Dares Switch On | A Content Security Policy is the header everyone knows they should have and nobody dares enforce. What it actually stops, why a policy with only default-src is either useless or breaks everything, the two keywords that undo the whole thing, and what fails first on a real WordPress site. | |
| JSON Validator and Repair: What the Parser Actually Saw | Parsers name the character after the mistake, and PHP names nothing at all. The whole JSON grammar, the invisible bytes that break a file that looks perfect, the places WordPress hides JSON, and a validator that reports every fault in one pass. | |
| Hashes and Encoding: Getting Back Into Your Own WordPress | The reset mail never arrives and you are locked out of a site you own. The way back in runs through one column: user_pass in wp_users. Here is what is actually stored there, checked line by line against wp-includes/pluggable.php, plus a browser-only tool that builds both the bare MD5 and the modern $wp bcrypt value. | |
| Serialized Data Repair and Search Replace: The Bytes That Break a Migration | One UPDATE with REPLACE() over wp_options is all it takes to kill a WordPress site after a migration, without printing a single error. The reason is a number baked into PHP's serialization format, and the fix is counting bytes. | |
| Gutenberg Block Invalid Content: Validate and Repair Block Markup | The editor says a block contains unexpected or invalid content and stops there: no line, no attribute, no cause. Here is what it compared, why block markup drifts after a migration, and how to find the exact character that broke it. | |
| Font Face Generator: The Licence and the Layout Shift | Two things go wrong with web fonts: the licence nobody opened, and the layout that jumps when the font finally arrives. Both answers are already inside the file, in tables you can read in your own browser before you serve a single byte. | |
| QR and Barcode Generator: The Codes People Actually Need | A WiFi QR code generator that runs entirely in your tab, plus the payload syntax, error correction maths and print sizes that decide whether a code scans. | |
| Contrast Is a Number, Not an Opinion | Contrast is the one accessibility metric that is pure arithmetic: two colours in, one number out, and the number either clears the threshold or it does not. Check a pair in the browser, then learn what the ratio measures, why relative luminance is not the average of the channels, where the large text exception really starts, and what to do when the brand colour fails. | |
| What Your Photo Is Telling Everyone: An EXIF Viewer & Remover | Every photograph carries a block of tags nobody looks at: camera, lens, exposure, three timestamps, and often the coordinates of the room it was taken in. Read yours in the browser, then learn what each field means, who wrote it, and what quietly removes it. | |
| Image File Names: The Boring Detail That Breaks Things | WordPress renames every file you upload, using rules almost nobody has read. Here is what sanitize_file_name actually changes, why a name with an umlaut resolves on one host and 404s on another, and why core answers a collision by adding a number instead of overwriting. Clean your names in the browser first, because after the upload the name is a URL. | |
| CSS Gradient Generator: Gradients That Do Not Band | A gradient that looked smooth in the design tool grows stripes on the page. The cause is arithmetic: 8 bit colour, two similar colours and 1600 pixels to cover. How to count the steps before you ship, the three real fixes, and a builder that measures the banding for you. | |
| How Big Should an Image Actually Be Before You Upload It | A 4032 pixel phone photograph in a 760 pixel column makes the browser download 12.2 million pixels to paint about 430,000 of them. What that costs in bytes and in memory, how to read the display width your theme actually uses, where the WordPress 2560 pixel safety net stops, and a browser tool that does the resizing before the upload. | |
| Building a Colour Palette From One Decision | Five swatches picked separately will fight each other. One hue plus arithmetic will not. A color palette generator that runs entirely in your browser, and the HSL and contrast maths that sit behind it. | |
| Working Out the Image Size Your Theme Actually Wants | A slot measured in CSS pixels needs a file measured in image pixels, and on a Retina screen the second number is twice the first. Here is how to measure the slot, choose a ratio without losing half the photograph, and check that WordPress will actually generate the size you need. | |
| Making a Share Card That Does Not Look Like an Accident | The tag is rarely the problem. The picture is. Draw a 1200 by 630 card in the page, then work through the crops, the floors and ceilings the platforms enforce, and the design rules that survive being seen on a phone. | |
| Cleaning an SVG Before It Goes Anywhere Near Your Site | An SVG is not an image file, it is an XML document, which is why the same file can carry a script element and several kilobytes of editor litter at once. What is actually inside one, what a sanitiser removes, why six decimal places describe nothing a screen can show, and why a missing viewBox is the reason a logo turns up at the wrong size. | |
| Text Cleaner: Getting the Junk Out of Pasted Text | Pasted text carries more than words: Word markup, PDF line breaks, tracking parameters, and a set of characters that render as nothing at all. What each one actually is, why WordPress makes some of it worse, and what to strip. | |
| Type That Fits Every Screen Without a Single Media Query | One clamp() per level replaces a wall of media queries, but only if the middle term is solved rather than guessed. Here is how the slope and the intercept fall out of two viewport widths and two sizes, why a bare vw value fails the moment a reader zooms, and which three numbers your theme already knows. | |
| Upload Simulator: What WordPress Actually Writes to Disk | One 3000 by 2000 photo becomes eight files on disk. A 1200 by 800 photo becomes five. Drop your own file in and see exactly which registered sizes fire, which ones core refuses, what dimensions come out and what the whole set weighs. | |
| Encoding Forensics: How to Fix Mojibake Like ü | ü is not corruption. It is one umlaut, two UTF-8 bytes, read by a program that believed they were Windows-1252, then saved again so the wrong reading became the content. Here is how to tell which wrong turn your text took, why copied replacement lists only half work, and what to check in the database before you clean anything. | |
| Image Quality Curve: Why Every Recommended Setting Is Wrong | Quality 80 means one thing in JPEG, another in WebP, and something different again on a screenshot than on a photograph. Here is what the number actually sets, what SSIM can and cannot tell you, and how to find the point where your own file stops getting meaningfully smaller and starts getting visibly worse. | |
| Remove Moire From a Scanned Image: Why Blurring Never Works | A scanned magazine page shows a wavy pattern that was never on the paper: the print screen beating against the scanner's sample grid. Blurring trades one problem for a worse one. Measuring the screen in a frequency picture and notching out exactly those frequencies does not, and the workbench in this article does it in your browser tab. | |
| Brighten dark photos in your browser with a 590 KB neural network | A brightness slider adds the same amount everywhere, which is why a dark photo goes pale instead of bright. A small trained network predicts a different correction for every pixel, plus one gamma and one colour matrix for the whole frame. It runs in your browser tab and your picture never leaves it. | |
| Cut out hair from a photo without shaving the edges off | A background remover that works by colour asks every pixel a yes or no question, and the honest answer for a pixel that a strand of hair passes through is neither. Matting gives that pixel a fraction instead. Two small networks, both running in your browser, and the grey alpha view that tells you in a second whether the cutout will work. | |
| Remove an unwanted object from a photo without uploading it anywhere | A clone tool copies pixels from elsewhere. An inpainting model predicts what should have been behind the thing you removed, which is a different question with a much better answer on grass, hedges and brickwork. It runs in your browser, and the rest of the photograph comes back byte for byte unchanged. | |
| Get a depth map from any photo and use it for real lens blur | A cutout blur draws a line and blurs one side of it, which is a thing no lens has ever done. A depth model gives every pixel a distance instead, so sharpness can fall away gradually the way it does optically. The map is a downloadable asset in its own right, and none of it leaves your browser. | |
| Repair a photo that messengers and re-saves have turned to blocks | JPEG damage is not random. It is made in blocks of eight by eight pixels, in a known order, which is why a model trained on compressed images beats any amount of sharpening. It runs in your browser, repairs at four times the size and hands the result back clean. | |
| Black out every piece of text in a screenshot before you share it | A tool that guesses which text is sensitive will miss the one that mattered. This one covers every text field it finds and lets you click back what can stay. It also refuses to default to a blur, because blurring and pixelation can be undone, and there is published work showing exactly how. | |
| Spend your JPEG bits where the eye looks, not evenly across the frame | An encoder gives the hedge behind your subject as many bits as the subject. A saliency model knows better, but a browser will not let you set quality per region, so the encoder is not steered: its input is prepared instead. On the sample that was 41 per cent off the file at an unchanged quality setting. | |
| Turn a phone photo of a document into something that looks scanned | A photographed page is tilted, tapered, grey and shadowed, and all three faults are completely determined. Four corners give eight equations, a heavy blur estimates the lighting so it can be divided out, and Otsu picks the threshold. No model, no download, and it finishes before you let go of the button. | |
| Take the scratches and dust out of a scanned family photograph | A scratch is thin and disagrees with its surroundings in almost every direction at once. A real edge disagrees in one or two. That single difference finds the damage with plain arithmetic, and an inpainting model fills what you agree to. All of it in your browser. | |
| Make a tidy application photo out of an ordinary phone snapshot | A face detector of 190 KB returns a grid of anchors, a box and five landmark points, and everything after that is arithmetic: head height, eye line, the angle to level by, millimetres to pixels. An application photo, explicitly not an official passport photo, made without uploading your face anywhere. | |
| Content Aware Resize: Changing a Photo's Shape Without Squashing Anyone | One photograph has to be a wide header, a square thumbnail and a tall story card. Cropping loses the edges, stretching lies about proportions, letterboxing buys space it never uses. Seam carving spends the quiet parts of the frame instead: what a seam is, why the search needs a table, and exactly where the method falls apart. | |
| Perspective Correction: Four Corners and One Matrix Put It Straight | A photo taken at an angle is a projective map, not an affine one, which is why cropping and rotating cannot repair it. Four corners supply the eight numbers that can, and the geometry of the vanishing points can even hand back the object's true aspect ratio. | |
| Elementor Data Inspector: What Is Inside an Elementor Page | An Elementor page lives in one postmeta row of JSON. Where that row sits, why every url in it is absolute, which of the attachment id and the url actually renders, and how to move a site without losing half the images. | |
| SPF, DKIM and DMARC Builder: Why Your Contact Form Mail Vanishes | Three DNS records decide whether your contact form mail arrives: SPF lists the servers, DKIM signs the message, DMARC ties both to the From address a reader sees. What each one checks, why a passing SPF record can still fail DMARC, and where WordPress mail goes wrong. | |
| htaccess Explainer: Reading the File Nobody Reads | Every WordPress site on Apache has an .htaccess, and Apache reads it on every request for every directory in the path. Here is what the WordPress block actually does, why [L] does not mean last, the difference between Redirect and RewriteRule, and which pasted security snippets have done nothing since Apache 2.4. | |
| Permalink Structure Simulator: What That One Field Decides | The permalink field decides thirteen URL shapes at once, and most of them fail quietly when you change it. What each structure tag costs, what verbose page rules actually do, which collisions core resolves first, and which old URLs its canonical redirect will never rescue. | |
| Rewrite Rule Tester: What Happens Between the URL and WP_Query | Between the URL bar and WP_Query sits an ordered array of regular expressions, 247 of them on this blog, stored in a single option row. Paste yours in, walk a request path down them, and see which rule wins, what query it builds and why the 404 happens. | |
| WordPress File Permissions: 644, 755 and When Something Else | chmod 777 makes the error disappear by handing write access to every process on the server. What the three digits mean, the standard WordPress set, and why ownership decides which digit even gets read. | |
| WordPress User Roles and Capabilities, Actually Explained | Subscriber holds one capability, Administrator all fifty. What the five WordPress user roles really grant, why code checks capabilities instead of role names, and how to build a role that fits the job. | |
| A Web Performance Budget for Your WordPress Site | Pick a connection profile and a target load time, and arithmetic hands you a byte budget per resource class. A web performance budget is a decision tool: it tells you which image, which font and which plugin gets told no, before the page ever gets slow. | |
| Responsive Hero Images: The Focal Point Decides Everything | Your hero becomes a 3.2:1 strip on desktop and a portrait crop on phones, and object-fit: cover decides what survives. The formula behind the crop, the CSS that steers it, and a simulator that shows all four breakpoints before you publish. | |
| AI Product Photos That Do Not Look Fake: Light, Shadow, Perspective | A real product photo on a generated background gives itself away on exactly three axes: light direction, shadow quality and perspective. Here is the physics in plain words, a browser tool that walks you through all three checks on your own composite, and the prompt lines that stop the mismatch happening in the first place. | |
| Fix White Balance: The One-Click Correction, Explained | A colour cast is a wrong assumption applied evenly, which means it can be divided back out. Click something that was neutral, read the three channel factors, and understand exactly where a global correction stops working. | |
| Dithering Side by Side: Why Atkinson Looks Like a Mac and Bayer Like a Game | Eight dithering methods on one picture, with the same palette and the same options. Every kernel and divisor written out, the Bayer matrix built by recursion, and the linear light step that almost every quick implementation skips. | |
| The WordPress Uploads Folder, and How to Move It Safely | The year and month structure under wp-content/uploads comes from one boolean option, and the full path is recomputed on every request rather than stored. That is why repointing the folder is trivial and why moving the files is not. | |
| Ten Typography Mistakes That Give an Amateur Design Away | Bad type is rarely the wrong font. It is almost always spacing, size and a handful of habits nobody ever told you to drop. | |
| HTTP Error When Uploading Images to WordPress: The Real Causes | The red bar reading HTTP error is not a verdict on your image. It is the uploader reporting that the POST to async-upload.php came back unusable, and six unrelated failures produce exactly that. Here is how to tell them apart in about ten seconds. | |
| Dynamic Templates: Build the Design Once, Let Your Posts Fill It In | You build the layout once, tell a few layers where to get their content, and from then on every post, product or page renders its own version. | |
| Blend Modes, Actually Explained: Six Formulas Worth Knowing | Most people click through the list until something looks nice. There is a small amount of maths underneath that turns the whole menu into a set of tools. | |
| WordPress SVG Upload: Why It Is Blocked and How to Fix It | WordPress refuses SVG uploads out of the box, and the snippet everyone pastes works on some servers and not on others. Here is the vector case for wanting one, the exact core check that rejects it, and the sizing bug you inherit once the upload finally succeeds. | |
| Why Your Drop Shadow Looks Fake, and the Two Minute Fix | The default shadow describes light that does not exist anywhere. Once you see it you cannot unsee it, and correcting it takes about a minute per element. | |
| Never Destroy Pixels You Might Want Back: A Working Method | Every edit is either reversible or it is not, and the difference costs nothing at the moment you make it. It shows up later, always at the worst time. | |
| WordPress Images Washed Out: The Colour Profile Fix | The photograph looked right in your editor and flat on the site. Here is where WordPress and its plugins drop the colour profile, and the export habit that ends it. | |
| Text on a Photograph That Stays Readable, Whatever the Picture | A headline that sits beautifully over a dark corner becomes unreadable the moment somebody swaps the picture. That is a solved problem. | |
| Regenerate Thumbnails in WordPress: What It Fixes and What It Leaves Behind | Regenerating thumbnails re-encodes every registered size from the original file. Here is when it is genuinely needed, what each WP-CLI flag really does, why --only-missing quietly keeps the old files, and the order that stops your uploads folder growing. | |
| Screenshots Worth Publishing: Capture, Frame, Annotate | An enormous amount of what people need to see is a picture of a screen, and most of those pictures are worse than they need to be for reasons that take seconds to fix. | |
| WordPress Lazy Loading Images: What Core Does and When It Hurts | WordPress has added loading="lazy" itself since 5.5, and it skips the first three media elements on purpose, because the top one is usually the largest contentful paint element. Here is the real mechanism: the functions, the threshold of 3, fetchpriority, and the places where the logic never runs. | |
| WordPress Featured Image Size: The Theme Decides, Not Core | WordPress does not store a featured image size. It stores an attachment ID, and the theme decides which pixels a visitor sees. Here is where that decision lives, what the crop argument does to a portrait, and why registering a size changes nothing for uploads you already have. | |
| One Design, Ten Formats: The Layout Problem Behind Every Social Pack | Square, story, banner, avatar, email header. Six shapes and one idea, which is two hours of dragging things around if you do it the obvious way. | |
| Best Image Format for WordPress: WebP, AVIF, JPEG or PNG | Two thirds of this site's media library is PNG, and nobody decided that. What WordPress actually does with an uploaded file, what its default encoder quality really is, and the three filters that change the format and the size of every sub-size it writes. | |
| How to Choose a Color Palette Without Learning Color Theory | Palette generators hand you five swatches of equal weight, which is the one thing a real palette never is. Here is the ten minute version that works. | |
| Curves, Explained Without the Maths | One adjustment does the work of brightness, contrast, black point, white point and most color correction. It looks technical and it is the simplest tool in the room. | |
| Clean Up WordPress Media Library Without Breaking Pages | An attachment is a row in wp_posts; its files sit somewhere else, and deleting one does not delete the other. What to measure before you start, why "unused" is so hard to prove, and the order of operations that keeps the site up. | |
| White Space Is Not Empty: The Composition Rules That Make Anything Look Designed | Change the logo, the photo and the button color and a bad layout usually stays bad, because the fault was in the gaps rather than the parts. | |
| Cutting Things Out: Selections, Masks and the Art of the Edge | Amateur cut-outs are not spotted by their shape. They are spotted by a halo of the old background and hair that has been shaved off in a curve no head ever had. | |
| WordPress Alt Text: Where It Lives and Why Your Edits Do Not Show | Alt text in WordPress is one postmeta row, copied into the post markup the moment you insert an image. That single fact explains why editing the library changes nothing on pages you already published, why an audit has two halves, and what to fix first. | |
| WordPress Watermark: Which File Actually Gets Stamped | A watermark can go on the original, on the sub-sizes WordPress generates, or on top at display time. Only two of those put pixels in the file, and only one of them is reversible. | |
| Color Grading in Five Moves: From Flat Snapshot to Something With Mood | A snapshot and a photograph often hold the same content. The difference is that somebody decided how the second one should feel. | |
| WordPress srcset: How Core Builds It, and Where It Goes Wrong | WordPress writes the srcset attribute for you and gets it right. Then it writes the sizes attribute, which is a guess about a layout core has never seen, and that is where the bandwidth goes. | |
| From Screen to Paper: What Actually Changes When a Design Gets Printed | Resolution that is not a property of the file, colors that cannot be mixed in ink, and a blade that never lands exactly on the line you drew. | |
| WordPress Maximum Upload Size: Where the Limit Really Lives | The media library says 8 MB, the file is 12 MB, and nothing you edit in WordPress moves the number. It is not a WordPress setting at all: core reads two PHP directives and prints the smaller one. Which limit is really stopping the upload, why post_max_size is usually the culprit, how to raise the limits in the order that works, and why a photograph almost never needs a bigger ceiling. | |
| WooCommerce Product Image Size: The Three Settings That Decide Everything | WooCommerce shows the same photograph in three places using three different files. Here are the three registered sizes, the cropping option that decides what happens to a mixed range, and why changing a width appears to do nothing. | |
| WordPress OG Image: The Shop Window You Never See | WordPress core never writes an og:image tag, so a wrong or missing link preview is always somebody else's output. Here is the fallback chain a plugin walks, the registered size trap that makes a valid tag point at a missing file, and two curl commands that settle it. | |
| WordPress Media Library Folders: Why There Are None, and What Actually Works | WordPress stores every upload as a post, not as a file in a folder, which is why the media library has no directories to organise. Here is what the uploads folder really is, why moving files by hand breaks images everywhere, and how taxonomy-based folders solve it without touching the disk. | |
| What Your Photos Tell Your Visitors: EXIF, GPS and WordPress | WordPress keeps the file you uploaded exactly as it arrived, sitting next to the resized copies it actually serves. If that file came off a phone, it very likely still carries the coordinates of the room it was taken in. | |
| WordPress Attachment Pages: The Thin Pages You Did Not Know You Published | Every file you upload to WordPress gets a permalink, a template and a comment form. Here is the mechanism underneath attachment pages, what core changed in 6.4, and the correct way to redirect them. | |
| Bulk Resize Images in WordPress Without Breaking the Library | Regenerating thumbnails and resizing the original are different jobs, and only one of them is irreversible. What the scaled pair actually costs you, how to measure it with read only commands, what a safe bulk resize has to do step by step, and why most sites should fix the upload threshold instead. | |
| WordPress Duplicate Images: How to Find and Delete Them Safely | Uploading the same file twice gives you a numbered copy, not a match, because core only tests the file name against one directory. Here is how the duplicates get made, three detection passes ranked by what they actually prove, and a deletion order that will not break a live page. | |
| How to Edit Images in WordPress With the Built In Editor | WordPress has a built in image editor most people never open. Here is what every control does, exactly which files a save writes to disk, where the backup of your original lives, and why the Apply changes to radio buttons vanished. | |
| WordPress HEIC Upload: What Core Does and Why It Fails | WordPress has allowed .heic uploads since 6.7 and converts them to JPEG on the way in, but only when the server has a HEIC-capable Imagick. Here is what core actually does with the file, why the same site answers differently through a browser and through WP-CLI, and which fix stops the problem instead of managing it. | |
| Stopping WordPress Hotlinking Without Breaking Image Search | Hotlinking is another site's HTML pointing at your image URL, so your server pays for their page. Prove it from the access log before you block anything, then write a referrer rule at the web server level that still lets crawlers, CDNs and link previews through. | |
| WordPress Image SEO: What Works and What Is Folklore | Most image SEO checklists are ordered by how easy each item is to write about. This one ranks the advice by mechanism instead, naming the core function behind every claim, and says plainly which parts are folklore. | |
| WordPress Images Not Showing: Five Layers, Five Fixes | A broken image icon is not one problem. It is the same symptom produced by five different failures at five points in the request, and the fix for one does nothing for the other four. Read the server response first, then work down the layers with read-only commands. | |
| WordPress Replace Image: Swap the File, Keep Every Link | WordPress has no replace function, because an attachment is a path plus a cached description of whatever sits at that path. This is why a re-upload becomes hero-1.jpg, what an SFTP overwrite really leaves behind, and the order of operations that swaps a file without breaking twenty references. | |
| Why Your WordPress Images Look Blurry, and Which Cause It Actually Is | Blurry WordPress images are not one problem but six, and each leaves a different fingerprint. Work out which symptom you have before you change anything, because most of the fixes do nothing for most of the causes. | |
| WordPress Missed Schedule: Why WP-Cron Is Not a Cron Job | WP-Cron has no timer and no background process. It is a list of due tasks that gets checked only when somebody loads a page, which explains missed post schedules, stalled backups, and every other scheduled task that silently stops. | |
| One Design, Two Hundred Names: Designing From a Spreadsheet | Somebody needs two hundred name badges by Thursday. The spreadsheet with all those names already exists, and typing them a second time is pure waste. | |
| Why Should a Design Become a File at All? | Every static graphic on a page is a snapshot of what was true when somebody exported it. There is a whole category of quiet wrongness that follows from that. | |
| WordPress Image Sizes Explained: Every File Created From a Single Upload | One upload becomes eight or more files. Here is what WordPress actually creates, why some sizes are missing, and what to do about it, with numbers measured on a real site. | |
| The WordPress White Screen of Death Explained | A white screen with no error message isn't a WordPress bug. It's PHP dying silently mid-request. Here's how to see the real error in minutes and the exact order to check plugins, theme, and memory limits. | |
| functions.php Explained: What It Is and How Not to Break Your Site With It | functions.php is a normal PHP file that ships with your WordPress theme and runs on every page load, which makes it powerful, easy to misuse, and the wrong place for anything you want to keep. Here's what it actually does, and how to edit it without taking your site down. | |
| Why Is Your WordPress Site Slow? A Diagnostic Order, Not a Checklist | WordPress performance advice is usually handed over as a flat, alphabetized checklist. This walks through the same fixes in the order they actually pay off, starting with the thing most sites get wrong first: images. | |
| Error Establishing a Database Connection: What WordPress Is Actually Telling You | The message means PHP ran, wp-config.php was read, and the connection to MySQL failed. Nothing more. Here is how to tell a wrong password from a downed server from a host that ran out of connections, and what to do about each. | |
| Allowed Memory Size Exhausted: Where the WordPress Memory Limit Lives | The "Allowed memory size exhausted" fatal error involves three separate ceilings, and the one most people raise is not the one that stopped the request. How PHP's memory_limit, WP_MEMORY_LIMIT and WP_MAX_MEMORY_LIMIT interact, and why images trigger the error more often than anything else. | |
| WordPress Child Themes: When You Need One and When You Don't | A child theme is the right answer to one problem: overriding template files in a theme that still receives updates. For CSS tweaks and a few PHP snippets, it is overhead you maintain forever for no benefit. | |
| wp-config.php Explained: The Constants That Earn Their Place | wp-config.php is the first file WordPress reads that is specific to your install, and almost every fix you will ever be handed ends with "add this line to wp-config.php". Here is what the file actually does, which constants earn their place, and why the placement rule matters. | |
| Custom Post Type WordPress: Register It in Code, Not a Plugin | A complete register_post_type() snippet you can paste into a one-file plugin, plus an honest walk through the arguments that change real behaviour: why the block editor refuses to load without show_in_rest, and why every new single URL returns a 404 until the rewrite rules are flushed. | |
| WordPress Media Library Slow: What Actually Causes It | A media library that takes thirty seconds is not one slow thing. It is a database query, a metadata prime, a JSON build in PHP and eighty image requests, stacked on top of each other. Here is how to measure which one is hurting your site, and the fix order that actually moves the number. |
Core Wunderpaint Capabilities
The built-in engines for editing, automation, and asset management inside Wunderpaint. Built to streamline image workflows, automate layouts, and keep your media library organized.
| Actions | Record filters, adjustments and image operations into a named sequence, replay it on any image, and export it to share between sites. | |
| Design Generator | A complete layout with background, image, shapes and text, composed from a description and a chosen style, arriving as layers rather than a flat image. | |
| Featured Images | Search and filter posts, pages or products, pick a template, and render a featured image for each one, with resumable batches and per-category templates. | |
| Image Processor | Quick presets for web, email and lossless output, plus full control over format, quality and maximum size, applied across many images at once. | |
| Chart & Table | Turn data into chart or table layers that stay editable, styled with your own typeface and colors rather than a spreadsheet default. | |
| QR Code Generator | Links, text, email, phone, SMS, Wi-Fi access and contact cards, styled with your colors, module shapes and a center logo. | |
| Media Library Manager | Folders and tags that persist outside the editor, semantic search that finds images by what they show, color and orientation filters, smart folders, and a full set of housekeeping tools. | |
| Asset Library | Ready-made designs across social, marketing and seasonal categories, opening as layered documents in a new tab so your current work stays untouched. | |
| Asset Generator | Gradients, text treatments, shapes and illustrations generated from a prompt, in your brand colors, arriving as editable layers. | |
| AI Studio | Generate, edit, retouch and clean up images from a prompt or a single click, all in one panel. Many tools run locally with no key; prompt generation uses your own Gemini or OpenAI. | |
| 360° Panorama | Describe a place and the tool builds the full sphere around you, or let it rebuild a photo you already have as the whole scene around the camera. What comes out is somewhere visitors can look around, hotspots and all, in an embed that carries its own viewer. | |
| Collage & Photo Grid | Arrange media library photos as a grid, mosaic, polaroid, filmstrip or contact sheet, tune gaps, corners and frames on a live preview, and insert it all as an editable layer group. | |
| Metadata Assistant | Generate titles, alt text, captions, descriptions and tags in bulk, in your language, with a local model or a cloud provider. | |
| Dynamic Templates | Layers bound to post titles, excerpts, categories, custom fields, product prices or featured images, with text that resizes itself to fit. | |
| Batch Watermark | Pick images from the library, place a watermark from your brand kit or an upload, and apply it across the whole selection at once. | |
| Generate from CSV | Type placeholders into your text layers, pick a spreadsheet whose columns carry the same names, and every row renders the design once. | |
| Content Generator | Article, SEO title, meta description, slug, tags, FAQ and sources, plus body images, a featured image and a social crop, all as a draft. | |
| Check Contrast | Audits the text layers in your document, reports the contrast ratio for each and tells you which ones are hard to read. | |
| Brand Kits | Colors, typefaces, a logo, a watermark and a company profile in one place, feeding every picker, template and generator on the site. | |
| Stock Images | Search Pexels, Pixabay and Unsplash without leaving the editor, and insert what you find as a layer rather than a download. | |
| Color Schemer | Seven color harmonies from one starting color, applied to the whole document in a click, and savable straight into a brand kit. | |
| Background Studio | Four families of generated background, built from the colors already in your document or your brand kit, and savable as a reusable pattern. | |
| Screenshot Beautifier | Padding, rounded corners, a real shadow, optional browser or phone chrome and a generated backdrop, all landing as editable layers. | |
| Mockup Generator | Studio-style product mockups for ebooks, software boxes, screens and more, with your artwork placed and lit convincingly. | |
| Vignette & Film | Oval and circular vignettes, letterbox bars, instant photo borders, filmstrips, slide mounts and painted edges, all as adjustable overlays. | |
| Brush & Paint Styles | Paint with six styles that mix pigment instead of blending it, pick from thirty-seven tips shown as real strokes, draw a tip of your own out of shapes, and let the color travel along the stroke. |
Specialized Studios & 3D Extensions
Advanced creative modules that extend the core editor. Generate real-time 3D objects, render interactive canvas effects, and build specialized assets from printable craft charts to generative art.
| Chaos Art | Autonomous painters make one-of-a-kind abstract art in 3D space - gestures, art movements, painterly media, and embeds that paint a new original for every visitor. | |
| 3D Textile Studio | Drop your design onto cloth that behaves like the material you pick: silk falls soft, felt holds its shape, flag fabric snaps in the wind. Hang it, blow it and drape it, then lay the finished drape back into your document as a picture. | |
| 3D Particle Studio | Point the engine at any layer and it becomes a cloud of particles that keeps its colours, flowing through a sphere, a galaxy or your own outline. Keep the frame you like as a still, or embed the running engine so it keeps moving on your page. | |
| Origami | Put your own picture on the paper and watch that very sheet fold itself into a crane or a box. Every step is a station you can stop at and turn around in 3D, which is exactly where printed diagrams leave you alone. | |
| 3D Flip Studio | A hardcover you can leaf through, a limp magazine, a strewn pile of sheets, a sticker peeling off its backing. The curl is real geometry, so the print never slides across the paper. | |
| Handwriting Fonts | Draw the alphabet here or fill in a printed sheet and photograph it. What comes out is a genuine font family, installed into your site and available in every picker. | |
| Step Guides | Turn any picture into an instruction. Every mark is pinned to a place in the image, so arrows still point at the right thing after the callout has been dragged somewhere else. | |
| Text Art | One studio, sixteen art types: ASCII and emoji art, brick, dice, cube, sticky-note, LED, ceramic and keycap mosaics, word portraits, text flows, silhouettes, element tiles and more. | |
| Photo Mosaic | The classic photomosaic, computed in your browser: your main image emerges from many media-library photos via true structure matching - never a cheap overlay. | |
| 3D Molecule Studio | Build a real 3D molecule - from a curated library, the periodic table or a SMILES string - then style it, measure it and drop it into your design as an editable layer. | |
| 3D Solar System Studio | Build a date-accurate 3D solar system - real planet positions for any date, photoreal textures and one slider from artistic to true scale - then drop it into your design as an editable layer. | |
| Particle Strokes | Paint with swarms of light: twenty-two movements, a stamp you draw yourself, and curves that give a stroke a shape - the swarm keeps painting for a few seconds after you let go. | |
| City Diorama | Any place on earth as a miniature you could hold: real streets, water and building footprints raised into a 3D diorama - or wrapped around a sphere as your own tiny planet. | |
| Papercut Art | Layered paper pictures with real depth - a photo sliced along its actual depth into up to twenty layers, parametric landscapes, animals and clouds you can shape, letters with real counters, and a look that runs on three dials. | |
| 3D Earth Studio | A hyperrealistic globe - day and night with city lights, live clouds, atmosphere halo, country borders and highlights, click-to-place markers with flight-route arcs, satellite orbits, seamless rotation video and a live website embed. | |
| Mystic Studio | Turn a birth date into wall art - a real natal chart with houses and aspects, the moon of that night, zodiac and Chinese zodiac posters, numerology cards and a synastry wheel for two, in eight artful themes. | |
| Marble Bath | Marble paper on a virtual water bath - drop, rake and comb real Ebru patterns with gestures, flowers and classic recipes, razor-sharp at any size and re-editable as a layer. | |
| Day Ring | Turn a day into a beautiful circular schedule - colour-coded time blocks as arcs around a 24-hour clock, with concentric rings for overlaps, emoji, templates and a legend. | |
| Code Shot | Turn code into a gorgeous, share-ready image - syntax highlighting, editor themes, window frames and diff highlighting - then drop it into your design as a re-editable layer. | |
| Puzzle Sheets | Generate printable puzzle sheets: word search, mazes in eight shapes, sudoku with unique solutions, criss-cross, cryptograms and number pyramids. | |
| Party Printables | Design party sets in minutes: bunting, cake toppers, gift tags, place cards, stickers, treat boxes and more - 12 templates with photos, colors and full typography. | |
| Drawing Templates | Turn photos into six printable sheets: coloring pages, dashed tracing sheets, connect-the-dots, paint-by-numbers, symmetry sheets and drawing grids. | |
| Dynamic Showcases | Turn products, posts and testimonials into designed card showcases: 20 layouts, 14 premium presets, an AI art director - and cards that refresh with your content. | |
| Ad Banners | Generate complete ad banner sets with AI: batch over WooCommerce products or posts, 12 tones of voice, 8 layout presets and client-side QR codes. | |
| Living Photos | Bring photos to life: a local AI depth mesh, cinematic camera moves, multi-point relighting with soft shadows, depth-aware weather and seamless loop export. | |
| Cinematic Effects | A cinematic effects library: 82 animated motifs in 15 families with 29 presets, from auroras and embers to lens flares and film grain - looping seamlessly. | |
| Motion Graphics | Build animated clips on a real timeline: 6 clip types, 26 templates, music with beat markers, easing curves - exported as video, loop or live embed. | |
| 3D Objects Studio | Drop real 3D objects into any design: 153 models in 9 categories, 15 materials, staging presets - and AI 3D generation from a photo or a text prompt. | |
| 3D Gallery Studio | Turn photo sets into 3D gallery walls and cards: 10 layouts, 24 presets, frames, reflections and captions - exported as stills, loops or interactive embeds. | |
| 3D Text Studio | Turn any text into real extruded 3D type: 12 material presets from chrome to candy, per-letter control, a logo mode and an interactive spin export. | |
| Smart Diagrams | 22 diagram types in 5 families: processes, cycles, hierarchies, comparisons and timelines with live connectors, 13 style presets, full typography and AI assist. | |
| Calendars | Design photo calendars, month grids and a year-at-a-glance wheel: correct weekday math for any year, week start options and eight family themes. | |
| Stitch Patterns | Turn any image into a counted craft chart: cross-stitch, diamond painting, fuse beads, knitting, C2C crochet, latch hook, string art and string mandalas. | |
| Route Visualizer | Turn GPX tracks into route posters: elevation-aware color modes, kilometer markers, optional map background and clean typography for the stats. | |
| Soundwave Art | Turn audio into waveform art: 12 styles from classic bars to spirals and hearts, gradient and metallic foil colors, timbre coloring, glow and mirror effects. | |
| Star Map Posters | Astronomically correct star maps for any date and location: real star catalog, the actual Milky Way, constellation highlights, foil styles and glow. | |
| Map Posters | Turn any location into a designed map poster: street networks with metallic foil and gradient styles, neon glow, shape contours and full typography. | |
| Reformat | Turn one design into every format you need: ten social and web sizes, re-layouted intelligently so nothing important gets cropped away. | |
| Generative Art | 24 generative motifs from flow fields to kaleidoscopes: layered over your document as living overlays, exported as stills, seamless loops or SVG. | |
| Seamless Patterns | Generate perfectly seamless patterns: 22 motif families, seeded variation, rapport control, brand kit colors and PNG or crisp SVG export. | |
| 3D Mockup Studio | Place any design on mugs, shirts, books, packaging and more: 106 photoreal 3D models with per-surface artwork, studio staging and a 360 spin export. |
Browser-Based Utility Tools
Fast, single-purpose utilities that execute entirely inside your browser tab. Calculate values, clean code, and inspect assets locally without uploading your files to any server.
| WebP converter and delivery | Shows what each file really saves and hands over the delivery block that fits your server | |
| Favicon and app icon generator | Pads and re-encodes one square image or SVG into every size, with head block and manifest | |
| SERP and meta preview | Measures the title and description in pixel width with canvas metrics, not characters | |
| Redirect rule generator | Turns two columns of URLs into Apache, nginx and CSV rules and finds the loops in them | |
| WordPress salts and passwords | Draws all eight salts and a password of any length from crypto.getRandomValues | |
| Cron expression builder | Reads an expression back in English and lists the next ten runs in local time and in UTC | |
| Dummy text generator | Writes Latin, German or English filler to an exact character count, in four formats | |
| Security header and CSP builder | Explains per switch what it controls, what an attacker gains and what breaks when closed | |
| JSON validator and repair | Names line, column and character for every fault at once, then repairs, formats and diffs | |
| Hashes and encoding | Works out digests and conversions with crypto.subtle and builds a WordPress password hash | |
| Serialized data repair and search replace | Shows the tree with each declared byte length next to the real one and recomputes it | |
| Block markup validator and repair | Reads block comments as WordPress does, gives line and column per mismatch, then repairs | |
| Font face and fallback generator | Reads name records, axes and coverage from a font file and matches a local fallback to it | |
| QR and barcode generator | Encodes URLs, wifi logins and contact cards as QR codes, or product numbers as barcodes | |
| Contrast checker | Scores a text colour against its background the way WCAG does and fixes it in one click | |
| EXIF viewer | Reads camera, lens, dates and the spot on the map, then rewrites copies without any of it | |
| File name cleaner | Turns a pasted list or dropped files into web safe names, numbered and cut to length | |
| CSS gradient generator | Builds linear, radial or conic stops, shows where they band, and saves the CSS or a PNG | |
| Image resizer and compressor | Decodes, shrinks and re-encodes a batch to one width, height cap and output format | |
| Palette generator | Turns one colour into a nine step ramp, a surface, an accent and two tinted neutrals | |
| Aspect ratio calculator | Reduces a ratio, counts the megapixels and checks which srcset widths WordPress writes | |
| Share card generator | Draws a 1200 by 630 link preview on a canvas, with layout, colours and a background image | |
| SVG cleaner | Strips the parts you tick out of SVG source and hands back a smaller, safer file | |
| Text cleaner | Strips whatever you tick out of pasted text and hands it back to copy or download | |
| Fluid type scale calculator | Solves the middle term of clamp() as a real slope and intercept for every level | |
| Upload simulator | Writes out the sub-sizes, the bytes, the srcset and the file names one upload would make | |
| Encoding forensics | Tries every wrong turn the bytes could have taken as a real round trip and ranks them | |
| Image quality curve | Sweeps JPEG and WebP quality values and scores each result by SSIM against the original | |
| Scan descreening workbench | Finds the halftone grid in the frequency picture of a scan and cuts those frequencies out | |
| Low light photo lifter | Runs a 590 KB neural network over a dark photo instead of pulling the brightness up | |
| Cutout with soft edges | Asks two small networks whether a pixel belongs to the subject, not what colour it is | |
| Object eraser | Rebuilds what was behind the area you paint over, with a small network called MI-GAN | |
| Depth map and lens blur | Estimates how far away every pixel is, shows the greyscale map and blurs by that distance | |
| JPEG artefact repair | Rebuilds inside the eight by eight grid with a network trained on exactly that damage | |
| Screenshot redactor | Finds every field that looks like text, covers it all and lets you click back what stays | |
| Saliency guided JPEG | Smooths only what a saliency model says nobody looks at before the encoder sees it | |
| Document scan from a photo | Straightens the page onto a rectangle, takes the shading out and stacks pages into a ZIP | |
| Old photo repair | Finds the thin scratches and fold lines, takes your corrections and inpaints the marks | |
| Application photo from a phone snapshot | Finds the face, levels the head, cuts to print format and lays four copies on one sheet | |
| Content Aware Resizer | Takes out the pixel seams carrying least detail instead of squashing or cropping | |
| Perspective and keystone corrector | Solves the homography from four dragged corners and returns the flat picture and matrix3d | |
| Elementor data inspector | Reads _elementor_data into a tree of elements, images, links, fonts and a domain rewrite | |
| SPF, DKIM and DMARC builder | Reads a record you already have back token by token and grades it, without querying DNS | |
| htaccess explainer | Puts a line of English beside every directive and walks a real URL through the file | |
| Permalink structure simulator | Marks the structures WordPress treats as expensive and writes the redirects for a change | |
| Rewrite rule tester | Walks a request path through the stored rules and shows the first match and its query | |
| File permissions calculator | Keeps octal and symbolic spellings in sync and names the value each WordPress file needs | |
| User roles explorer | Compares the five default roles capability by capability and builds a custom one as code | |
| Page weight budget calculator | Turns a target load time and a connection into a byte budget per resource class | |
| Hero crop simulator | Moves a focal point and shows what every breakpoint keeps of it, with the CSS to copy | |
| Composite believability check | Walks three checks over a montage: light direction, shadow edge hardness and ground plane | |
| White balance fixer | Removes a cast from one click on something neutral and shows the three channel factors | |
| Dithering Lab | Reduces a picture to a few colours with eight dithering methods side by side, on the same palette and the same pixels | |
| Uploads folder mover | Writes the eight steps in order, with constants, search and replace and the redirects | |
| Typography checker | Catches the mistakes that give an amateur setting away and measures the line length | |
| Upload preflight | Reads the first bytes for the real format, the pixel size and the memory a resize needs | |
| Template and data merge | Runs one layout over every row of a CSV or TSV and returns a finished result per row | |
| Blend mode lab | Computes each mode from the formula shown and repeats it with the browser's compositing | |
| SVG cleaner | Strips the parts you tick out of SVG source and hands back a smaller, safer file | |
| Layered shadow generator | Derives offset, radius and opacity per layer from object height and light softness | |
| Generation loss simulator | Encodes and decodes the same picture up to thirty rounds and shows what is left of it | |
| Colour profile inspector | Names the colour space from its primaries rather than its label, and shows it stripped | |
| Text on image contrast checker | Measures the contrast under the letters pixel by pixel and sizes the scrim it needs | |
| Regenerate impact scan | Lists every image reference that would break if the registered sizes changed | |
| Screenshot framer | Adds a browser frame, a shadow, highlights, blocked out areas and numbered steps | |
| Lazy loading auditor | Lists which images, iframes and videos carry loading and fetchpriority above the fold | |
| Registered image sizes | Reads the theme PHP as text and adds up what one upload costs on disk in every size | |
| Social format pack | Crops one picture into every social format around a focal point you set, packed as a ZIP | |
| Image format shootout | Writes one picture as JPEG, WebP, AVIF and PNG across a quality range and measures each | |
| Palette generator | Turns one colour into a nine step ramp, a surface, an accent and two tinted neutrals | |
| Curves playground | Bends a tone curve per channel, shows the numbers beside it and writes it as a CSS filter | |
| Unused media finder | Checks every attachment in a WordPress export against every post, page and meta field | |
| Composition and balance | Finds the centre of attention, the weight per quadrant and the quiet areas for text | |
| Edge and key workshop | Keys a colour out and works the edge with tolerance, spill removal, choke and blur | |
| Alt text auditor | Turns post HTML into a row per image, naming missing alt, file names and copied captions | |
| Batch watermark | Stamps text or a picture onto every image at a set angle and opacity, zipped up | |
| Colour grading panel | Applies five groups of moves live and exports a .cube table, a CSS filter or a PNG | |
| srcset and sizes simulator | Works out which file a browser picks at a given viewport and density, and why | |
| Print size and gamut check | Answers whether the pixels and the colours carry a print format, bleed drawn to scale | |
| Upload and memory limit planner | Says which of the four PHP limits stops your file first and writes the lines that fix it | |
| WooCommerce image size planner | Works out the width a product image needs from your shop layout and the catalogue total | |
| Open Graph tag builder | Parses the head of a page in an inert document, or writes the block from empty fields | |
| Media naming scheme | Builds the rule from a project code and areas, then checks your own file names against it | |
| EXIF viewer | Reads camera, lens, dates and the spot on the map, then rewrites copies without any of it | |
| Attachment page fixer | Takes your WordPress version and SEO plugin and prints the PHP those pages need, if any | |
| Image resizer and compressor | Decodes, shrinks and re-encodes a batch to one width, height cap and output format | |
| Duplicate image finder | Separates identical files, near identical ones and thumbnails, and writes the delete list | |
| Media editor simulator | Shows each save writing a new time stamped set of files and leaving the old set behind | |
| HEIC file inspector | Reads brand, items, dimensions and rotation from a refused file and saves it as JPEG | |
| Hotlink protection builder | Writes rules for Apache, nginx, Cloudflare and PHP, then tests a referrer against them | |
| Image SEO check | Scores one image or a block of HTML per point, with the six folklore items at weight zero | |
| Image URL diagnosis | Reads the image address against the page address and names the likely reason | |
| Image replacement helper | Fits a new picture to the old name, extension and pixel size, with every intermediate size | |
| Blurry image diagnosis | Measures which of four faults makes a picture look soft at your width and pixel density | |
| WP-Cron reality check | Estimates how late a scheduled post lands at your traffic, and copies the real cron job | |
| Spreadsheet check | Finds broken rows, colliding headers and encoding damage, then writes the cleaned CSV | |
| Export plan | Lists the files a piece of work needs, one line of reasoning each, and zips the tree | |
| Upload simulator | Writes out the sub-sizes, the bytes, the srcset and the file names one upload would make | |
| debug.log analyser | Groups repeated lines, names the plugin or theme behind each and converts memory to MB | |
| functions.php snippet checker | Reads the code as text without running it and wraps it safely as a plugin file | |
| Render blocking and weight audit | Reads a page source into an inert document and names what holds up the first paint | |
| Database error decoder | Turns the number in a connection error into a cause and checks the four wp-config lines | |
| Memory limit calculator | Reads the fatal line from debug.log and names the limit that binds in admin and on upload | |
| Child theme generator | Writes style.css in header order, functions.php with the right enqueue and a screenshot | |
| wp-config.php builder | Flags the constants that quietly cancel each other out and writes the block with comments | |
| Post type and taxonomy generator | Turns a key, a singular and a plural into registration code with every label filled in | |
| Media library weight | Works out how many files land on disk and how many rows the database keeps for each |