Title: sustainability – Make WordPress Core

---

#  Tag Archives: sustainability

 [  ](https://profiles.wordpress.org/adamsilverstein/) [Adam Silverstein](https://profiles.wordpress.org/adamsilverstein/)
8:07 pm _on_ February 22, 2024     
Tags: [core ( 756 )](https://make.wordpress.org/core/tag/core/),
sustainability, [trac ( 62 )](https://make.wordpress.org/core/tag/trac/)   

# 󠀁[Introducing the WordPress Core Trac Sustainability Focus](https://make.wordpress.org/core/2024/02/22/introducing-the-wordpress-core-trac-sustainability-focus/)󠁿

## Sustainability for WordPress CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.

One component of the [WordPress Sustainability Team](https://make.wordpress.org/sustainability/)’
s effort is to improve the sustainability of our codebase, which led to the creation
of a [Sustainability Focus](https://core.trac.wordpress.org/focus/sustainability)
on the WordPress core TracTrac An open source project by Edgewall Software that 
serves as a bug tracker and project management tool for WordPress. bugbug A bug 
is an error or unexpected result. Performance improvements, code optimization, and
are considered enhancements, not defects. After feature freeze, only bugs are dealt
with, with regressions (adverse changes from the previous version) being the highest
priority. tracker.

## What does sustainability mean from a code perspective?

For this post, the emphasis is on sustainable or “green” coding which focuses on
minimizing the environmental impact of software development and execution. It encompasses
practices like:

 * Optimizing algorithms and data structures to use fewer resources (Database calls,
   CPU, memory) during execution, leading to lower energy consumption.
 * Reusing resources with caching.

A good reference for understanding the full scope of web sustainability is the [Web Sustainability Guidelines (WSG)](https://w3c.github.io/sustyweb/).

## Tracking sustainability improvements in WordPress core

The [sustainability focus](https://core.trac.wordpress.org/focus/sustainability)
was created to provide a central way to track discussions for core code level initiatives
related to sustainability.  Any ticketticket Created for both bug reports and feature
development on the bug tracker. that has a sustainability element can be added to
the focus by contributors. Having a set of tickets tagged in the focus enables contributors
who want to work on sustainability to find appropriate tickets and allows the Sustainability
Team to track initiatives in core.

## Saving by doing less

The [first ticket fixed](https://core.trac.wordpress.org/ticket/58494) in the sustainability
focus involved removing an unnecessary process that was running twice a day on every
site running WordPress to check if a site supports `https`. We fixed this by switching
this feature to an on-demand check that only runs when users visit the Site Health
section of wp-adminadmin (and super admin). Even though the `https` check was a 
small bit of code, the impact of removing these extraneous checks is enormous because
of the huge footprint of WordPress on the web.

## How you can Help

Since the sustainability focus is new, tagging existing tickets with the focus is
important at this stage. This would be a great contributor dayContributor Day Contributor
Days are standalone days, frequently held before or after WordCamps but they can
also happen at any time. They are events where people get together to work on various
areas of [https://make.wordpress.org/](https://make.wordpress.org/) There are many
teams that people can participate in, each with a different focus. [https://make.wordpress.org/support/handbook/getting-started/getting-started-at-a-contributor-day/](https://make.wordpress.org/support/handbook/getting-started/getting-started-at-a-contributor-day/)
activity! Also, during bug triagetriage The act of evaluating and sorting bug reports,
in order to decide priority, severity, and other factors. sessions, any ticket that
has a sustainability impact can be added to the focus. This helps organize the effort
and show where we have work to do. Secondarily, picking up any tickets that are 
already tagged in the focus is always welcome. Contributors who want to work on 
sustainability in core can head right to the focus.

---

Thanks to [@tweetythierry](https://profiles.wordpress.org/tweetythierry/) and [@Nahuai](https://profiles.wordpress.org/nahuai/)
for reviewing this post.

[#core](https://make.wordpress.org/core/tag/core/), [#sustainability](https://make.wordpress.org/core/tag/sustainability/),
[#trac](https://make.wordpress.org/core/tag/trac/)

 [  ](https://profiles.wordpress.org/aristath/) [Ari Stathopoulos](https://profiles.wordpress.org/aristath/)
6:09 am _on_ September 12, 2022     
Tags: [database ( 7 )](https://make.wordpress.org/core/tag/database/),
[install ( 4 )](https://make.wordpress.org/core/tag/install/), [performance ( 419 )](https://make.wordpress.org/core/tag/performance/),
sustainability   

# 󠀁[Let’s make WordPress officially support SQLite](https://make.wordpress.org/core/2022/09/12/lets-make-wordpress-officially-support-sqlite/)󠁿

WordPress can be (and is) used for any kind of site, regardless of size or complexity.
Some common use-cases include:

 * Single-page landing sites
 * Simple company sites with just a few pages. These sites are usually rarely updated
   and are essentially static sites with an administration aspect.
 * Simple, single-user blogs
 * Complex news sites
 * e-Commerce sites
 * Full-fledged CMS solutions

Part of the success of WordPress is because it is extendable, hookable, and can 
be used and tweaked to accomplish almost any task on the web.

However, one aspect of WordPress has never changed, regardless of the increase in
WP’s use cases and popularity: The database. WordPress requires MySQLMySQL MySQL
is a relational database management system. A database is a structured collection
of data where content, configuration and other options are stored. [https://www.mysql.com](https://www.mysql.com/)/
MariaDB to be installed on a site. MySQL is arguably only optimal for some of the
scenarios: The “mid-tier” range of site types.

Large sites usually implement custom database stacks depending on their specific
needs, so are beyond the scope of this proposal.

On the lower end of the spectrum, there are small and simple sites. These are numerous
and consist of all the blogs, company pages, and sites that don’t have thousands
of users or thousands of posts, etc. These websites don’t always need the complexities
of a MySQL/MariaDB database. The requirement of a dedicated MySQL server increases
their hosting cost and the complexity of installation. On lower-end servers, it 
also decreases performance since the same “box” needs to cater to both a PHPPHP 
The web scripting language in which WordPress is primarily architected. WordPress
requires PHP 7.4 or higher and a MySQL/MariaDB server.

## The ideal scenario

Ideally, WordPress would allow us to choose the type of database during installation.
That could be done using an installation guide, or a simple constant in wp-config.
php. To accomplish that, WordPress would need to have a database-abstraction layer.
This is not an innovative or radical idea in the CMS space; Drupal has had a solid
database-abstraction layer for more than a decade. Laravel, Symfony, and others 
also include ORMs that allow using multiple database types.

Building a database abstraction layer for WordPress would be a colossal task – though
it might be one that, at some point in the future, we may have to undertake to ensure
the project’s continued evolution and longevity.

## A middle ground

As a middle ground, we could implement a solution for the bottom tier: small to 
medium sites and blogs. These sites don’t necessarily need a full-fledged MySQL 
database.

SQLite seems to be the perfect fit:

 * It is the most widely used database worldwide
 * It is cross-platform and can run on any device
 * It is included by default on all PHP installations (unless explicitly disabled)
 * WordPress’s minimum requirements would be a simple PHP server, without the need
   for a separate database server. 
 * SQLite support enables lower hosting costs, decreases energy consumption, and
   lowers performance costs on lower-end servers.

## Implementing SQLite in WordPress CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.

Using SQLite in WordPress is, at this point, simple; There are implementations out
there that have been around and evolving for more than 8 years. They have been thoroughly
tested and proved to work seamlessly. These implementations are drop-in `wp-content/
db.php` files that users can add to their installation; they are not hard to use.

However, most people are not aware of them. They are not aware that they have the
option to buy cheaper hosting sans-mysql and then install WordPress using an SQLite
database. Nor should they have to know about it… After all, they just want a simple
company site or a blogblog (versus network, site). 

WordPress could officially support SQLite by including one of the existing SQLite
implementations in Core. We would need to ensure that it is properly tested and 
supported, and additionally, raise awareness and expose the option to users.

## Why should this be in Core and not a pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory 󠀁[https://wordpress.org/plugins/](https://wordpress.org/plugins/)󠁿 or can be cost-based plugin from a third-party.? 

Picking a database type is something that should happen when a site is first installed.
It is not something that should be done after the fact because that would require
migrating data from one database to another, which can often be complex. 

WordPress includes the MySQL implementation in Core, so if we support SQLite then
that implementation should live alongside it. 

Data migrationMigration Moving the code, database and media files for a website 
site from one server to another. Most typically done when changing hosting companies.
can (and should) be in a plugin to facilitate migrations for existing sites should
they wish to do that, but the database engine itself belongs in Core. 

That will ensure that the implementation is properly supported, properly tested,
and WordPress will be able to benefit, as detailed in the following section.

## What would the benefits of SQLite be?

Officially supporting SQLite in WordPress could have many benefits. Some notable
ones would include:

 * Increased performance on lower-end servers and environments.
 * Potential for WordPress growth in markets where we did not have access due to
   the system’s requirements.
 * Potential for growth in the hosting market using installation “scenarios”.
 * Reduced energy consumption – increased sustainability for the WordPress project.
 * Further WordPress’s mission to “democratize publishing” for everyone.
 * Easier to contribute to WordPress – download the files and run the built-in PHP
   server without any other setup required.
 * Easier to use automated tests suite.
 * Sites can be “portable” and self-contained.

## Next steps

The next steps would need to be discussed in the comments section of this proposal.
If there is consensus to implement SQLite in WordPress Core, an outline of the next
steps would look something like this:

 * Create the necessary TracTrac An open source project by Edgewall Software that
   serves as a bug tracker and project management tool for WordPress. tickets

 * Decide how the database type would be defined. The most simple scenario would
   be a `DATABASE_TYPE` constant in `wp-config.php`, allowing users to choose if
   their new site would use a MySQL or SQLite database, but there can be other solutions
   that come up during a later discussion.
 * Port an SQLite implementation to WordPress Core, applying the necessary changes
   like coding standards, in-code documentation, migrate tests, etc.
 * Test WordPress Core functionality with SQLite
 * Outreach to plugin developers for testing.

_The subject of database abstractions and using SQLite was discussed at length during
WCEU 2022, in an unofficial capacity, in the hallways. This post is a distilled 
culmination of these conversations to bring the discussion to the broader community
for serious consideration._

Props [@zieladam](https://profiles.wordpress.org/zieladam/), [@mamaduka](https://profiles.wordpress.org/mamaduka/),
[@jonoaldersonwp](https://profiles.wordpress.org/jonoaldersonwp/), [@tweetythierry](https://profiles.wordpress.org/tweetythierry/),
[@SergeyBiryukov](https://profiles.wordpress.org/sergeybiryukov/), [@joostdevalk](https://profiles.wordpress.org/joostdevalk/),
[@dingo_d](https://profiles.wordpress.org/dingo_d/), [@desmith](https://profiles.wordpress.org/desmith/),
[@crixu](https://profiles.wordpress.org/crixu/), [@williampatton](https://profiles.wordpress.org/williampatton/),
[@costdev](https://profiles.wordpress.org/costdev/), [@adamsilverstein](https://profiles.wordpress.org/adamsilverstein/),
[@JavierCasares](https://profiles.wordpress.org/javiercasares/), [@robinwpdeveloper](https://profiles.wordpress.org/robinwpdeveloper/),
[@aaemnnosttv](https://profiles.wordpress.org/aaemnnosttv/), [@jessibelle](https://profiles.wordpress.org/jessibelle/)
for reviewing and contributing to this proposal.

[#database](https://make.wordpress.org/core/tag/database/), [#install](https://make.wordpress.org/core/tag/install/),
[#performance](https://make.wordpress.org/core/tag/performance/), [#sustainability](https://make.wordpress.org/core/tag/sustainability/)

 [  ](https://profiles.wordpress.org/laurora/) [Laura Nelson](https://profiles.wordpress.org/laurora/)
12:39 pm _on_ September 17, 2020     
Tags: [5.6 ( 85 )](https://make.wordpress.org/core/tag/5-6/),
[design ( 27 )](https://make.wordpress.org/core/tag/design/), [dev chat ( 932 )](https://make.wordpress.org/core/tag/dev-chat/),
[summary ( 980 )](https://make.wordpress.org/core/tag/summary/), sustainability 

# 󠀁[Dev Chat Summary: September 16 2020](https://make.wordpress.org/core/2020/09/17/dev-chat-summary-september-16-2020/)󠁿

Greetings! Here’s what happened in the coreCore Core is the set of software required
to run WordPress. The Core Development Team builds WordPress. dev chat on Wednesday,
September 16, 2020, 05:00 UTC and Wednesday, September 16, 2020, 20:00 UTC, following
this [agenda](https://make.wordpress.org/core/2020/09/15/dev-chat-agenda-september-16th-2020/).

**05:00 UTC core dev chat**

[@thewebprincess](https://profiles.wordpress.org/thewebprincess/) facilitated the
meeting and took notes. [Find the full Slack archive here](https://wordpress.slack.com/archives/C02RQBWTW/p1600232433154700).

**20:00 UTC core dev chat**

[@thelmachido](https://profiles.wordpress.org/thelmachido/) facilitated the meeting
and [@laurora](https://profiles.wordpress.org/laurora/) took notes. [The full Slack archive can be viewed here](https://wordpress.slack.com/archives/C02RQBWTW/p1600286453352500).

Both groups followed this agenda: [https://make.wordpress.org/core/2020/09/15/dev-chat-agenda-september-16th-2020/](https://make.wordpress.org/core/2020/09/15/dev-chat-agenda-september-16th-2020/)

## Announcements

[@pbiron](https://profiles.wordpress.org/pbiron/) shared that there will be an Upgrade/
Install component bugbug A bug is an error or unexpected result. Performance improvements,
code optimization, and are considered enhancements, not defects. After feature freeze,
only bugs are dealt with, with regressions (adverse changes from the previous version)
being the highest priority. scrub [today (September 17) at 18:00 UTC](https://www.timeanddate.com/worldclock/fixedtime.html?iso=20200917T1800).
Everyone is welcome to attend! More info can be found here: [https://make.wordpress.org/core/2020/09/16/upgrade-install-component-bug-scrub-for-wordpress-5-6](https://make.wordpress.org/core/2020/09/16/upgrade-install-component-bug-scrub-for-wordpress-5-6)

[@flixos90](https://profiles.wordpress.org/flixos90/) would like more thoughts and
feedback on a proposal to enhance image preview: [https://make.wordpress.org/core/2020/09/15/enhancing-image-preview-core-proposal/](https://make.wordpress.org/core/2020/09/15/enhancing-image-preview-core-proposal/).
Please leave your comments on the post.

Due to the speed WP5.6 is moving at, and some unexpected items (oEmbed & PHPPHP 
The web scripting language in which WordPress is primarily architected. WordPress
requires PHP 7.4 or higher 8.0), [@chanthaboune](https://profiles.wordpress.org/chanthaboune/)
has organized a meeting with the 5.6 release squad to discuss. This will take place
today (September 17) at 20:00 UTC. [@helen](https://profiles.wordpress.org/helen/)
proposed streaming the meeting and the squad is still deciding whether to do this.
In any case, notes will be taken and published.

## Highlighted Posts

A bug scrub was held before the 20:00 UTC dev chat: [https://make.wordpress.org/core/2020/09/15/i18n-component-bug-scrub-for-wordpress-5-6/](https://make.wordpress.org/core/2020/09/15/i18n-component-bug-scrub-for-wordpress-5-6/).
[@helen ](https://profiles.wordpress.org/helen/)explained that updates were left
on tickets reviewed from the TracTrac An open source project by Edgewall Software
that serves as a bug tracker and project management tool for WordPress. reports,
and [@justinahinon](https://profiles.wordpress.org/justinahinon/) added that progress
has been made on all i18ni18n Internationalization, or the act of writing and preparing
code to be fully translatable into other languages. Also see [localization](https://make.wordpress.org/core/tag/sustainability/?output_format=md#l10n).
Often written with a lowercase i so it is not confused with a lowercase L or the
numeral 1. Often an acquired skill. 5.6 slated tickets.

## Updates from Component Maintainers/Focus Leads

**Upgrade/Install**
Will explore adding some UIUI User interface elements to manage
email notifications on pluginPlugin A plugin is a piece of software containing a
group of functions that can be added to a WordPress website. They can extend functionality
or add new features to your WordPress websites. WordPress plugins are written in
the PHP programming language and integrate seamlessly with WordPress. These can 
be free in the WordPress.org Plugin Directory [https://wordpress.org/plugins/](https://wordpress.org/plugins/)
or can be cost-based plugin from a third-party. and theme auto-updates.[@audrasjb](https://profiles.wordpress.org/audrasjb/)
highlighted [the bug scrub](https://make.wordpress.org/core/2020/09/16/upgrade-install-component-bug-scrub-for-wordpress-5-6)
taking place today (September 17) at 18:00 UTC.

**Privacy**
[@carike](https://profiles.wordpress.org/carike/) reported: “We have
been receiving a lot of feedback, for which we are very grateful. Will update tickets
over the next few days with more details on the proposed application design.”**Comments**
[@imath](https://profiles.wordpress.org/imath/) requested a second opinion on ticketticket
Created for both bug reports and feature development on the bug tracker. [#50521](https://core.trac.wordpress.org/ticket/50521),
and also shared that he’s been working with [@dshanske](https://profiles.wordpress.org/dshanske/)
on writing [a kick-off post](https://wordpress.slack.com/files/T024MFP4J/F019KDHDSQG?origin_team=T024MFP4J&origin_channel=C165PN7EX)
to launch a project to develop the WP Comment Types feature[ from a plugin](https://github.com/imath/wp-comment-types).
They would like guidance on how to make this post public on [make.wordpress.org/core](https://make.wordpress.org/core).

**Site Health**
[@clorith](https://profiles.wordpress.org/clorith/) shared that 
they’re doing some multisitemultisite Used to describe a WordPress installation 
with a network of multiple blogs, grouped by sites. This installation type has shared
users tables, and creates separate database tables for each blog (wp_posts becomes
wp_0_posts). See also **network**, **blog**, **site** work for this cycle and besides
that general bug watching.

**(Classic) Menus and Widgets**
[@audrasjb](https://profiles.wordpress.org/audrasjb/)
reviewed some tickets with a patchpatch A special text file that describes changes
to code, by identifying the files and lines which are added, removed, and altered.
It may also be referred to as a **diff**. A patch can be _applied_ to a codebase
for testing. and put a few of them into milestone 5.6.

**Build/Test Tools**
[@johnbillion](https://profiles.wordpress.org/johnbillion/)
noted the continued progress on PHP 8 compatibility.

**Design**
[@karmatosed](https://profiles.wordpress.org/karmatosed/) shared “A little
note if any components/focuses want design help this release just pop a keyword 
on or hop into [#design](https://make.wordpress.org/core/tag/design/). There’s an
awesome group of people ready to help this release so great to catch all those little
tickets and things.”

## Open Floor

[@bduclos](https://profiles.wordpress.org/bduclos/) asked if there are any mockups
of the new Twenty Twenty One theme available, and will the project be on GithubGitHub
GitHub is a website that offers online implementation of git repositories that can
easily be shared, copied and modified by other developers. Public repositories are
free to host, private repositories require a paid subscription. GitHub introduced
the concept of the ‘pull request’ where code changes done in branches by contributors
can be reviewed and discussed before being merged by the repository owner. [https://github.com/](https://github.com/).
[@melchoyce](https://profiles.wordpress.org/melchoyce/) will be sharing more details
about this in a post, due to be published soon. 
There was [a lot of discussion](https://wordpress.slack.com/archives/C02RQBWTW/p1600288405415800)
regarding the announcement from Facebook & Instagram that they’ll be dropping unauthenticated
oEmbed support; mainly around timing and how to communicate this update to WordPress
users. It was noted that the removal of those blocks in v9.0 of GutenbergGutenberg
The Gutenberg project is the new Editor Interface for WordPress. The editor improves
the process and experience of creating new content, making writing rich content 
much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML
etc. [https://wordpress.org/gutenberg/](https://wordpress.org/gutenberg/) is complete–
if need be it can be reverted. [@whyisjake](https://profiles.wordpress.org/whyisjake/)
volunteered to put a post together so that the conversation could be continued. 
There was an update in response to privacy/data deletion request in issue [#43437](https://core.trac.wordpress.org/ticket/43437).
It is not anticipated that there will much of a change to the current tools. Concluding
with it is not foreseen that there will be any significant breaking type changes
for the ticket.

A proposal was put forward to create a [#sustainability](https://make.wordpress.org/core/tag/sustainability/)
SlackSlack Slack is a Collaborative Group Chat Platform [https://slack.com/](https://slack.com/).
The WordPress community has its own Slack Channel at [https://make.wordpress.org/chat/](https://make.wordpress.org/chat/)
channel for those interested in improving the sustainability of WP, through performance
enhancements and more. [@isabel_brison](https://profiles.wordpress.org/isabel_brison/)
is putting together a blogblog (versus network, site) post to discuss further. [@webcommsat ](https://profiles.wordpress.org/webcommsat/)
shared this post: [https://make.wordpress.org/marketing/2020/06/01/sustainability-working-group-update/](https://make.wordpress.org/marketing/2020/06/01/sustainability-working-group-update/)
which details some of the work that has been done in this area so far. 
[@webcommsat](https://profiles.wordpress.org/webcommsat/)
highlighted that a week celebrating WordPress translationtranslation The process(
or result) of changing text, words, and display formatting to support another language.
Also see [localization](https://make.wordpress.org/core/tag/sustainability/?output_format=md#l10n),
[internationalization](https://make.wordpress.org/core/tag/sustainability/?output_format=md#i18n).
will take place from 28 September to 4 October 2020. If you have any ideas on how
the translation process for WordPress releases could be promoted, please leave comments
on this post: [https://make.wordpress.org/polyglots/2020/09/09/lets-celebrate-international-translation-day-together/](https://make.wordpress.org/polyglots/2020/09/09/lets-celebrate-international-translation-day-together/).

## Next Dev Chat meetings

The next meetings will take place on [Wednesday, September 23, 2020, 05:00 UTC](https://www.timeanddate.com/worldclock/fixedtime.html?msg=Dev+Chat+AM&iso=20200923T05&p1=1440&ah=1)
and [Wednesday, September 23, 2020, 20:00 UTC](https://www.timeanddate.com/worldclock/fixedtime.html?msg=Dev+Chat+PM&iso=20200923T20&p1=1440&ah=1)
in the [#core](https://wordpress.slack.com/messages/#core/) Slack channel. Please
feel free to drop in with any updates or questions.

[#5-5-1](https://make.wordpress.org/core/tag/5-5-1/), [#5-5-2](https://make.wordpress.org/core/tag/5-5-2/),
[#5-6](https://make.wordpress.org/core/tag/5-6/), [#dev-chat](https://make.wordpress.org/core/tag/dev-chat/),
[#summary](https://make.wordpress.org/core/tag/summary/)

[#5-6](https://make.wordpress.org/core/tag/5-6/), [#dev-chat](https://make.wordpress.org/core/tag/dev-chat/),
[#summary](https://make.wordpress.org/core/tag/summary/)