Skip to content

Format pages: MP4 to MP3, Video to MP3, MP3 to WAV, WAV to MP3 (EN + ZH) - #22

Merged
formeo merged 1 commit into
mainfrom
format-pages
Oct 22, 2026
Merged

formeo merged 1 commit into
mainfrom
format-pages

Conversation

@formeo

@formeo formeo commented Oct 22, 2026

Copy link
Copy Markdown
Owner

Why

Bing Webmaster → AI performance, top opportunity queries in the site's topics: mp4 to mp3 (10K–50K citations), video to mp3, mp3 to wav, mpeg to mp3 (5K–10K each), wav to mp3 (1K–5K). Search Console agrees: the converter itself sits at position ~22 for generic queries. The converter already does all of these. What was missing were pages that answer these exact queries.

Pages

EN ZH Preselected
/mp4-to-mp3/ — MP4 to MP3 Converter — Free, No Upload /zh/mp4-to-mp3/ MP3
/video-to-mp3/ — Video to MP3 Converter — Extract Audio Free /zh/video-to-mp3/ MP3
/mp3-to-wav/ — MP3 to WAV Converter — Free, No Upload /zh/mp3-to-wav/ WAV
/wav-to-mp3/ — WAV to MP3 Converter — Free, No Upload /zh/wav-to-mp3/ MP3

Each page has:

  • a lead paragraph that answers the query directly — the form AI assistants quote;
  • 3 steps, page-specific sections and a FAQ (JSON-LD from the visible FAQ);
  • hreflang EN↔ZH, its own OG image, and links to the other conversions.

The copy is factual:

  • sizes come from bitrate × time (≈1 MB/min at 128 kbps, 1.4 at 192, 2.4 at 320) and CD-quality WAV (≈10.6 MB/min);
  • the MP4 page says only the sound is kept, and that AAC support depends on the browser;
  • the video page says it does not download from YouTube;
  • the MP3→WAV page says WAV does not improve quality.

How

  • scripts/build_landing.py builds the 8 pages from converter/index.html and zh/converter/index.html: the same converter code with a different head, hero and below-the-panel content. Re-run it after changing a converter page.
  • The converters read <body data-default-format> (one line each); without the attribute they behave as before.
  • The script also maintains a "Popular conversions / 常用转换" block on both converter pages (idempotent), and runs seo_sync.py.
  • Sitemap: 27 URLs. llms.txt, changelog and README updated; .conversions pill links added to style.css.

Checks (headless Chromium)

  • landing_e2e: 6 pages (EN + ZH) open with the right format chip active and the right button label; converting MP4 / WebM video / MP3 / WAV gives valid MP3 or WAV by ffprobe.
  • SEO scan: EN titles 55–60, descriptions 144–152, one H1, JSON-LD valid.
  • Links (25 pages), hreflang reciprocity incl. all 4 new pairs — the check caught a duplicate alternate block inherited from the hand-made Chinese converter, now stripped by the generator; 390px overflow, contrast: OK.
  • Converter matrix, batch, helper settings, GA4 events: OK.

Not included: mpeg to mp3 — MPEG-PS (.mpg/.mpeg) support needs checking first.


Generated by Claude Code

Bing AI performance: "mp4 to mp3" (10K–50K citations), "video to mp3",
"mp3 to wav", "mpeg to mp3" (5K–10K), "wav to mp3" (1K–5K) are the top
opportunity queries in the site's topics; the converter already does all of it.

- scripts/build_landing.py builds 8 pages from converter/index.html and
  zh/converter/index.html: own title, description, H1, lead that answers the
  query in one paragraph, 3 steps, sections, FAQ (JSON-LD via seo_sync) and
  hreflang pairs; same converter code, output format preselected through
  <body data-default-format> (the converters read it). Re-run after changing a
  converter page. It also keeps a "Popular conversions" block on both converters.
- Copy is factual: sizes from bitrate × time and CD-quality WAV, what happens to
  the video, AAC support by browser, no YouTube downloads, MP3 to WAV does not
  improve quality.
- og/ previews for all 8, sitemap (27 URLs), llms.txt, changelog, README;
  .conversions link style.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016rsS6JgzjZXLy17J1cgACN
@formeo
formeo merged commit 5cd1c19 into main Oct 22, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants