A product page has one job: clear the reasons a buyer hesitates. I build mine from support tickets, because a ticket is a record of what the page failed to say. Before a new SKU goes live, I write down every question a buyer has ever asked about something like it, and then I answer all of them on the page.
The question list is the page structure

On a kettle store I ran, the questions were always the same five: how much water it holds, how long a boil takes, whether the cord detaches, how loud it gets, and what happens when the kettle boils dry. So the page listed those five answers in that order, in plain type, above the fold. Support tickets for that SKU fell by about half after the rewrite, and the return rate settled down with them. The tickets were writing the copy for me. I just had to stop hiding the answers in a tab nobody tapped.
Concrete answers also survive scrutiny. “1.7 liters, boils in six minutes, 72 decibels” tells a buyer something. “Powerful and elegant” tells them nothing, and they know it. Numbers are what people screenshot and compare.
Photos answer questions too

A good photo is a spec sheet with no reading. I shoot every product with three frames in mind: the thing alone on white for clarity, the thing in use for scale, and the awkward angle that shows a seam, a plug, a mounting point. Buyers zoom into exactly the parts they would pick up and turn over in a shop, and they forgive a plain photo far faster than a vague one. On the kettle store, adding one photo of the kettle beside a mug settled the capacity question for good.
Show the awkward parts too

Every product has a limitation, and the limitation is usually why it gets returned. I put mine in writing: a chair that does not fit a desk over 74cm, a jacket that runs small, a lamp bulb that ships separately. On one furniture store, adding a real dimensions diagram and a short “check this before ordering” note took returns from 6.1% to 3.4% in a quarter. Returns are the most expensive sentences on the site, and they cost a fraction of that to prevent.
The habit is simple. Every question I answer before checkout is one ticket I never staff and one parcel I never ship back. That is the whole trick.