Understanding WordPress(framework?) Web Development

That site probably uses the Roots Bedrock framework, which moves the theme/plugin folders around into an app subfolder. This is mainly due to the preference of that framework though, rather than for any structural benefit.

It’s also possible they use standard WordPress but have renamed wp-content using constants in wp-config.php , e.g.

define('WP_CONTENT_URL', 'https://example.com/app');
define('WP_CONTENT_DIR', '/var/www/example.com/public_html/app/');

Why Change the wp-content directory location?

If you want to use a git submodule to install WordPress, or a package manager such as composer, having WordPress in a subfolder on its own makes it easier to update and install.

This necessitates moving wp-content out of that folder though to avoid nested folders. E.g composer updates packages by deleting them and installing the new version, which would destroy all uploaded files, plugins, and themes.

So instead, you might have a folder structure like this:

 - wordpress ( sometimes wp )
 - wp-content
   - themes
   - plugins
   - etc..
 - wp-config.php
 - index.php

Such a setup requires more steps to set up than a normal WordPress install however, and isn’t well suited for most use cases and hosts. If you’re using the auto-updater to keep WordPress up to date and don’t use a site-wide version control, or use WP CLI to update WordPress, then you won’t see many benefits by moving to this setup.

As for why Bedrock does it that way, the answer is simple, the maintainers prefer those folder names and organisation. Other than that Bedrock provides a local environment, but not much else. It’s a boilerplate for setting up WordPress. For more info or if you have questions about Bedrock, you should visit https://roots.io/bedrock/ and ask in their community