Skip to content
Best Magazine Ever

Digital Magazines

How to publish a magazine online: from finished file to live issue

Six steps from a finished file to a live issue: choose where it lives, test a platform with a real issue, set it up for search, build an issue page around the embed, launch in order, then improve.

This guide starts where How to create a digital magazine stops: the issue is finished, exported for screens and tested. Six steps take it from a file on your drive to an issue readers can open, share and find again. Private publications and archives are covered in Online magazine publishing.

Step 1: Decide where the issue lives

An online edition has three possible homes, and many titles combine two:

  • Your own website. Stories as web pages, or the PDF as a download. You control address, design and data, but provide hosting, statistics and a phone-friendly reader. Best when your stories are already web articles.
  • A publishing platform. You upload the PDF; the platform provides viewer, embed codes and statistics. Quick to set up, but you work within its plans, limits and, without a custom domain, its addresses. Best when the designed PDF is the edition.
  • An app store. A branded app suits offline reading and paid subscriptions, but it is a software project with store rules on payments; Apple asks for features, content and UI that lift an app beyond a repackaged website [1]. Worth it only when readers pay and expect offline access, and you can fund updates.

For a PDF edition, combine the first two: the platform handles the reading, your website holds the issue page and the archive.

Plan your addresses before the first issue

  • One permanent page per issue on your own domain, with a readable address such as example.com/issues/2026-spring/.
  • Every newsletter and post links to that page; every QR code points to an address on your domain that you can redirect.

If you change platforms later, you replace one embed per issue page and a few redirects instead of reprinting codes.

Diagram: newsletter, social posts, QR codes in print, partners and search all lead to one issue page on your own domain, which shows the cover, the contents and the viewer embedded from a platform that is easy to replace.
Every link points to the issue page on your own domain; the platform's viewer is only embedded there.

Step 2: Test the platform with a real issue

List your must-haves, then try a real issue on the plan you would pay for, since features are often spread across plans:

  1. Ads and other publishers' content. Open the issue logged out, on a phone and a desktop, on the platform and in an embed: some platforms show third-party ads or other publishers' documents beside or after the pages on free or entry plans.
  2. Data protection. Ask for the data processing agreement and where servers and backups are. A platform that processes reader data on your behalf is a processor, with duties set out in a contract or other legal act [2]; transfers outside the European Economic Area need a mechanism such as an adequacy decision or standard contractual clauses [3].
  3. Branding and address. Whose logo and domain do readers see, is there a "made with" link, and which plan includes a custom domain?
  4. Statistics. Turn pages on two devices, click a link and play a video, then check the dashboard the next day. Tracking cookies for analytics need consent before they are set [4], so statistics built on them miss everyone who declines.
  5. Embedding. Test the embed on a page of your own, on a phone: links, videos, full screen.
  6. Media. How many videos or 3D models does the plan allow, do they play in the embed and on a phone, and what does a downloaded PDF keep?
  7. Access. Is your level (public, unlisted, password or per-recipient) on your plan? Selling issues needs a paywall or shop, or an app store.
  8. Corrections. Replace the PDF: do the address, statistics and placed media survive?
  9. Price and exit. What raises the price, is there monthly billing, and what happens to public links when you stop paying?
Diagram of nine things to test on a publishing platform with a real issue: 1 ads and other content, 2 data protection, 3 branding and domain, 4 statistics, 5 embedding on your own page, 6 media such as video and 3D, 7 access levels, 8 corrections, 9 price and exit.
Nine things to test with a real issue, on the plan you would pay for.

The rule: a must-have that fails on your plan rules the platform out, an announced feature counts as missing, and anything you cannot verify is a question for the vendor, not a yes.

Viewnamic, for example, is ad-free on every plan, hosted in Germany and includes a data processing agreement with every plan [5]. Its issue links use viewnamic.com addresses [6], so link to them from your own issue pages.

Step 3: Upload and set up the issue

Upload the screen PDF, not the press PDF, and keep the issue private until launch day. Then check the fields that are easy to rush:

  • Address. If the platform builds it from the file name or title, fix it now; changing it later can break links already sent.
  • Title. One pattern for every issue, such as "Magazine name, Issue 12, Spring 2026: Theme". If the viewer shows a file name instead, set the document title in the layout file and export again (creating guide).
  • Description. One or two sentences naming the strongest stories, new for each issue. Google sometimes uses a page's meta description for its snippet, and calls identical or similar descriptions across a site unhelpful [7].
  • Share image. Send yourself the link in a messaging app to check the preview. The Open Graph protocol requires title, type, image and URL, and asks for alt text with any image [8].
  • Links. Click every contents entry and address in the uploaded version.
Diagram of a link preview in a messaging app: 1 the image, with alt text; 2 the title, one pattern per issue; 3 the URL of your issue page; 4 the type, which the Open Graph protocol also requires but the preview does not show.
A shared link shows the image, title and address; the Open Graph protocol also requires a type.

Decide what search engines may show

Let only one copy of a public issue compete in search:

  • Public: let one address be indexed, usually your issue page with its text. With noindex plus indexifembedded, a viewer page stays out of results, but Google may index its content where another page embeds it [9]; ask what your platform sends.
  • Members-only or confidential: use a password or per-recipient access. A noindex rule keeps a page out of Google's results [9], but anyone with the link can still open it.
  • Not robots.txt: it does not keep a page out of Google, which recommends noindex or password protection [10]; if robots.txt blocks a page, Google never sees its noindex rule [9].

Step 4: Build the issue page and embed the viewer

The issue page is the address you share everywhere, so it must work for readers who never open the viewer. Give it:

  • the cover, the issue number and the date;
  • a short introduction and the contents, with a line on each main story;
  • the embedded viewer, plus a full-screen link for small screens;
  • a download, if you offer one, with its file size;
  • links to the previous issue and the archive.
Diagram of an issue page on your own website: 1 the cover with issue number and date; 2 a short introduction and the contents; 3 the embedded viewer with a full-screen link; 4 a download with its file size; 5 links to the previous issue and the archive.
An issue page that works without the viewer: cover, contents, the embedded viewer, a download and the archive.

DAV Panorama, the German Alpine Club's member magazine, gives every issue a page with article teasers, an e-paper and the complete PDF, about 47 MB for issue 3/2026 [11], a size worth stating for readers on mobile data.

Paste the embed code properly

  • Label the frame. The magazine name and issue in the iframe's title attribute let users decide whether to enter it [12]; without it, screen reader users must navigate into the frame to find out what it contains [13].
  • Give it room: a height that shows a whole page on a desktop screen, so readers do not scroll in two places at once.
  • Load it late. loading="lazy" defers a frame further down the page until the reader scrolls near it [13]; for a YouTube embed, web.dev puts the saving at around 500 KB on the initial page load [14].
  • Allow full screen. allowfullscreen is a legacy attribute, redefined as allow="fullscreen *" [13].
  • Check what the embed loads. Tracking cookies for statistics or advertising cannot be set when the page is first opened [4], so your consent banner must hold them back until the reader agrees.

Step 5: Launch the issue

The day before, set up the issue privately, draft the issue page and scan the QR code on a printed proof. On launch day, work in this order, so no link goes out before it works:

  1. Switch the issue to public on the platform.
  2. Publish the issue page and add it at the top of the archive.
  3. Open the issue page logged out, on a phone and a desktop: viewer, links, download, preview image.
  4. Only then send the newsletter and start the social posts.
Diagram of the launch order in four steps: 1 switch the issue to public on the platform; 2 publish the issue page at the top of the archive; 3 check it logged out on a phone and a desktop; 4 only then send the newsletter and social posts.
Launch day: nothing goes out before the issue and its page work.

Three launch-day mistakes

  • Linking the newsletter to the PDF file or the platform's address instead of your issue page
  • Changing the issue's address after the first link has gone out
  • Leaving a test upload public next to the real issue

In the archive, give each issue its number and title, as Fast Company does, each entry linking to a page for the full issue [15]. If a cover is the only content of its link, write its alt text as the destination, such as "Open issue 12, spring": a linked image's text alternative should convey the action, not describe the picture [16].

Step 6: Measure and improve

Look at the numbers after the launch wave and again before the next issue. Channels are covered in How to get more readers for your digital magazine; here, the question is what the numbers say about the edition:

What you seeWhat to check and change
Many readers stop at the same pageA spread, a dense page or a slow image on a phone? Rework that kind of page next time.
Links or videos get no clicksDo they work in the viewer and the embed, and do they look clickable?
Videos are started but rarely finishedThe length, and whether the first seconds show what the page promised
Phone readers leave earlyIs the scroll mode or text version on, and does the embed fit the screen? Point to it on the issue page.
Readers arrive at the platform's addressOld posts, QR codes or listings that link there: point them to your issue page

Read clicks and plays against the readers who reached that page, not as raw totals: far fewer may reach page 40 than page 3. Reading time shows attention, not whether readers liked a story, so ask them too: a reply address in the newsletter or one question on the last page.

Found an error after launch? Fix it in the layout file and replace the file, if your platform keeps the address and statistics (Step 2); if the fix changes a fact, say so on the issue page.

Two checklists help with every issue: the publishing checklist and the accessibility checklist.

Sources

  1. App Review Guidelines - Apple Developer
  2. Application of the GDPR - European Commission
  3. Rules on international data transfers - European Commission
  4. Online privacy: How to use cookies on your website - Your Europe
  5. Viewnamic pricing
  6. Interactive travel and software guides | Viewnamic
  7. How to Write Meta Descriptions - Google Search Central
  8. The Open Graph protocol
  9. Robots Meta Tags Specifications - Google Search Central
  10. Robots.txt Introduction and Guide - Google Search Central
  11. DAV Panorama 3/2026 – Alles außer Alpen
  12. H64: Using the title attribute of the iframe element | WAI | W3C
  13. <iframe> HTML inline frame element - HTML | MDN
  14. It's time to lazy-load offscreen iframes! | web.dev
  15. Fast Company Magazine Archives
  16. Functional Images | Web Accessibility Initiative (WAI) | W3C