Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

How I Built a Multilingual Instagram Downloader with Pure PHP (No Framework)

Description and use

A lightweight PHP app that downloads Instagram media, supports 16 languages, and deploys on Heroku without a framework.

Problem

Develop a lightweight, multilingual Instagram downloader that can be deployed on shared hosting or Heroku without the overhead of a full PHP framework.

Outcome

The application runs on Heroku’s free tier, loads in ~120 ms, has a 45 KB page weight, achieves Lighthouse performance 95+, and supports 260 URLs across 16 languages without any npm or framework dependencies.

Workflow

  • 1. Create a single index.php entry point and use .htaccess rewrites to route all requests to it.
  • 2. Parse the request URI in index.php to determine language code and page slug.
  • 3. Load language translations from per‑language PHP files that return nested arrays, merging common strings with page‑specific ones.
  • 4. Generate Schema.org JSON‑LD for each tool page and output hreflang links for all 16 languages.
  • 5. Build a sitemap with xhtml:link entries for each language variant.
  • 6. Deploy to Heroku using a Procfile line: "web: vendor/bin/heroku-php-apache2".
  • 7. Serve media downloads after fetching from Instagram.
  • 8. Monitor performance (First Byte ~120ms, Lighthouse 95+).

Evidence

I went the opposite direction I built iGram.pk, a free Instagram downloader that supports 16 languages, using nothing but vanilla PHP, .htaccess routing, and a clean file structure.

Source

First Byte Time: ~120ms Total page weight: ~45KB (including CSS and JS) Lighthouse Performance: 95+

Source

  • Record date: 2026-10-10T11:41:25.846Z