Mobile · Checked once per domain
Web App Manifest (manifest.json)What it checks and how to fix it
What it checks
Looks for a link rel="manifest" on the homepage, fetches the file and parses it. A missing link, a manifest that does not answer 200, or one that is not valid JSON fails; a manifest without name or icons is a warning; a valid manifest with both passes.
Why it matters
The web app manifest tells browsers how to present the site when it is installed or added to a home screen: its name, icons, colors and start URL. Without it, Android and desktop Chrome will not offer installation, and the saved shortcut uses a generic name and icon. It is also a prerequisite for a progressive web app.
How to fix it
Create a manifest and link it from every page:
<link rel="manifest" href="/manifest.webmanifest">
{
"name": "Acme Analytics",
"short_name": "Acme",
"start_url": "/",
"display": "standalone",
"background_color": "#ffffff",
"theme_color": "#2563eb",
"icons": [
{ "src": "/icon-192.png", "sizes": "192x192", "type": "image/png" },
{ "src": "/icon-512.png", "sizes": "512x512", "type": "image/png" }
]
}
Serve it with the right content type. nginx:
types { application/manifest+json webmanifest; }
Rails 7.2+ ships a manifest at app/views/pwa/manifest.json.erb; uncomment the pwa#manifest route in config/routes.rb and the <link rel="manifest"> tag in the layout.