{"id":30093,"date":"2024-11-12T12:39:31","date_gmt":"2024-11-12T12:39:31","guid":{"rendered":"https:\/\/www.seobility.net\/en\/blog\/wiki\/pwa-progressive-web-apps\/"},"modified":"2025-06-16T11:48:16","modified_gmt":"2025-06-16T11:48:16","slug":"pwa-progressive-web-apps","status":"publish","type":"wiki","link":"https:\/\/www.seobility.net\/en\/wiki\/pwa-progressive-web-apps","title":{"rendered":"PWA (Progressive Web Apps)"},"content":{"rendered":"<h2><span class=\"mw-headline\" id=\"Definition\">Definition<\/span><\/h2>\n<p>Progressive web apps (PWAs) are web apps that look, feel, and behave like native apps. Instead of a clear distinction between a native app you download and a web app you access through a browser, progressive web apps sit somewhere between the two, with the goal of providing a native-like app experience while maintaining a single code base that runs on all devices.\n<\/p>\n<p>A native app is an app that runs directly on your device, like a phone or PC. It has to be developed specifically for that platform, but that also means that it can take full advantage of your device&#8217;s capabilities. A web app is built for the web and run through a web browser. This means it can run on any device that supports a web browser, without the need to maintain device-specific code bases. On the other hand, its feature set is more limited, as it also cannot take advantage of device-specific features.\n<\/p>\n<p>A progressive web app is built for the browser, using web technologies like HTML, CSS, and Javascript, but can also access device hardware, send push notifications, and function like a native app.\n<\/p>\n<p><img decoding=\"async\" alt=\"Trivago PWA\" src=\"\/en\/wiki\/images\/thumb\/0\/0d\/PWA-example.jpg\/250px-PWA-example.jpg\" title=\"Example of a progressive web app\" width=\"250\" height=\"542\" class=\"thumbborder\" srcset=\"\/en\/wiki\/images\/thumb\/0\/0d\/PWA-example.jpg\/375px-PWA-example.jpg 1.5x, \/en\/wiki\/images\/thumb\/0\/0d\/PWA-example.jpg\/500px-PWA-example.jpg 2x\" \/>\n<\/p>\n<p>Example of a PWA of <a rel=\"nofollow\" class=\"external text\" href=\"https:\/\/www.trivago.com\/\">trivago.com<\/a>\n<\/p>\n<h2><span class=\"mw-headline\" id=\"Characteristics_of_progressive_web_apps\">Characteristics of progressive web apps<\/span><\/h2>\n<p>Any web app is capable of becoming a progressive web app, as PWAs are built using the same technology, like HTML, CSS, and Javascript. However, PWAs behave and function differently from websites in a number of ways.\n<\/p>\n<p>At a structural level, PWAs contain a manifest file in JSON format. This is a file containing metadata about your app, such as its name and icon. The manifest is used so that your app can be added to the home screen of devices and treated as a native app by the user. PWAs will open like a native app, but they are actually a dedicated browser tab.\n<\/p>\n<p>PWAs need to be lightweight. They must match the performance of native apps, so they need to load quickly while delivering the same cross-device experience, whether a user is on a mobile phone or desktop PC. They do this by relying heavily on micro-services.\n<\/p>\n<p>Micro-services are a way of breaking app functions down into discrete tasks that can run independently of the rest of the app. This is mostly for processing tasks and to both send and receive data, but they can also be used to provide offline functionality to apps.\n<\/p>\n<p>These tasks are called service workers. They are a type of web worker and are treated as threads separate to the browser, which makes them useful for computationally intensive tasks, or when connections are poor. Instead of slowing down the user experience, these tasks are offloaded to a process that runs in the background. Once the task is completed, the app can retrieve the result, all without interrupting the user experience.\n<\/p>\n<p>Service workers are installed on the device using a standard web worker API. A typical use for a service worker is to monitor and send push notifications. The user experience is not impacted when checking for new notifications, and it can run even when the user is not using your app.\n<\/p>\n<h2><span class=\"mw-headline\" id=\"What_can_PWAs_be_used_for.3F\">What can PWAs be used for?<\/span><\/h2>\n<p>Progressive web apps are typically used with apps that function as software as a service; they are apps for services that exist on the cloud and are intended to be accessible anywhere from any device.\n<\/p>\n<p>A well-known example of a progressive web app is Facebook. When users visit the Facebook website on a PWA compatible device, a notification will pop up that will allow the user to install Facebook as an app on their device. It will then live on the user&#8217;s home screen and open up a dedicated browser window for Facebook&#8217;s app when launched. PWAs are very good for branding and many PWAs see increased user engagement rates and lower <a href=\"\/en\/wiki\/Bounce_Rate\" title=\"Bounce Rate\">bounce rates<\/a> as compared to website sessions.\n<\/p>\n<h2><span class=\"mw-headline\" id=\"How_do_progressive_web_apps_work.3F\">How do progressive web apps work?<\/span><\/h2>\n<p>PWAs rely on a number of technologies to provide the functionality and experience of a native app. In addition to the manifest file and use of service workers, many also make use of Web Storage and WebAssembly technologies.\n<\/p>\n<p>Web Storage provides key-value database storage functionality using local device storage, which allows for both per-session and persistent data storage. Not only does this allow you to offload data storage onto the user&#8217;s device, but it also means that data retrieval is much faster and it can also work while the user is offline.\n<\/p>\n<p>WebAssembly allows for precompiled code to run in the web browser. This means that code written in languages like C, C++, and Java can be used in a PWA. This can be useful in tandem with web workers, as it allows PWAs to offload processor-intensive tasks from user devices to remote servers and into programming languages that are more efficient at specific tasks than Javascript, all without slowing down the user experience.\n<\/p>\n<h2><span class=\"mw-headline\" id=\"Importance_of_PWAs_for_SEO\">Importance of PWAs for SEO<\/span><\/h2>\n<p>Progressive web apps do not inherently benefit SEO, but the proper implementation of best practices can ensure a PWA is just as well-optimized for SEO as your website. Developers must be careful, due to a problem that also affects single-page apps.\n<\/p>\n<p>Traditional websites render on a server and send the entire HTML document to the client. Clicking links results in moving to a different page, which loads a new HTML document. Search engines can scan and <a href=\"\/en\/wiki\/Indexing\" title=\"Indexing\">index<\/a> these documents for content, like <a href=\"\/en\/wiki\/Keyword\" title=\"Keyword\">keywords<\/a>, and use them in relevant search results.\n<\/p>\n<p>PWAs and single page applications move most of the <a href=\"\/en\/wiki\/Rendering\" title=\"Rendering\">rendering<\/a> to the client side, while new data is updated live and in discrete units, without requiring the user to change or refresh the whole page. Initially, search engines had trouble scanning and indexing PWAs, as they expected web pages to have unique <a href=\"\/en\/wiki\/URL\" title=\"URL\">URLs<\/a> to index.\n<\/p>\n<p>However, search engine technology has matured thanks to the <a href=\"\/en\/wiki\/HTML5\" title=\"HTML5\">HTML5<\/a> history API. This provides a way for PWAs to generate a linkable URL. A linkable URL enables search engine indexing and can direct users to the correct content directly within your progressive app.\n<\/p>\n<h2><span class=\"mw-headline\" id=\"Related_links\">Related links<\/span><\/h2>\n<ul>\n<li> <a rel=\"nofollow\" class=\"external free\" href=\"https:\/\/web.dev\/progressive-web-apps\/\">https:\/\/web.dev\/progressive-web-apps\/<\/a><\/li>\n<li> <a rel=\"nofollow\" class=\"external free\" href=\"https:\/\/brainhub.eu\/blog\/advantages-disadvantages-progressive-web-apps\/\">https:\/\/brainhub.eu\/blog\/advantages-disadvantages-progressive-web-apps\/<\/a><\/li>\n<\/ul>\n<h2><span class=\"mw-headline\" id=\"Similar_articles\">Similar articles<\/span><\/h2>\n<ul>\n<li> <a href=\"\/en\/wiki\/amp-accelerated-mobile-pages\" title=\"AMP (Accelerated Mobile Pages)\">AMP (Accelerated Mobile Pages)<\/a><\/li>\n<li> <a href=\"\/en\/wiki\/app-store-optimization-aso\" title=\"App Store Optimization (ASO)\">App Store Optimization (ASO)<\/a><\/li>\n<\/ul>\n<p><script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"Article\",\n  \"author\": {\n    \"@type\": \"Organization\",\n    \"name\": \"Seobility\",\n    \"url\": \"https:\/\/www.seobility.net\/\"\n  }\n}\n<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Definition Progressive web apps (PWAs) are web apps that look, feel, and behave like native apps. Instead of a clear distinction between a native app you download and a web app you access through a browser, progressive web apps sit somewhere between the two, with the goal of providing a native-like app experience while maintaining [&hellip;]<\/p>\n","protected":false},"author":38,"featured_media":0,"comment_status":"open","ping_status":"open","template":"","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"class_list":["post-30093","wiki","type-wiki","status-publish","hentry","wiki_categories-web-development"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>What is a PWA and what can it be used for? - Seobility Wiki<\/title>\n<meta name=\"description\" content=\"Progressive web apps (PWAs) are web apps that look, feel, and behave like native apps. Learn more ...\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.seobility.net\/en\/wiki\/pwa-progressive-web-apps\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"What is a PWA and what can it be used for? - Seobility Wiki\" \/>\n<meta property=\"og:description\" content=\"Progressive web apps (PWAs) are web apps that look, feel, and behave like native apps. Learn more ...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.seobility.net\/en\/wiki\/pwa-progressive-web-apps\" \/>\n<meta property=\"og:site_name\" content=\"Seobility\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/seobility.net\/\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-16T11:48:16+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.seobility.net\/wp-content\/uploads\/2025\/06\/seobility-og-image.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@seobility_net\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"ScholarlyArticle\",\"@id\":\"https:\\\/\\\/www.seobility.net\\\/en\\\/wiki\\\/pwa-progressive-web-apps#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.seobility.net\\\/en\\\/wiki\\\/pwa-progressive-web-apps\"},\"author\":{\"name\":\"Seobility Wiki Team\",\"@id\":\"https:\\\/\\\/www.seobility.net\\\/en\\\/#\\\/schema\\\/person\\\/c838e66a3b46262b4c963df5cd5b2d8a\"},\"headline\":\"PWA (Progressive Web Apps)\",\"datePublished\":\"2024-11-12T12:39:31+00:00\",\"dateModified\":\"2025-06-16T11:48:16+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.seobility.net\\\/en\\\/wiki\\\/pwa-progressive-web-apps\"},\"wordCount\":1037,\"commentCount\":0,\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.seobility.net\\\/en\\\/wiki\\\/pwa-progressive-web-apps#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.seobility.net\\\/en\\\/wiki\\\/pwa-progressive-web-apps\",\"url\":\"https:\\\/\\\/www.seobility.net\\\/en\\\/wiki\\\/pwa-progressive-web-apps\",\"name\":\"What is a PWA and what can it be used for? - Seobility Wiki\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.seobility.net\\\/en\\\/#website\"},\"datePublished\":\"2024-11-12T12:39:31+00:00\",\"dateModified\":\"2025-06-16T11:48:16+00:00\",\"description\":\"Progressive web apps (PWAs) are web apps that look, feel, and behave like native apps. Learn more ...\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.seobility.net\\\/en\\\/wiki\\\/pwa-progressive-web-apps#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.seobility.net\\\/en\\\/wiki\\\/pwa-progressive-web-apps\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.seobility.net\\\/en\\\/wiki\\\/pwa-progressive-web-apps#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.seobility.net\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Wiki\",\"item\":\"https:\\\/\\\/www.seobility.net\\\/en\\\/wiki\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"PWA (Progressive Web Apps)\",\"item\":\"https:\\\/\\\/www.seobility.net\\\/en\\\/wp-json\\\/wp\\\/v2\\\/wiki\\\/30093\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.seobility.net\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/www.seobility.net\\\/en\\\/\",\"name\":\"Seobility\",\"description\":\"Online SEO Software &amp; Tools For Better Rankings\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.seobility.net\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.seobility.net\\\/en\\\/#\\\/schema\\\/person\\\/c838e66a3b46262b4c963df5cd5b2d8a\",\"name\":\"Seobility Wiki Team\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.seobility.net\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/Seobility-S-2025-150x150.png\",\"url\":\"https:\\\/\\\/www.seobility.net\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/Seobility-S-2025-150x150.png\",\"contentUrl\":\"https:\\\/\\\/www.seobility.net\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/Seobility-S-2025-150x150.png\",\"caption\":\"Seobility Wiki Team\"},\"description\":\"The Seobility Wiki team consists of seasoned SEOs, digital marketing professionals, and business experts with combined hands-on experience in SEO, online marketing and web development. All our articles went through a multi-level editorial process to provide you with the best possible quality and truly helpful information. Learn more about the people behind the Seobility Wiki.\",\"url\":\"https:\\\/\\\/www.seobility.net\\\/en\\\/blog\\\/author\\\/seobility-wiki-team\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"What is a PWA and what can it be used for? - Seobility Wiki","description":"Progressive web apps (PWAs) are web apps that look, feel, and behave like native apps. Learn more ...","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.seobility.net\/en\/wiki\/pwa-progressive-web-apps","og_locale":"en_US","og_type":"article","og_title":"What is a PWA and what can it be used for? - Seobility Wiki","og_description":"Progressive web apps (PWAs) are web apps that look, feel, and behave like native apps. Learn more ...","og_url":"https:\/\/www.seobility.net\/en\/wiki\/pwa-progressive-web-apps","og_site_name":"Seobility","article_publisher":"https:\/\/www.facebook.com\/seobility.net\/","article_modified_time":"2025-06-16T11:48:16+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.seobility.net\/wp-content\/uploads\/2025\/06\/seobility-og-image.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_site":"@seobility_net","twitter_misc":{"Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"ScholarlyArticle","@id":"https:\/\/www.seobility.net\/en\/wiki\/pwa-progressive-web-apps#article","isPartOf":{"@id":"https:\/\/www.seobility.net\/en\/wiki\/pwa-progressive-web-apps"},"author":{"name":"Seobility Wiki Team","@id":"https:\/\/www.seobility.net\/en\/#\/schema\/person\/c838e66a3b46262b4c963df5cd5b2d8a"},"headline":"PWA (Progressive Web Apps)","datePublished":"2024-11-12T12:39:31+00:00","dateModified":"2025-06-16T11:48:16+00:00","mainEntityOfPage":{"@id":"https:\/\/www.seobility.net\/en\/wiki\/pwa-progressive-web-apps"},"wordCount":1037,"commentCount":0,"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.seobility.net\/en\/wiki\/pwa-progressive-web-apps#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.seobility.net\/en\/wiki\/pwa-progressive-web-apps","url":"https:\/\/www.seobility.net\/en\/wiki\/pwa-progressive-web-apps","name":"What is a PWA and what can it be used for? - Seobility Wiki","isPartOf":{"@id":"https:\/\/www.seobility.net\/en\/#website"},"datePublished":"2024-11-12T12:39:31+00:00","dateModified":"2025-06-16T11:48:16+00:00","description":"Progressive web apps (PWAs) are web apps that look, feel, and behave like native apps. Learn more ...","breadcrumb":{"@id":"https:\/\/www.seobility.net\/en\/wiki\/pwa-progressive-web-apps#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.seobility.net\/en\/wiki\/pwa-progressive-web-apps"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.seobility.net\/en\/wiki\/pwa-progressive-web-apps#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.seobility.net\/en\/"},{"@type":"ListItem","position":2,"name":"Wiki","item":"https:\/\/www.seobility.net\/en\/wiki"},{"@type":"ListItem","position":3,"name":"PWA (Progressive Web Apps)","item":"https:\/\/www.seobility.net\/en\/wp-json\/wp\/v2\/wiki\/30093"}]},{"@type":"WebSite","@id":"https:\/\/www.seobility.net\/en\/#website","url":"https:\/\/www.seobility.net\/en\/","name":"Seobility","description":"Online SEO Software &amp; Tools For Better Rankings","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.seobility.net\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.seobility.net\/en\/#\/schema\/person\/c838e66a3b46262b4c963df5cd5b2d8a","name":"Seobility Wiki Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.seobility.net\/wp-content\/uploads\/2025\/06\/Seobility-S-2025-150x150.png","url":"https:\/\/www.seobility.net\/wp-content\/uploads\/2025\/06\/Seobility-S-2025-150x150.png","contentUrl":"https:\/\/www.seobility.net\/wp-content\/uploads\/2025\/06\/Seobility-S-2025-150x150.png","caption":"Seobility Wiki Team"},"description":"The Seobility Wiki team consists of seasoned SEOs, digital marketing professionals, and business experts with combined hands-on experience in SEO, online marketing and web development. All our articles went through a multi-level editorial process to provide you with the best possible quality and truly helpful information. Learn more about the people behind the Seobility Wiki.","url":"https:\/\/www.seobility.net\/en\/blog\/author\/seobility-wiki-team\/"}]}},"_links":{"self":[{"href":"https:\/\/www.seobility.net\/en\/wp-json\/wp\/v2\/wiki\/30093","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.seobility.net\/en\/wp-json\/wp\/v2\/wiki"}],"about":[{"href":"https:\/\/www.seobility.net\/en\/wp-json\/wp\/v2\/types\/wiki"}],"author":[{"embeddable":true,"href":"https:\/\/www.seobility.net\/en\/wp-json\/wp\/v2\/users\/38"}],"replies":[{"embeddable":true,"href":"https:\/\/www.seobility.net\/en\/wp-json\/wp\/v2\/comments?post=30093"}],"version-history":[{"count":0,"href":"https:\/\/www.seobility.net\/en\/wp-json\/wp\/v2\/wiki\/30093\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.seobility.net\/en\/wp-json\/wp\/v2\/media?parent=30093"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}