Troubleshooting
| Symptom | What it means |
|---|---|
N media file(s) could not be downloaded | The URLs are dead at the source -- old CDNs disappear (every distilleryimage*.instagram.com link from 2012 resolves to nothing). The posts were written without those images; nothing to fix on your side. |
Tumblr API returned 401 Unauthorized | Wrong TUMBLR_API_KEY or blog name. |
Many skipped (not a post) from a WXR | Normal -- WordPress's own menu items and revisions travel in the same export. Attachments and pages have their own lines, and so does every custom post type, named after itself (wp:portfolio) -- if you recognize one of those as a section of your blog, its posts stayed behind. |
skipped (error) with stderr lines | Those items were malformed at the source; the rest imported. Re-run after a fix overwrites in place. |
The source stopped answering after N item(s) | The platform died mid-run. Everything written so far is saved; re-run once the source recovers -- posts are matched on their source id, so nothing duplicates. |
cannot move '<slug>' into <year>: a different post already owns ... | A re-imported item's date moved into a year where another post has the same slug. That one item is skipped, nothing was touched; rename one of the slugs and re-run. |
| The same id-less post appears twice after a re-import | The item carries neither guid nor link, so it can't be matched. Delete the extra copy; better, give the item a guid at the source. |
| The deploy stops with a % increase warning | The guard doing its job after a bulk change -- re-run with --force once the numbers look right. |
| An imported post shows a shifted date | site.timezone wasn't set and the machine runs UTC -- set it and rebuild; stored dates don't change, only the rendered day. |
