Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

A WordPress demo XML import can fail at several different stages: the file may be rejected as empty, PHP may run out of memory, the XML may be invalid, a theme or plugin may be missing, attachment downloads may time out, or the importer may throw a fatal error. The reliable fix is to identify the failed stage first, then correct the matching file, dependency, server limit, or media-access problem. This guide walks through that diagnosis without treating every failure as the same problem.

Start by identifying the failure stage

Do not immediately raise every PHP setting or upload the same file repeatedly. A useful diagnosis begins with the exact message and the point at which the run stopped. An upload failure is different from an XML parsing failure, and a successful post import followed by missing images is a separate attachment problem.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
What you see Likely stage What to check first Typical remedy
The file is reported as empty, unreadable, or rejected during upload Upload or file validation Whether the file is a real WordPress export, its size, and the active upload limits Use the correct WXR file and adjust limits or split the export
A fatal error says the allowed memory size was exhausted PHP resource allocation Runtime memory_limit and the size and record count of the XML Raise the active limit temporarily or import smaller XML files
The importer reports malformed XML, an invalid document, or cannot parse an item XML parsing Whether the export is complete and whether the file was altered or truncated Obtain a clean WXR export and isolate the item that breaks parsing
Posts or terms import, but custom content is absent or errors appear around custom fields Content-object dependencies Required theme and plugins, custom post types, taxonomies, and fields Activate the dependencies before importing
Posts import but images and other attachments do not Media download Source URLs, SSL/DNS access, outbound requests, and execution time Make the source reachable or import media separately where possible
A blank 500 response or a stack trace names WXRImporter.php Importer PHP fatal The complete trace, server log entry, and the XML item being processed Diagnose the specific fatal rather than applying a generic 500 fix

Record the exact message, the approximate item or URL being processed, and whether any content was created. Those details prevent a second attempt from hiding the original cause.

Confirm that the file is a WordPress WXR export

WordPress uses the WordPress eXtended RSS format, usually called WXR, for its native content export. It is an XML document containing posts, pages, terms, comments, authors, and references to attachments. A theme package may include a data file for a page builder, widgets, customizer settings, or another proprietary system; that file is not automatically a WXR export and should not be uploaded through the WordPress Importer.

#1 Best Overall
Sale
Compressed Air Duster,130000RPM Super Power Cordless Air Duster,Rechargeable Brushless Blower,3 Gear Adjustable Blower with LED Light,Dust Remover for Computer/House/Outdoor/Car
  • Powerful Turbo Fan:CAGIWIRU Electric Air Duster have reached speed up to 130000RPM,Can efficient remove dust and debris.With LED light and Three Adjustable Speed to meet with different cleaning tasks.
  • With Attached USB C Fasting Charging cable.Charing 3 hours,Enjoy up to 240 minutes of use on the lowest setting, For third speed can use for 25mins.with four charging options to meet with your needs.
  • Wide Application:Upgraded attached 5 different nozzles,making it suitable for a variety of scenes, such as car,pet, pc, keyboards, and other electronic devices. It also serves for office and home clean duster.
  • Handy Design & Portable:Cordless air duster electric nozzle is Light weight and small size, design and comfortable to hold and space saving, convenient to carry around. You can put it in your room or inside the car without taking up space.
  • Warranty & Support: Our Electric air duster comes with 5 years warranty and 24/7 customer service. During this period, if you have any questions,pls kindly feel free to contact us.

Use the official importer

  1. Sign in to the destination site with an account that can administer imports.
  2. Open Tools > Import.
  3. Install or activate the official WordPress Importer if it is not already active.
  4. Choose the importer’s upload option and select the WXR XML file supplied by the source site.
  5. Proceed only when the importer recognizes the document and displays its normal author and assignment options.

If the file is labelled as demo content but the importer immediately calls it empty or invalid, verify its origin before changing PHP settings. Ask for a fresh WordPress export rather than assuming that every XML file bundled with a theme is interchangeable.

Check theme and plugin dependencies before importing

Demo XML can refer to objects that WordPress core does not know how to create by itself. Examples include custom post types, custom taxonomies, custom fields, and media handlers registered by a theme or plugin. If those components are inactive, the importer may skip records, fail while processing a particular item, or create incomplete content.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Prepare the destination site

  • Install the theme version that supplied the demo content, then activate it if the demo requires theme-registered objects.
  • Install and activate the plugins that define the referenced post types, taxonomies, fields, or attachment handling.
  • Confirm that the destination WordPress installation meets the theme and plugin prerequisites before starting the import.
  • Keep a record of which dependencies were active. This makes a later cleanup or repeat import easier to audit.

Do not activate unrelated plugins merely to make an error disappear. Extra code can change the importer’s behavior and complicate a diagnosis. Start with the documented dependencies for the demo package and add nothing else until the import is understood.

Verify the active PHP limits, not only an edited configuration file

Large WXR files consume memory while they are uploaded, parsed, and converted into database records. PHP also limits the size of the incoming request and the time a request may run. Changing a configuration file does not prove that the web process is using the new values; hosting panels, PHP-FPM pools, Apache modules, and managed environments can apply different runtime settings.

Rank #2
EVEO® Screen Cleaner Spray Kit (Streak-Free) TV Screen Cleaner for Smart TV, Lcd, LEd, Oled | Computer Screen Cleaner Spray and Wipe Microfiber Cloth - TV, Monitor, Laptop, iPad, Car - 6.7oz 1 Pack
  • Screen Cleaner is Your Screen’s New Bestfriend! - EVEO is proud to present a screen cleaner that’s perfectly suited for your TV. Meet your new screen cleaner, computer screen cleaner, laptop cleaner, iPad cleaner, Macbook,tv cleaner or any other electronic device. Our screen cleaner spray and wipe along with the included plush microfiber cloth, easily removes dust, fingerprints & other smudges on the screen’s surface. Clean effectively for a streak-free screen
  • Gentle on your Screens - Our screen cleaner spray and wipes is compatible to be used even for the most sensitive LCD, LED, CRT, and OLED screens in proper use. Be at ease knowing that this product is compatible with all the major brands: LG, SONY, Samsung, Sharp, iPad, iPhone, Android screens, Kindle, PC monitors - we’ve got you covered! Can be used as LCD screen cleaner, tv cleaner, smart tv screen cleaner, and more
  • Premium Super Soft Plush Microfiber Cloth - Included in this efficient screen cleaning kit. This screen cleaner spray and wipe has our signature plush microfiber cloth specially designed to comply with screens and monitors and leave them streak-free. Has been shown to effectively absorbs stubborn stains, zero streaks, and no fiber shedding. Always use this together with our screen cleaner for the best results
  • Easy-to-Use Screen Cleaner Kit + microfiber cleaning cloth - The EVEO Screen Cleaning Kit will easily be your new favorite tool when it comes to taking care of the things you love most, quick and easy solution for a streak-free screen. Simply screw on the sprayer gun on the screen cleaner bottle. Spray the cleaning liquid onto the microfiber cloth, then wipe the screen until desired cleanliness & shine is achieved.
  • Quality Screen Care Kit Worth Purchasing - Enjoy a convenient Screen Cleaner anytime, anywhere you need it. Your satisfaction is our top priority. We stand behind the quality of our products and that’s why, you shouldn’t be worrying at all. We manufacture the Best Screen Cleaner. and can be used for laptop cleaning kit, laptop screen cleaner, tv screen cleaner for smart tv. MacBook screen cleaner, monitor cleaner or screen cleaner spray for electronic devices with microfiber cleaning cloth

Values that matter

  • memory_limit controls the memory available to the PHP process.
  • post_max_size limits the complete HTTP POST request, which includes the uploaded file and other form data.
  • upload_max_filesize limits an individual uploaded file.
  • max_execution_time limits how long a PHP request may run before it is stopped.

The limits should be ordered so that memory_limit is greater than post_max_size, and post_max_size is greater than upload_max_filesize. Otherwise, increasing only the file-size setting will not make a larger upload possible.

Inspect the runtime values

  1. Open Tools > Site Health in the WordPress dashboard and review the Info section for the server and PHP details exposed by the site.
  2. Compare the reported values with the size of the WXR file and the importer’s failure message.
  3. If the dashboard does not expose a value, ask the host which PHP runtime serves the domain and request the effective values for that runtime, rather than the values in an unused configuration file.
  4. After a host changes a value, return to Site Health or the host’s runtime information and verify that the new setting is active before retrying.

WordPress documentation gives an illustrative configuration for a large import: memory_limit = 300M, post_max_size = 200M, upload_max_filesize = 100M, and max_execution_time = 600. WordPress published those figures as example FAQ settings in 2018, not as universal requirements. Your file, record count, PHP version, and host may require less or more, and a host may refuse values that high.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

A classic symptom of insufficient memory is an error such as Fatal error: Allowed memory size of 8388608 bytes exhausted. WordPress documentation published that text as an example in 2023. The number in an actual message identifies the limit of that particular process; it is not a recommended setting.

Raise limits safely when the host allows it

Use the smallest temporary increase that gives the importer enough headroom. A larger limit can allow one request to consume more server memory, so it should not be treated as a permanent cure for an undersized hosting plan.

Rank #3
BladeHawks RGB Gaming Mouse Pad Extra Large Extended 31.5x12 Inch-Black
  • 【Large size】:Measuring 800 x 300 mm/ 31. 5×12 inches, which is wider and taller than others. Large mouse pad can perfectly fit your keyboard and mouse of any size, and there is also ample space for peripherals such as phones, tablets, etc.
  • 【LED backlight mouse pad】:Blade Hawks RGB mouse pad provides 7 static modes and 7 dynamic modes will give you the options you are looking for. Power-off memory function remembers the last lighting mode you selected. The super glow fiber Chroma will give you a colorful gaming setup that you want.
  • 【Anti-slip rubber base】:Made from Natural rubber, this gaming mousepad will firmly grip your desktop, allowing you to enjoy the ultimate precision in the games you are most passionate about. It also comes with a texture that enhances this ability even further.
  • 【Smooth and waterproof surface】: Micro-textured cloth surface, for extremely precise mouse control and a smooth movement. When liquid splashes on the gaming mouse pad, it forms water droplets and slides down. Will not delay your work or gameplay.
  • 【Plug and play】: This mouse and keyboard pad is powered by USB, plug and play, no driver required. One button control light modes. Press one time to change the lighting mode, press twice to change the brightness, press and hold about 3 seconds turn ON/OFF.

When you control the server

Change the PHP configuration used by the web server, not just the command-line PHP installation. Confirm the active pool or handler, reload the service if the platform requires it, and verify the values in WordPress after the change. Keep the ordering of the four limits intact and increase execution time only for the import window when possible.

When the site is managed by a host

Send support the exact WXR size, the error text, the PHP version, and the runtime values shown by Site Health. Ask for a temporary increase to memory, request size, and execution time, or ask whether the host can run the import from a maintenance window. Hosting with adjustable PHP limits is useful for this class of task, but the provider must confirm the actual values and any account-level ceilings.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

If the host cannot raise the limits, do not keep retrying the same file. Use the splitting procedure below.

Split a large XML file when limits cannot be raised

The official WordPress Importer documentation warns that a very large export can exceed the host’s configured PHP memory. Its documented fallback is to divide the export into smaller XML files and import them one at a time.

Rank #4
Sale
Vaydeer Wrist Rest for Keyboard and Mouse, Computer Ergonomic Wrist Support Pad, Soft Memory Foam Arm Cushion for Desk, Palm Hand Office Laptop Typing
  • 【Softer and More Comfortable】Vaydeer wrist rest has unique diamond pattern, which is the combination of softness and aesthetics. The materials of wrist rest are improved into higher quality memory foam and covered with silky smooth lycra. The computer wrist rest makes you as comfortable and cushiony as like rest your wrists on clouds.
  • 【Ergonomic Wrist Saver】The wrist rests for keyboard and mouse comes with a 17.32×3.15×0.83 inch keyboard wrist pad and a 5.94×3.15×0.83 inch mouse wrist support. Based on ergonomic design, the unique concave shape is the perfect fit for your wrist joints. The wrist rest pad fits most computer keyboards and laptops, improve hand and wrist posture, release your wrist and arm stress.
  • 【Non-Slip Rubber Bottom】Featuring an anti-skid silicone base on the bottom, this wrist keyboard support stays firmly in place on your desk, preventing the padding from sliding around, ensuring stable and consistent wrist support during extended computer sessions.
  • 【Better Experience & Pain Relief】Our keyboard arm rest is beneficial to alleviate the soreness caused by direct contact and friction between your arm and a hard desk surface, reducing the risk of wrist fatigue or carpal tunnel. The soft texture of memory foam can evenly distribute the pressure around your wrists and provide good support with just enough give.
  • 【Helpful in Multiple Scenarios】Whether you're working, studying, writing, typing, gaming, this keyboard and mouse rest combo is an essential accessory to add comfort and support to your hands and wrists. It’s also a great gift for men, women, family, friend, coworker, gamer, teacher, etc.
  1. Keep the original WXR file unchanged as a backup.
  2. Use a WXR-aware splitter that preserves the XML structure and the WordPress item metadata. Do not split the file by arbitrary character counts in a text editor.
  3. Make each part small enough to stay below the active upload and memory limits, leaving headroom for parsing and database work.
  4. Import the parts in their original order when the splitter provides an order. Preserve the author, term, and attachment information associated with each part.
  5. After each part completes, inspect the destination for the expected posts and terms before starting the next part.

Splitting reduces the resource demand of each request; it does not repair malformed XML, missing dependencies, or unreachable media URLs. If the first small part fails with the same parsing or dependency error, investigate that cause instead of making the parts even smaller.

Treat media as a separate import stage

The importer can create content successfully while attachment downloads fail. During the import, select Download and import file attachments when the source URLs are still reachable and the destination is permitted to make outbound requests. This option does not copy an image from the original server by magic; it asks the destination to fetch each referenced URL.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Checks for missing attachments

  • Open a representative source URL from a network that can reach the original site and confirm that it returns the intended file rather than a login page, redirect loop, or error.
  • Check that the destination host can make outbound HTTP or HTTPS requests to the source domain.
  • Look for SSL certificate validation, DNS resolution, firewall, or security-policy restrictions that block the request.
  • Consider execution time: a site with many large files may run out of time after posts have already been created.
  • Review the importer’s result and server logs for the first attachment URL that failed, then test that URL independently.

There is no single media fix that applies to every host. If the source has been taken offline, requires authentication, or blocks automated requests, the importer cannot download those files through the normal attachment option. Resolve access at the source or arrange a separate, authorized media transfer before attempting to associate files with the imported content.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Handle a 500 error that names WXRImporter.php

A 500 response only says that PHP aborted the request. When the message names WXRImporter.php, capture the complete stack trace or the corresponding server-log entry and note the XML item being processed. The filename alone does not identify whether the cause is memory exhaustion, a malformed value, a missing dependency, a database error, or a plugin conflict.

Best Value
Sale
Under Desk Cable Management Tray No Drill, Metal Mesh Cable Management Under Desk with Clamp Mount, 2 Hole Cable Tray with Wire Management and Cord Organizer for Home Office Standing Desk
  • 【No Drill Mounted】Cable management tray can be assembled in as little as 3 minutes or less-simply. Side clips easily clampe the edge of desk, pass through the holes on the sides, and secure excess cables with baskets. Desk cable management supports inward or outward installation to meet your needs in different scenarios, and provides you with great convenience when collecting and organizing wires.
  • 【Rubber Pad Protects Desk】Wire organizer under desk built-in soft rubber pads on the clamp protect your desk from scratches, so you will not damage your furniture or office.
  • 【Sturdy and Beautiful】Cord management under desk is made of high-quality carbon steel and holds about 15 lbs. The wire basket has 2 holes on each side of the tray to enable your cables to pass freely. Cable baskets are suitable for desk thickness use from 0.4" to 2.4".
  • 【Space Saving & Keep Organized】Desk cable management tray holds all your power cords, outlet strips, USB hubs and computer transformers hidden from your feet, and the data cables will not enter the vacuum cleaner to keep your desk clean and tidy. Desk wire organizer is also suitable for use in the kitchen and outdoors.
  • 【Reduce Safety Risks】Cable tray under desk keeps all plugs away from your kids, no more worry about tripping. Using 2 holes wire tray saves extra space, helps you easily cabling and wire protection. The mesh design is not easy to accumulate dust, but avoids safety accidents caused by messy wires.

Evidence to collect

  • The full error text, including the final exception or fatal message.
  • The timestamp and the import part or item at which the failure occurred.
  • The active PHP version and runtime limits.
  • The theme and plugins active during the attempt.
  • Whether earlier items were created before the 500 response.

With that information, a host or developer can match the failing XML item to the code path that handled it. Without it, repeatedly increasing memory or disabling random plugins is guesswork and can leave the site in a less predictable state.

Clean up partial content before retrying

An interrupted import is not necessarily rolled back. It may have created authors, terms, posts, pages, or attachments before the request failed. A second attempt can then create duplicates or produce confusing assignments.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  1. Stop automatic retries and record the time of the failed run.
  2. Search the dashboard for content created during that window, including drafts, posts, pages, terms, and media.
  3. Compare the destination records with the source export so that intentional content is not deleted accidentally.
  4. Remove or quarantine partial records only after confirming that they are from the failed attempt and are not needed by another part of the import.
  5. Correct the underlying failure, then retry with a clean, documented starting point.

If you cannot safely distinguish imported records from existing content, make a database and file backup and ask the site administrator or host for a rollback plan before running another import.

Choose the remedy that matches your situation

Situation Best first action Why it fits Main limitation
Small WXR rejected immediately Confirm the file is a WordPress export and activate the official importer Prevents treating a theme-specific data file as WXR Does not solve server limits or malformed exports
Large file and control of PHP settings Verify runtime values, then apply a temporary increase Addresses upload, memory, and timeout constraints directly Host ceilings and available server memory still apply
Large file and no ability to change limits Split the WXR into smaller valid XML files Uses the documented fallback when memory cannot be raised More import runs require tracking and cleanup
Custom content fails after upload Activate the theme and plugins that define the referenced objects Gives the importer the post types, taxonomies, fields, and handlers named by the XML It cannot repair an incomplete or incompatible demo package
Posts succeed but media does not Test source URLs and outbound access, then retry attachment handling Separates content creation from remote file retrieval Unavailable or protected source files remain inaccessible
500 error naming WXRImporter.php Collect the full trace and failing XML item Identifies the actual fatal instead of guessing A generic 500 cannot be diagnosed from the filename alone

Practical recovery playbooks

WordPress says the XML file is empty

  1. Check that the selected file is the exported WXR document, not a theme’s settings or page-builder data file.
  2. Open Tools > Import and confirm that the official WordPress Importer is installed and active.
  3. Check the file size and the active upload_max_filesize and post_max_size values.
  4. If the file was transferred between systems, obtain a fresh copy in case it was truncated.

Import stops with a memory error

  1. Save the exact allowed-memory message and note the file part being processed.
  2. Verify the runtime memory_limit in Site Health or with the host.
  3. Request a temporary increase that leaves memory_limit above post_max_size, or split the export if the limit cannot change.
  4. Inspect for partial records before retrying.

Posts import but images are missing

  1. Confirm that Download and import file attachments was selected.
  2. Test several source URLs and check SSL, DNS, firewall, and outbound-request restrictions.
  3. Review execution-time and log information for the first failed download.
  4. Recover inaccessible media through an authorized separate transfer rather than repeatedly rerunning the complete content import.

A 500 error appears during one item

  1. Capture the complete stack trace and server log entry.
  2. Identify the XML item processed immediately before the failure.
  3. Check the dependencies and runtime limits active for that request.
  4. Remove or account for any content created before the failure, then retry only after the specific cause is corrected.

Pre-import checklist

  • The file is a complete WordPress WXR export.
  • The official WordPress Importer is active under Tools > Import.
  • The theme and plugins that define the demo’s custom objects are installed and active.
  • Runtime values for memory_limit, post_max_size, upload_max_filesize, and max_execution_time are known.
  • The limits follow memory_limit > post_max_size > upload_max_filesize.
  • The source media URLs remain reachable, and the destination can make outbound requests.
  • A backup and a record of existing content are available in case the run is partial.
  • You have a plan for splitting the file if the host cannot provide enough memory.

What a successful retry should look like

The importer should recognize the WXR document, present its author and assignment choices, and process records without a resource or parsing error. After completion, verify posts, pages, terms, custom content, and media independently; a green-looking completion message does not prove that every remote attachment was downloaded. Check the site for duplicates before declaring the migration complete, especially if an earlier run created partial records.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.