Your menu photos are probably hosted by a system you left
Switch POS and the pictures often stay behind — hotlinked to the old supplier until their servers stop answering. How to check, and what moving them takes.
Here is a failure with a long fuse. A venue switches ordering systems, the menu comes across, the photos all display, everyone moves on. Months later the old supplier tidies up dormant accounts — as they are entitled to — and every dish on the menu goes grey in the same afternoon.
The pictures were never copied. The new system stored the old system's image addresses, and every guest's phone was quietly fetching your menu photography from a company you stopped paying.
We did exactly this
Worth admitting: when we imported our own market's menus from the previous system, 129 photos came across as links to that system's storage. Everything looked migrated because everything displayed. The photos only truly moved weeks later, when we copied each file into our own storage and pointed the menu at the copies. Until that day, one housekeeping job at a company we had left could have blanked our menu.
How to check yours in two minutes
Open your menu in a browser, long-press a dish photo, open the image address. If the domain is not your system's — an old supplier's name, somebody's cloud bucket — that photo is borrowed. Spot-check five; they tend to be all one way or all the other.
What moving them properly takes
Three things, and none is exotic. The bytes copied into storage your current system controls, at full quality — not re-screenshotted. The menu updated to point at the copies, with the old addresses kept on file until every one is confirmed moved. And the door shut behind you: from then on, a pasted image address should be fetched and stored at upload time, never saved as a link, so the problem cannot quietly come back one dish at a time.
Photos sell food. They are worth owning.